12 $sTmplVarsAddons =
'';
13 $aTmplVarsItems = array();
18 'caption' =>
'_adm_tmi_language',
19 'url' =>
'javascript:void(0)',
20 'onclick' =>
'showPopupLanguage()',
26 $sTmplVarsAddons .=
$GLOBALS[
'oFunctions']->getLanguageSwitcher($sLangName);
29 $aItems = array_merge($aItems,
$GLOBALS[
'MySQL']->getAll(
"SELECT `caption`, `url`, `target`, `icon` FROM `sys_menu_admin_top` ORDER BY `Order`"));
30 foreach($aItems
as $aItem)
31 $aTmplVarsItems[] = array(
32 'caption' =>
_t($aItem[
'caption']),
44 'target' => !
empty($aItem[
'target']) ? $aItem[
'target'] :
'_self',
45 'ch_if:show_onclick' => array(
46 'condition' => (isset($aItem[
'onclick']) && !
empty($aItem[
'onclick'])),
48 'onclick' => (isset($aItem[
'onclick'])) ? $aItem[
'onclick'] :
''
51 'icon' =>
false === strpos($aItem[
'icon'],
'.') ?
'<i class="sys-icon ' . $aItem[
'icon'] .
'"></i>' :
'<img src="' .
$GLOBALS[
'oAdmTemplate']->getIconUrl($aItem[
'icon']) .
'" alt="' .
_t($aItem[
'caption']) .
'" />',
54 return $GLOBALS[
'oAdmTemplate']->parseHtmlByName(
'top_menu.html', array(
55 'ch_repeat:items' => $aTmplVarsItems,
56 'addons' => $sTmplVarsAddons
65 $sUri = $_SERVER[
'REQUEST_URI'];
66 $sPath = parse_url (CH_WSB_URL_ROOT, PHP_URL_PATH);
67 if ($sPath && $sPath !=
'/' && 0 === strncmp($sPath, $sUri, strlen($sPath)))
68 $sUri = substr($sUri, strlen($sPath) - strlen($sUri));
69 $sUri = CH_WSB_URL_ROOT . trim($sUri,
'/');
70 $sFile = basename($_SERVER[
'PHP_SELF']);
73 $aMenu =
$GLOBALS[
'MySQL']->getAll(
"SELECT `id`, `name`, `title`, `url`, `icon` FROM `sys_menu_admin` WHERE `parent_id`='0' ORDER BY `order`" );
81 $oChWsbAdminMenu =
new self();
85 $aMenuItem[
'url'] = str_replace(array(
'{siteUrl}',
'{siteAdminUrl}'), array(CH_WSB_URL_ROOT, CH_WSB_URL_ADMIN), $aMenuItem[
'url']);
87 $bActiveCateg =
$sFile ==
'index.php' && (!
empty(
$_GET[
'cat'])) &&
$_GET[
'cat'] == $aMenuItem[
'name'];
88 $aSubmenu =
$GLOBALS[
'MySQL']->getAll(
"SELECT * FROM `sys_menu_admin` WHERE `parent_id`= ? ORDER BY `order`", [$aMenuItem[
'id']]);
91 'parent' => &$aMenuItem,
97 foreach($aSubmenu
as $aSubmenuItem) {
98 $aSubmenuItem[
'url'] = $oPermalinks->permalink($aSubmenuItem[
'url']);
99 $aSubmenuItem[
'url'] = str_replace(array(
'{siteUrl}',
'{siteAdminUrl}'), array(CH_WSB_URL_ROOT, CH_WSB_URL_ADMIN), $aSubmenuItem[
'url']);
101 if(!defined(
'CH_WSB_ADMIN_INDEX') && $aSubmenuItem[
'url'] !=
'' && (strpos($sUri, $aSubmenuItem[
'url']) !==
false || strpos($aSubmenuItem[
'url'], $sUri) !==
false))
102 $bActiveCateg = $bActiveItem =
true;
104 $bActiveItem =
false;
106 $sSubItem = $oChWsbAdminMenu->_getMainMenuSubitem($aSubmenuItem, $bActiveItem);
107 if($sSubItem) $aSubitems[] = $sSubItem;
110 $aItems[] = $oChWsbAdminMenu->_getMainMenuItem($aMenuItem, $aSubitems, $bActiveCateg);
113 return $GLOBALS[
'oAdmTemplate']->parseHtmlByName(
'main_menu.html', array(
'ch_repeat:items' => $aItems));
118 if(substr(
$sUrl, 0, 11) ==
'javascript:') {
119 $sLink =
'javascript:void(0);';
120 $sOnClick =
'onclick="' .
$sUrl .
'"';
128 'adminLogin' => $aAdminProfile[
'NickName'],
129 'adminPass' => $aAdminProfile[
'Password']
131 $sLink =
$GLOBALS[
'oAdmTemplate']->parseHtmlByContent($sLink, $aVariables, array(
'{',
'}'));
132 $sOnClick =
$GLOBALS[
'oAdmTemplate']->parseHtmlByContent($sOnClick, $aVariables, array(
'{',
'}'));
134 return array($sLink, $sOnClick);
140 $bSubmenu = !
empty($aItems);
142 $sClass =
"adm-mm-" . $aCateg[
'name'];
143 if($bActive && !
empty($aItems))
144 $sClass .=
' adm-mmh-opened';
145 else if($bActive &&
empty($aItems))
146 $sClass .=
' adm-mmh-active';
149 if(!
empty($aCateg[
'url']))
150 $sLink = $aCateg[
'url'];
151 else if($aCateg[
'id'])
152 $sLink = CH_WSB_URL_ADMIN .
"index.php?cat=" . $aCateg[
'name'];
154 $sLink = CH_WSB_URL_ADMIN .
"index.php";
158 'click' => !$bSubmenu ?
'onclick="javascript:window.open(\'' . $sLink .
'\', \
'_self\')"' :
'',
159 'ch_if:icon' => array(
160 'condition' =>
false !== strpos($aCateg[
'icon'],
'.'),
165 'ch_if:texticon' => array(
166 'condition' =>
false === strpos($aCateg[
'icon'],
'.'),
168 'icon' => $aCateg[
'icon']
171 'ch_if:collapsible' => array(
172 'condition' => !
empty($aItems),
174 'class' => $bActive && !
empty($aItems) ?
'chevron-up adm-mma-opened' :
'chevron-down'
177 'ch_if:item-text' => array(
178 'condition' => $bActive,
180 'title' =>
_t($aCateg[
'title'])
183 'ch_if:item-link' => array(
184 'condition' => !$bActive,
187 'title' =>
_t($aCateg[
'title'])
190 'ch_if:submenu' => array(
191 'condition' => $bSubmenu,
193 'id' => $aCateg[
'id'],
194 'class' => ($bActive && !
empty($aItems) ?
'adm-mmi-opened' :
''),
195 'ch_repeat:subitems' => $aItems
205 if(strlen($aItem[
'check']) > 0) {
206 $oFunction =
function()
use($aItem) {
207 return eval($aItem[
'check']);
218 'class' => $bActive ?
'adm-mmi-active' :
'',
219 'ch_if:subicon' => array(
220 'condition' =>
false !== strpos($aItem[
'icon'],
'.'),
225 'ch_if:textsubicon' => array(
226 'condition' =>
false === strpos($aItem[
'icon'],
'.'),
228 'icon' => $aItem[
'icon']
231 'ch_if:subitem-text' => array(
232 'condition' => $bActive,
234 'title' =>
_t($aItem[
'title'])
237 'ch_if:subitem-link' => array(
238 'condition' => !$bActive,
240 'link' =>
empty($sLink) ?
'' : $sLink,
241 'onclick' =>
empty($sOnClick) ?
'' : $sOnClick,
242 'title' =>
'manage_modules' == $aItem[
'name'] ||
'flash_apps' == $aItem[
'name'] ?
'<b>' .
_t($aItem[
'title']) .
'</b>' :
_t($aItem[
'title']),