require_once('lib.php');
require_once('post_form.php');
- $reply = optional_param('reply', 0, PARAM_INT);
- $forum = optional_param('forum', 0, PARAM_INT);
- $edit = optional_param('edit', 0, PARAM_INT);
- $delete = optional_param('delete', 0, PARAM_INT);
- $prune = optional_param('prune', 0, PARAM_INT);
- $name = optional_param('name', '', PARAM_CLEAN);
+ $reply = optional_param('reply', 0, PARAM_INT);
+ $forum = optional_param('forum', 0, PARAM_INT);
+ $edit = optional_param('edit', 0, PARAM_INT);
+ $delete = optional_param('delete', 0, PARAM_INT);
+ $prune = optional_param('prune', 0, PARAM_INT);
+ $name = optional_param('name', '', PARAM_CLEAN);
$confirm = optional_param('confirm', 0, PARAM_INT);
- $page_params=array('reply'=>$reply,
- 'forum'=>$forum,
- 'edit'=>$edit); //these page_params will be passed as hidden variables
- //later in the form.
+ //these page_params will be passed as hidden variables later in the form.
+ $page_params = array('reply'=>$reply, 'forum'=>$forum, 'edit'=>$edit);
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
print_footer($course);
exit;
}
+
require_login(0, false); // Script is useless unless they're logged in
if (!empty($forum)) { // User is starting a new discussion in a forum
// Load up the $post variable.
- $post->course = $course->id;
- $post->forum = $forum->id;
+ $post = new object();
+ $post->course = $course->id;
+ $post->forum = $forum->id;
$post->discussion = 0; // ie discussion # not defined yet
- $post->parent = 0;
- $post->subject = "";
- $post->userid = $USER->id;
- $post->message = "";
+ $post->parent = 0;
+ $post->subject = '';
+ $post->userid = $USER->id;
+ $post->message = '';
$post->groupid = get_current_group($course->id);
if ($post->groupid == 0) {
// Load up the $post variable.
- $post->course = $course->id;
- $post->forum = $forum->id;
+ $post = new object();
+ $post->course = $course->id;
+ $post->forum = $forum->id;
$post->discussion = $parent->discussion;
- $post->parent = $parent->id;
- $post->subject = $parent->subject;
- $post->userid = $USER->id;
- $post->message = "";
+ $post->parent = $parent->id;
+ $post->subject = $parent->subject;
+ $post->userid = $USER->id;
+ $post->message = '';
$strre = get_string('re', 'forum');
if (!(substr($post->subject, 0, strlen($strre)) == $strre)) {
}
unset($SESSION->fromdiscussion);
+
} else if (!empty($edit)) { // User is editing their own post
if (! $post = forum_get_post_full($edit)) {
error("You can't edit other people's posts!");
}
- // Load up the $post variable.
- $post->edit = $edit;
- $post->course = $course->id;
+ // Load up the $post variable.
+ $post->edit = $edit;
+ $post->course = $course->id;
$post->forum = $forum->id;
+ trusttext_prepare_edit($post->message, $post->format, can_use_html_editor(), $modcontext);
+
unset($SESSION->fromdiscussion);
if (!empty($name)) { // User has confirmed the prune
- $newdiscussion->course = $discussion->course;
- $newdiscussion->forum = $discussion->forum;
- $newdiscussion->name = $name;
- $newdiscussion->firstpost = $post->id;
- $newdiscussion->userid = $discussion->userid;
- $newdiscussion->groupid = $discussion->groupid;
- $newdiscussion->assessed = $discussion->assessed;
+ $newdiscussion = new object();
+ $newdiscussion->course = $discussion->course;
+ $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;
+ $newdiscussion->timestart = $discussion->timestart;
+ $newdiscussion->timeend = $discussion->timeend;
if (!$newid = insert_record('forum_discussions', $newdiscussion)) {
error('Could not create new discussion');
}
- $newpost->id = $post->id;
- $newpost->parent = 0;
+ $newpost = new object();
+ $newpost->id = $post->id;
+ $newpost->parent = 0;
$newpost->subject = $name;
if (!update_record("forum_posts", $newpost)) {
$coursecontext = get_context_instance(CONTEXT_COURSE, $forum->course);
}
- $mform_post = new forum_post_form('post.php', compact('coursecontext', 'forum', 'post'));
+ $mform_post = new forum_post_form('post.php', array('coursecontext'=>$coursecontext, 'forum'=>$forum, 'post'=>$post));
if ($fromform = $mform_post->data_submitted()) {
forum_print_posts_threaded($parent->id, $course->id, 0, false, false, $user_read_array, $discussion->forum);
}
}
- $heading=get_string("yourreply", "forum");
+ $heading = get_string("yourreply", "forum");
} else {
$forum->intro = trim($forum->intro);
if (!empty($forum->intro)) {
print_simple_box(format_text($forum->intro), 'center');
}
if ($forum->type == 'qanda') {
- $heading=get_string('yournewquestion', 'forum');
+ $heading = get_string('yournewquestion', 'forum');
} else {
- $heading=get_string('yournewtopic', 'forum');
+ $heading = get_string('yournewtopic', 'forum');
}
}
(!empty($USER->autosubscribe));
- trusttext_prepare_edit($post->message, $post->format, can_use_html_editor(), $modcontext);
-
$mform_post->set_defaults(array( 'general'=>$heading,
'subject'=>$post->subject,
'message'=>$post->message,
-<?php
-require_once ($CFG->libdir.'/formslib.php');
+<?php // $Id$
+
+require_once($CFG->libdir.'/formslib.php');
+
class forum_post_form extends moodleform {
function definition() {
$mform =& $this->_form;
$renderer =& $mform->defaultRenderer();
- extract($this->_customdata);
+ $coursecontext = $this->_customdata['coursecontext'];
+ $forum = $this->_customdata['forum'];
+ $post = $this->_customdata['post'];
$mform->addElement('header', 'general', '');//fill in the data depending on page params
- //later using set_defaults
- $mform->addElement('text', 'subject', get_string("subject", "forum"), 'size="60"');
+ //later using set_defaults
+ $mform->addElement('text', 'subject', get_string('subject', 'forum'), 'size="60"');
$mform->setType('subject', PARAM_TEXT);
$mform->addRule('subject', get_string('required'), 'required', null, 'client');
- $mform->addElement('htmleditor', 'message', get_string("message", "forum"));
+ $mform->addElement('htmleditor', 'message', get_string('message', 'forum'));
$mform->setType('message', PARAM_RAW);
$mform->addRule('message', get_string('required'), 'required', null, 'client');
$mform->addElement('format', 'format', get_string('format'));
- $mform->setHelpButton('format', array("textformat", get_string("helpformatting")));
+ $mform->setHelpButton('format', array('textformat', get_string('helpformatting')));
- if (isset($forum->id)&& forum_is_forcesubscribed($forum->id)) {
+ if (isset($forum->id) && forum_is_forcesubscribed($forum->id)) {
- $mform->addElement('static', 'subscribemessage', get_string("subscription", "forum"), get_string("everyoneissubscribed", "forum"));
+ $mform->addElement('static', 'subscribemessage', get_string('subscription', 'forum'), get_string('everyoneissubscribed', 'forum'));
$mform->addElement('hidden', 'subscribe');
- $mform->setHelpButton('subscribemessage', array("subscription", get_string("subscription", "forum"), "forum"));
+ $mform->setHelpButton('subscribemessage', array('subscription', get_string('subscription', 'forum'), 'forum'));
} else if (isset($forum->forcesubscribe)&& $forum->forcesubscribe != FORUM_DISALLOWSUBSCRIBE ||
- has_capability('moodle/course:manageactivities', $coursecontext)){
- unset($options);
- $options[0] = get_string("subscribestop", "forum");
- $options[1] = get_string("subscribestart", "forum");
+ has_capability('moodle/course:manageactivities', $coursecontext)) {
+ $options = array();
+ $options[0] = get_string('subscribestop', 'forum');
+ $options[1] = get_string('subscribestart', 'forum');
- $mform->addElement('select', 'subscribe', get_string("subscription", "forum"), $options);
- $mform->setHelpButton('subscribe', array("subscription", get_string("subscription", "forum"), "forum"));
+ $mform->addElement('select', 'subscribe', get_string('subscription', 'forum'), $options);
+ $mform->setHelpButton('subscribe', array('subscription', get_string('subscription', 'forum'), 'forum'));
} else if ($forum->forcesubscribe == FORUM_DISALLOWSUBSCRIBE) {
- $mform->addElement('static', 'subscribemessage', get_string("subscription", "forum"), get_string('disallowsubscribe', 'forum'));
+ $mform->addElement('static', 'subscribemessage', get_string('subscription', 'forum'), get_string('disallowsubscribe', 'forum'));
$mform->addElement('hidden', 'subscribe');
- $mform->setHelpButton('subscribemessage', array("subscription", get_string("subscription", "forum"), "forum"));
+ $mform->setHelpButton('subscribemessage', array('subscription', get_string('subscription', 'forum'), 'forum'));
}
- if (empty($post->id)
- && has_capability('moodle/course:manageactivities', $coursecontext)) {
- $mform->addElement('checkbox', 'mailnow', get_string("mailnow", "forum"));
+ if (empty($post->id) && has_capability('moodle/course:manageactivities', $coursecontext)) {
+ $mform->addElement('checkbox', 'mailnow', get_string('mailnow', 'forum'));
}
if (!isset($discussion->timestart)) {
$discussion->timeend = 0;
}
if (!empty($CFG->forum_enabletimedposts) && !$post->parent) {
- $mform->addElement('header','', get_string("displayperiod", "forum"));
- $timestartgroup=array();
- $timestartgroup[]=&MoodleQuickForm::createElement('date_selector', 'timestart', get_string('timestartday', 'forum'));
- $timestartgroup[]=&MoodleQuickForm::createElement('checkbox', 'timestartdisabled', '', get_string('disable'));
+ $mform->addElement('header', '', get_string('displayperiod', 'forum'));
+
+ $timestartgroup = array();
+ $timestartgroup[] = &MoodleQuickForm::createElement('date_selector', 'timestart', get_string('timestartday', 'forum'));
+ $timestartgroup[] = &MoodleQuickForm::createElement('checkbox', 'timestartdisabled', '', get_string('disable'));
$mform->addGroup($timestartgroup, 'timestartgroup', get_string('displaystart', 'forum'), ' ', false);
- $mform->setHelpButton('timestartgroup', array("displayperiod", get_string("displayperiod", "forum"), "forum"));
- $timeendgroup=array();
- $timeendgroup[]=&MoodleQuickForm::createElement('date_selector', 'timeend', get_string('timeendday', 'forum'));
- $timeendgroup[]=&MoodleQuickForm::createElement('checkbox', 'timeenddisabled', '', get_string('disable'));
+ $mform->setHelpButton('timestartgroup', array('displayperiod', get_string('displayperiod', 'forum'), 'forum'));
+
+ $timeendgroup = array();
+ $timeendgroup[] = &MoodleQuickForm::createElement('date_selector', 'timeend', get_string('timeendday', 'forum'));
+ $timeendgroup[] = &MoodleQuickForm::createElement('checkbox', 'timeenddisabled', '', get_string('disable'));
$mform->addGroup($timeendgroup, 'timeendgroup', get_string('displayend', 'forum'), ' ', false);
- $mform->setHelpButton('timeendgroup', array("displayperiod", get_string("displayperiod", "forum"), "forum"));
+ $mform->setHelpButton('timeendgroup', array('displayperiod', get_string('displayperiod', 'forum'), 'forum'));
+
} else {
$mform->addElement('hidden', 'timestartdisabled', '1');
$mform->setType('timestartdisabled', PARAM_INT);
$mform->setType('timeenddisabled', PARAM_INT);
}
- if(isset($post->edit)){
- $submit_string=get_string('savechanges');
- }else{
- $submit_string=get_string('posttoforum', 'forum');
+ if (isset($post->edit)) {
+ $submit_string = get_string('savechanges');
+ } else {
+ $submit_string = get_string('posttoforum', 'forum');
}
$mform->addElement('submit', 'submit', $submit_string);
$renderer->addStopFieldsetElements('submit');
}
- function validation($data){
- $error=array();
+ function validation($data) {
+ $error = array();
if (empty($data['timeenddisabled']) && empty($data['timestartdisabled'])
&& $data['timeend'] <= $data['timestart']) {
$error['timeendgroup'] = get_string('timestartenderror', 'forum');
}
- return (count($error)==0)?true:$error;
+ return (count($error)==0) ? true : $error;
}
}