Code Duplication    Length = 35-44 lines in 3 locations

main/work/work.lib.php 3 locations

@@ 3031-3065 (lines=35) @@
3028
 * @param int $sessionId
3029
 * @return int
3030
 */
3031
function getWorkCommentCountFromParent(
3032
    $parentId,
3033
    $courseInfo = array(),
3034
    $sessionId = 0
3035
) {
3036
    if (empty($courseInfo)) {
3037
        $courseInfo = api_get_course_info();
3038
    }
3039
3040
    if (empty($sessionId)) {
3041
        $sessionId = api_get_session_id();
3042
    } else {
3043
        $sessionId = intval($sessionId);
3044
    }
3045
3046
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3047
    $commentTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT_COMMENT);
3048
    $parentId = intval($parentId);
3049
3050
    $sql = "SELECT count(*) as count
3051
            FROM $commentTable c INNER JOIN $work w
3052
            ON c.c_id = w.c_id AND w.id = c.work_id
3053
            WHERE
3054
                session_id = $sessionId AND
3055
                parent_id = $parentId AND
3056
                w.c_id = ".$courseInfo['real_id'];
3057
3058
    $result = Database::query($sql);
3059
    if (Database::num_rows($result)) {
3060
        $comment = Database::fetch_array($result);
3061
        return $comment['count'];
3062
    }
3063
3064
    return 0;
3065
}
3066
3067
/**
3068
 * Get last work information from parent
@@ 3074-3117 (lines=44) @@
3071
 * @param int $sessionId
3072
 * @return int
3073
 */
3074
function getLastWorkStudentFromParent(
3075
    $parentId,
3076
    $courseInfo = array(),
3077
    $sessionId = 0
3078
) {
3079
    if (empty($courseInfo)) {
3080
        $courseInfo = api_get_course_info();
3081
    }
3082
3083
    if (empty($sessionId)) {
3084
        $sessionId = api_get_session_id();
3085
    } else {
3086
        $sessionId = intval($sessionId);
3087
    }
3088
3089
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3090
    $commentTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT_COMMENT);
3091
    $parentId = intval($parentId);
3092
3093
    $sql = "SELECT w.*
3094
            FROM $commentTable c INNER JOIN $work w
3095
            ON c.c_id = w.c_id AND w.id = c.work_id
3096
            WHERE
3097
                session_id = $sessionId AND
3098
                parent_id = $parentId AND
3099
                w.c_id = ".$courseInfo['real_id']."
3100
            ORDER BY w.sent_date
3101
            LIMIT 1
3102
            ";
3103
3104
    $result = Database::query($sql);
3105
    if (Database::num_rows($result)) {
3106
        $comment = Database::fetch_array($result, 'ASSOC');
3107
        /*if (!empty($comment)) {
3108
            $comment['assignment'] = get_work_assignment_by_id(
3109
                $comment['id'],
3110
                $courseInfo['real_id']
3111
            );
3112
        }*/
3113
        return $comment;
3114
    }
3115
3116
    return array();
3117
}
3118
3119
/**
3120
 * Get last work information from parent
@@ 3126-3169 (lines=44) @@
3123
 * @param int $sessionId
3124
 * @return int
3125
 */
3126
function getLastWorkStudentFromParentByUser(
3127
    $userId,
3128
    $parentId,
3129
    $courseInfo = array(),
3130
    $sessionId = 0
3131
) {
3132
    if (empty($courseInfo)) {
3133
        $courseInfo = api_get_course_info();
3134
    }
3135
3136
    if (empty($sessionId)) {
3137
        $sessionId = api_get_session_id();
3138
    } else {
3139
        $sessionId = intval($sessionId);
3140
    }
3141
3142
    $userId = intval($userId);
3143
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3144
    $parentId = intval($parentId);
3145
3146
    $sql = "SELECT *
3147
            FROM  $work
3148
            WHERE
3149
                user_id = $userId AND
3150
                session_id = $sessionId AND
3151
                parent_id = $parentId AND
3152
                c_id = ".$courseInfo['real_id']."
3153
            ORDER BY sent_date DESC
3154
            LIMIT 1
3155
            ";
3156
    $result = Database::query($sql);
3157
    if (Database::num_rows($result)) {
3158
        $work = Database::fetch_array($result, 'ASSOC');
3159
        /*if (!empty($comment)) {
3160
            $comment['assignment'] = get_work_assignment_by_id(
3161
                $comment['id'],
3162
                $courseInfo['real_id']
3163
            );
3164
        }*/
3165
        return $work;
3166
    }
3167
3168
    return array();
3169
}
3170
3171
/**
3172
 * @param int $id comment id