Code Duplication    Length = 13-26 lines in 7 locations

main/inc/lib/formvalidator/Rule/UsernameAvailable.php 1 location

@@ 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

main/inc/lib/urlmanager.lib.php 3 locations

@@ 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

main/inc/lib/blog.lib.php 1 location

@@ 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)

main/inc/lib/course_category.lib.php 1 location

@@ 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

main/inc/lib/sessionmanager.lib.php 1 location

@@ 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.