Пример #1
0
 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());
     }
 }
Пример #2
0
 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;
 }