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("&lt;","&gt;"), array("<", ">"), htmlentities($str, ENT_NOQUOTES, "UTF-8"));