コード例 #1
0
ファイル: config.php プロジェクト: RanLee/XoopsCore
 /**
  * Get a list of configs
  *
  * @param int $conf_modid ID of the modules
  * @param int $conf_catid ID of the category
  *
  * @return    array   Associative array of name=>value pairs.
  */
 public function getConfigList($conf_modid, $conf_catid = 0)
 {
     if (!empty($this->_cachedConfigs[$conf_modid][$conf_catid])) {
         return $this->_cachedConfigs[$conf_modid][$conf_catid];
     } else {
         $criteria = new CriteriaCompo(new Criteria('conf_modid', $conf_modid));
         if (empty($conf_catid)) {
             $criteria->add(new Criteria('conf_catid', $conf_catid));
         }
         $criteria->setSort('conf_order');
         $criteria->setOrder('ASC');
         $configs = $this->_cHandler->getObjects($criteria);
         $confcount = count($configs);
         $ret = array();
         for ($i = 0; $i < $confcount; ++$i) {
             $ret[$configs[$i]->getVar('conf_name')] = $configs[$i]->getConfValueForOutput();
         }
         $this->_cachedConfigs[$conf_modid][$conf_catid] = $ret;
         return $ret;
     }
 }
コード例 #2
0
 /**
  * enable xoops notificaiton
  *
  * @access public
  * @param string $mid module id
  * @param string $category
  * @param string $event
  * @return bool false if failure
  */
 function enableNotification($mid, $category, $event)
 {
     global $xoopsDB;
     $config_handler =& xoops_gethandler('config');
     $criteria = new CriteriaCompo();
     $criteria->add(new Criteria('conf_name', 'notification_events'));
     $criteria->add(new Criteria('conf_modid', $mid));
     $criteria->add(new Criteria('conf_catid', 0));
     $config_items = $config_handler->getConfigs($criteria);
     if (count($config_items) != 1) {
         return false;
     } else {
         $config_item = $config_items[0];
         $option_value = $category . '-' . $event;
         $option_values = $config_item->getConfValueForOutput();
         if (!in_array($option_value, $option_values)) {
             $option_values[] = $option_value;
             $config_item->setConfValueForInput($option_values);
             $config_item_handler = new XoopsConfigItemHandler($xoopsDB);
             $config_item_handler->insert($config_item);
         }
     }
     return true;
 }