# HG changeset patch # User Matti Hamalainen # Date 1384575197 -7200 # Node ID 96ab189e5c03646fd23fe0ddfb90f4988bbf0849 # Parent 41b24a132af8cb7791658f89fd190b6f37982c0c Add some new helper functions and use them. diff -r 41b24a132af8 -r 96ab189e5c03 admajax.php --- a/admajax.php Fri Nov 15 19:16:12 2013 +0200 +++ b/admajax.php Sat Nov 16 06:13:17 2013 +0200 @@ -477,18 +477,9 @@ if ($type == "settings") { foreach (stExecSQL("SELECT * FROM settings") as $item) - if (stChkRequestItem($item["key"])) + if (($val = stGetRequestItem($item["key"], FALSE)) !== FALSE) { - $val = stGetRequestItem($item["key"]); - switch ($item["vtype"]) - { - case VT_INT: $vsql = stPrepareSQL("vint=%d", $val); break; - case VT_BOOL: $vsql = stPrepareSQL("vint=%d", $val ? 1 : 0); break; - case VT_STR: $vsql = stPrepareSQL("vstr=%s", $val); break; - case VT_TEXT: $vsql = stPrepareSQL("vtext=%s", $val); break; - } - - $sql = "UPDATE settings SET ".$vsql." WHERE key=".$db->quote($item["key"]); + $sql = "UPDATE settings SET ".stGetSettingSQL($item, $val)." WHERE key=".$db->quote($item["key"]); stExecSQLCond($sql, "OK, setting updated."); } } diff -r 41b24a132af8 -r 96ab189e5c03 msitegen.inc.php --- a/msitegen.inc.php Fri Nov 15 19:16:12 2013 +0200 +++ b/msitegen.inc.php Sat Nov 16 06:13:17 2013 +0200 @@ -51,23 +51,39 @@ } +function stGetSQLSettingData($item) +{ + switch ($item["vtype"]) + { + case VT_INT: return intval($item["vint"]); + case VT_BOOL: return intval($item["vint"]) ? true : false; + case VT_STR: return $item["vstr"]; + case VT_TEXT: return $item["vtext"]; + } +} + + +function stGetSettingSQL($item, $val) +{ + global $db; + switch ($item["vtype"]) + { + case VT_INT: return "vint=".intval($val); break; + case VT_BOOL: return "vint=".($val ? "1" : "0"); break; + case VT_STR: return "vstr=".$db->quote($val); break; + case VT_TEXT: return "vtext=".$db->quote($val); break; + default: return FALSE; + } +} + function stReloadSettings() { global $siteSettings; - $res = stExecSQL("SELECT * FROM settings"); - if ($res !== FALSE) + + if (($res = stExecSQL("SELECT * FROM settings")) !== FALSE) { - foreach ($res as $row) - { - switch ($row["vtype"]) - { - case VT_INT: $val = intval($row["vint"]); break; - case VT_BOOL: $val = intval($row["vint"]) ? true : false; break; - case VT_STR: $val = $row["vstr"]; break; - case VT_TEXT: $val = $row["vtext"]; break; - } - $siteSettings[$row["key"]] = $val; - } + foreach ($res as $item) + $siteSettings[$item["key"]] = stGetSQLSettingData($item); } else die("Error fetching site settings.");