Code Duplication    Length = 35-44 lines in 3 locations

main/work/work.lib.php 3 locations

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