| @@ 16-28 (lines=13) @@ | ||
| 13 | * @param string $current_username |
|
| 14 | * @return boolean True if username is available |
|
| 15 | */ |
|
| 16 | function validate($username, $current_username = null) { |
|
| 17 | $user_table = Database::get_main_table(TABLE_MAIN_USER); |
|
| 18 | $username = Database::escape_string($username); |
|
| 19 | $current_username = Database::escape_string($current_username); |
|
| 20 | ||
| 21 | $sql = "SELECT * FROM $user_table WHERE username = '$username'"; |
|
| 22 | if (!is_null($current_username)) { |
|
| 23 | $sql .= " AND username != '$current_username'"; |
|
| 24 | } |
|
| 25 | $res = Database::query($sql); |
|
| 26 | $number = Database::num_rows($res); |
|
| 27 | return $number == 0; |
|
| 28 | } |
|
| 29 | } |
|
| 30 | ||
| @@ 228-249 (lines=22) @@ | ||
| 225 | * @param int access url id |
|
| 226 | * @return array Database::store_result of the result |
|
| 227 | **/ |
|
| 228 | public static function get_url_rel_course_data($access_url_id = null) |
|
| 229 | { |
|
| 230 | $where = ''; |
|
| 231 | $table_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); |
|
| 232 | $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); |
|
| 233 | ||
| 234 | if (!empty($access_url_id)) { |
|
| 235 | $where = " WHERE uc.access_url_id = ".intval($access_url_id); |
|
| 236 | } |
|
| 237 | ||
| 238 | $sql = "SELECT u.id, c_id, title, uc.access_url_id |
|
| 239 | FROM $tbl_course u |
|
| 240 | INNER JOIN $table_url_rel_course uc |
|
| 241 | ON uc.c_id = u.id |
|
| 242 | $where |
|
| 243 | ORDER BY title, code"; |
|
| 244 | ||
| 245 | $result = Database::query($sql); |
|
| 246 | $courses = Database::store_result($result); |
|
| 247 | ||
| 248 | return $courses; |
|
| 249 | } |
|
| 250 | ||
| 251 | /** |
|
| 252 | * Gets the number of rows with a specific course_code in access_url_rel_course table |
|
| @@ 278-298 (lines=21) @@ | ||
| 275 | * @return array Database::store_result of the result |
|
| 276 | * |
|
| 277 | **/ |
|
| 278 | public static function get_url_rel_session_data($access_url_id = null) |
|
| 279 | { |
|
| 280 | $where =''; |
|
| 281 | $table_url_rel_session = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 282 | $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); |
|
| 283 | ||
| 284 | if (!empty($access_url_id)) { |
|
| 285 | $where = "WHERE $table_url_rel_session.access_url_id = ".intval($access_url_id); |
|
| 286 | } |
|
| 287 | ||
| 288 | $sql = "SELECT id, name, access_url_id |
|
| 289 | FROM $tbl_session u |
|
| 290 | INNER JOIN $table_url_rel_session |
|
| 291 | ON $table_url_rel_session.session_id = id |
|
| 292 | $where |
|
| 293 | ORDER BY name, id"; |
|
| 294 | ||
| 295 | $result = Database::query($sql); |
|
| 296 | $sessions = Database::store_result($result); |
|
| 297 | ||
| 298 | return $sessions; |
|
| 299 | } |
|
| 300 | ||
| 301 | /** |
|
| @@ 309-330 (lines=22) @@ | ||
| 306 | * |
|
| 307 | * @return array Database::store_result of the result |
|
| 308 | **/ |
|
| 309 | public static function get_url_rel_usergroup_data($access_url_id = null) |
|
| 310 | { |
|
| 311 | $where = ''; |
|
| 312 | $table_url_rel_usergroup = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USERGROUP); |
|
| 313 | $table_user_group = Database::get_main_table(TABLE_USERGROUP); |
|
| 314 | ||
| 315 | if (!empty($access_url_id)) { |
|
| 316 | $where ="WHERE $table_url_rel_usergroup.access_url_id = ".intval($access_url_id); |
|
| 317 | } |
|
| 318 | ||
| 319 | $sql = "SELECT u.id, u.name, access_url_id |
|
| 320 | FROM $table_user_group u |
|
| 321 | INNER JOIN $table_url_rel_usergroup |
|
| 322 | ON $table_url_rel_usergroup.usergroup_id = u.id |
|
| 323 | $where |
|
| 324 | ORDER BY name"; |
|
| 325 | ||
| 326 | $result = Database::query($sql); |
|
| 327 | $courses = Database::store_result($result); |
|
| 328 | ||
| 329 | return $courses; |
|
| 330 | } |
|
| 331 | ||
| 332 | /** |
|
| 333 | * Gets the inner join of access_url and the usergroup table |
|
| @@ 4032-4044 (lines=13) @@ | ||
| 4029 | * @param int ID of the URL we want to filter on (optional) |
|
| 4030 | * @return int Number of sessions |
|
| 4031 | */ |
|
| 4032 | public static function count_sessions($access_url_id = null) |
|
| 4033 | { |
|
| 4034 | $session_table = Database::get_main_table(TABLE_MAIN_SESSION); |
|
| 4035 | $access_url_rel_session_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 4036 | $sql = "SELECT count(id) FROM $session_table s"; |
|
| 4037 | if (!empty($access_url_id) && $access_url_id == intval($access_url_id)) { |
|
| 4038 | $sql .= ", $access_url_rel_session_table u " . |
|
| 4039 | " WHERE s.id = u.session_id AND u.access_url_id = $access_url_id"; |
|
| 4040 | } |
|
| 4041 | $res = Database::query($sql); |
|
| 4042 | $row = Database::fetch_row($res); |
|
| 4043 | return $row[0]; |
|
| 4044 | } |
|
| 4045 | ||
| 4046 | /** |
|
| 4047 | * Protect a session to be edited. |
|