Example #1
0
/**
 * Marks a whole discussion as read, for a given user
 *
 * @global object
 * @global object
 * @param object $user
 * @param int $discussionid
 * @return bool
 */
function forum_tp_mark_discussion_read($user, $discussionid) {
    global $CFG, $DB;

    $cutoffdate = time() - ($CFG->forum_oldpostdays*24*60*60);

    $sql = "SELECT p.id
              FROM {forum_posts} p
                   LEFT JOIN {forum_read} r ON (r.postid = p.id AND r.userid = ?)
             WHERE p.discussion = ?
                   AND p.modified >= ? AND r.id is NULL";

    if ($posts = $DB->get_records_sql($sql, array($user->id, $discussionid, $cutoffdate))) {
        $postids = array_keys($posts);
        return forum_tp_mark_posts_read($user, $postids);
    }

    return true;
}
Example #2
0
File: lib.php Project: r007/PMoodle
/**
 * Marks a whole discussion as read, for a given user
 */
function forum_tp_mark_discussion_read($user, $discussionid)
{
    global $CFG;
    $cutoffdate = time() - $CFG->forum_oldpostdays * 24 * 60 * 60;
    $sql = "SELECT p.id\n              FROM {$CFG->prefix}forum_posts p\n                   LEFT JOIN {$CFG->prefix}forum_read r ON (r.postid = p.id AND r.userid = {$user->id})\n             WHERE p.discussion = {$discussionid}\n                   AND p.modified >= {$cutoffdate} AND r.id is NULL";
    if ($posts = get_records_sql($sql)) {
        $postids = array_keys($posts);
        return forum_tp_mark_posts_read($user, $postids);
    }
    return true;
}