]> andersk Git - sql-web.git/commitdiff
git-svn-id: svn://presbrey.mit.edu/php/php@29 a142d4bd-2cfb-0310-9673-cb33a7e74f58
authorJoe Presbrey <presbrey@mit.edu>
Fri, 15 Jul 2005 15:12:24 +0000 (15:12 +0000)
committerJoe Presbrey <presbrey@mit.edu>
Fri, 15 Jul 2005 15:12:24 +0000 (15:12 +0000)
lib/joe/joe.lib.php [new file with mode: 0644]

diff --git a/lib/joe/joe.lib.php b/lib/joe/joe.lib.php
new file mode 100644 (file)
index 0000000..2672321
--- /dev/null
@@ -0,0 +1,199 @@
+<?php
+/*
+    (c) 2005 Joe Presbrey
+    joepresbrey@gmail.com
+
+    ATTN:  This library was compiled and completed in its entirety independent of
+    any and all corporate projects and/or work environment.
+
+    You may NOT use this library elsewhere!
+
+*/
+
+function isFormPost() {
+  if($_SERVER['REQUEST_METHOD'] == 'POST') {
+    return true;
+  } else {
+    return false;
+  }
+}
+
+function isSess($id) {
+  return isset($_SESSION[$id]);
+}
+
+function sess($id,$val=NULL) {
+  if (is_null($val)) {
+    return (isSess($id)?$_SESSION[$id]:NULL);
+  } elseif (empty($val)) {
+    unset($_SESSION[$id]);
+  } else {
+    $prev = sess($id);
+    $_SESSION[$id] = $val;
+    return $prev;
+  }
+}
+
+function stopSess() {
+  $sid[] = session_id();
+  @session_destroy();
+  session_start();
+  $sid[] = session_id();
+  session_regenerate_id();
+  $sid[] = session_id();
+  session_write_close();
+  @session_destroy();
+
+  foreach($sid as $id) {
+    @unlink(SESSIONS_PATH.'/sess_'.$id);
+  }
+}
+
+function sessTime($query=null) {
+  global $timings;
+
+  if(!isset($timings)) {
+    $timings = array();
+  }
+
+  if (!isSess('TIMING')) {
+    sess('TIMING', '1');    
+  } elseif (!is_null($query)) {
+    $current = sess('TIMING');
+    $current++;
+    sess('TIMING', $current);
+  }
+  $key = sess('TIMING');
+
+  if (is_null($query)) {
+    $timings[$key]['time'] = microtime(true)-$timings[$key]['time'];
+    return true;
+  } else {
+    $timings[$key] = array();
+    $timings[$key]['time'] = microtime(true);
+    $timings[$key]['query'] = $query;
+    return false;
+  }
+}
+
+function fetchRows($rs, $key = null) {
+    /* ask me how to use this if its not obvious ~ Joe */
+    if (!$rs) return array();
+    $kn = is_null($key);
+    $n = mysql_num_rows($rs);
+    if ($n > 0) {
+        $arr = array();
+        if (is_null($key)) {
+            while ($r = mysql_fetch_assoc($rs)) {
+                $arr[] = $r;
+            }
+        } elseif (is_numeric($key)) {
+            while ($r = mysql_fetch_row($rs)) {
+                $arr[$r[$key]] = $r;
+            }
+        } else {
+            while ($r = mysql_fetch_assoc($rs)) {
+                $arr[$r[$key]] = $r;
+            }
+        }
+        mysql_free_result($rs);
+        return $arr;
+    } else {
+        mysql_free_result($rs);
+        return array();
+    }
+}
+
+function printErrors($errArray) {
+    if (isset($errArray) && count($errArray)) {
+        echo '<ul style="color:red;">';
+        foreach($errArray as $err) {
+            echo '<li style="color:red;"><p>',$err,'</p></li>';
+        }
+        echo '</ul>';
+    }
+}
+
+function buildSQLSet($fields, $values=NULL) {
+    $ex = array('NOW()','NULL');
+    $sql = 'SET';
+    $c = 0;
+    if (!is_null($values)) {
+        foreach($fields as $field) {
+            if ($c++) $sql .= ',';
+            $sql .= " `$field`='".mysql_escape_string(array_shift($values))."'";
+        }
+    } else {
+        foreach($fields as $field=>$value) {
+            if ($c++) $sql .= ',';
+            if (in_array($value,$ex)) {
+                $sql .= " `$field`= $value";
+            } else {
+                $sql .= " `$field`='".mysql_escape_string($value)."'";
+            }
+        }
+    }
+    return $sql;
+}
+
+function buildSQLInsert($array, $table=NULL) {
+    $ex = array('NOW()','NULL');
+    $sql = '(';
+    $c = 0;
+    foreach($array as $field=>$value) {
+        if ($c++) $sql .= ',';
+        $sql .= " `$field` ";
+    }
+    $sql .= ') VALUES (';
+    $c = 0;
+       foreach($array as $field=>$value) {
+        $v = mysql_escape_string($value);
+        if ($c++) $sql .= ',';
+        if (in_array($v, $ex))
+            $sql .= " $v ";
+        else
+            $sql .= " '$v' ";
+    }
+    $sql .= ')';
+    return (is_null($table)?$sql:('INSERT INTO `'.$table.'` '.$table));
+}
+
+function build_str($query_array) {
+    $query_string = array();
+    foreach ($query_array as $k => $v) {
+        $new = $k;
+        if (strlen($v))
+            $new .= '='.$v;
+        $query_string[] = $new;
+    }
+    return join('&', $query_string);
+}
+
+function newQS($key, $val) {
+    parse_str($_SERVER['QUERY_STRING'], $arr);
+    $arr[$key] = $val;
+    return '?'.build_str($arr);
+}
+
+function newQSA($array=array()) {
+    parse_str($_SERVER['QUERY_STRING'], $arr);
+    $s = count($arr);
+    foreach($array as $key=>$val) {
+        $arr[$key] = $val;
+        if (is_null($val))
+            unset($arr[$key]);
+    }
+    return (count($arr)||$s)?'?'.build_str($arr):'';
+}
+
+function formQSA($array=array()) {
+    if (!count($array)) $array = $_SERVER['QUERY_STRING'];
+    parse_str($array, $arr);
+    $text = '';
+    foreach($arr as $key=>$val) {
+        $text .= sprintf('<input type="hidden" name="%s" value="%s">', $key, $val);
+    }
+    return $text;
+}
+
+?>
This page took 0.038834 seconds and 5 git commands to generate.