JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
works with published version of wfpl, started on documentation
[contractor-progress.git] / code / config.php
1 <?php
2
3 require_once('code/db_connect.php');
4 require_once('code/wfpl/session_messages.php');
5
6 function cms_get() {
7         if(logged_in()) {
8                 return array('logout_bar' => '<div style="text-align: right"><a href="logout">Log out</a></div>');
9         }
10         return false;
11 }
12
13 function logged_in_as_admin() {
14         if(!isset($GLOBALS['logged_in_as_admin'])) {
15                 $GLOBALS['logged_in_as_admin'] = (logged_in() == 1); # logged_in() returns id. id #1 is admin
16         }
17         return $GLOBALS['logged_in_as_admin'];
18 }
19
20 function logged_in_as_contractor() {
21         return logged_in_as_admin();
22 }
23
24 function enc_money($float) {
25         return format_money($float, $cents = true);
26 }
27
28 function logged_in() {
29         return session_exists_and_authed();
30 }
31
32 # 1st arg: the correct encrypted password
33 # 2nd arg: clear-text password entered by someone
34 function check_password($encrypted, $pass) {
35         if(strpos($encrypted, ':') !== 32) {
36                 die("password field corrupted");
37         }
38         
39         list($md5, $salt) = explode(':', $encrypted);
40
41         if(md5($salt . $pass) == $md5) {
42                 return true;
43         }
44
45         return false;
46 }
47
48 function encrypt_password($plain) {
49         $password = '';
50
51         $salt = substr(md5(rand() . "f"), 0, 2); # FIXME make this more effecient and clear
52
53         $password = md5($salt . $plain) . ':' . $salt;
54
55         return $password;
56 }