Esempio n. 1
0
 /**
  * updates the settings table
  */
 public static function save($module)
 {
     if (!PHPWS_Settings::is_set($module)) {
         return false;
     }
     $db = new PHPWS_DB('mod_settings');
     $db->addWhere('module', $module);
     $db->addWhere('setting_name', array_keys($GLOBALS['PHPWS_Settings'][$module]));
     $db->delete();
     $db->reset();
     foreach ($GLOBALS['PHPWS_Settings'][$module] as $key => $value) {
         if (empty($key)) {
             continue;
         }
         $type = PHPWS_Settings::getType($value);
         $db->addValue('module', $module);
         $db->addValue('setting_name', $key);
         $db->addValue('setting_type', $type);
         switch ($type) {
             case 1:
                 $db->addValue('small_num', (int) $value);
                 break;
             case 2:
                 $db->addValue('large_num', (int) $value);
                 break;
             case 3:
                 $db->addValue('small_char', $value);
                 break;
             case 4:
                 $db->addValue('large_char', $value);
                 break;
         }
         $result = $db->insert();
         if (PHPWS_Error::isError($result)) {
             unset($GLOBALS['PHPWS_Settings'][$module]);
             PHPWS_Settings::load($module);
             return $result;
         }
         $db->reset();
     }
     unset($GLOBALS['PHPWS_Settings'][$module]);
     PHPWS_Settings::load($module);
 }