| @@ 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 |
|
| @@ 2313-2329 (lines=17) @@ | ||
| 2310 | * @param int $user_id |
|
| 2311 | * @return void |
|
| 2312 | */ |
|
| 2313 | public static function unsubscribeUser($blog_id, $user_id) |
|
| 2314 | { |
|
| 2315 | $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER); |
|
| 2316 | $tbl_user_permissions = Database::get_course_table(TABLE_PERMISSION_USER); |
|
| 2317 | $blog_id = intval($blog_id); |
|
| 2318 | $user_id = intval($user_id); |
|
| 2319 | ||
| 2320 | // Unsubscribe the user |
|
| 2321 | $sql = "DELETE FROM $tbl_blogs_rel_user |
|
| 2322 | WHERE blog_id = $blog_id AND user_id = $user_id"; |
|
| 2323 | Database::query($sql); |
|
| 2324 | ||
| 2325 | // Remove this user's permissions. |
|
| 2326 | $sql = "DELETE FROM $tbl_user_permissions |
|
| 2327 | WHERE user_id = $user_id"; |
|
| 2328 | Database::query($sql); |
|
| 2329 | } |
|
| 2330 | ||
| 2331 | /** |
|
| 2332 | * Displays the form to register users in a blog (in a course) |
|
| @@ 882-907 (lines=26) @@ | ||
| 879 | * @param string $keyword |
|
| 880 | * @return array|null |
|
| 881 | */ |
|
| 882 | public static function searchCategoryByKeyword($keyword) |
|
| 883 | { |
|
| 884 | if (empty($keyword)) { |
|
| 885 | return null; |
|
| 886 | } |
|
| 887 | ||
| 888 | $tableCategory = Database::get_main_table(TABLE_MAIN_CATEGORY); |
|
| 889 | ||
| 890 | $table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY); |
|
| 891 | $conditions = " INNER JOIN $table a ON (c.id = a.course_category_id)"; |
|
| 892 | $whereCondition = " AND a.access_url_id = ".api_get_current_access_url_id(); |
|
| 893 | ||
| 894 | $keyword = Database::escape_string($keyword); |
|
| 895 | ||
| 896 | $sql = "SELECT c.*, c.name as text |
|
| 897 | FROM $tableCategory c $conditions |
|
| 898 | WHERE |
|
| 899 | ( |
|
| 900 | c.code LIKE '%$keyword%' OR name LIKE '%$keyword%' |
|
| 901 | ) AND auth_course_child = 'TRUE' |
|
| 902 | $whereCondition "; |
|
| 903 | $result = Database::query($sql); |
|
| 904 | ||
| 905 | return Database::store_result($result, 'ASSOC'); |
|
| 906 | } |
|
| 907 | ||
| 908 | /** |
|
| 909 | * @param array $list |
|
| 910 | * @return array |
|
| @@ 4211-4223 (lines=13) @@ | ||
| 4208 | * @param int ID of the URL we want to filter on (optional) |
|
| 4209 | * @return int Number of sessions |
|
| 4210 | */ |
|
| 4211 | public static function count_sessions($access_url_id = null) |
|
| 4212 | { |
|
| 4213 | $session_table = Database::get_main_table(TABLE_MAIN_SESSION); |
|
| 4214 | $access_url_rel_session_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
| 4215 | $sql = "SELECT count(id) FROM $session_table s"; |
|
| 4216 | if (!empty($access_url_id) && $access_url_id == intval($access_url_id)) { |
|
| 4217 | $sql .= ", $access_url_rel_session_table u ". |
|
| 4218 | " WHERE s.id = u.session_id AND u.access_url_id = $access_url_id"; |
|
| 4219 | } |
|
| 4220 | $res = Database::query($sql); |
|
| 4221 | $row = Database::fetch_row($res); |
|
| 4222 | return $row[0]; |
|
| 4223 | } |
|
| 4224 | ||
| 4225 | /** |
|
| 4226 | * Protect a session to be edited. |
|