Пример #1
0
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;
}
Пример #2
0
 // Если корневой элемент есть - не выводим форму создания корневого элемента
 $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>&nbsp;');
     $tplMenuElt->assign('if_admin', '<a href="' . $aCmsModules['group-del']['key'] . '/' . $v['id'] . '">' . '<img src="/img/del.gif" border="0">' . '</a>&nbsp;');
     $tplMenuElt->assign('if_admin', '<a href="' . $aCmsModules['group-add']['key'] . '/' . $v['id'] . '">' . '<img src="/img/add.gif" border="0">' . '</a>&nbsp;');
     $tplMenuElt->assign('if_admin', '<input type="text" name="order[' . $v['id'] . ']" value="' . $v['order'] . '" style="width: 30px; padding-left: 6px; border: 1px solid #999999" />&nbsp;');
     $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']);
Пример #3
0
$tpl->assign('content', '<div style="position: relative; top: -15px; font-size: 80%">' . str_replace(' ', '&nbsp;', 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(' ', '&nbsp;', 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>&nbsp;');
        $tplComment->assign('if_admin', '<a href="/commentdel/' . $v['id'] . '">' . '<img src="/img/del.gif">' . '</a>&nbsp;');
    } else {
        $tplComment->assign('if_admin', '');
    }
Пример #4
0
                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) {
Пример #5
0
//			}
//		}
//		$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', '&nbsp;&nbsp;&nbsp;');
Пример #6
0
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(' ', '&nbsp;', $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;
}