function aSpecialGetMenu($param) { global $Permissions; $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` WHERE ((`key`='" . $param . "') AND (`subversion` = 0))"; $sql = mysql_query($sql); if (false == $sql) { my_die(); } $row = mysql_fetch_assoc($sql); $param = $row['id']; global $aTree; global $aOutTree; if (MENU_GEN or !file_exists(FILE_CACHE_TREE)) { if (!$Permissions->bIsAdmin()) { $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` WHERE ((`key` != 'cms') AND (`subversion` = 0)) ORDER BY `order`"; } else { $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_PAGES . "` WHERE (`subversion` = 0) ORDER BY `order`"; } $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aTree = array(); while ($row = mysql_fetch_assoc($sql)) { $row['title'] = str_replace(' ', ' ', $row['title']); $aTree[$row['id']] = $row; } $aOutTree = array(); DendroId($param, array()); safewrite(FILE_CACHE_TREE, serialize($aOutTree)); } else { $aOutTree = unserialize(file_get_contents(FILE_CACHE_TREE)); } return $aOutTree; }
// Если корневой элемент есть - не выводим форму создания корневого элемента $tpl->assign('group-create', ''); $eltRoot = current($aList); // Собираем массив для построения дерева от этого элемента $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_GROUPS . "` WHERE `catalog_id` = '" . $catalog_id . "' ORDER BY `order`"; $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aTree = array(); while ($row = mysql_fetch_assoc($sql)) { $aTree[$row['id']] = $row; } // Строим дерево $aOutTree = array(); DendroId($aList[0]['id'], array()); // Визуализируем дерево $tplGroupTree = $tpl->fetchBlock('group-tree'); foreach ($aOutTree as $k => $v) { $tplMenuElt = $tplGroupTree->fetchBlock('MenuElt'); $tplMenuElt->assign('level', count($v['level']) * 20); $tplMenuElt->assign('if_admin', '<a href="' . $aCmsModules['group-edit']['key'] . '/' . $v['id'] . '">' . '<img src="/img/edit.gif" border="0">' . '</a> '); $tplMenuElt->assign('if_admin', '<a href="' . $aCmsModules['group-del']['key'] . '/' . $v['id'] . '">' . '<img src="/img/del.gif" border="0">' . '</a> '); $tplMenuElt->assign('if_admin', '<a href="' . $aCmsModules['group-add']['key'] . '/' . $v['id'] . '">' . '<img src="/img/add.gif" border="0">' . '</a> '); $tplMenuElt->assign('if_admin', '<input type="text" name="order[' . $v['id'] . ']" value="' . $v['order'] . '" style="width: 30px; padding-left: 6px; border: 1px solid #999999" /> '); $tplHyperLink = $tplMenuElt->fetchBlock('hyperlink'); $tplHyperLink->assign('link', $aCmsModules['catalogs']['key'] . '/' . $aRequest[$nLevel + 1] . '/' . $v['id']); if (isset($aRequest[$nLevel + 2]) && $v['id'] == $aRequest[$nLevel + 2]) { $tplHyperLink->assign('title', '<b>' . $v['name'] . '</b>'); } else { $tplHyperLink->assign('title', $v['name']);
$tpl->assign('content', '<div style="position: relative; top: -15px; font-size: 80%">' . str_replace(' ', ' ', date_humanize($aPost['t'])) . '</div>'); $tpl->assign('content', crbr($aPost['text'] . '<br /><br />')); $tplBlog = new KTemplate(FLGR_TEMPLATES . '/blog.htm'); if ($Permissions->bIsLogged()) { $tpl->assign('content', $tplBlog->fetchBlock('stub')); $tpl->assign('content', $tplBlog->fetchBlock('post_comment_top')); } else { $tpl->assign('content', '<center><small>Зарегистрируйтесь или войдите чтобы оставить комментарий</small><center><br />'); } global $aTree; $aTree = $aComments; global $aOutTree; $aOutTree = array(); foreach ($aComments as $k => $v) { if ($v['parent'] == 0) { DendroId($v['id'], array()); } } foreach ($aOutTree as $v) { $v['text'] = str_replace('<br /><br />', '<br />', normalize($v['text'])); $v['t'] = str_replace(' ', ' ', date_humanize($v['t'])); $v['level'] = count($v['level']) * 20 - 20; $v['user'] = $Permissions->getUserNameFromId($v['user']); $tplComment = $tplBlog->fetchBlock('comment'); $tplComment->assign($v); if ($Permissions->bIsAdmin()) { $tplComment->assign('if_admin', '<a href="/commentedit/' . $v['id'] . '">' . '<img src="/img/edit.gif">' . '</a> '); $tplComment->assign('if_admin', '<a href="/commentdel/' . $v['id'] . '">' . '<img src="/img/del.gif">' . '</a> '); } else { $tplComment->assign('if_admin', ''); }
my_die(); } // Clear Cache if (defined('CACHE_ON')) { $Cashe->DelPage($edit_id); } @header('Location: ' . $aCmsModules['edit']['key'] . '/' . $edit_id . '/' . $version_id); break; } } // tpl $tpl = new KTemplate(FLGR_CMS_TEMPLATES . '/edit.htm'); $tpl->assign('h_title', 'Редактирование страницы'); // Versioning View $aOutTree = array(); DendroId($edit_id, array()); foreach ($aOutTree as $k => $v) { $tplMenuElt = $tpl->fetchBlock('MenuElt'); $tplMenuElt->assign('level', count($v['level']) * 20); $tplMenuElt->assign('ver', $v['id']); if ($v['draft'] != 1) { $tplMenuElt->assign('bg', '#FFFFCC'); $tplMenuElt->assign('brdr', '#CCCCCC'); $tplMenuElt->assign('checked', 'checked'); } else { $tplMenuElt->assign('bg', '#FFFFFF'); $tplMenuElt->assign('brdr', '#FFFFFF'); $tplMenuElt->assign('checked', ''); } $ca = array('version-del', 'version-add'); foreach ($ca as $w) {
// } // } // $aGroup = $Catalog->getChildGroup($cur_group_id); // $aRootGroup = $Catalog->getRootGroup(); // $aTree = $Catalog->getAllGroups(); // if (isset($aTree[$cur_group_id])) { // $aCurGroup = $aTree[$cur_group_id]; // } // строим общее дерево if (!empty($aRootGroup)) { $aAllGroup = array(); // массив деревьев растущих из корневых групп foreach ($aRootGroup as $v) { $aOutTree = array(); $aLevel = array(); DendroId($v['id'], $aLevel); $aAllGroup[] = $aOutTree; } } // Заполняем шаблон раскрывающегося списка $tpl->assign('GroupTree', ''); if (!empty($aAllGroup)) { $tplGroupTree = $tpl->fetchBlock('GroupTree'); foreach ($aAllGroup as $branch) { foreach ($branch as $group) { $tplGroup = $tplGroupTree->fetchBlock('Group'); $tplGroup->assign($group); $tplGroup->assign('lev', ''); $lev = count($group['level']); for ($i = 0; $i < $lev; $i++) { $tplGroup->assign('lev', ' ');
function aGetMenu() { global $aTree; global $aOutTree; if (MENU_GEN or !file_exists(FILE_CACHE_TREE)) { $sql = 'SELECT * FROM `' . DB_PREFIX . DB_TBL_PAGES . '` WHERE ((`hidden` = 0)) ORDER BY `order`'; $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aTreeMain = array(); while ($row = mysql_fetch_assoc($sql)) { $row['title'] = str_replace(' ', ' ', $row['title']); $aTreeMain[$row['id']] = $row; } $aTreeNew = $aTreeMain; foreach ($aTreeMain as $k => $v) { // Если встретилась страница-draft, // которая не удалена из нового массива if (isset($aTreeNew[$k]) && $v['subversion'] == 0 && $v['draft'] == 1) { // Получаем ее подверсии $aTree = array(); getSubVersionsRecursive($v['id']); // Ищем среди них не-draft foreach ($aTree as $kk => $vv) { // Когда находим if ($vv['draft'] == 0) { // Перезаписываем элемент страницы-draft в новом массиве // на найденный не-draft и ставим subversion=0 $aTreeNew[$k] = $vv; $aTreeNew[$k]['subversion'] = 0; // Но id, parent и key оставляем $aTreeNew[$k]['id'] = $v['id']; $aTreeNew[$k]['parent'] = $v['parent']; $aTreeNew[$k]['key'] = $v['key']; break; } } } } // debug foreach ($aTreeNew as $k=>$v) {$aTreeNew[$k]['title']=$aTreeNew[$k]['title'].'_'.$aTreeNew[$k]['draft'].'_'.$aTreeNew[$k]['subversion'];} $aTree = array(); // Оставляем в массиве только рабочие версии foreach ($aTreeNew as $k => $v) { if ($v['subversion'] == 0 && $v['draft'] == 0) { $aTree[$k] = $v; } } $aOutTree = array(); DendroId(1, array()); safewrite(FILE_CACHE_TREE, serialize($aOutTree)); } else { $aOutTree = unserialize(file_get_contents(FILE_CACHE_TREE)); } return $aOutTree; }