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" /> '); } 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', ' <a style="color: #999999">' . $v['title'] . '</a>'); } $tpl->assign('MenuElt', $tplMenuElt); $tplMenuElt->reset(); } }
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', ' <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; }