XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
gui.php
Go to the documentation of this file.
1 <?php
21 {
25  var $template;
26 
31 
36 
40  var $xoTheme;
41 
42 
43  function header()
44  {
46  ob_start();
47 
48  xoops_loadLanguage('admin', 'system');
49  xoops_loadLanguage('cpanel', 'system');
50  xoops_loadLanguage('modinfo', 'system');
51 
53  $xoopsLogger->stopTime('Module init');
54  $xoopsLogger->startTime('XOOPS output init');
55 
56  if (!headers_sent()) {
57  header('Content-Type:text/html; charset=' . _CHARSET);
58  header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
59  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
60  header('Cache-Control: no-store, no-cache, must-revalidate');
61  header("Cache-Control: post-check=0, pre-check=0", false);
62  header("Pragma: no-cache");
63  }
64 
65  require_once XOOPS_ROOT_PATH . '/class/template.php';
66  require_once XOOPS_ROOT_PATH . '/class/theme.php';
67 
68  if (@$xoopsOption['template_main']) {
69  if (false === strpos($xoopsOption['template_main'], ':')) {
70  $xoopsOption['template_main'] = 'db:' . $xoopsOption['template_main'];
71  }
72  }
73 
74  $adminThemeFactory = new xos_opal_AdminThemeFactory();
75  $this->xoTheme =& $adminThemeFactory->createInstance(array(
76  'folderName' => $this->foldername,
77  'themesPath' => 'modules/system/themes',
78  'contentTemplate' => @$xoopsOption['template_main']));
79 
80  $this->xoTheme->loadLocalization('admin');
81  $this->template =& $this->xoTheme->template;
82 
83  $GLOBALS['xoTheme'] =& $this->xoTheme;
84  $GLOBALS['adminTpl'] =& $this->xoTheme->template;
85 
86  $xoopsLogger->stopTime('XOOPS output init');
87  $xoopsLogger->startTime('Module display');
88 
90  $xoopsPreload->triggerEvent('system.class.gui.header');
91 
92  if ( isset($xoopsModule) && $xoopsModule->getVar('dirname') == 'system' ) {
93  $xoopsModule->loadAdminMenu();
94 
95  foreach (array_keys($xoopsModule->adminmenu) as $item) {
96  $sys_menu[$item]['link'] = XOOPS_URL . '/modules/'.$xoopsModule->getVar('dirname').'/' . $xoopsModule->adminmenu[$item]['link'];
97  $GLOBALS['xoopsTpl']->append_by_ref('sys_menu', $sys_menu );
98  unset($sys_menu);
99  }
100  }
101  // Module adminmenu
102  if (isset($xoopsModule) && $xoopsModule->getVar('dirname') != 'system') {
103 
104  if ($xoopsModule->getInfo('system_menu')) {
105  $GLOBALS['xoTheme']->addStylesheet(XOOPS_URL . '/modules/system/css/menu.css');
106 
107  $xoopsModule->loadAdminMenu();
108  // Get menu tab handler
109  $menu_handler =& xoops_getmodulehandler('menu', 'system');
110  // Define top navigation
111  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod=" . $xoopsModule->getVar('mid', 'e'), _AM_SYSTEM_PREF);
112  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?fct=modulesadmin&amp;op=update&amp;module=" . $xoopsModule->getVar('dirname', 'e'), _AM_SYSTEM_UPDATE);
113  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?fct=blocksadmin&amp;op=list&amp;filter=1&amp;selgen=" . $xoopsModule->getVar('mid', 'e') . "&amp;selmod=-2&amp;selgrp=-1&amp;selvis=-1", _AM_SYSTEM_BLOCKS);
114  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?fct=tplsets&amp;op=listtpl&amp;tplset=default&amp;moddir=" . $xoopsModule->getVar('dirname', 'e'),_AM_SYSTEM_TPLSETS);
115  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?module=" . $xoopsModule->getVar('mid', 'e'). '&amp;status=0&amp;limit=10&amp;fct=comments', _AM_SYSTEM_COMMENTS);
116  $menu_handler->addMenuTop(XOOPS_URL . "/modules/system/admin.php?fct=modulesadmin&amp;op=uninstall&amp;module=" . $xoopsModule->getVar('dirname', 'e'), _AM_SYSTEM_UNINSTALL);
117 
118  $menu_handler->addMenuTop(XOOPS_URL . "/modules/" . $xoopsModule->getVar('dirname', 'e') . "/", _AM_SYSTEM_GOTOMODULE);
119  // Define main tab navigation
120  $i=0;
121  $current = $i;
122  foreach ($xoopsModule->adminmenu as $menu) {
123  if ( stripos( $_SERVER['REQUEST_URI'], $menu['link'] ) !== false ) $current = $i;
124  $menu_handler->addMenuTabs( $menu['link'], $menu['title']);
125  $i++;
126  }
127  if ($xoopsModule->getInfo('help')) {
128  if ( stripos( $_SERVER['REQUEST_URI'], 'admin/' . $xoopsModule->getInfo('help') ) !== false ) $current = $i;
129  $menu_handler->addMenuTabs( '../system/help.php?mid=' . $xoopsModule->getVar('mid', 's') . '&amp;' . $xoopsModule->getInfo('help'), _AM_SYSTEM_HELP);
130  }
131 
132  // Display navigation tabs
133  $GLOBALS['xoopsTpl']->assign('xo_system_menu', $menu_handler->render($current, false));
134  }
135  }
136  }
137 
138  function footer()
139  {
141 
143  $xoopsLogger->stopTime('Module display');
144 
145  if (!headers_sent()) {
146  header('Content-Type:text/html; charset='._CHARSET);
147  header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
148  header('Cache-Control: private, no-cache');
149  header('Pragma: no-cache');
150  }
151 
152  //@internal: using global $xoTheme dereferences the variable in old versions, this does not
153  if (!isset($xoTheme)) $xoTheme =& $GLOBALS['xoTheme'];
154 
155  if (isset($xoopsOption['template_main']) && $xoopsOption['template_main'] != $xoTheme->contentTemplate) {
156  trigger_error("xoopsOption[template_main] should be defined before call xoops_cp_header function", E_USER_WARNING);
157  if (false === strpos($xoopsOption['template_main'], ':')) {
158  $xoTheme->contentTemplate = 'db:' . $xoopsOption['template_main'];
159  } else {
160  $xoTheme->contentTemplate = $xoopsOption['template_main'];
161  }
162  }
163 
164  $xoTheme->render();
165  $xoopsLogger->stopTime();
166  ob_end_flush();
167  }
168 
169  function validate() {}
170  function flush() {}
171 
172  function &getInstance()
173  {
174  static $instance;
175  if (!isset($instance)) {
176  $class = __CLASS__;
177  $instance = new $class();
178  }
179  return $instance;
180  }
181 }
182 
183 ?>