Code Duplication    Length = 52-54 lines in 2 locations

main/admin/course_user_import.php 1 location

@@ 13-64 (lines=52) @@
10
/**
11
 * Validates the imported data.
12
 */
13
function validate_data($users_courses)
14
{
15
    $errors = array();
16
    $coursecodes = array();
17
    foreach ($users_courses as $index => $user_course) {
18
        $user_course['line'] = $index + 1;
19
        // 1. Check whether mandatory fields are set.
20
        $mandatory_fields = array('UserName', 'CourseCode', 'Status');
21
        foreach ($mandatory_fields as $key => $field) {
22
            if (!isset($user_course[$field]) || strlen($user_course[$field]) == 0) {
23
                $user_course['error'] = get_lang($field.'Mandatory');
24
                $errors[]             = $user_course;
25
            }
26
        }
27
28
        // 2. Check whether coursecode exists.
29
        if (isset ($user_course['CourseCode']) && strlen($user_course['CourseCode']) != 0) {
30
            // 2.1 Check whethher code has been allready used by this CVS-file.
31
            if (!isset($coursecodes[$user_course['CourseCode']])) {
32
                // 2.1.1 Check whether course with this code exists in the system.
33
                $course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
34
                $sql = "SELECT * FROM $course_table
35
                        WHERE code = '".Database::escape_string($user_course['CourseCode'])."'";
36
                $res = Database::query($sql);
37
                if (Database::num_rows($res) == 0) {
38
                    $user_course['error'] = get_lang('CodeDoesNotExists');
39
                    $errors[]             = $user_course;
40
                } else {
41
                    $coursecodes[$user_course['CourseCode']] = 1;
42
                }
43
            }
44
        }
45
46
47
        // 3. Check whether username exists.
48
        if (isset ($user_course['UserName']) && strlen($user_course['UserName']) != 0) {
49
            if (UserManager::is_username_available($user_course['UserName'])) {
50
                $user_course['error'] = get_lang('UnknownUser');
51
                $errors[]             = $user_course;
52
            }
53
        }
54
55
        // 4. Check whether status is valid.
56
        if (isset ($user_course['Status']) && strlen($user_course['Status']) != 0) {
57
            if ($user_course['Status'] != COURSEMANAGER && $user_course['Status'] != STUDENT) {
58
                $user_course['error'] = get_lang('UnknownStatus');
59
                $errors[]             = $user_course;
60
            }
61
        }
62
    }
63
64
    return $errors;
65
}
66
67
/**

main/admin/course_user_import_by_email.php 1 location

@@ 12-65 (lines=54) @@
9
/**
10
 * Validates the imported data.
11
 */
12
function validate_data($users_courses)
13
{
14
    $errors = array();
15
    $coursecodes = array();
16
    foreach ($users_courses as $index => $user_course) {
17
        $user_course['line'] = $index + 1;
18
        // 1. Check whether mandatory fields are set.
19
        $mandatory_fields = array('Email', 'CourseCode', 'Status');
20
        foreach ($mandatory_fields as $key => $field) {
21
            if (!isset($user_course[$field]) || strlen($user_course[$field]) == 0) {
22
                $user_course['error'] = get_lang($field.'Mandatory');
23
                $errors[]             = $user_course;
24
            }
25
        }
26
27
        // 2. Check whether coursecode exists.
28
        if (isset ($user_course['CourseCode']) && strlen($user_course['CourseCode']) != 0) {
29
            // 2.1 Check whethher code has been allready used by this CVS-file.
30
            if (!isset($coursecodes[$user_course['CourseCode']])) {
31
                // 2.1.1 Check whether course with this code exists in the system.
32
                $course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
33
                $sql = "SELECT * FROM $course_table
34
                        WHERE code = '".Database::escape_string($user_course['CourseCode'])."'";
35
                $res = Database::query($sql);
36
                if (Database::num_rows($res) == 0) {
37
                    $user_course['error'] = get_lang('CodeDoesNotExists');
38
                    $errors[]             = $user_course;
39
                } else {
40
                    $coursecodes[$user_course['CourseCode']] = 1;
41
                }
42
            }
43
        }
44
45
        // 3. Check whether Email exists.
46
        if (isset ($user_course['Email']) && strlen($user_course['Email']) !=
47
            0) {
48
            $user = api_get_user_info_from_email($user_course['Email']);
49
            if (empty($user)) {
50
                $user_course['error'] = get_lang('UnknownUser');
51
                $errors[]             = $user_course;
52
            }
53
        }
54
55
        // 4. Check whether status is valid.
56
        if (isset ($user_course['Status']) && strlen($user_course['Status']) != 0) {
57
            if ($user_course['Status'] != COURSEMANAGER && $user_course['Status'] != STUDENT) {
58
                $user_course['error'] = get_lang('UnknownStatus');
59
                $errors[]             = $user_course;
60
            }
61
        }
62
    }
63
64
    return $errors;
65
}
66
67
/**
68
 * Saves imported data.