-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmenu.php
More file actions
55 lines (51 loc) · 2.14 KB
/
menu.php
File metadata and controls
55 lines (51 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* @copyright XOOPS Project https://xoops.org/
* @license GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html)
* @package
* @since
* @author XOOPS Development Team, Kazumi Ono (AKA onokazu)
*/
// defined('XOOPS_ROOT_PATH') || exit('XOOPS root path not defined');
$groups = $GLOBALS['xoopsUser']->getGroups();
$all_ok = false;
if (!in_array(XOOPS_GROUP_ADMIN, $groups)) {
/** @var XoopsGroupPermHandler $sysperm_handler */
$sysperm_handler = xoops_getHandler('groupperm');
$ok_syscats = $sysperm_handler->getItemIds('system_admin', $groups);
} else {
$all_ok = true;
}
require_once $GLOBALS['xoops']->path('/class/xoopslists.php');
// include system category definitions
include_once $GLOBALS['xoops']->path('/modules/system/constants.php');
$admin_dir = $GLOBALS['xoops']->path('/modules/system/admin');
$dirlist = XoopsLists::getDirListAsArray($admin_dir);
$index = 0;
foreach ($dirlist as $file) {
if (file_exists($admin_dir . '/' . $file . '/xoops_version.php')) {
include $admin_dir . '/' . $file . '/xoops_version.php';
if ($modversion['hasAdmin']) {
if (xoops_getModuleOption('active_' . $file, 'system')) {
$category = isset($modversion['category']) ? (int)$modversion['category'] : 0;
if (false !== $all_ok || in_array($modversion['category'], $ok_syscats)) {
$adminmenu[$index]['title'] = trim((string) $modversion['name']);
$adminmenu[$index]['link'] = 'admin.php?fct=' . $file;
$adminmenu[$index]['image'] = $modversion['image'];
}
}
}
unset($modversion);
}
++$index;
}
unset($dirlist);