diff msitegen.inc.php @ 479:86ee2b42a995

Move CLI helper functions to msitegen, again.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 07 Dec 2013 10:40:22 +0200
parents 4ce10edceedf
children adc788e7b5f4
line wrap: on
line diff
--- a/msitegen.inc.php	Sat Dec 07 10:18:52 2013 +0200
+++ b/msitegen.inc.php	Sat Dec 07 10:40:22 2013 +0200
@@ -676,4 +676,93 @@
   return $str;
 }
 
+
+//
+// CLI related helper functions
+//
+
+// Check if we are running from commandline or not
+function stCheckCLIExec($fail = TRUE)
+{
+  if (php_sapi_name() != "cli" || !empty($_SERVER["REMOTE_ADDR"]))
+  {
+    if ($fail)
+    {
+      header("Status: 404 Not Found");
+      die();
+    }
+    else
+      return TRUE;
+  }
+  else
+    return FALSE;
+}
+
+
+function stCArg($index)
+{
+  global $argc, $argv;
+  if ($index < $argc)
+    return $argv[$index];
+  else
+    return FALSE;
+}
+
+
+function stCArgLC($index)
+{
+  global $argc, $argv;
+  if ($index < $argc)
+    return strtolower($argv[$index]);
+  else
+    return FALSE;
+}
+
+
+function stCSQLError($sql)
+{
+  global $db;
+  die("Error executing SQL query: ".implode("; ", $db->errorInfo())." in statement \"".$sql."\"\n");
+  exit;
+}
+
+
+function stCLIConnectSQLDB($dbspec)
+{
+  global $db;
+  try {
+    $db = new PDO($dbspec);
+  }
+  catch (PDOException $e) {
+    error_log("Could not connect to SQL database '".$dbspec."': ".$e->getMessage().".");
+    return FALSE;
+  }
+  return TRUE;
+}
+
+
+function stGetDBMeta($name)
+{
+  global $db;
+
+  if (($item = stFetchSQL("SELECT * FROM dbmeta WHERE key=".$db->quote($name))) === FALSE)
+    return FALSE;
+  
+  return stGetSQLSettingData($item);
+}
+
+
+function stSetDBMeta($name, $value)
+{
+  global $db;
+
+  if (($item = stFetchSQL("SELECT * FROM dbmeta WHERE key=".$db->quote($name))) === FALSE)
+    return FALSE;
+
+  $sql = "UPDATE dbmeta SET ".stGetSettingSQL($item, $value)." WHERE key=".$db->quote($name);
+  return stExecSQL($sql);
+}
+
+
+
 ?>
\ No newline at end of file