public static function insertParameter($groupId, $parameter) { $sql = "insert into `" . DB_PREF . "parameter`\n set name = '" . mysql_real_escape_string($parameter['name']) . "',\n admin = '" . mysql_real_escape_string($parameter['admin']) . "',\n group_id = " . (int) $groupId . ",\n translation = '" . mysql_real_escape_string($parameter['translation']) . "',\n type = '" . mysql_real_escape_string($parameter['type']) . "'"; $rs = mysql_query($sql); if ($rs) { $last_insert_id = mysql_insert_id(); switch ($parameter['type']) { case "string_wysiwyg": $sql = "insert into `" . DB_PREF . "par_string` set `value` = '" . mysql_real_escape_string($parameter['value']) . "', `parameter_id` = " . $last_insert_id . ""; $rs = mysql_query($sql); if (!$rs) { trigger_error("Can't insert parameter " . $sql . " " . mysql_error()); } break; case "string": $sql = "insert into `" . DB_PREF . "par_string` set `value` = '" . mysql_real_escape_string($parameter['value']) . "', `parameter_id` = " . $last_insert_id . ""; $rs = mysql_query($sql); if (!$rs) { trigger_error("Can't insert parameter " . $sql . " " . mysql_error()); } break; case "integer": $sql = "insert into `" . DB_PREF . "par_integer` set `value` = " . mysql_real_escape_string($parameter['value']) . ", `parameter_id` = " . $last_insert_id . ""; $rs = mysql_query($sql); if (!$rs) { trigger_error("Can't insert parameter " . $sql . " " . mysql_error()); } break; case "bool": $sql = "insert into `" . DB_PREF . "par_bool` set `value` = " . mysql_real_escape_string($parameter['value']) . ", `parameter_id` = " . $last_insert_id . ""; $rs = mysql_query($sql); if (!$rs) { trigger_error("Can't insert parameter " . $sql . " " . mysql_error()); } break; case "textarea": $sql = "insert into `" . DB_PREF . "par_string` set `value` = '" . mysql_real_escape_string($parameter['value']) . "', `parameter_id` = " . $last_insert_id . ""; $rs = mysql_query($sql); if (!$rs) { trigger_error("Can't insert parameter " . $sql . " " . mysql_error()); } break; case "lang": $languages = \Db_100::getLanguages(); foreach ($languages as $key => $language) { $sql3 = "insert into `" . DB_PREF . "par_lang` set `translation` = '" . mysql_real_escape_string($parameter['value']) . "', `language_id` = '" . $language['id'] . "', `parameter_id` = " . $last_insert_id . " "; $rs3 = mysql_query($sql3); if (!$rs3) { trigger_error("Can't update parameter " . $sql3 . " " . mysql_error()); } } break; case "lang_textarea": $languages = \Db_100::getLanguages(); foreach ($languages as $key => $language) { $sql3 = "insert into `" . DB_PREF . "par_lang` set `translation` = '" . mysql_real_escape_string($parameter['value']) . "', `language_id` = '" . $language['id'] . "', `parameter_id` = " . $last_insert_id . " "; $rs3 = mysql_query($sql3); if (!$rs3) { trigger_error("Can't update parameter " . $sql3 . " " . mysql_error()); } } break; case "lang_wysiwyg": $languages = \Db_100::getLanguages(); foreach ($languages as $key => $language) { $sql3 = "insert into `" . DB_PREF . "par_lang` set `translation` = '" . mysql_real_escape_string($parameter['value']) . "', `language_id` = '" . $language['id'] . "', `parameter_id` = " . $last_insert_id . " "; $rs3 = mysql_query($sql3); if (!$rs3) { trigger_error("Can't update parameter " . $sql3 . " " . mysql_error()); } } break; } } else { trigger_error($sql . " " . mysql_error()); } }
public static function saveParameters($file, $ignoreLanguage = false) { //require_once(MODULE_DIR."standard/seo/db.php"); global $site; require $file; $answer = ''; //get languageId $languages = \Db_100::getLanguages(); $languageId = $languages[0]; if (isset($parameterGroupTitle)) { foreach ($parameterGroupTitle as $groupName => $group) { foreach ($group as $moduleName => $module) { foreach ($module as $parameterGroupName => $value) { $tmpModule = Db::getModule($groupName, $moduleName); if ($tmpModule) { $tmpParameterGroup = Db::getParameterGroup($tmpModule['id'], $parameterGroupName); if ($tmpParameterGroup) { Db::setParameterGroupTitle($tmpParameterGroup['id'], $value); } else { if (isset($parameterGroupAdmin[$groupName][$moduleName][$parameterGroupName])) { $admin = $parameterGroupAdmin[$groupName][$moduleName][$parameterGroupName]; } else { $admin = 1; } $tmpParameterGroup = Db::createParameterGroup($tmpModule['id'], $parameterGroupName, $value, $admin); } } } } } } if (isset($parameterValue)) { foreach ($parameterValue as $groupName => $moduleGroup) { foreach ($moduleGroup as $moduleName => $module) { $tmpModule = Db::getModule($groupName, $moduleName); if ($tmpModule) { foreach ($module as $parameterGroupName => $parameterGroup) { $tmpParameterGroup = Db::getParameterGroup($tmpModule['id'], $parameterGroupName); if (!$tmpParameterGroup) { if (isset($parameterGroupAdmin[$groupName][$moduleName][$parameterGroupName])) { $admin = $parameterGroupAdmin[$groupName][$moduleName][$parameterGroupName]; } else { $admin = 1; } $tmpParameterGroup['id'] = Db::createParameterGroup($tmpModule['id'], $parameterGroupName, $parameterGroupName, $admin); } foreach ($parameterGroup as $parameterName => $value) { if (!self::exist($groupName, $moduleName, $parameterGroupName, $parameterName)) { $parameter = array(); $parameter['name'] = $parameterName; if (isset($parameterAdmin[$groupName][$moduleName][$parameterGroupName][$parameterName])) { $parameter['admin'] = $parameterAdmin[$groupName][$moduleName][$parameterGroupName][$parameterName]; } else { $parameter['admin'] = 1; } if (isset($parameterTitle[$groupName][$moduleName][$parameterGroupName][$parameterName])) { $parameter['translation'] = $parameterTitle[$groupName][$moduleName][$parameterGroupName][$parameterName]; } else { $parameter['translation'] = $parameterName; } if (isset($parameterType[$groupName][$moduleName][$parameterGroupName][$parameterName])) { $parameter['type'] = $parameterType[$groupName][$moduleName][$parameterGroupName][$parameterName]; } else { $parameter['type'] = 'string'; } $parameter['value'] = str_replace("\r\n", "\n", $value); //user can edit parameters file and change line endings. So, we convert them back $parameter['value'] = str_replace("\r", "\n", $parameter['value']); Db::insertParameter($tmpParameterGroup['id'], $parameter); } } } } } } } if (isset($parameterTitle)) { foreach ($parameterTitle as $moduleGroupName => $moduleGroup) { foreach ($moduleGroup as $moduleName => $module) { foreach ($module as $parameterGroupName => $parameterGroup) { foreach ($parameterGroup as $parameterName => $title) { Db::setParameterTitle($moduleGroupName, $moduleName, $parameterGroupName, $parameterName, $title); } } } } } if (isset($moduleGroupTitle)) { foreach ($moduleGroupTitle as $groupName => $value) { Db::setModuleGroupTitle($groupName, $value); } } if (isset($moduleTitle)) { foreach ($moduleTitle as $groupName => $group) { foreach ($group as $moduleName => $value) { Db::setModuleTitle($groupName, $moduleName, $value); } } } return $answer; }