Widen textarea
[misc/kostenrechnung] / lib / general.php
index 278501e..9ec2941 100644 (file)
@@ -1,8 +1,20 @@
 <?php
 
 <?php
 
+function passwd($login,$pass)
+{
+  return md5(md5($pass).$login);
+}
+
 function check_session()
 {
 function check_session()
 {
-  if (!empty($_POST['login']) && !empty($_POST['passwd'])) {
+  if (!empty($_SESSION['sys']['login']) && !empty($_GET['logout'])) {
+    session_destroy();
+    header('Location: ./?login=true');
+    exit();
+  }
+
+  if (substr($_SERVER["SCRIPT_FILENAME"],-10) == '/index.php' &&
+      !empty($_POST['login']) && !empty($_POST['passwd'])) {
     require_once('lib/login.php');
     if (check_passwd()) {
       header('Location: ./');
     require_once('lib/login.php');
     if (check_passwd()) {
       header('Location: ./');
@@ -24,6 +36,7 @@ function sanitise_filename($file)
 function load_mask($name)
 {
   global $mask;
 function load_mask($name)
 {
   global $mask;
+  global $jscode;
 
   $name = sanitise_filename($name);
   $file = $_SESSION['sys']['basedir'] . 'masks/' . $name . '.php';
 
   $name = sanitise_filename($name);
   $file = $_SESSION['sys']['basedir'] . 'masks/' . $name . '.php';
@@ -113,4 +126,20 @@ function debug_info()
   return $html;
 }
 
   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'];
+}
+
 ?>
 ?>