66558dbf39c00960bc879d04e3a21da319d913b4
[atutor.git] / docs / mods / _core / courses / admin / auto_enroll_edit.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 //phpinfo();\r
15 define('AT_INCLUDE_PATH', '../../../../include/');\r
16 require(AT_INCLUDE_PATH.'vitals.inc.php');\r
17 //require(AT_INCLUDE_PATH.'../mods/_core/themes/lib/themes.inc.php');\r
18 admin_authenticate(AT_ADMIN_PRIV_ADMIN);\r
19 \r
20 function get_random_string ($minlength, $maxlength)\r
21 {\r
22         $charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";\r
23         \r
24         if ($minlength > $maxlength) \r
25                 $length = mt_rand ($maxlength, $minlength);\r
26         else \r
27                 $length = mt_rand ($minlength, $maxlength);\r
28         \r
29         for ($i=0; $i<$length; $i++) \r
30                 $key .= $charset[(mt_rand(0,(strlen($charset)-1)))];\r
31         \r
32         return $key;\r
33 }\r
34 \r
35 // Main process\r
36 if (isset($_REQUEST['auto_enroll_id'])) $auto_enroll_id = $_REQUEST['auto_enroll_id'];\r
37 else $auto_enroll_id = 0;\r
38 \r
39 if (isset($_POST['save']) || isset($_POST['add'])) \r
40 {\r
41         /* insert or update a category */\r
42 //      $cat_parent_id  = intval($_POST['cat_parent_id']);\r
43         $name       = trim($_POST['name']);\r
44 \r
45         $name  = $addslashes($name);\r
46 \r
47         $name = validate_length($name, 50);\r
48 \r
49         if (isset($_POST['add']) && !$_POST['add_ids'])\r
50                         $msg->addError('NO_ITEM_SELECTED');\r
51                         \r
52         if (!$msg->containsErrors()) \r
53         {\r
54                 if ($auto_enroll_id == 0)\r
55                 {\r
56                         $sql = "INSERT INTO ".TABLE_PREFIX."auto_enroll(associate_string, name) \r
57                                 VALUES ('". get_random_string(6, 10) ."', '". $name ."')";\r
58                         $result = mysql_query($sql, $db) or die(mysql_error());\r
59                         $auto_enroll_id = mysql_insert_id($db);\r
60                         write_to_log(AT_ADMIN_LOG_INSERT, 'auto_enroll', mysql_affected_rows($db), $sql);\r
61                 }\r
62                 else\r
63                 {\r
64                         $sql = "UPDATE ".TABLE_PREFIX."auto_enroll\r
65                                    SET name = '". $name ."'\r
66                                  WHERE auto_enroll_id = ".$auto_enroll_id;\r
67                         \r
68                         $result = mysql_query($sql, $db);\r
69 \r
70                         write_to_log(AT_ADMIN_LOG_UPDATE, 'auto_enroll', mysql_affected_rows($db), $sql);\r
71                 }\r
72                 \r
73                 if (isset($_POST['add'])) \r
74                 {\r
75                         foreach ($_POST['add_ids'] as $elem) \r
76                         {\r
77                                 $sql = "SELECT count(*) cnt FROM ".TABLE_PREFIX."auto_enroll_courses\r
78                                          WHERE auto_enroll_id = ".$auto_enroll_id ."\r
79                                            AND course_id = ". $elem;\r
80                                 $result = mysql_query($sql, $db) or die(mysql_error());\r
81                                 $row = mysql_fetch_assoc($result);\r
82                                 \r
83                                 if ($row["cnt"] == 0)\r
84                                 {\r
85                                         $sql = "INSERT INTO ".TABLE_PREFIX."auto_enroll_courses (auto_enroll_id, course_id)\r
86                                                 VALUES (" . $auto_enroll_id .", " . $elem . ")";\r
87                                         $result = mysql_query($sql, $db) or die(mysql_error());\r
88                         \r
89                                         write_to_log(AT_ADMIN_LOG_INSERT, 'auto_enroll_courses', mysql_affected_rows($db), $sql);\r
90                                 }\r
91                         }\r
92                 }\r
93                 \r
94                 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
95 \r
96                 if (isset($_POST["save"]))\r
97                 {\r
98                         header('Location: auto_enroll.php');\r
99                         exit;\r
100                 }\r
101         }\r
102\r
103 else if (isset($_POST['delete'])) \r
104 {\r
105         if (!$_POST['delete_ids'])\r
106                 $msg->addError('NO_ITEM_SELECTED');\r
107                 \r
108         if (!$msg->containsErrors()) \r
109         {\r
110                 foreach ($_POST['delete_ids'] as $elem) \r
111                 {\r
112                         $sql = "DELETE FROM ".TABLE_PREFIX."auto_enroll_courses\r
113                                 WHERE auto_enroll_courses_id = " . $elem;\r
114 //                      print $sql."<br>";\r
115                         $result = mysql_query($sql, $db) or die(mysql_error());\r
116                 }\r
117 \r
118                 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
119                 \r
120                 write_to_log(AT_ADMIN_LOG_DELETE, 'auto_enroll_courses', mysql_affected_rows($db), $sql);\r
121         }\r
122 }\r
123 else if (isset($_POST['cancel'])) \r
124 {\r
125         $msg->addFeedback('CANCELLED');\r
126         header('Location: auto_enroll.php');\r
127         exit;\r
128 }\r
129 \r
130 /* $categories[category_id] = array(cat_name, cat_parent, num_courses, [array(children)]) */\r
131 require(AT_INCLUDE_PATH.'header.inc.php'); \r
132 $msg->printAll();\r
133 \r
134 // existing auto enrollment\r
135 if ($auto_enroll_id > 0)\r
136 {\r
137         $sql = "SELECT * FROM ".TABLE_PREFIX."auto_enroll\r
138                  WHERE auto_enroll_id = " . $auto_enroll_id;\r
139 \r
140         $result = mysql_query($sql, $db) or die(mysql_error());\r
141         $row = mysql_fetch_assoc($result);\r
142 }\r
143 ?>\r
144 \r
145 <form action ="<?php echo $_SERVER['PHP_SELF']; ?>?auto_enroll_id=<?php echo $auto_enroll_id; ?>" method="post" name="form">\r
146 <input type="hidden" name="form_submit" value="1" />\r
147 \r
148 <div class="input-form" style="width:95%;">\r
149         <div class="row">\r
150                 <h4><label for="name"><?php echo _AT('title'); ?></label><br /></h4>\r
151                 <input type="text" id="name" name="name" size="30" value="<?php echo htmlspecialchars($row['name']); ?>" />\r
152         </div>\r
153 \r
154 <?php\r
155 $existing_courses = array();\r
156 \r
157 $cats   = array();\r
158 $cats[0] = _AT('cats_uncategorized');\r
159 \r
160 $sql = "SELECT cat_id, cat_name FROM ".TABLE_PREFIX."course_cats";\r
161 $result = mysql_query($sql,$db);\r
162 while($row = mysql_fetch_array($result)) {\r
163         $cats[$row['cat_id']] = $row['cat_name'];\r
164 }\r
165 \r
166 // display existing courses if auto_enroll_id is given\r
167 // don't display this section when creating new record\r
168 ?>\r
169         <div class="row">\r
170                 <h4><?php echo _AT('course_to_auto_enroll'); ?><br /></h4>\r
171         </div>\r
172 \r
173         <div class="row">\r
174                 <table summary="" class="data" rules="cols" align="left" style="width: 95%;">\r
175                 \r
176                 <thead>\r
177                 <tr>\r
178                         <th scope="col"><input type="checkbox" value="<?php echo _AT('select_all'); ?>" id="all_delete" title="<?php echo _AT('select_all'); ?>" name="selectall_delete" onclick="CheckAll('delete_ids[]', 'selectall_delete');" /></th>\r
179                         <th scope="col"><?php echo _AT('title'); ?></th>\r
180                         <th scope="col"><?php echo _AT('category'); ?></th>\r
181                 </tr>\r
182                 </thead>\r
183 \r
184                 <tfoot>\r
185                 <tr>\r
186                         <td colspan="4">\r
187                                 <div class="buttons" style="float:left">\r
188                                 <input type="submit" name="delete" value="<?php echo _AT('delete'); ?>" /> \r
189                                 </div>\r
190                         </td>\r
191                 </tr>\r
192                 </tfoot>\r
193 \r
194                 <tbody>\r
195 <?php\r
196 $num_of_rows = 0;\r
197 \r
198 if ($auto_enroll_id > 0)\r
199 {\r
200         $sql_courses = "SELECT auto_enroll_courses.auto_enroll_courses_id auto_enroll_courses_id, \r
201                                auto_enroll_courses.course_id,\r
202                                courses.cat_id,\r
203                                courses.title title\r
204                           FROM " . TABLE_PREFIX."auto_enroll_courses auto_enroll_courses, " . TABLE_PREFIX ."courses courses \r
205                          where auto_enroll_courses.auto_enroll_id=".$auto_enroll_id .\r
206                        "   and auto_enroll_courses.course_id = courses.course_id";\r
207 \r
208         $result_courses = mysql_query($sql_courses, $db) or die(mysql_error());\r
209         \r
210         $num_of_rows = mysql_num_rows($result_courses);\r
211         \r
212         if ($row_courses = mysql_fetch_assoc($result_courses))\r
213         do {\r
214                 $existing_courses[] = $row_courses["course_id"];\r
215         ?>\r
216                         <tr onmousedown="document.form['m<?php echo $row_courses['auto_enroll_courses_id']; ?>'].checked = !document.form['m<?php echo $row_courses['auto_enroll_courses_id']; ?>'].checked; togglerowhighlight(this, 'm<?php echo $row_courses['auto_enroll_courses_id']; ?>');" id="rm<?php echo $row_courses['auto_enroll_courses_id']; ?>">\r
217                                 <td width="10"><label for="tm<?php echo $row_courses['auto_enroll_courses_id']; ?>"><input type="checkbox" name="delete_ids[]" value="<?php echo $row_courses['auto_enroll_courses_id']; ?>" id="m<?php echo $row_courses['auto_enroll_courses_id']; ?>" onmouseup="this.checked=!this.checked" /></label></td>\r
218                                 <td id="tm<?php echo $row_courses['auto_enroll_courses_id']; ?>"><?php echo $row_courses['title']; ?></td>\r
219                                 <td><?php echo $cats[$row_courses['cat_id']]; ?></td>\r
220                         </tr>\r
221         <?php } while ($row_courses = mysql_fetch_assoc($result_courses)); ?>\r
222 <?php \r
223 }\r
224 \r
225 if ($num_of_rows == 0 || !isset($auto_enroll_id))\r
226\r
227 ?>\r
228                         <tr>\r
229                                 <td colspan="3"><?php echo _AT('none_found'); ?></td>\r
230                         </tr>\r
231 <?php \r
232 }\r
233 ?>\r
234                 </tbody>\r
235         </table>\r
236         </div>\r
237 \r
238         <div class="row">\r
239                 &nbsp;\r
240         </div>\r
241         \r
242         <div class="row buttons" style="clear:left;">\r
243                 <input type="submit" name="save" value="<?php echo _AT('save'); ?>" accesskey="s" />\r
244                 <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>"  />\r
245         </div>\r
246 </div>\r
247 \r
248 <?php require("auto_enroll_filter_courses.php"); ?>\r
249 \r
250 </form>\r
251 \r
252 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>\r