Code Duplication    Length = 35-44 lines in 3 locations

main/work/work.lib.php 3 locations

@@ 3100-3134 (lines=35) @@
3097
 * @param int $sessionId
3098
 * @return int
3099
 */
3100
function getWorkCommentCountFromParent(
3101
    $parentId,
3102
    $courseInfo = array(),
3103
    $sessionId = 0
3104
) {
3105
    if (empty($courseInfo)) {
3106
        $courseInfo = api_get_course_info();
3107
    }
3108
3109
    if (empty($sessionId)) {
3110
        $sessionId = api_get_session_id();
3111
    } else {
3112
        $sessionId = intval($sessionId);
3113
    }
3114
3115
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3116
    $commentTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT_COMMENT);
3117
    $parentId = intval($parentId);
3118
3119
    $sql = "SELECT count(*) as count
3120
            FROM $commentTable c INNER JOIN $work w
3121
            ON c.c_id = w.c_id AND w.id = c.work_id
3122
            WHERE
3123
                session_id = $sessionId AND
3124
                parent_id = $parentId AND
3125
                w.c_id = ".$courseInfo['real_id'];
3126
3127
    $result = Database::query($sql);
3128
    if (Database::num_rows($result)) {
3129
        $comment = Database::fetch_array($result);
3130
        return $comment['count'];
3131
    }
3132
3133
    return 0;
3134
}
3135
3136
/**
3137
 * Get last work information from parent
@@ 3143-3186 (lines=44) @@
3140
 * @param int $sessionId
3141
 * @return int
3142
 */
3143
function getLastWorkStudentFromParent(
3144
    $parentId,
3145
    $courseInfo = array(),
3146
    $sessionId = 0
3147
) {
3148
    if (empty($courseInfo)) {
3149
        $courseInfo = api_get_course_info();
3150
    }
3151
3152
    if (empty($sessionId)) {
3153
        $sessionId = api_get_session_id();
3154
    } else {
3155
        $sessionId = intval($sessionId);
3156
    }
3157
3158
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3159
    $commentTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT_COMMENT);
3160
    $parentId = intval($parentId);
3161
3162
    $sql = "SELECT w.*
3163
            FROM $commentTable c INNER JOIN $work w
3164
            ON c.c_id = w.c_id AND w.id = c.work_id
3165
            WHERE
3166
                session_id = $sessionId AND
3167
                parent_id = $parentId AND
3168
                w.c_id = ".$courseInfo['real_id']."
3169
            ORDER BY w.sent_date
3170
            LIMIT 1
3171
            ";
3172
3173
    $result = Database::query($sql);
3174
    if (Database::num_rows($result)) {
3175
        $comment = Database::fetch_array($result, 'ASSOC');
3176
        /*if (!empty($comment)) {
3177
            $comment['assignment'] = get_work_assignment_by_id(
3178
                $comment['id'],
3179
                $courseInfo['real_id']
3180
            );
3181
        }*/
3182
        return $comment;
3183
    }
3184
3185
    return array();
3186
}
3187
3188
/**
3189
 * Get last work information from parent
@@ 3195-3238 (lines=44) @@
3192
 * @param int $sessionId
3193
 * @return int
3194
 */
3195
function getLastWorkStudentFromParentByUser(
3196
    $userId,
3197
    $parentId,
3198
    $courseInfo = array(),
3199
    $sessionId = 0
3200
) {
3201
    if (empty($courseInfo)) {
3202
        $courseInfo = api_get_course_info();
3203
    }
3204
3205
    if (empty($sessionId)) {
3206
        $sessionId = api_get_session_id();
3207
    } else {
3208
        $sessionId = intval($sessionId);
3209
    }
3210
3211
    $userId = intval($userId);
3212
    $work = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
3213
    $parentId = intval($parentId);
3214
3215
    $sql = "SELECT *
3216
            FROM  $work
3217
            WHERE
3218
                user_id = $userId AND
3219
                session_id = $sessionId AND
3220
                parent_id = $parentId AND
3221
                c_id = ".$courseInfo['real_id']."
3222
            ORDER BY sent_date DESC
3223
            LIMIT 1
3224
            ";
3225
    $result = Database::query($sql);
3226
    if (Database::num_rows($result)) {
3227
        $work = Database::fetch_array($result, 'ASSOC');
3228
        /*if (!empty($comment)) {
3229
            $comment['assignment'] = get_work_assignment_by_id(
3230
                $comment['id'],
3231
                $courseInfo['real_id']
3232
            );
3233
        }*/
3234
        return $work;
3235
    }
3236
3237
    return array();
3238
}
3239
3240
/**
3241
 * @param int $id comment id