Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function slider_filter($ajax){
- $answer = array();
- // Получаем текущие значения фильтров
- $filter_array = value_for_filters($_REQUEST['url']);
- if ($filter_array == false) {
- $filter_array = array();
- }
- // Получаем изменение для фильтра
- $filter_name = $_REQUEST['name'];
- $filter_value = explode(';', $_REQUEST['value']);
- if ($filter_value != '') {
- // Вносим изменение данных фильтра в массив
- $filter_array[$filter_name] = $filter_value;
- } else {
- // Удаляем фильтр, если сняты все ограничения для него
- unset($filter_array[$filter_name]);
- }
- // Извлекаем отфильтрованные квартиры
- $all_apartments = $ajax->filter->filter_apartment($filter_array);
- // Включаем кэширование вывода
- ob_start();
- // Собираем список квартир
- $current_filter_page = 1;
- include_once('../tmpl/_parts/apartments_list.php');
- // Сохраняем список, сверстанный в HTML
- $answer['html'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Включаем кэширование вывода
- ob_start();
- // Собираем блок с пагинацией
- $filter_url_segments = $_REQUEST['url'];
- $count = count($all_apartments);
- include_once('../tmpl/_parts/apartments_list_pagination.php');
- // Сохраняем блок с пагинацией, сверстанный в HTML
- $answer['pagination'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Формируем новый мета-текст
- $answer['metatext'] = get_meta_text($filter_array, $ajax->filter->filters_section);
- //сортируем ключи в массиве правильно
- $filter_array = sort_filters_url($filter_array);
- // Составляем новый URL
- $answer['new_url'] = '/apartmentsearch';
- foreach ($filter_array as $key_filter => $value_filter ) {
- if (implode($value_filter, '') != '') {
- $answer['new_url'] .= '/' . $key_filter . '-';
- // Определяем последний элемент из значений, для красивого оформления URL
- $last_one = $value_filter;
- if ( ($value_filter[0] == $value_filter[1])){
- $answer['new_url'] .= $value_filter[0].'-'.$value_filter[1];
- } else{
- $last_one = array_pop($last_one);
- foreach ($value_filter as $one) {
- $answer['new_url'] .= $one;
- if ($one != $last_one) {
- $answer['new_url'] .= '-';
- }
- }
- }
- }
- }
- // Сохраняем количество квартир в списке
- $answer['count'] = $count;
- return $answer;
- }
- function sort_apartments($ajax){
- $answer = array();
- // Получаем текущие значения фильтров
- $filter_array = value_for_filters($_REQUEST['url']);
- if ($filter_array == false) {
- $filter_array = array();
- }
- // Определяем желаемое направление сортировки
- $sort_order = 'desc';
- if (isset($_REQUEST['sort'])) {
- $sort_order = $_REQUEST['sort'];
- if (($sort_order != 'asc') && ($sort_order != 'desc')) {
- $sort_order = 'desc';
- }
- }
- // Извлекаем отфильтрованные квартиры//сортируем список в нужном порядке
- $all_apartments = $ajax->filter->filter_apartment($filter_array);
- usort($all_apartments, function ($apartment_1, $apartment_2) use (&$sort_order) {
- if ($sort_order == 'asc') {
- return (floatval(str_replace(',', '.', $apartment_1->total_area)) < floatval(str_replace(',', '.', $apartment_2->total_area))) ? -1 : 1;
- } else {
- return (floatval(str_replace(',', '.', $apartment_2->total_area)) < floatval(str_replace(',', '.', $apartment_1->total_area))) ? -1 : 1;
- }
- });
- // Включаем кэширование вывода
- ob_start();
- // Собираем список квартир
- $current_filter_page = 1;
- include_once('../tmpl/_parts/apartments_list.php');
- // Сохраняем список, сверстанный в HTML
- $answer['html'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Включаем кэширование вывода
- ob_start();
- // Собираем блок с пагинацией
- $filter_url_segments = $_REQUEST['url'];
- $count = count($all_apartments);
- include_once('../tmpl/_parts/apartments_list_pagination.php');
- // Сохраняем блок с пагинацией, сверстанный в HTML
- $answer['pagination'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Формируем новый мета-текст
- $answer['metatext'] = get_meta_text($filter_array, $ajax->filter->filters_section);
- //сортируем ключи в массиве правильно
- $filter_array = sort_filters_url($filter_array);
- // Составляем новый URL
- $answer['new_url'] = '/apartmentsearch';
- foreach ($filter_array as $key_filter =>$value_filter ){
- $answer['new_url'] .= '/'.$key_filter.'-';
- // Определяем последний элемент из значений, для красивого оформления URL
- $last_one = $value_filter;
- $last_one = array_pop($last_one);
- foreach ($value_filter as $one){
- $answer['new_url'] .= $one;
- if ($one != $last_one){
- $answer['new_url'] .= '-';
- }
- }
- }
- // Сохраняем количество квартир в списке
- $answer['count'] = $count;
- return $answer;
- }
- function all_apartment($ajax){
- $answer = array();
- // Извлекаем отфильтрованные квартиры
- $all_apartments = $ajax->filter->all_apartments();
- // Включаем кэширование вывода
- ob_start();
- // Собираем список квартир
- $current_filter_page = 1;
- include_once('../tmpl/_parts/apartments_list.php');
- // Сохраняем список, сверстанный в HTML
- $answer['html'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Включаем кэширование вывода
- ob_start();
- // Собираем блок с пагинацией
- $filter_url_segments = $_REQUEST['url'];
- $count = count($all_apartments);
- include_once('../tmpl/_parts/apartments_list_pagination.php');
- // Сохраняем блок с пагинацией, сверстанный в HTML
- $answer['pagination'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Формируем новый мета-текст
- $answer['metatext'] = '';
- $answer['new_url'] = '/apartmentsearch';
- // Сохраняем количество квартир в списке
- $answer['count'] = $count;
- return $answer;
- }
- function unset_one_filter($ajax){
- $answer = array();
- // Получаем текущие значения фильтров
- $filter_array = value_for_filters($_REQUEST['url']);
- if ($filter_array == false) {
- $filter_array = array();
- }
- // Получаем изменение для фильтра
- $filter_name = $_REQUEST['name'];
- // Вносим изменение данных фильтра в массив - убираем фильтр из массива
- unset($filter_array[$filter_name]);
- // Извлекаем отфильтрованные квартиры
- $all_apartments = $ajax->filter->filter_apartment($filter_array);
- // Включаем кэширование вывода
- ob_start();
- // Собираем список квартир
- $current_filter_page = 1;
- include_once('../tmpl/_parts/apartments_list.php');
- // Сохраняем список, сверстанный в HTML
- $answer['html'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Включаем кэширование вывода
- ob_start();
- // Собираем блок с пагинацией
- $filter_url_segments = $_REQUEST['url'];
- $count = count($all_apartments);
- include_once('../tmpl/_parts/apartments_list_pagination.php');
- // Сохраняем блок с пагинацией, сверстанный в HTML
- $answer['pagination'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Формируем новый мета-текст
- $answer['metatext'] = get_meta_text($filter_array, $ajax->filter->filters_section);
- //сортируем ключи в массиве правильно
- $filter_array = sort_filters_url($filter_array);
- // Составляем новый URL
- $answer['new_url'] = '/apartmentsearch';
- foreach ($filter_array as $key_filter =>$value_filter ){
- $answer['new_url'] .= '/'.$key_filter.'-';
- // Определяем последний элемент из значений, для красивого оформления URL
- $last_one = $value_filter;
- $last_one = array_pop($last_one);
- foreach ($value_filter as $one){
- $answer['new_url'] .= $one;
- if ($one != $last_one){
- $answer['new_url'] .= '-';
- }
- }
- }
- // Сохраняем количество квартир в списке
- $answer['count'] = $count;
- return $answer;
- }
- function stage_section_filter($ajax){
- $answer = array();
- // Получаем текущие значения фильтров
- $filter_array = value_for_filters($_REQUEST['new_url']);
- if ($filter_array == false) {
- $filter_array = array();
- }
- // Извлекаем отфильтрованные квартиры
- $all_apartments = $ajax->filter->filter_apartment($filter_array);
- // Включаем кэширование вывода
- ob_start();
- // Собираем список квартир
- $current_filter_page = 1;
- include_once('../tmpl/_parts/apartments_list.php');
- // Сохраняем список, сверстанный в HTML
- $answer['html'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Включаем кэширование вывода
- ob_start();
- // Собираем блок с пагинацией
- $filter_url_segments = $_REQUEST['new_url'];
- $count = count($all_apartments);
- include_once('../tmpl/_parts/apartments_list_pagination.php');
- // Сохраняем блок с пагинацией, сверстанный в HTML
- $answer['pagination'] = ob_get_contents();
- // Очищаем кэш и выключаем кэширование
- ob_end_clean();
- // Формируем новый мета-текст
- $answer['metatext'] = get_meta_text($filter_array, $ajax->filter->filters_section);
- // Переписываем URL
- $answer['new_url'] = $_REQUEST['new_url'];
- // Сохраняем количество квартир в списке
- $answer['count'] = $count;
- return $answer;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement