5b03d053884a30180320f79a15f9e4e1f3439623
[atutor.git] / docs / mods / _standard / directory / directory.php
1 <?php\r
2 /****************************************************************/\r
3 /* ATutor                                                                                                               */\r
4 /****************************************************************/\r
5 /* Copyright (c) 2002-2010                                      */\r
6 /* Inclusive Design Institute                                   */\r
7 /* http://atutor.ca                                                                                             */\r
8 /*                                                              */\r
9 /* This program is free software. You can redistribute it and/or*/\r
10 /* modify it under the terms of the GNU General Public License  */\r
11 /* as published by the Free Software Foundation.                                */\r
12 /****************************************************************/\r
13 // $Id$\r
14 define('AT_INCLUDE_PATH', '../../../include/');\r
15 require(AT_INCLUDE_PATH.'vitals.inc.php');\r
16 \r
17 /* should only be in here if you are enrolled in the course!!!!!! */\r
18 if ($_SESSION['enroll'] == '') {\r
19         require(AT_INCLUDE_PATH.'header.inc.php');\r
20         $msg->addInfo('NOT_ENROLLED');\r
21         $msg->printAll();\r
22         require(AT_INCLUDE_PATH.'footer.inc.php');\r
23         exit;\r
24 }\r
25 \r
26 if ($_GET['reset_filter']) {\r
27         unset($_GET);\r
28 }\r
29 \r
30 if (isset($_GET['online_status']) && ($_GET['online_status'] != '')) {\r
31         if ($_GET['online_status'] == 1) {\r
32                 $on = 'checked="checked"';\r
33         } else if ($_GET['online_status'] == 2) {\r
34                 $all = 'checked="checked"';\r
35         } else if ($_GET['online_status'] == 0) {\r
36                 $off = 'checked="checked"';\r
37         }\r
38 } else {\r
39         $all = 'checked="checked"';\r
40 }\r
41 \r
42 $group = abs($_GET['group']);\r
43 \r
44 $sql_groups = implode(',', $_SESSION['groups']);\r
45 $sql = "SELECT G.title, G.group_id, T.title AS type_title FROM ".TABLE_PREFIX."groups G INNER JOIN ".TABLE_PREFIX."groups_types T USING (type_id) WHERE T.course_id=$_SESSION[course_id] AND G.group_id IN ($sql_groups) ORDER BY T.title";\r
46 $result_groups = mysql_query($sql, $db);\r
47 \r
48 if ($_GET['order'] == 'asc') {\r
49         $order = 'desc';\r
50 } else {\r
51         $order = 'asc';\r
52 }\r
53 \r
54 $group_members = '';\r
55 if ($group) {\r
56         $group_members = array();\r
57         $sql = "SELECT member_id FROM ".TABLE_PREFIX."groups_members WHERE group_id=$group";\r
58         $result = mysql_query($sql, $db);\r
59         while ($row = mysql_fetch_assoc($result)) {\r
60                 $group_members[] = $row['member_id'];\r
61         }\r
62         $group_members = ' AND C.member_id IN (' . implode(',', $group_members) . ')';\r
63 }\r
64 \r
65 /* look through enrolled students list */\r
66 $sql_members = "SELECT C.member_id, C.approved, C.privileges, M.login, M.first_name, M.second_name, M.last_name FROM ".TABLE_PREFIX."course_enrollment C, ".TABLE_PREFIX."members M     WHERE C.course_id=$_SESSION[course_id] AND C.member_id=M.member_id AND (C.approved='y' OR C.approved='a')       $group_members ORDER BY M.login $order";\r
67 \r
68 $result_members = mysql_query($sql_members, $db);\r
69 \r
70 while ($row_members = mysql_fetch_assoc($result_members)) {\r
71         $all_[$row_members['member_id']] = $row_members;\r
72         $all_[$row_members['member_id']]['online'] = FALSE;\r
73 }\r
74 \r
75 $sql_online = "SELECT member_id FROM ".TABLE_PREFIX."users_online WHERE course_id = $_SESSION[course_id] AND expiry>".time();\r
76 $result_online = mysql_query($sql_online, $db);\r
77 \r
78 while ($row_online = mysql_fetch_assoc($result_online)) {\r
79         if ($all_[$row_online['member_id']] != '') {\r
80                 $all_[$row_online['member_id']]['online'] = TRUE;\r
81                 $online[$row_online['member_id']] = $all_[$row_online['member_id']];\r
82         }\r
83 }\r
84 \r
85 if ($all) {\r
86         $final = $all_;\r
87 } else if ($on) {\r
88         $final = $online;\r
89 } else {\r
90         foreach ($all_ as $id=>$attrs) {\r
91                 if ($attrs['online'] == FALSE) {\r
92                         $final[$id] = $attrs;\r
93                 }\r
94         }\r
95 }\r
96 \r
97 require(AT_INCLUDE_PATH.'header.inc.php');\r
98 \r
99 $savant->assign('result_groups', $result_groups);\r
100 $savant->assign('final', $final);\r
101 $savant->assign('base_href', $_base_href);\r
102 $savant->assign('on', $on);\r
103 $savant->assign('off', $off);\r
104 $savant->assign('all', $all);\r
105 \r
106 $savant->display('directory.tmpl.php');\r
107 \r
108 require(AT_INCLUDE_PATH.'footer.inc.php');\r
109 ?>\r