mirror of
https://github.com/avecms/AVE.cms.git
synced 2025-08-07 20:06:42 +00:00
Fixes
This commit is contained in:
@ -1419,6 +1419,12 @@
|
|||||||
return $cache_id = 'requests/settings/' . $cache_id;
|
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') {
|
if (substr($cache_id, 0, 3) == 'nav') {
|
||||||
$cache_id = explode('_', $cache_id);
|
$cache_id = explode('_', $cache_id);
|
||||||
|
@ -11,6 +11,37 @@
|
|||||||
* @license GPL v.2
|
* @license GPL v.2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Возвращает меню навигации
|
||||||
|
*
|
||||||
|
* @param int $id идентификатор меню навигации
|
||||||
|
* @return string|mixed объект с навигацией по id, либо массив всех навигаций
|
||||||
|
*/
|
||||||
|
function get_navigations($navi_id = null)
|
||||||
|
{
|
||||||
|
global $AVE_DB;
|
||||||
|
|
||||||
|
$sql = "
|
||||||
|
SELECT
|
||||||
|
# NAVIGATION = $navi_id
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
" . PREFIX . "_navigation
|
||||||
|
WHERE
|
||||||
|
navigation_id = '" . $navi_id . "'
|
||||||
|
OR
|
||||||
|
alias = '" . $navi_id . "'
|
||||||
|
";
|
||||||
|
|
||||||
|
$navigation = $AVE_DB->Query($sql, -1, 'nav_' . $navi_id, true, '.navigation')->FetchRow();
|
||||||
|
|
||||||
|
$navigation->user_group = explode(',',$navigation->user_group);
|
||||||
|
|
||||||
|
return $navigation;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Функция обработки навигации
|
* Функция обработки навигации
|
||||||
*
|
*
|
||||||
@ -26,20 +57,9 @@
|
|||||||
|
|
||||||
Debug::startTime('NAVIAGTION_' . $navi_id);
|
Debug::startTime('NAVIAGTION_' . $navi_id);
|
||||||
|
|
||||||
// Достаем для проверки тип меню
|
$navi_menu = get_navigations($navi_id);
|
||||||
$sql = "
|
|
||||||
SELECT
|
|
||||||
# NAVIGATION = $navi_id
|
|
||||||
expand_ext
|
|
||||||
FROM
|
|
||||||
".PREFIX."_navigation
|
|
||||||
WHERE
|
|
||||||
navigation_id = '" . $navi_id . "'
|
|
||||||
OR
|
|
||||||
alias = '" . $navi_id . "'
|
|
||||||
";
|
|
||||||
|
|
||||||
$expnad_ext = $AVE_DB->Query($sql, -1, 'nav_' . $navi_id, true, '.naviagtion')->GetCell();
|
$expnad_ext = $navi_menu->expand_ext;
|
||||||
|
|
||||||
// извлекаем level из аргумента
|
// извлекаем level из аргумента
|
||||||
$navi_print_level = (! empty($navi_tag[2]))
|
$navi_print_level = (! empty($navi_tag[2]))
|
||||||
@ -48,30 +68,6 @@
|
|||||||
|
|
||||||
$navi = '';
|
$navi = '';
|
||||||
|
|
||||||
$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;
|
|
||||||
|
|
||||||
if (! is_dir(dirname($cache_file)))
|
|
||||||
mkdir(dirname($cache_file), 0766, true);
|
|
||||||
|
|
||||||
// получаем меню навигации по 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));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $navi_menu)
|
if (! $navi_menu)
|
||||||
{
|
{
|
||||||
echo 'Menu ', $navi_id, ' not found!';
|
echo 'Menu ', $navi_id, ' not found!';
|
||||||
@ -214,7 +210,7 @@
|
|||||||
|
|
||||||
$cache_items = BASE_DIR . '/tmp/cache/sql/navigations/' . $navi_id . '/items.cache';
|
$cache_items = BASE_DIR . '/tmp/cache/sql/navigations/' . $navi_id . '/items.cache';
|
||||||
|
|
||||||
$navi_items = array();
|
$navi_items = [];
|
||||||
|
|
||||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||||
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
|
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
|
||||||
@ -329,7 +325,7 @@
|
|||||||
* @param int $parent (исследуемый родитель, изначально 0 - верхний уровень)
|
* @param int $parent (исследуемый родитель, изначально 0 - верхний уровень)
|
||||||
* @return string $navi - готовый код навигации
|
* @return string $navi - готовый код навигации
|
||||||
*/
|
*/
|
||||||
function printNavi($navi_menu, $navi_items, $navi_active_way, $navi_item_tpl, $parent = 0)
|
function printNavi ($navi_menu, $navi_items, $navi_active_way, $navi_item_tpl, $parent = 0)
|
||||||
{
|
{
|
||||||
// выясняем уровень
|
// выясняем уровень
|
||||||
$navi_item_level = $navi_items[$parent][0]['level'];
|
$navi_item_level = $navi_items[$parent][0]['level'];
|
||||||
@ -499,63 +495,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Возвращает меню навигации
|
|
||||||
*
|
|
||||||
* @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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Проверка прав доступа к навигации по группе пользователя
|
* Проверка прав доступа к навигации по группе пользователя
|
||||||
*
|
*
|
||||||
* @param int $id идентификатор меню навигации
|
* @param int $id идентификатор меню навигации
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
function check_navi_permission($id)
|
function check_navi_permission ($id)
|
||||||
{
|
{
|
||||||
$navigation = get_navigations($id);
|
$navigation = get_navigations($id);
|
||||||
|
|
||||||
|
@ -61,8 +61,9 @@
|
|||||||
$from = [];
|
$from = [];
|
||||||
$where = [];
|
$where = [];
|
||||||
|
|
||||||
$sql_ak = $AVE_DB->Query("
|
$sql = "
|
||||||
SELECT *
|
SELECT
|
||||||
|
*
|
||||||
FROM
|
FROM
|
||||||
" . PREFIX . "_request_conditions
|
" . PREFIX . "_request_conditions
|
||||||
WHERE
|
WHERE
|
||||||
@ -70,8 +71,10 @@
|
|||||||
AND
|
AND
|
||||||
condition_status = '1'
|
condition_status = '1'
|
||||||
ORDER BY
|
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;
|
$i = 0;
|
||||||
|
|
||||||
|
$numeric = [];
|
||||||
|
|
||||||
while ($row_ak = $sql_ak->FetchRow())
|
while ($row_ak = $sql_ak->FetchRow())
|
||||||
{
|
{
|
||||||
// id поля рубрики
|
// id поля рубрики
|
||||||
|
Reference in New Issue
Block a user