XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
cpanel.php
Go to the documentation of this file.
1 <?php
21 {
25  var $gui;
26 
31  function __construct()
32  {
33  $cpanel = xoops_getConfigOption('cpanel');
34  $this->loadGui($cpanel);
35  }
36 
42  function &getInstance()
43  {
44  static $instance;
45  if (!isset($instance)) {
46  $class = __CLASS__;
47  $instance = new $class();
48  }
49  return $instance;
50  }
51 
57  function loadGui($gui)
58  {
59  if (!empty($gui)) {
60  $class = 'XoopsGui' . ucfirst($gui);
61  if (!class_exists($class)) {
62  include_once XOOPS_ADMINTHEME_PATH . '/' . $gui . '/' . $gui . '.php';
63  }
64  if (class_exists($class)) {
65  if (call_user_func(array($class , 'validate'))) {
66  $this->gui = new $class();
67  $this->gui->foldername = $gui;
68  }
69  }
70  }
71  if (!isset($this->gui)) {
72  if (file_exists($file = XOOPS_ADMINTHEME_PATH . '/default/default.php')) {
73  include_once $file;
74  $this->gui = new XoopsGuiDefault();
75  $this->gui->foldername = 'default';
76  }
77  }
78  }
79 
85  function getGuis()
86  {
87  $guis = array();
88  xoops_load('XoopsLists');
89  $lists = XoopsLists::getDirListAsArray(XOOPS_ADMINTHEME_PATH);
90  foreach (array_keys($lists) as $gui) {
91  if (file_exists($file = XOOPS_ADMINTHEME_PATH . '/' . $gui . '/' . $gui . '.php')) {
92  include_once $file;
93  if (class_exists($class = 'XoopsGui' . ucfirst($gui))) {
94  if (call_user_func(array($class , 'validate'))) {
95  $guis[$gui] = $gui;
96  }
97  }
98  }
99  }
100  return $guis;
101  }
102 
107  function flush()
108  {
109  $guis = XoopsSystemCpanel::getGuis();
110  foreach ($guis as $gui) {
111  if ($file = XOOPS_ADMINTHEME_PATH . '/' . $gui . '/' . $gui . '.php') {
112  include_once $file;
113  if (class_exists($class = 'XoopsGui' . ucfirst($gui))) {
114  call_user_func(array($class , 'flush'));
115  }
116  }
117  }
118  }
119 }
120 
121 ?>