Mercurial > hg > fapweb
diff msite.inc.php @ 143:20893a5442b7
Move some functions to site module, and use them.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 23 Oct 2013 01:21:12 +0300 |
parents | 75cf14ee99a7 |
children | c030c3cf0d80 |
line wrap: on
line diff
--- a/msite.inc.php Wed Oct 23 00:47:33 2013 +0300 +++ b/msite.inc.php Wed Oct 23 01:21:12 2013 +0300 @@ -105,6 +105,75 @@ } +function stReloadDisplayVars() +{ + global $displayVars, $displayVarsChanged; + + $displayVars = array(); + $displayVarsChanged = array(); + + if (($res = stExecSQL("SELECT * FROM displayVars")) !== 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; + } + $displayVars[$row["key"]] = $val; + } + } +} + + +function stSaveDisplayVars() +{ + global $displayVars, $displayVarsChanged; + + foreach (stExecSQL("SELECT * FROM displayVars") as $item) + if (isset($displayVarsChanged[$item["key"]])) + { + $val = $displayVars[$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 displayVars SET ".$vsql." WHERE key=".$db->quote($item["key"]); + stExecSQL($sql); + } +} + + +function stGetDisplayVar($name) +{ + global $displayVars; + if (isset($displayVars[$name])) + return $displayVars[$name]; + else + die("No display var for '".$name."'.\n"); +} + + +function stSetDisplayVar($name, $value) +{ + global $displayVars, $displayVarsChanged; + if (isset($displayVars[$name])) + { + $displayVars[$name] = $value; + $displayVarsChanged[$name] = true; + } + else + die("No display var for '".$name."'.\n"); +} + + function dhentities($str) { return str_replace(array("<",">"), array("<", ">"), htmlentities($str, ENT_NOQUOTES, "UTF-8"));