tagging as ATutor 1.5.4-release
[atutor.git] / directory.php
1 <?php\r
2 /****************************************************************/\r
3 /* ATutor                                                                                                               */\r
4 /****************************************************************/\r
5 /* Copyright (c) 2002-2007 by Greg Gay & Joel Kronenberg        */\r
6 /* Adaptive Technology Resource Centre / University of Toronto  */\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 require(AT_INCLUDE_PATH.'header.inc.php');\r
45 \r
46 ?>\r
47 \r
48 <form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">\r
49 <div class="input-form">\r
50         <div class="row">\r
51                 <?php echo _AT('online_status'); ?><br />\r
52                 <input type="radio" name="online_status" id="s1" value="1" <?php echo $on; ?>  /><label for="s1"><?php echo _AT('user_online');  ?></label>\r
53                 <input type="radio" name="online_status" id="s0" value="0" <?php echo $off; ?> /><label for="s0"><?php echo _AT('user_offline'); ?></label>\r
54                 <input type="radio" name="online_status" id="s2" value="2" <?php echo $all; ?> /><label for="s2"><?php echo _AT('all');          ?></label>\r
55         </div>\r
56 \r
57                 <div class="row">\r
58 \r
59                         <label for="groups"><?php echo _AT('groups'); ?></label><br />\r
60                         <?php\r
61                         $sql_groups = implode(',', $_SESSION['groups']);\r
62                         $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
63                         $result = mysql_query($sql, $db);\r
64                         ?>\r
65                         <select name="group" id="groups">\r
66                                 <option value="0" id="g0" ><?php echo _AT('entire_course'); ?></option>\r
67                         <?php while ($row = mysql_fetch_assoc($result)): ?>\r
68                                 <option value="<?php echo $row['group_id']; ?>" id="g<?php echo $row['group_id']; ?>" <?php if ($group == $row['group_id']) { echo 'selected="selected"'; } ?> ><?php echo $row['type_title'] . ': ' . $row['title']; ?></option>\r
69                         <?php endwhile; ?>\r
70                         </select>\r
71 \r
72                 </div>\r
73 \r
74         <div class="row buttons">\r
75                 <input type="submit" name="submit" value="<?php echo _AT('filter'); ?>" />\r
76                 <input type="submit" name="reset_filter" value="<?php echo _AT('reset_filter'); ?>" />\r
77         </div>\r
78 </div>\r
79 </form>\r
80 \r
81 <?php\r
82 if ($_GET['order'] == 'asc') {\r
83         $order = 'desc';\r
84 } else {\r
85         $order = 'asc';\r
86 }\r
87 \r
88 $group_members = '';\r
89 if ($group) {\r
90         $group_members = array();\r
91         $sql = "SELECT member_id FROM ".TABLE_PREFIX."groups_members WHERE group_id=$group";\r
92         $result = mysql_query($sql, $db);\r
93         while ($row = mysql_fetch_assoc($result)) {\r
94                 $group_members[] = $row['member_id'];\r
95         }\r
96         $group_members = ' AND C.member_id IN (' . implode(',', $group_members) . ')';\r
97 }\r
98 \r
99 /* look through enrolled students list */\r
100 $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
101 \r
102 $result_members = mysql_query($sql_members, $db);\r
103 \r
104 while ($row_members = mysql_fetch_assoc($result_members)) {\r
105         $all_[$row_members['member_id']] = $row_members;\r
106         $all_[$row_members['member_id']]['online'] = FALSE;\r
107 }\r
108 \r
109 $sql_online = "SELECT member_id FROM ".TABLE_PREFIX."users_online WHERE course_id = $_SESSION[course_id] AND expiry>".time();\r
110 $result_online = mysql_query($sql_online, $db);\r
111 \r
112 while ($row_online = mysql_fetch_assoc($result_online)) {\r
113         if ($all_[$row_online['member_id']] != '') {\r
114                 $all_[$row_online['member_id']]['online'] = TRUE;\r
115                 $online[$row_online['member_id']] = $all_[$row_online['member_id']];\r
116         }\r
117 }\r
118 \r
119 if ($all) {\r
120         $final = $all_;\r
121 } else if ($on) {\r
122         $final = $online;\r
123 } else {\r
124         foreach ($all_ as $id=>$attrs) {\r
125                 if ($attrs['online'] == FALSE) {\r
126                         $final[$id] = $attrs;\r
127                 }\r
128         }\r
129 }\r
130 \r
131 ?>\r
132 <table class="data" rules="cols" summary="">\r
133 <thead>\r
134 <tr>\r
135         <th scope="col"><?php echo _AT('login_name'); ?></th>\r
136         <th scope="col"><?php echo _AT('full_name'); ?></th>\r
137         <th scope="col"><?php echo _AT('status'); ?></th>\r
138         <th scope="col"><?php echo _AT('online_status'); ?></th>\r
139 </tr>\r
140 </thead>\r
141 <tbody>\r
142 <?php\r
143 if ($final) {\r
144         foreach ($final as $user_id=>$attrs) {\r
145                 echo '<tr onmousedown="document.location=\''.$_base_href.'profile.php?id='.$user_id.'\'">';\r
146                 $type = 'class="user"';\r
147                 if ($system_courses[$_SESSION['course_id']]['member_id'] == $user_id) {\r
148                         $type = 'class="user instructor" title="'._AT('instructor').'"';\r
149                 }\r
150                 echo '<td><a href="profile.php?id='.$user_id.'" '.$type.'>'.AT_print($attrs['login'], 'members.login') . '</a></td>';\r
151 \r
152                 echo '<td>'.AT_print($attrs['first_name'] .' '. $attrs['second_name'] .' '. $attrs['last_name'],'members.first_name').'</td>';\r
153                 \r
154                 \r
155                 if ($attrs['privileges'] != 0) {\r
156                         echo '<td>'._AT('assistant').'</td>';\r
157                 } else if ($attrs['approved'] == 'a') {\r
158                         /* if alumni display alumni */\r
159                         echo '<td>'._AT('alumni').'</td>';\r
160                 } else if ($attrs['approved'] == 'y') {\r
161                         if ($user_id == $system_courses[$_SESSION['course_id']]['member_id']) {\r
162                                 echo '<td>'._AT('instructor').'</td>';\r
163                         } else {\r
164                                 echo '<td>'._AT('enrolled').'</td>';\r
165                         }\r
166                 } else {\r
167                         echo '<td></td>';\r
168                 }\r
169                 \r
170                 if ($attrs['online'] == TRUE) {\r
171                         echo '<td><strong>'._AT('user_online').'</strong></td>';\r
172                 } else {\r
173                         echo '<td>'._AT('user_offline').'</td>';\r
174                 }\r
175 \r
176                 echo '</tr>';\r
177         }       \r
178 } else {\r
179         echo '<tr><td colspan="3">' . _AT('none_found') . '</td></tr>';\r
180 }\r
181 ?>\r
182 </tbody>\r
183 </table>\r
184 \r
185 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>