示例#1
0
文件: main.php 项目: yunsite/xoopsdc
     break;
 case 'tplset':
     $ele = new XoopsFormSelect($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());
     $tplset_handler =& xoops_gethandler('tplset');
     $tplsetlist = $tplset_handler->getList();
     asort($tplsetlist);
     foreach ($tplsetlist as $key => $name) {
         $ele->addOption($key, $name);
     }
     // old theme value is used to determine whether to update cache or not. kind of dirty way
     $form->addElement(new XoopsFormHidden('_old_theme', $config[$i]->getConfValueForOutput()));
     break;
 case 'cpanel':
     $ele = new XoopsFormSelect($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());
     xoops_load("cpanel", "system");
     $list = XoopsSystemCpanel::getGuis();
     $ele->addOptionArray($list);
     break;
 case 'timezone':
     $ele = new XoopsFormSelectTimezone($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());
     break;
 case 'language':
     $ele = new XoopsFormSelectLang($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());
     break;
 case 'startpage':
     $ele = new XoopsFormSelect($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());
     $module_handler =& xoops_gethandler('module');
     $criteria = new CriteriaCompo(new Criteria('hasmain', 1));
     $criteria->add(new Criteria('isactive', 1));
     $moduleslist = $module_handler->getList($criteria, true);
     $moduleslist['--'] = _MD_AM_NONE;
示例#2
0
 /**
  * Flush the Xoops Admin Gui
  *
  */
 function flush()
 {
     $guis = XoopsSystemCpanel::getGuis();
     foreach ($guis as $gui) {
         if ($file = dirname(__FILE__) . '/gui/' . $gui . '/' . $gui . '.php') {
             include_once $file;
             if (class_exists($class = 'XoopsGui' . ucfirst($gui))) {
                 call_user_func(array($class, 'flush'));
             }
         }
     }
 }
示例#3
0
 /**
  * Flush the Xoops Admin Gui
  *
  */
 function flush()
 {
     $guis = XoopsSystemCpanel::getGuis();
     foreach ($guis as $gui) {
         if ($file = XOOPS_ADMINTHEME_PATH . '/' . $gui . '/' . $gui . '.php') {
             include_once $file;
             if (class_exists($class = 'XoopsGui' . ucfirst($gui))) {
                 call_user_func(array($class, 'flush'));
             }
         }
     }
 }
示例#4
0
 /**
  * Prepares the form field that will be shown on settings form
  * and returns the HTML code.
  * <br><br>
  * <p><strong>Usage:</strong></p>
  * <code>echo RMSettings::render_field( string 'field_id', array $field );</code>
  *
  * @param stdClass $field <p>An object with all field values, including caption, id, description, type, value, etc.</p>
  * @return string
  */
 public static function render_field($field)
 {
     if (empty($field)) {
         return null;
     }
     $tc = TextCleaner::getInstance();
     switch ($field->field) {
         case 'textarea':
             if ($field->type == 'array') {
                 // this is exceptional.. only when value type is arrayneed a smarter way for this
                 $ele = $field->value != '' ? new RMFormTextArea($field->caption, $field->name, 4, 45, $tc->specialchars(implode('|', $field->value))) : new RMFormTextArea($field->title, $field->name, 4, 45);
             } else {
                 $ele = new RMFormTextArea($field->caption, $field->name, 4, 50, $tc->specialchars($field->value));
             }
             break;
         case 'select':
             $ele = new RMFormSelect($field->caption, $field->name, 0, array($field->value));
             foreach ($field->options as $caption => $value) {
                 $ele->addOption($value, defined($caption) ? constant($caption) : $caption);
             }
             break;
         case 'select_multi':
             $ele = new RMFormSelect($field->caption, $field->name, 1, array($field->value));
             $options = $field->options;
             foreach ($options as $value => $caption) {
                 $value = defined($value) ? constant($value) : $value;
                 $caption = defined($caption) ? constant($caption) : $caption;
                 $ele->addOption($value, $caption);
             }
             break;
         case 'yesno':
             $ele = new RMFormYesNo($field->caption, $field->name, $field->value);
             break;
         case 'theme':
         case 'theme_multi':
             $ele = new RMFormTheme($field->caption, $field->name, $field->field == 'theme_multi' ? 1 : 0, 0, $field->value);
             break;
         case 'cu-theme':
         case 'cu-theme-multi':
             $ele = new RMFormTheme($field->caption, $field->name, $field->field == 'cu-theme-multi' ? 1 : 0, 0, $field->value, 1, 'GUI');
             break;
         case 'tplset':
             $ele = new RMFormSelect($field->caption, $field->name, 0, array($field->value));
             $tplset_handler =& xoops_gethandler('tplset');
             $tplsetlist = $tplset_handler->getList();
             asort($tplsetlist);
             foreach ($tplsetlist as $key => $name) {
                 $ele->addOption($key, $name);
             }
             break;
         case 'cpanel':
             $ele = new RMFormSelect($field->caption, $field->name, 0, array($field->value));
             xoops_load("cpanel", "system");
             $list = XoopsSystemCpanel::getGuis();
             $ele->addOptionArray($list);
             break;
         case 'timezone':
             $ele = new RMFormTimeZoneField($field->caption, $field->name, 0, 0, $field->value);
             break;
         case 'language':
         case 'language_multi':
             $langs = XoopsLists::getLangList();
             $ele = new RMFormSelect($field->caption, $field->name, $field->field == 'language_multi' ? 1 : 0, $field->value);
             foreach ($langs as $caption => $value) {
                 $ele->addOption($value, $caption);
             }
             break;
         case 'cu-language':
         case 'cu-language-multi':
             $ele = new RMFormLanguageField($field->caption, $field->name, $field->field == 'cu-language-multi' ? 1 : 0, 0, $field->value);
             break;
         case 'startpage':
             $ele = new RMFormSelect($field->caption, $field->name, 0, array($field->value));
             $module_handler =& xoops_gethandler('module');
             $criteria = new CriteriaCompo(new Criteria('hasmain', 1));
             $criteria->add(new Criteria('isactive', 1));
             $moduleslist = $module_handler->getList($criteria, true);
             $moduleslist['--'] = _MD_AM_NONE;
             $ele->addOptionsArray($moduleslist);
             break;
         case 'group':
         case 'group_multi':
             $ele = new RMFormGroups($field->caption, $field->name, $field->field == 'group_multi' ? 1 : 0, 0, 1, $field->value);
             break;
         case 'user':
         case 'user_multi':
             $ele = new RMFormUser($field->caption, $field->name, $field->field == 'user_multi' ? 1 : 0, $field->value);
             break;
         case 'module_cache':
             $ele = new RMFormCacheModuleField($field->caption, $field->name, $field->value);
             break;
         case 'site_cache':
             $ele = new RMFormSelect($field->caption, $field->name, 0, $field->value);
             $ele->addOptionArray(array('0' => __('No cache', 'rmcommon'), '30' => sprintf(__('%u seconds', 'rmcommon'), 30), '60' => __('1 minute', 'rmcommon'), '300' => sprintf(__('%u minutes', 'rmcommon'), 5), '1800' => sprintf(__('%u minutes', 'rmcommon'), 30), '3600' => __('One hour', 'rmcommon'), '18000' => sprintf(__('%u hours', 'rmcommon'), 5), '86400' => __('One day', 'rmcommon'), '259200' => sprintf(__('%u days', 'rmcommon'), 3), '604800' => __('One week', 'rmcommon')));
             break;
         case 'password':
             $ele = new RMFormText($field->caption, $field->name, 50, 255, $field->value, true);
             break;
         case 'hidden':
             $ele = new RMFormHidden($field->name, $field->value);
             break;
         case 'modules-rewrite':
             $ele = new RMFormRewrite($field->caption, $field->name, $field->value);
             break;
         case 'textbox':
         default:
             $ele = new RMFormText($field->caption, $field->name, 50, 255, $tc->specialchars($field->value));
             break;
     }
     /**
      * Allow to plugins and other modules create new form
      * elements types in settings form
      */
     $ele = RMEvents::get()->trigger('rmcommon.load.form.field', $ele, $field);
     $ele->set('id', $field->id);
     $ele->add('class', 'form-control');
     return $ele->render();
 }