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; }