1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10: xoops_load('gui', 'system');
11:
12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
22: class XoopsGuiZetadigme extends XoopsSystemGui
23: {
24: 25: 26:
27: public function __construct()
28: {
29: }
30:
31: 32: 33:
34: public static function validate()
35: {
36: return true;
37: }
38:
39: 40: 41:
42: public function generateMenu()
43: {
44: return true;
45: }
46:
47: public function header()
48: {
49: parent::header();
50: global $xoopsConfig, $xoopsUser, $xoopsModule, $xoTheme, $xoopsDB;
51: $tpl =& $this->template;
52: $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js');
53: $xoTheme->addScript('', '', '
54: startList = function() {
55: /* currentStyle restricts the Javascript to IE only */
56: if (document.all &&
57: document.getElementById(nav).currentStyle) {
58: var navroot = document.getElementById(nav);
59: /* Get all the list items within the menu */
60: var lis=navroot.getElementsByTagName("li");
61: for (i=0; i<lis.length; i++) {
62: /* If the li has another menu level */
63: if (lis[i].lastChild.tagName=="ul") {
64: /* assign the function to the li */
65: lis[i].onmouseover=function() {
66: /* display the inner menu */
67: this.lastChild.style.display="block";
68: }
69: lis[i].onmouseout=function() {
70: this.lastChild.style.display="none";
71: }
72: }
73: }
74: }
75: }
76: window.onload= function(){
77: /* pass the function the id of the top level il */
78: /* remove one, when only using one menu */
79: activateMenu("nav");
80: /*activateMenu("vertnav"); */
81: }
82: xoopsOnloadEvent(startList);');
83: $tpl->assign('lang_cp', _CPHOME);
84: $tpl->assign('system_options', _AD_SYSOPTIONS);
85: $tpl->assign('lang_banners', _AM_SYSTEM_BANS);
86: $tpl->assign('lang_blocks', _AM_SYSTEM_BLOCKS);
87: $tpl->assign('lang_groups', _AM_SYSTEM_ADGS);
88: $tpl->assign('lang_images', _AM_SYSTEM_IMAGES);
89: $tpl->assign('lang_modules', _AM_SYSTEM_MODULES);
90: $tpl->assign('lang_preferences', _AM_SYSTEM_PREF);
91: $tpl->assign('lang_smilies', _AM_SYSTEM_SMLS);
92: $tpl->assign('lang_ranks', _AM_SYSTEM_RANK);
93: $tpl->assign('lang_edituser', _AM_SYSTEM_USER);
94: $tpl->assign('lang_mailuser', _AM_SYSTEM_MLUS);
95: $tpl->assign('lang_avatars', _AM_SYSTEM_AVATARS);
96: $tpl->assign('lang_tpls', _AM_SYSTEM_TPLSETS);
97: $tpl->assign('lang_comments', _AM_SYSTEM_COMMENTS);
98: $tpl->assign('lang_insmodules', _AD_INSTALLEDMODULES);
99: $tpl->assign('xoops_sitename', $xoopsConfig['sitename']);
100:
101: $tpl->assign('lang_overview', _MD_CPANEL_OVERVIEW);
102: $tpl->assign('lang_phpextensions', _MD_CPANEL_PHPEXTENSIONS);
103: $tpl->assign('lang_about_xoops', _MD_ABOUT);
104: $tpl->assign('lang_about_xoops_text', _MD_ABOUT_TEXT);
105: $tpl->assign('lang_version', _MD_VERSION);
106: $tpl->assign('lang_version_xoops', _MD_VERSION_XOOPS);
107: $tpl->assign('lang_version_php', _MD_VERSION_PHP);
108: $tpl->assign('lang_version_mysql', _MD_VERSION_MYSQL);
109: $tpl->assign('lang_server_api_name', _MD_Server_API);
110: $tpl->assign('lang_os', _MD_OS);
111: $tpl->assign('lang_xoops_links', _MD_XOOPS_LINKS);
112:
113: $tpl->assign('lang_xoops_version', XOOPS_VERSION);
114: $tpl->assign('lang_php_vesion', PHP_VERSION);
115: $tpl->assign('lang_mysql_version', mysqli_get_server_info($xoopsDB->conn));
116: $tpl->assign('lang_server_api', PHP_SAPI);
117: $tpl->assign('lang_os_name', PHP_OS);
118:
119:
120:
121: $tpl->assign('allow_url_fopen', ini_get('allow_url_fopen') ? 'On' : 'Off');
122: $tpl->assign('fsockopen', function_exists('fsockopen') ? 'On' : 'Off');
123:
124: $tpl->assign('post_max_size', ini_get('post_max_size'));
125: $tpl->assign('max_input_time', ini_get('max_input_time'));
126: $tpl->assign('output_buffering', ini_get('output_buffering'));
127: $tpl->assign('max_execution_time', ini_get('max_execution_time'));
128: $tpl->assign('memory_limit', ini_get('memory_limit'));
129: $tpl->assign('file_uploads', ini_get('file_uploads') ? 'On' : 'Off');
130: $tpl->assign('upload_max_filesize', ini_get('upload_max_filesize'));
131: $tpl->assign('xoops_sitename', $xoopsConfig['sitename']);
132:
133: $tpl->assign('lang_xoops_xoopsproject', _MD_XOOPSPROJECT);
134: $tpl->assign('lang_xoops_localsupport', _MD_LOCALSUPPORT);
135: $tpl->assign('lang_xoops_xoopscore', _MD_XOOPSCORE);
136: $tpl->assign('lang_xoops_xoopsthems', _MD_XOOPSTHEME);
137: $tpl->assign('lang_xoops_xoopswiki', _MD_XOOPSWIKI);
138: $tpl->assign('lang_xoops_codesvn', _MD_CODESVN);
139: $tpl->assign('lang_xoops_reportbug', _MD_REPORTBUG);
140: $tpl->assign('lang_xoops_movetoblue', _MD_MOVETOBLUE);
141: $tpl->assign('lang_xoops_movetobluelink', _MD_MOVETOBLUE_LINK);
142:
143:
144: $menu = array();
145: $menu[0]['link'] = XOOPS_URL;
146: $menu[0]['title'] = _YOURHOME;
147: $menu[0]['absolute'] = 1;
148: $menu[1]['link'] = XOOPS_URL . '/admin.php?xoopsorgnews=1';
149: $menu[1]['title'] = 'XOOPS News';
150: $menu[1]['absolute'] = 1;
151: $menu[1]['icon'] = XOOPS_ADMINTHEME_URL . '/zetadigme/img/xoops.png';
152: $menu[2]['link'] = XOOPS_URL . '/user.php?op=logout';
153: $menu[2]['title'] = _LOGOUT;
154: $menu[2]['absolute'] = 1;
155: $menu[2]['icon'] = XOOPS_ADMINTHEME_URL . '/zetadigme/img/logout.png';
156: $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => _CPHOME, 'menu' => $menu));
157:
158: include __DIR__ . '/menu.php';
159: $system_options = $adminmenu;
160: foreach (array_keys($adminmenu) as $item) {
161: $system_options[$item]['link'] = empty($adminmenu[$item]['absolute']) ? XOOPS_URL . '/modules/system/' . $adminmenu[$item]['link'] : $adminmenu[$item]['link'];
162: $system_options[$item]['icon'] = empty($adminmenu[$item]['icon_small']) ? '' : XOOPS_ADMINTHEME_URL . '/zetadigme/' . $adminmenu[$item]['icon_small'];
163: unset($system_options[$item]['icon_small']);
164: }
165: $tpl->append('navitems', array('link' => XOOPS_URL . '/modules/system/admin.php', 'text' => _AD_SYSOPTIONS, 'menu' => $system_options));
166: if (empty($xoopsModule) || 'system' === $xoopsModule->getVar('dirname', 'n')) {
167: $modpath = XOOPS_URL . '/admin.php';
168: $modname = _AD_SYSOPTIONS;
169: $modid = 1;
170: $moddir = 'system';
171: $mod_options = $adminmenu;
172: foreach (array_keys($mod_options) as $item) {
173: $mod_options[$item]['link'] = empty($mod_options[$item]['absolute']) ? XOOPS_URL . '/modules/' . $moddir . '/' . $mod_options[$item]['link'] : $mod_options[$item]['link'];
174: $mod_options[$item]['icon'] = empty($mod_options[$item]['icon']) ? '' : XOOPS_ADMINTHEME_URL . '/zetadigme/' . $mod_options[$item]['icon'];
175: unset($mod_options[$item]['icon_small']);
176: }
177: } else {
178: $moddir = $xoopsModule->getVar('dirname', 'n');
179: $modpath = XOOPS_URL . '/modules/' . $moddir;
180: $modname = $xoopsModule->getVar('name');
181: $modid = $xoopsModule->getVar('mid');
182: $mod_options = $xoopsModule->getAdminMenu();
183: foreach (array_keys($mod_options) as $item) {
184: $mod_options[$item]['link'] = empty($mod_options[$item]['absolute']) ? XOOPS_URL . "/modules/{$moddir}/" . $mod_options[$item]['link'] : $mod_options[$item]['link'];
185:
186:
187: $mod_options[$item]['icon'] = empty($mod_options[$item]['icon']) ? '' : (filter_var($mod_options[$item]['icon'], FILTER_VALIDATE_URL) ? $mod_options[$item]['icon'] : (XOOPS_URL . "/modules/{$moddir}/" . $mod_options[$item]['icon']));
188: }
189: }
190: $tpl->assign('mod_options', $mod_options);
191: $tpl->assign('modpath', $modpath);
192: $tpl->assign('modname', $modname);
193: $tpl->assign('modid', $modid);
194: $tpl->assign('moddir', $moddir);
195:
196:
197: $module_handler = xoops_getHandler('module');
198: $criteria = new CriteriaCompo();
199: $criteria->add(new Criteria('hasadmin', 1));
200: $criteria->add(new Criteria('isactive', 1));
201: $criteria->setSort('mid');
202: $mods = $module_handler->getObjects($criteria);
203: $menu = array();
204:
205: $moduleperm_handler = xoops_getHandler('groupperm');
206: foreach ($mods as $mod) {
207: $rtn = array();
208: $modOptions = array();
209: $sadmin = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups());
210: if ($sadmin) {
211: $info = $mod->getInfo();
212: if (!empty($info['adminindex'])) {
213: $rtn['link'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['adminindex'];
214: } else {
215: $rtn['link'] = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid');
216: }
217: $rtn['title'] = $mod->name();
218: $rtn['absolute'] = 1;
219: $rtn['url'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/';
220: $modOptions = $mod->getAdminMenu();
221: $rtn['options'] = $modOptions;
222:
223: if (isset($info['icon']) && $info['icon'] !== '') {
224: $rtn['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['icon'];
225: }
226: $menu[] = $rtn;
227: }
228: }
229: $tpl->append('navitems', array(
230: 'link' => XOOPS_URL . '/modules/system/admin.php?fct=modulesadmin',
231: 'text' => _AM_SYSTEM_MODULES,
232: 'dir' => $mod->getVar('dirname', 'n'),
233: 'menu' => $menu));
234:
235:
236: $menu = array();
237: $OPT = array();
238: $OPT[] = array(
239: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=1',
240: 'title' => _THEME_GENERAL,
241: 'absolute' => 1,
242: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
243: $OPT[] = array(
244: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=2',
245: 'title' => _THEME_USERSETTINGS,
246: 'absolute' => 1,
247: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
248: $OPT[] = array(
249: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=3',
250: 'title' => _THEME_METAFOOTER,
251: 'absolute' => 1,
252: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
253: $OPT[] = array(
254: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=4',
255: 'title' => _THEME_CENSOR,
256: 'absolute' => 1,
257: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
258: $OPT[] = array(
259: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=5',
260: 'title' => _THEME_SEARCH,
261: 'absolute' => 1,
262: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
263: $OPT[] = array(
264: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=6',
265: 'title' => _THEME_MAILER,
266: 'absolute' => 1,
267: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
268: $OPT[] = array(
269: 'link' => 'admin.php?fct=preferences&op=show&confcat_id=7',
270: 'title' => _THEME_AUTHENTICATION,
271: 'absolute' => 1,
272: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
273: $OPT[] = array(
274: 'link' => 'admin.php?fct=preferences&op=showmod&mod=1',
275: 'title' => _THEME_MODULESETTINGS,
276: 'absolute' => 1,
277: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/prefs_small.png');
278: $menu[] = array(
279: 'link' => XOOPS_URL . '/modules/system/admin.php?fct=preferences',
280: 'title' => _AD_SYSOPTIONS,
281: 'absolute' => 1,
282: 'url' => XOOPS_URL . '/modules/system/',
283: 'options' => $OPT);
284:
285: foreach ($mods as $mod) {
286: $rtn = array();
287: $sadmin = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups());
288: if ($sadmin && ($mod->getVar('hasnotification') || is_array($mod->getInfo('config')) || is_array($mod->getInfo('comments')))) {
289: $rtn['link'] = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid');
290: $rtn['title'] = $mod->name();
291: $rtn['absolute'] = 1;
292: $menu[] = $rtn;
293: }
294:
295: }
296: $tpl->append('navitems', array(
297: 'link' => XOOPS_URL . '/modules/system/admin.php?fct=modulesadmin',
298: 'text' => _THEME_SITEPREF,
299: 'dir' => $mod->getVar('dirname', 'n'),
300: 'menu' => $menu));
301:
302: $menu = array();
303: $menu[] = array(
304: 'link' => 'http://www.xoops.org',
305: 'title' => 'XOOPS',
306: 'absolute' => 1,
307: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/xoops.png');
308: $menu[] = array(
309: 'link' => 'http://www.xoops.org/modules/library/',
310: 'title' => _AD_XOOPSTHEMES,
311: 'absolute' => 1,
312: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/tweb.png');
313: $menu[] = array(
314: 'link' => 'http://www.xoops.org/modules/repository/',
315: 'title' => _AD_XOOPSMODULES,
316: 'absolute' => 1,
317: 'icon' => XOOPS_ADMINTHEME_URL . '/zetadigme/icons/xoops.png');
318: $menu[] = array(
319: 'link' => 'http://xoops.org',
320: 'title' => 'XOOPS',
321: 'absolute' => 1);
322: $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => _AD_INTERESTSITES, 'menu' => $menu));
323:
324: if (file_exists($file = XOOPS_ADMINTHEME_PATH . '/zetadigme/language/' . $xoopsConfig['language'] . '/localsupport.php')) {
325: $links = include XOOPS_ADMINTHEME_PATH . '/zetadigme/language/' . $xoopsConfig['language'] . '/localsupport.php';
326: if (count($links) > 0) {
327: $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => _AD_LOCALSUPPORT, 'menu' => $links));
328: }
329: }
330: if (is_object($xoopsModule) || !empty($_GET['xoopsorgnews'])) {
331: return null;
332: }
333: foreach ($mods as $mod) {
334: $rtn = array();
335: $moduleperm_handler = xoops_getHandler('groupperm');
336: $sadmin = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups());
337: if ($sadmin) {
338: $info = $mod->getInfo();
339: if (!empty($info['adminindex'])) {
340: $rtn['link'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['adminindex'];
341: } else {
342: $rtn['link'] = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid');
343: }
344: $rtn['title'] = $mod->getVar('name');
345: $rtn ['description'] = $mod->getInfo('description');
346: $rtn['absolute'] = 1;
347: if (isset($info['icon_big'])) {
348: $rtn['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['icon_big'];
349: } elseif (isset($info['image'])) {
350: $rtn['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['image'];
351: }
352: }
353: $tpl->append('modules', $rtn);
354: }
355: }
356: }
357: