Browse Source

Fixes

pull/3/head
M@d D3n 5 years ago
parent
commit
f9731913bf
  1. 6
      class/class.database.php
  2. 118
      functions/func.navigation.php
  3. 15
      functions/func.parserequest.php

6
class/class.database.php

@ -1419,6 +1419,12 @@
return $cache_id = 'requests/settings/' . $cache_id;
}
//-- Если это условия запроса, то меняем расположение
if (substr($cache_id, 0, 3) == 'rqc') {
$cache_id = str_replace('rqc_', '', $cache_id);
return $cache_id = 'requests/settings/' . $cache_id;
}
// -- Навигация
if (substr($cache_id, 0, 3) == 'nav') {
$cache_id = explode('_', $cache_id);

118
functions/func.navigation.php

@ -11,26 +11,21 @@
* @license GPL v.2
*/
/**
* Функция обработки навигации
* Возвращает меню навигации
*
* @param int $navi_tag - идентификатор меню навигации
* @return mixed|string
* @param int $id идентификатор меню навигации
* @return string|mixed объект с навигацией по id, либо массив всех навигаций
*/
function parse_navigation($navi_tag)
function get_navigations($navi_id = null)
{
global $AVE_DB, $AVE_Core;
// Извлекаем id из аргумента
$navi_id = $navi_tag[1];
Debug::startTime('NAVIAGTION_' . $navi_id);
global $AVE_DB;
// Достаем для проверки тип меню
$sql = "
SELECT
# NAVIGATION = $navi_id
expand_ext
*
FROM
" . PREFIX . "_navigation
WHERE
@ -39,38 +34,39 @@
alias = '" . $navi_id . "'
";
$expnad_ext = $AVE_DB->Query($sql, -1, 'nav_' . $navi_id, true, '.naviagtion')->GetCell();
$navigation = $AVE_DB->Query($sql, -1, 'nav_' . $navi_id, true, '.navigation')->FetchRow();
// извлекаем level из аргумента
$navi_print_level = (! empty($navi_tag[2]))
? $navi_tag[2]
: '';
$navigation->user_group = explode(',',$navigation->user_group);
$navi = '';
return $navigation;
}
$cache_file = BASE_DIR . '/tmp/cache/sql/navigations/' . $navi_id . '/template.cache';
// Если включен DEV MODE, то отключаем кеширование запросов
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
$cache_file = null;
/**
* Функция обработки навигации
*
* @param int $navi_tag - идентификатор меню навигации
* @return mixed|string
*/
function parse_navigation($navi_tag)
{
global $AVE_DB, $AVE_Core;
if (! is_dir(dirname($cache_file)))
mkdir(dirname($cache_file), 0766, true);
// Извлекаем id из аргумента
$navi_id = $navi_tag[1];
// получаем меню навигации по id,
// и если такой не существует, выводим сообщение
Debug::startTime('NAVIAGTION_' . $navi_id);
if (file_exists($cache_file))
{
$navi_menu = unserialize(file_get_contents($cache_file));
}
else
{
$navi_menu = get_navigations($navi_id);
if ($cache_file)
file_put_contents($cache_file, serialize($navi_menu));
}
$expnad_ext = $navi_menu->expand_ext;
// извлекаем level из аргумента
$navi_print_level = (! empty($navi_tag[2]))
? $navi_tag[2]
: '';
$navi = '';
if (! $navi_menu)
{
@ -214,7 +210,7 @@
$cache_items = BASE_DIR . '/tmp/cache/sql/navigations/' . $navi_id . '/items.cache';
$navi_items = array();
$navi_items = [];
// Если включен DEV MODE, то отключаем кеширование запросов
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
@ -499,56 +495,6 @@
}
/**
* Возвращает меню навигации
*
* @param int $id идентификатор меню навигации
* @return string|mixed объект с навигацией по id, либо массив всех навигаций
*/
function get_navigations($id = null)
{
global $AVE_DB;
$navigations = array();
if ($id)
{
$sql = $AVE_DB->Query("
SELECT
*
FROM
" . PREFIX . "_navigation
WHERE
" . (is_numeric($id) ? 'navigation_id' : 'alias') . " = '" . $id . "'
");
}
else
{
$sql = $AVE_DB->Query("
SELECT
*
FROM
" . PREFIX . "_navigation
");
}
while ($row = $sql->FetchRow())
{
$row->user_group = explode(',', $row->user_group);
if ($id)
$navigations[$id] = $row;
else
$navigations[$row->navigation_id] = $row;
}
if ($id)
return $navigations[$id];
else
return $navigations;
}
/**
* Проверка прав доступа к навигации по группе пользователя
*

15
functions/func.parserequest.php

@ -61,8 +61,9 @@
$from = [];
$where = [];
$sql_ak = $AVE_DB->Query("
SELECT *
$sql = "
SELECT
*
FROM
" . PREFIX . "_request_conditions
WHERE
@ -70,8 +71,10 @@
AND
condition_status = '1'
ORDER BY
condition_position ASC
");
condition_position ASC;
";
$sql_ak = $AVE_DB->Query($sql, -1, 'rqc_' . $id, true, '.conditions');
// Обрабатываем выпадающие списки
@ -102,8 +105,12 @@
}
}
// ./Обрабатываем выпадающие списки
$i = 0;
$numeric = [];
while ($row_ak = $sql_ak->FetchRow())
{
// id поля рубрики

Loading…
Cancel
Save