Example #1
0
function tplSpecialGetMenu($param)
{
    global $tpl, $aCmsModules;
    foreach (aSpecialGetMenu($param) as $k => $v) {
        $tplMenuElt = $tpl->fetchBlock('MenuElt');
        $tplMenuElt->assign('key', $v['key']);
        $tplMenuElt->assign('title', $v['title']);
        $tplMenuElt->assign('level', count($v['level']) * 20);
        if ($v['hidden'] == 0 || ($v['key'] != $param || $v['key'] == 'cms')) {
            $ca = array('edit', 'del', 'add', 'prop-edit');
            foreach ($ca as $w) {
                if ($w != 'del') {
                    $tplControls = $tplMenuElt->fetchBlock('Controls');
                    $tplControls->assign('key', $aCmsModules[$w]['key'] . '/' . $v['id']);
                    $tplControls->assign('gif', "/img/{$w}.gif");
                    $tplMenuElt->assign('Controls', $tplControls);
                    $tplControls->reset();
                } else {
                    $tplControls = $tplMenuElt->fetchBlock('Controls');
                    $tplControls->assign('key', "javascript: if (confirm('Вы действительно хотите удалить «" . $v['title'] . "»?')) { f=document.getElementById('del'); void(f.id.value='" . $v['id'] . "'); f.submit(); }");
                    $tplControls->assign('gif', "/img/{$w}.gif");
                    $tplMenuElt->assign('Controls', $tplControls);
                    $tplControls->reset();
                }
            }
            $tplMenuElt->assign('Controls', '<input type="text" name="order[' . $v['id'] . ']" value="' . $v['order'] . '" style="width: 30px; padding-left: 6px; border: 1px solid #999999" />&nbsp;');
        } else {
            /*
            $tplMenuElt->assign('if_admin', '');
            */
        }
        $link = implode('/', $v['level']);
        if ($link == '') {
            $link = '/';
        }
        if ($v['hidden_menu'] != 0) {
            $v['title'] = '(' . $v['title'] . ')';
        }
        if ($v['hidden'] == 0) {
            $tplHyperLink = $tplMenuElt->fetchBlock('hyperlink');
            $tplHyperLink->assign('link', $link);
            $tplHyperLink->assign('title', $v['title']);
            $tplMenuElt->assign('hyperlink', $tplHyperLink);
            $tplHyperLink->reset();
        } else {
            $tplMenuElt->assign('hyperlink', '&nbsp;<a style="color: #999999">' . $v['title'] . '</a>');
        }
        $tpl->assign('MenuElt', $tplMenuElt);
        $tplMenuElt->reset();
    }
}
Example #2
0
    function getPages_Component($component_id)
    {
        if (!is_numeric($component_id)) {
            return;
        }
        $sql = "SELECT `page_id` FROM `" . DB_PREFIX . DB_TBL_COMPONENTS2PAGES . "` WHERE (`component_id` = {$component_id})";
        $sql = mysql_query($sql);
        if (false == $sql) {
            my_die();
        }
        $aLikedPages = array();
        while ($row = mysql_fetch_assoc($sql)) {
            $aLikedPages[$row['page_id']] = $row;
        }
        $tpl = new KTemplate();
        $tpl->loadTemplateContent('
			<!-- BEGIN TreePages -->
			<table cellpadding="0" cellspacing="0" border="0">
				<!-- BEGIN MenuElt -->
				<tr style="margin:0; padding: 0">
					<td style="margin:0; padding: 0">
						<div style="margin-left: {level}px">
							<!-- BEGIN Controls -->
							<input type="checkbox" name="pages[{id}]" {checked} />
							<!-- END Controls -->
							<!-- BEGIN hyperlink -->
							<a href="{link}">
								{title}
							</a>
							<!-- END hyperlink -->
						</div>
					</td>
				</tr>
				<!-- END MenuElt -->		
			</table>
			<!-- END TreePages -->
		');
        $tplTreePages = $tpl->fetchBlock('TreePages');
        $param = '';
        foreach (aSpecialGetMenu($param) as $k => $v) {
            $tplMenuElt = $tplTreePages->fetchBlock('MenuElt');
            $tplMenuElt->assign('key', $v['key']);
            $tplMenuElt->assign('title', $v['title']);
            $tplMenuElt->assign('level', count($v['level']) * 20);
            $tplControls = $tplMenuElt->fetchBlock('Controls');
            $tplControls->assign('id', $v['id']);
            if (isset($aLikedPages[$v['id']])) {
                $tplControls->assign('checked', 'checked');
            }
            $tplMenuElt->assign('Controls', $tplControls);
            $tplControls->reset();
            $link = implode('/', $v['level']);
            if ($link == '') {
                $link = '/';
            }
            if ($v['hidden_menu'] != 0) {
                $v['title'] = '(' . $v['title'] . ')';
            }
            if ($v['hidden'] == 0) {
                $tplHyperLink = $tplMenuElt->fetchBlock('hyperlink');
                $tplHyperLink->assign('link', $link);
                $tplHyperLink->assign('title', $v['title']);
                $tplMenuElt->assign('hyperlink', $tplHyperLink);
                $tplHyperLink->reset();
            } else {
                $tplMenuElt->assign('hyperlink', '&nbsp;<a style="color: #999999">' . $v['title'] . '</a>');
            }
            $tplTreePages->assign('MenuElt', $tplMenuElt);
            $tplMenuElt->reset();
        }
        $tpl->assign('TreePages', $tplTreePages);
        // Уплотняем
        $sReturn = preg_replace('/\\s{2,}/', ' ', $tpl->get());
        return $sReturn;
    }