Support boolean fields alias checkboxes
[misc/kostenrechnung] / lib / general.php
1 <?php
2
3 function check_session()
4 {
5   if (!empty($_POST['login']) && !empty($_POST['passwd'])) {
6     require_once('lib/login.php');
7     if (check_passwd()) {
8       header('Location: ./');
9       exit();
10     }
11   }
12
13   if (empty($_SESSION['sys']['login']) && empty($_GET['login'])) {
14     header('Location: ./?login=true');
15     exit();
16   }
17 }
18
19 function sanitise_filename($file)
20 {
21   return str_replace('./','x',$file);
22 }
23
24 function load_mask($name, $prefix = '')
25 {
26   global $mask;
27
28   $name = sanitise_filename($name);
29   $file = $prefix . 'masks/' . $name . '.php';
30
31   if (!file_exists($file))
32     return false;
33
34   include_once($file);
35
36   return true;
37 }
38
39 function connect_db()
40 {
41   $dsn = sprintf('host=%s dbname=%s user=%s password=%s',DBHOST,DBNAME,DBUSER,DBPASS);
42   pg_connect($dsn);
43 }
44
45 function query_db($sql)
46 {
47   $sth = pg_query($sql);
48
49   if ($sth === false) return false;
50
51   $result = array();
52   while ($row = pg_fetch_assoc($sth))
53     $result[] = $row;
54
55   return $result;
56 }
57
58 function load_js($jsfiles, $jscode)
59 {
60   $ret = '';
61   foreach ($jsfiles as $file)
62     $ret .= sprintf('<script type="text/javascript" src="%s"></script>'."\n", $file);
63
64   if (!empty($jscode))
65     $ret .= sprintf('<script type="text/javascript">'."\n%s\n</script>\n", implode("\n",$jscode));
66
67   return $ret;
68 }
69
70 function process()
71 {
72   if (!empty($_GET['login'])) {
73     require_once('lib/login.php');
74     return mask_login();
75   }
76
77   if (!empty($_GET['mask'])) {
78     require_once('lib/mask.php');
79     return mask($_GET['mask']);
80   }
81
82   $masks = array('sys_user','sys_group','sys_mask',
83                  'anbaugeraete','arbeitsarten','personal','materialien','gebiet','geraete',
84                  'kostenstellen','materialverbrauch','einsatz');
85   $ret = '';
86   foreach ($masks as $m)
87     $ret .= sprintf('<a href="index.php?mask=%s">%s</a><br>', $m, $m);
88   
89   return $ret;
90 }
91
92 function debug_log($text)
93 {
94   global $debug_info;
95
96   $debug_info .= '<br>' . $text;
97 }
98
99 function debug_info()
100 {
101   global $jsfiles;
102   global $debug_info;
103
104   if (DEBUG !== true) return '';
105
106   $jsfiles[] = 'lib/debug_joey.js';
107
108   $html = '<div style="background: #DDD; margin: 5px; padding-left: 4px; border: 1px solid #AAA;clear:both;">';
109   $html .= "\n<pre>\n\$_SESSION = " . var_export($_SESSION,true) . "\n";
110   $html .= "\n\$_COOKIE = " . var_export($_COOKIE,true) . "\n</pre>\n";
111   $html .= $debug_info;
112   $html .= '</div>';
113   return $html;
114 }
115
116 ?>