示例#1
0
 private function insert_configs()
 {
     $dir = $this->plugin()->get_info('dir');
     $pre_options = $this->plugin->options();
     if (empty($pre_options)) {
         return null;
     }
     $db = XoopsDatabaseFactory::getDatabaseConnection();
     $c_options = RMFunctions::plugin_settings($dir);
     if (empty($c_options)) {
         $sql = '';
         foreach ($pre_options as $name => $option) {
             $sql .= $sql == '' ? '' : ',';
             $sql .= "('{$dir}','{$name}','plugin','{$option['value']}','{$option['valuetype']}')";
         }
         $sql = "INSERT INTO " . $db->prefix("mod_rmcommon_settings") . " (`element`,`name`,`type`,`value`,`valuetype`) VALUES " . $sql;
         if (!$db->queryF($sql)) {
             $this->addError($this->db->error());
             return false;
         } else {
             return true;
         }
     } else {
         $sql = '';
         foreach ($pre_options as $name => $option) {
             if (isset($c_options[$name])) {
                 $option['value'] = $c_options[$name]['value'];
                 $sql = "UPDATE " . $db->prefix("mod_rmcommon_settings") . " SET value='{$option['value']}' WHERE element='{$dir}' AND type='plugin' AND name='{$name}'";
                 $db->queryF($sql);
             } else {
                 $sql = "INSERT INTO " . $db->prefix("mod_rmcommon_settings") . " (`element`,`name`,`type`,`value`,`valuetype`) VALUES\n                            ('{$dir}','{$name}','plugin','{$option['value']}','{$option['valuetype']}')";
                 $db->queryF($sql);
             }
         }
     }
     return true;
 }