Move SQL query calculation into separate general function
authorJoey Schulze <joey@infodrom.org>
Sat, 27 Feb 2010 16:09:59 +0000 (17:09 +0100)
committerJoey Schulze <joey@infodrom.org>
Sat, 27 Feb 2010 16:09:59 +0000 (17:09 +0100)
lib/general.php
lib/mask.php

index 9900bf6..3f82f4a 100644 (file)
@@ -125,4 +125,20 @@ function debug_info()
   return $html;
 }
 
+function grid_sql($name, $mask)
+{
+  $fields = array();
+  foreach ($mask['list'] as $field => $data) {
+    if (array_key_exists('sql', $data))
+      $fields[] = $data['sql'] . ' AS ' . $field;
+    else
+      $fields[] = $field;
+  }
+
+  $_SESSION['grid_' . $name] = sprintf("SELECT %s FROM %s",
+                                      implode(',', $fields), $mask['table']);
+  if (array_key_exists('join', $mask)) $_SESSION['grid_' . $name] .= ' JOIN ' . join(' JOIN ', $mask['join']);
+  if (array_key_exists('where', $mask)) $_SESSION['grid_' . $name] .= ' WHERE ' . $mask['where'];
+}
+
 ?>
index 03e772d..d8fda0d 100644 (file)
@@ -102,10 +102,8 @@ function build_grid($name, $mask)
     else
       $fields[] = $field;
   }
-  $_SESSION['grid_' . $name] = sprintf("SELECT %s FROM %s",
-                                      implode(',', $fields), $mask['table']);
-  if (array_key_exists('join', $mask)) $_SESSION['grid_' . $name] .= ' JOIN ' . join(' JOIN ', $mask['join']);
-  if (array_key_exists('where', $mask)) $_SESSION['grid_' . $name] .= ' WHERE ' . $mask['where'];
+
+  grid_sql($name, $mask);
 
   $ret[] = '  </tr>';
   $ret[] = '</table>';