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