| 1: | <?php | 
| 2: |  | 
| 3: |  | 
| 4: |  | 
| 5: |  | 
| 6: |  | 
| 7: |  | 
| 8: |  | 
| 9: |  | 
| 10: |  | 
| 11: |  | 
| 12: | use Xmf\Request; | 
| 13: |  | 
| 14: | xoops_load('gui', 'system'); | 
| 15: |  | 
| 16: |  | 
| 17: |  | 
| 18: |  | 
| 19: |  | 
| 20: |  | 
| 21: |  | 
| 22: |  | 
| 23: |  | 
| 24: |  | 
| 25: |  | 
| 26: |  | 
| 27: |  | 
| 28: |  | 
| 29: |  | 
| 30: |  | 
| 31: |  | 
| 32: |  | 
| 33: |  | 
| 34: | class XoopsGuiDark extends XoopsSystemGui | 
| 35: | { | 
| 36: |  | 
| 37: |  | 
| 38: |  | 
| 39: |  | 
| 40: |  | 
| 41: |  | 
| 42: |  | 
| 43: |  | 
| 44: |  | 
| 45: |  | 
| 46: |  | 
| 47: |  | 
| 48: |  | 
| 49: |  | 
| 50: |  | 
| 51: |  | 
| 52: |  | 
| 53: |  | 
| 54: |  | 
| 55: |  | 
| 56: |  | 
| 57: | public static function validate() | 
| 58: | { | 
| 59: | return true; | 
| 60: | } | 
| 61: |  | 
| 62: | public function header() | 
| 63: | { | 
| 64: | parent::header(); | 
| 65: |  | 
| 66: | global $xoopsConfig, $xoopsUser, $xoopsModule, $xoTheme, $xoopsTpl, $xoopsDB; | 
| 67: | $tpl =& $this->template; | 
| 68: |  | 
| 69: |  | 
| 70: | $currentScript = str_replace(XOOPS_ROOT_PATH . '/', '', $_SERVER['SCRIPT_FILENAME']); | 
| 71: |  | 
| 72: | if('admin.php' == $currentScript){ | 
| 73: | $show = Request::getString('show', '', 'GET'); | 
| 74: | if('info' == $show){ | 
| 75: | $tpl->assign('showTransitionInfo', true); | 
| 76: | } | 
| 77: | } | 
| 78: |  | 
| 79: | $iconsSet = xoops_getModuleOption('typeicons', 'system'); | 
| 80: |  | 
| 81: | if ($iconsSet == '') { | 
| 82: | $icons = 'transition'; | 
| 83: | } | 
| 84: |  | 
| 85: | $tpl->assign('theme_icons', XOOPS_URL . '/modules/system/images/icons/' . $iconsSet); | 
| 86: |  | 
| 87: |  | 
| 88: | $tpl->assign('xoops_language', $xoopsConfig['language']); | 
| 89: |  | 
| 90: | $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js'); | 
| 91: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/close_errors.js'); | 
| 92: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/formenu.js'); | 
| 93: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/menu.js'); | 
| 94: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/tooltip.js'); | 
| 95: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/tabs.js'); | 
| 96: | $xoTheme->addScript(XOOPS_ADMINTHEME_URL . '/dark/js/tabs.slideshow.js'); | 
| 97: |  | 
| 98: | $xoTheme->addStylesheet('https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300i,400,400i,700,700i|Roboto:300,300i,400,400i,700,700i'); | 
| 99: |  | 
| 100: | $xoTheme->addStylesheet(XOOPS_ADMINTHEME_URL . '/dark/css/style.css'); | 
| 101: | $xoTheme->addStylesheet(XOOPS_ADMINTHEME_URL . '/dark/css/dark.css', array('title' => 'dark', 'media' => 'screen')); | 
| 102: |  | 
| 103: |  | 
| 104: |  | 
| 105: | $tpl->assign('lang_cp', _CPHOME); | 
| 106: |  | 
| 107: |  | 
| 108: | $tpl->assign('lang_php_vesion', PHP_VERSION); | 
| 109: | $tpl->assign('lang_mysql_version', mysqli_get_server_info($xoopsDB->conn)); | 
| 110: | $tpl->assign('lang_server_api', PHP_SAPI); | 
| 111: | $tpl->assign('lang_os_name', PHP_OS); | 
| 112: |  | 
| 113: |  | 
| 114: |  | 
| 115: | $tpl->assign('allow_url_fopen', ini_get('allow_url_fopen') ? 'On' : 'Off'); | 
| 116: | $tpl->assign('fsockopen', function_exists('fsockopen') ? 'On' : 'Off'); | 
| 117: |  | 
| 118: | $tpl->assign('post_max_size', ini_get('post_max_size')); | 
| 119: | $tpl->assign('max_input_time', ini_get('max_input_time')); | 
| 120: | $tpl->assign('output_buffering', ini_get('output_buffering')); | 
| 121: | $tpl->assign('max_execution_time', ini_get('max_execution_time')); | 
| 122: | $tpl->assign('memory_limit', ini_get('memory_limit')); | 
| 123: | $tpl->assign('file_uploads', ini_get('file_uploads') ? 'On' : 'Off'); | 
| 124: | $tpl->assign('upload_max_filesize', ini_get('upload_max_filesize')); | 
| 125: | $tpl->assign('xoops_sitename', $xoopsConfig['sitename']); | 
| 126: |  | 
| 127: |  | 
| 128: |  | 
| 129: |  | 
| 130: | $menu                = array(); | 
| 131: | $menu[0]['link']     = XOOPS_URL; | 
| 132: | $menu[0]['title']    = "<span class='fa fa-home'></span> " . _YOURHOME; | 
| 133: | $menu[0]['absolute'] = 1; | 
| 134: | $menu[1]['link']     = XOOPS_URL . '/admin.php?xoopsorgnews=1'; | 
| 135: | $menu[1]['title']    = "<span class='fa fa-newspaper-o'></span> " . _OXYGEN_NEWS; | 
| 136: | $menu[1]['absolute'] = 1; | 
| 137: | $menu[1]['icon']     = XOOPS_ADMINTHEME_URL . '/dark/images/xoops.png'; | 
| 138: | $menu[2]['link']     = XOOPS_URL . '/user.php?op=logout'; | 
| 139: | $menu[2]['title']    = "<span class='fa fa-sign-out'></span> " . _LOGOUT; | 
| 140: | $menu[2]['absolute'] = 1; | 
| 141: | $menu[2]['icon']     = XOOPS_ADMINTHEME_URL . '/dark/images/logout.png'; | 
| 142: | $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => '<span class="fa fa-cog"></span> ' . _CPHOME, 'menu' => $menu)); | 
| 143: |  | 
| 144: |  | 
| 145: | include __DIR__ . '/menu.php'; | 
| 146: | if (empty($xoopsModule) || 'system' === $xoopsModule->getVar('dirname', 'n')) { | 
| 147: | $modpath = XOOPS_URL . '/admin.php'; | 
| 148: | $modname = _OXYGEN_SYSOPTIONS; | 
| 149: | $modid   = 1; | 
| 150: | $moddir  = 'system'; | 
| 151: |  | 
| 152: | $mod_options = $adminmenu; | 
| 153: | foreach (array_keys($mod_options) as $item) { | 
| 154: | $mod_options[$item]['link'] = empty($mod_options[$item]['absolute']) ? XOOPS_URL . '/modules/' . $moddir . '/' . $mod_options[$item]['link'] : $mod_options[$item]['link']; | 
| 155: | $mod_options[$item]['icon'] = empty($mod_options[$item]['icon']) ? '' : XOOPS_URL . '/modules/system/images/' . $mod_options[$item]['icon']; | 
| 156: | unset($mod_options[$item]['icon_small']); | 
| 157: | } | 
| 158: | } else { | 
| 159: | $moddir  = $xoopsModule->getVar('dirname', 'n'); | 
| 160: | $modpath = XOOPS_URL . '/modules/' . $moddir; | 
| 161: | $modname = $xoopsModule->getInfo('name') . '  (' . $xoopsModule->getInfo('version') . ')'; | 
| 162: | $modid   = $xoopsModule->getVar('mid'); | 
| 163: |  | 
| 164: | $mod_options = $xoopsModule->getAdminMenu(); | 
| 165: | foreach (array_keys($mod_options) as $item) { | 
| 166: | $mod_options[$item]['link'] = empty($mod_options[$item]['absolute']) ? XOOPS_URL . "/modules/{$moddir}/" . $mod_options[$item]['link'] : $mod_options[$item]['link']; | 
| 167: |  | 
| 168: |  | 
| 169: | $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'])); | 
| 170: | } | 
| 171: | } | 
| 172: |  | 
| 173: | $tpl->assign('mod_options', $mod_options); | 
| 174: | $tpl->assign('modpath', $modpath); | 
| 175: | $tpl->assign('modname', $modname); | 
| 176: | $tpl->assign('modid', $modid); | 
| 177: | $tpl->assign('moddir', $moddir); | 
| 178: |  | 
| 179: |  | 
| 180: |  | 
| 181: | $module_handler = xoops_getHandler('module'); | 
| 182: | $criteria       = new CriteriaCompo(); | 
| 183: | $criteria->add(new Criteria('hasadmin', 1)); | 
| 184: | $criteria->add(new Criteria('isactive', 1)); | 
| 185: | $criteria->setSort('mid'); | 
| 186: | $mods = $module_handler->getObjects($criteria); | 
| 187: |  | 
| 188: | $menu               = array(); | 
| 189: |  | 
| 190: | $moduleperm_handler = xoops_getHandler('groupperm'); | 
| 191: | foreach ($mods as $mod) { | 
| 192: | $rtn        = array(); | 
| 193: | $modOptions = array(); | 
| 194: | $sadmin     = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups()); | 
| 195: | if ($sadmin) { | 
| 196: | $info = $mod->getInfo(); | 
| 197: | if (!empty($info['adminindex'])) { | 
| 198: | $rtn['link'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['adminindex']; | 
| 199: | } else { | 
| 200: | $rtn['link'] = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid'); | 
| 201: | } | 
| 202: | $rtn['title']    = htmlspecialchars($mod->name(), ENT_QUOTES); | 
| 203: | $rtn['absolute'] = 1; | 
| 204: | $rtn['url']      = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/'; | 
| 205: | $modOptions      = $mod->getAdminMenu(); | 
| 206: | $rtn['options']  = $modOptions; | 
| 207: |  | 
| 208: | if (isset($info['icon']) && $info['icon'] !== '') { | 
| 209: | $rtn['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info['icon']; | 
| 210: | } | 
| 211: | $menu[] = $rtn; | 
| 212: | } | 
| 213: | } | 
| 214: | $tpl->append('navitems', array( | 
| 215: | 'link' => XOOPS_URL . '/modules/system/admin.php?fct=modulesadmin', | 
| 216: | 'text' => '<span class="fa fa-puzzle-piece"></span> ' . _AM_SYSTEM_MODULES, | 
| 217: | 'dir'  => $mod->getVar('dirname', 'n'), | 
| 218: | 'menu' => $menu)); | 
| 219: |  | 
| 220: |  | 
| 221: | $menu = array(); | 
| 222: |  | 
| 223: | $OPT   = array(); | 
| 224: | $OPT[] = array( | 
| 225: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=1', | 
| 226: | 'title'    => _OXYGEN_GENERAL, | 
| 227: | 'absolute' => 1, | 
| 228: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 229: | $OPT[] = array( | 
| 230: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=2', | 
| 231: | 'title'    => _OXYGEN_USERSETTINGS, | 
| 232: | 'absolute' => 1, | 
| 233: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 234: | $OPT[] = array( | 
| 235: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=3', | 
| 236: | 'title'    => _OXYGEN_METAFOOTER, | 
| 237: | 'absolute' => 1, | 
| 238: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 239: | $OPT[] = array( | 
| 240: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=4', | 
| 241: | 'title'    => _OXYGEN_CENSOR, | 
| 242: | 'absolute' => 1, | 
| 243: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 244: | $OPT[] = array( | 
| 245: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=5', | 
| 246: | 'title'    => _OXYGEN_SEARCH, | 
| 247: | 'absolute' => 1, | 
| 248: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 249: | $OPT[] = array( | 
| 250: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=6', | 
| 251: | 'title'    => _OXYGEN_MAILER, | 
| 252: | 'absolute' => 1, | 
| 253: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 254: | $OPT[] = array( | 
| 255: | 'link'     => 'admin.php?fct=preferences&op=show&confcat_id=7', | 
| 256: | 'title'    => _OXYGEN_AUTHENTICATION, | 
| 257: | 'absolute' => 1, | 
| 258: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 259: | $OPT[] = array( | 
| 260: | 'link'     => 'admin.php?fct=preferences&op=showmod&mod=1', | 
| 261: | 'title'    => _OXYGEN_MODULESETTINGS, | 
| 262: | 'absolute' => 1, | 
| 263: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/icons/prefs_small.png'); | 
| 264: |  | 
| 265: | $menu[] = array( | 
| 266: | 'link'     => XOOPS_URL . '/modules/system/admin.php?fct=preferences', | 
| 267: | 'title'    => _OXYGEN_SYSOPTIONS, | 
| 268: | 'absolute' => 1, | 
| 269: | 'url'      => XOOPS_URL . '/modules/system/', | 
| 270: | 'options'  => $OPT); | 
| 271: |  | 
| 272: | foreach ($mods as $mod) { | 
| 273: | $rtn    = array(); | 
| 274: | $sadmin = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups()); | 
| 275: | if ($sadmin && ($mod->getVar('hasnotification') || is_array($mod->getInfo('config')) || is_array($mod->getInfo('comments')))) { | 
| 276: | $rtn['link']     = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid'); | 
| 277: | $rtn['title']    = htmlspecialchars($mod->name(), ENT_QUOTES); | 
| 278: | $rtn['absolute'] = 1; | 
| 279: | $rtn['icon']     = XOOPS_ADMINTHEME_URL . '/gui/oxygen/icons/prefs_small.png'; | 
| 280: | $menu[]          = $rtn; | 
| 281: | } | 
| 282: | } | 
| 283: | $tpl->append('navitems', array( | 
| 284: | 'link' => XOOPS_URL . '/modules/system/admin.php?fct=preferences', | 
| 285: | 'text' => '<span class="fa fa-wrench"></span> ' . _OXYGEN_SITEPREF, | 
| 286: | 'dir'  => $mod->getVar('dirname', 'n'), | 
| 287: | 'menu' => $menu)); | 
| 288: |  | 
| 289: |  | 
| 290: | $menu   = array(); | 
| 291: | $menu[] = array( | 
| 292: | 'link'     => 'https://xoops.org', | 
| 293: | 'title'    => _OXYGEN_XOOPSPROJECT, | 
| 294: | 'absolute' => 1); | 
| 295: | $menu[] = array( | 
| 296: | 'link'     => 'https://xoops.org', | 
| 297: | 'title'    => _OXYGEN_WEBSITE, | 
| 298: | 'absolute' => 1, | 
| 299: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/images/xoops.png'); | 
| 300: | $menu[] = array( | 
| 301: | 'link'     => 'https://xoops.org/modules/repository/', | 
| 302: | 'title'    => _OXYGEN_XOOPSMODULES, | 
| 303: | 'absolute' => 1, | 
| 304: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/images/xoops.png'); | 
| 305: | $menu[] = array( | 
| 306: | 'link'     => 'https://xoops.org/modules/extgallery/', | 
| 307: | 'title'    => _OXYGEN_XOOPSTHEMES, | 
| 308: | 'absolute' => 1, | 
| 309: | 'icon'     => XOOPS_ADMINTHEME_URL . '/dark/images/tweb.png'); | 
| 310: |  | 
| 311: | $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => '<span class="fa fa-link"></span> ' . _OXYGEN_INTERESTSITES, 'menu' => $menu)); | 
| 312: |  | 
| 313: |  | 
| 314: | if (file_exists($file = XOOPS_ADMINTHEME_PATH . '/dark/language/' . $xoopsConfig['language'] . '/localsupport.php')) { | 
| 315: | $links = include XOOPS_ADMINTHEME_PATH . '/dark/language/' . $xoopsConfig['language'] . '/localsupport.php'; | 
| 316: | if (count($links) > 0) { | 
| 317: | $tpl->append('navitems', array('link' => XOOPS_URL . '/admin.php', 'text' => '<span class="fa fa-link"></span> ' . _OXYGEN_LOCALSUPPORT, 'menu' => $links)); | 
| 318: | } | 
| 319: | } | 
| 320: |  | 
| 321: | if (is_object($xoopsModule) || !empty($_GET['xoopsorgnews'])) { | 
| 322: | if (is_object($xoopsModule) && file_exists($file = XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/' . $xoopsModule->getInfo('adminmenu'))) { | 
| 323: | include $file; | 
| 324: | } | 
| 325: |  | 
| 326: | return null; | 
| 327: | } | 
| 328: |  | 
| 329: | foreach ($mods as $mod) { | 
| 330: | $sadmin = $moduleperm_handler->checkRight('module_admin', $mod->getVar('mid'), $xoopsUser->getGroups()); | 
| 331: | if ($sadmin) { | 
| 332: | $rtn  = array(); | 
| 333: | $info = $mod->getInfo(); | 
| 334: | if (!empty($info ['adminindex'])) { | 
| 335: | $rtn ['link'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info ['adminindex']; | 
| 336: | } else { | 
| 337: | $rtn ['link'] = XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mod->getVar('mid'); | 
| 338: | } | 
| 339: | $rtn ['title']       = htmlspecialchars($mod->getVar('name'), ENT_QUOTES); | 
| 340: | $rtn ['description'] = $mod->getInfo('description'); | 
| 341: | $rtn ['absolute']    = 1; | 
| 342: | if (isset($info ['icon_big'])) { | 
| 343: | $rtn ['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info ['icon_big']; | 
| 344: | } elseif (isset($info ['image'])) { | 
| 345: | $rtn ['icon'] = XOOPS_URL . '/modules/' . $mod->getVar('dirname', 'n') . '/' . $info ['image']; | 
| 346: | } | 
| 347: |  | 
| 348: | $tpl->append('modules', $rtn); | 
| 349: | } | 
| 350: | } | 
| 351: | } | 
| 352: | } | 
| 353: |  |