Example #1
0
     $newdiscussion->forum = $discussion->forum;
     $newdiscussion->name = $name;
     $newdiscussion->firstpost = $post->id;
     $newdiscussion->userid = $discussion->userid;
     $newdiscussion->groupid = $discussion->groupid;
     $newdiscussion->assessed = $discussion->assessed;
     $newdiscussion->usermodified = $post->userid;
     $newdiscussion->timestart = $discussion->timestart;
     $newdiscussion->timeend = $discussion->timeend;
     $newid = $DB->insert_record('forum_discussions', $newdiscussion);
     $newpost = new stdClass();
     $newpost->id = $post->id;
     $newpost->parent = 0;
     $newpost->subject = $name;
     $DB->update_record("forum_posts", $newpost);
     forum_change_discussionid($post->id, $newid);
     // update last post in each discussion
     forum_discussion_update_last_post($discussion->id);
     forum_discussion_update_last_post($newid);
     add_to_log($discussion->course, "forum", "prune post", "discuss.php?d={$newid}", "{$post->id}", $cm->id);
     redirect(forum_go_back_to("discuss.php?d={$newid}"));
 } else {
     // User just asked to prune something
     $course = $DB->get_record('course', array('id' => $forum->course));
     $PAGE->set_cm($cm);
     $PAGE->set_context($modcontext);
     $PAGE->navbar->add(format_string($post->subject, true), new moodle_url('/mod/forum/discuss.php', array('d' => $discussion->id)));
     $PAGE->navbar->add(get_string("prune", "forum"));
     $PAGE->set_title(format_string($discussion->name) . ": " . format_string($post->subject));
     $PAGE->set_heading($course->fullname);
     echo $OUTPUT->header();
Example #2
0
/**
 * recursively sets the discussion field to $discussionid on $postid and all its children
 * used when pruning a post
 *
 * @global object
 * @param int $postid
 * @param int $discussionid
 * @return bool
 */
function forum_change_discussionid($postid, $discussionid) {
    global $DB;
    $DB->set_field('forum_posts', 'discussion', $discussionid, array('id' => $postid));
    if ($posts = $DB->get_records('forum_posts', array('parent' => $postid))) {
        foreach ($posts as $post) {
            forum_change_discussionid($post->id, $discussionid);
        }
    }
    return true;
}
Example #3
0
File: lib.php Project: r007/PMoodle
/**
 * recursively sets the discussion field to $discussionid on $postid and all its children
 * used when pruning a post
 */
function forum_change_discussionid($postid, $discussionid)
{
    set_field('forum_posts', 'discussion', $discussionid, 'id', $postid);
    if ($posts = get_records('forum_posts', 'parent', $postid)) {
        foreach ($posts as $post) {
            forum_change_discussionid($post->id, $discussionid);
        }
    }
    return true;
}