8 if($_SERVER['REQUEST_METHOD'] == 'POST') {
14 function isFormPost() { return isPost(); }
16 function isSess($id) {
17 return isset($_SESSION[$id]);
20 function sess($id,$val=null) {
22 return (isSess($id)?$_SESSION[$id]:null);
23 } elseif (empty($val)) {
24 unset($_SESSION[$id]);
27 $_SESSION[$id] = $val;
33 $sid[] = session_id();
36 $sid[] = session_id();
37 session_regenerate_id();
38 $sid[] = session_id();
39 session_write_close();
42 foreach($sid as $id) {
43 @unlink(session_save_path().'/sess_'.$id);
47 function sessTime($query=null) {
51 if(!isset($timings)) {
55 if (!isset($timingc) || empty($timingc)) {
57 } elseif (!is_null($query)) {
59 $timingc = ++$current;
63 if (is_null($query)) {
64 $timings[$key]['time'] = microtime(true)-$timings[$key]['time'];
66 $timings[$key]['error'] = mysql_error();
69 $timings[$key] = array();
70 $timings[$key]['time'] = microtime(true);
71 $timings[$key]['query'] = $query;
76 function fetchRows($rs, $key = null) {
77 if (!$rs) return array();
79 $n = mysql_num_rows($rs);
83 while ($r = mysql_fetch_assoc($rs)) {
86 } elseif (is_numeric($key)) {
87 while ($r = mysql_fetch_row($rs)) {
91 while ($r = mysql_fetch_assoc($rs)) {
95 mysql_free_result($rs);
98 mysql_free_result($rs);
103 function printErrors($err) { printList('err', $err); }
104 function printMsgs($err) { printList('msg', $err); }
106 function printList($class,$err) {
107 if (is_array($err) && count($err)) {
108 echo '<div class="',$class,'">',(count($err)>1?'<ul>':'');
109 foreach($err as $e) {
111 echo '<li><p>',$e,'</p></li>';
113 echo '<p>',$e,'</p>';
116 echo (count($err)>1?'</ul>':''),'</div>';
120 function buildSQLSet($fields, $values=null, $safeFields=false) {
121 $ex = array('NOW()','NULL','/FROM_UNIXTIME\(\d+\)/');
124 if (!is_null($values)) {
125 foreach($fields as $field) {
126 if ($c++) $sql .= ',';
127 $value = array_shift($values);
128 if (is_numeric($value))
129 $sql .= " `$field`=".mysql_real_escape_string($value);
131 $sql .= " `$field`='".mysql_real_escape_string($value)."'";
134 foreach($fields as $field=>$value) {
135 if ($c++) $sql .= ',';
136 if (in_array($value,$ex) || (is_array($safeFields) && in_array($field,$safeFields))) {
137 $sql .= " `$field`=$value";
138 } elseif (is_numeric($value)) {
139 $sql .= " `$field`=".mysql_real_escape_string($value);
141 $sql .= " `$field`='".mysql_real_escape_string($value)."'";
148 function buildSQLInsert($array, $table=null, $safeFields=false) {
149 $ex = array('NOW()','NULL','/FROM_UNIXTIME\(\d+\)/');
152 foreach($array as $field=>$value) {
153 if ($c++) $sql .= ',';
154 $sql .= " `$field` ";
156 $sql .= ') VALUES (';
158 foreach($array as $field=>$value) {
159 if ($c++) $sql .= ',';
160 if (in_array($value, $ex) || (is_array($safeFields) && in_array($field,$safeFields))) {
163 $value = mysql_real_escape_string($value);
164 if (is_numeric($value)) {
167 $sql .= " '$value' ";
172 return (is_null($table)?$sql:('INSERT INTO `'.$table.'` '.$sql));
175 function build_str($query_array) {
176 $query_string = array();
177 foreach ($query_array as $k => $v) {
181 $query_string[] = $new;
183 return join('&', $query_string);
186 function newQS($key, $val=null) {
187 return newQSA(array($key=>$val));
190 function newQSA($array=array()) {
191 parse_str($_SERVER['QUERY_STRING'], $arr);
193 foreach($array as $key=>$val) {
198 return (count($arr)||$s)?'?'.build_str($arr):'';
201 function formQSA($array=array()) {
202 if (!count($array)) $array = $_SERVER['QUERY_STRING'];
203 parse_str($array, $arr);
205 foreach($arr as $key=>$val) {
206 $text .= sprintf('<input type="hidden" name="%s" value="%s">', $key, $val);