/
functions.php
86 lines (74 loc) · 2.49 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
function selfURL()
{
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); }
// Mark a user as having completed the survey
function markasdone($uname) {
$sql = "INSERT INTO `".TABLE_PREFIX."_completers` (uname) VALUES ('".mysql_real_escape_string(sha1($uname.getcourse($uname)))."')";
return mysql_query($sql);
}
// Check to see if a user has completed the survey
function isdone($uname) {
$sql = "SELECT COUNT(*) FROM `".TABLE_PREFIX."_completers` WHERE uname='".mysql_real_escape_string(sha1($uname.getcourse($uname)))."'";
$rsc = mysql_query($sql);
list($match) = mysql_fetch_array($rsc);
if ($match > 0) {
return true;
} else {
return false;
}
}
// Check to see if we have authenticated
function isloggedin() {
return (array_key_exists(COOKIE, $_SESSION) && array_key_exists('uname', $_SESSION[COOKIE]));
}
// Log in
function login($uname, $pass) {
if (LOCAL == true) {
return true;
}
return pam_auth($uname, $pass);
}
function outputclasses($classes) {
foreach($classes as $class) {
echo $class.' ';
}
}
// get dept from ldap for user
function getdept($uname) {
if(!LOCAL) { // if on union server
$data = ldap_get_info($uname);
return($data[2]);
} else {
return 'Unknown (local)';
}
}
// get course from ldap for user
function getcourse($uname) {
if(!LOCAL) { // if on union server
$data = ldap_get_info($uname);
return($data[0]);
} else {
return 'Unknown (local)';
}
}
// add survey responses to database
function addresponse($response, $secure_response, $troll) {
$sql = "INSERT INTO `".TABLE_PREFIX."_responses` (id, data, deptcheck) VALUES (NULL, '".mysql_real_escape_string($response)."', ".mysql_real_escape_string($troll).")";
$status = mysql_query($sql);
if($status) {
if($secure_response != '[]') {
// has secure entries
$sql = "INSERT INTO `".TABLE_PREFIX."_secure_responses` (data, deptcheck) VALUES ('".mysql_real_escape_string($secure_response)."', ".mysql_real_escape_string($troll).");";
return mysql_query($sql);
} else {
return true;
}
}
return false;
}