XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
menu.php
Go to the documentation of this file.
1 <?php
2 // $Id: menu.php 8066 2011-11-06 05:09:33Z beckmi $
3 // ------------------------------------------------------------------------ //
4 // XOOPS - PHP Content Management System //
5 // Copyright (c) 2000 XOOPS.org //
6 // <http://www.xoops.org/> //
7 // ------------------------------------------------------------------------ //
8 // This program is free software; you can redistribute it and/or modify //
9 // it under the terms of the GNU General Public License as published by //
10 // the Free Software Foundation; either version 2 of the License, or //
11 // (at your option) any later version. //
12 // //
13 // You may not change or alter any portion of this comment or credits //
14 // of supporting developers from this source code or any supporting //
15 // source code which is considered copyrighted (c) material of the //
16 // original comment or credit authors. //
17 // //
18 // This program is distributed in the hope that it will be useful, //
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
21 // GNU General Public License for more details. //
22 // //
23 // You should have received a copy of the GNU General Public License //
24 // along with this program; if not, write to the Free Software //
25 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
26 // ------------------------------------------------------------------------ //
27 // Author: Kazumi Ono (AKA onokazu) //
28 // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //
29 // Project: The XOOPS Project //
30 // ------------------------------------------------------------------------- //
31 $groups = $GLOBALS['xoopsUser']->getGroups();
32 $all_ok = false;
33 if (!in_array(XOOPS_GROUP_ADMIN, $groups)) {
34  $sysperm_handler =& xoops_gethandler('groupperm');
35  $ok_syscats = $sysperm_handler->getItemIds('system_admin', $groups);
36 } else {
37  $all_ok = true;
38 }
39 require_once $GLOBALS['xoops']->path( '/class/xoopslists.php' );
40 // include system category definitions
41 include_once $GLOBALS['xoops']->path( '/modules/system/constants.php' );
42 
43 $admin_dir = $GLOBALS['xoops']->path( '/modules/system/admin' );
44 $dirlist = XoopsLists::getDirListAsArray($admin_dir);
45 $index = 0;
46 foreach($dirlist as $file){
47  if ( file_exists($admin_dir.'/'.$file.'/xoops_version.php') ) {
48  include $admin_dir.'/'.$file.'/xoops_version.php';
49  if ($modversion['hasAdmin']) {
50  if ( xoops_getModuleOption('active_' . $file, 'system' ) ) {
51  $category = isset($modversion['category']) ? intval($modversion['category']) : 0;
52  if (false != $all_ok || in_array($modversion['category'], $ok_syscats)) {
53  $adminmenu[$index]['title'] = trim($modversion['name']);
54  $adminmenu[$index]['desc'] = trim($modversion['description']);
55  $adminmenu[$index]['link'] = 'admin.php?fct=' . $file;
56  $adminmenu[$index]['icon'] = 'icons/' . $modversion['image'];
57  }
58  }
59  }
60  unset($modversion);
61  }
62  $index++;
63 }
64 unset($dirlist);
65 ?>