static $strpruneheading, $displaymode;
static $strmarkread, $strmarkunread;
+ $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
+
$post->course = $course->id;
$post->forum = $forum->id;
+ $post->message = file_convert_relative_pluginfiles($post->message, 'pluginfile.php', "$modcontext->id/forum_post/$post->id/");
// caching
if (!isset($cm->cache)) {
if (!isset($cm->cache->caps)) {
$cm->cache->caps = array();
- $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
$cm->cache->caps['mod/forum:viewdiscussion'] = has_capability('mod/forum:viewdiscussion', $modcontext);
$cm->cache->caps['moodle/site:viewfullnames'] = has_capability('moodle/site:viewfullnames', $modcontext);
$cm->cache->caps['mod/forum:editanypost'] = has_capability('mod/forum:editanypost', $modcontext);
function forum_add_new_post($post, $mform, &$message) {
global $USER, $CFG, $DB;
+ $message = $post->message;
$discussion = $DB->get_record('forum_discussions', array('id' => $post->discussion));
$forum = $DB->get_record('forum', array('id' => $discussion->forum));
$cm = get_coursemodule_from_instance('forum', $forum->id);
+ $context = get_context_instance(CONTEXT_MODULE, $cm->id);
$post->created = $post->modified = time();
$post->mailed = "0";
return false;
}
+ $message = file_convert_draftarea($post->itemid, $context->id, 'forum_post', $post->id, true, $message);
+ $DB->set_field('forum_posts', 'message', $message, array('id'=>$post->id));
forum_add_attachment($post, $forum, $cm, $mform, $message);
// Update discussion modified date
$discussion = $DB->get_record('forum_discussions', array('id' => $post->discussion));
$forum = $DB->get_record('forum', array('id' => $discussion->forum));
$cm = get_coursemodule_from_instance('forum', $forum->id);
+ $context = get_context_instance(CONTEXT_MODULE, $cm->id);
$post->modified = time();
$discussion->timestart = $post->timestart;
$discussion->timeend = $post->timeend;
}
+ $post->message = file_convert_draftarea($post->itemid, $context->id, 'forum_post', $post->id, true, $post->message);
+ $DB->set_field('forum_posts', 'message', $post->message, array('id'=>$post->id));
if (!$DB->update_record('forum_discussions', $discussion)) {
return false;
$forum = $DB->get_record('forum', array('id'=>$discussion->forum));
$cm = get_coursemodule_from_instance('forum', $forum->id);
+ $context = get_context_instance(CONTEXT_MODULE, $cm->id);
$post = new object();
$post->discussion = 0;
return 0;
}
+ $text = file_convert_draftarea($discussion->itemid, $context->id, 'forum_post', $post->id, true, $post->message);
+ $DB->set_field('forum_posts', 'message', $text, array('id'=>$post->id));
+
// Now do the main entry for the discussion, linking to this first post
$discussion->firstpost = $post->id;
} else {
$ownpost = false;
}
+ $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
if ($canreply === NULL) {
- $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
$reply = forum_user_can_post($forum, $discussion, $USER, $cm, $course, $modcontext);
} else {
$reply = $canreply;
$subscribe = !empty($USER->autosubscribe);
}
+ $draftid_editor = file_get_submitted_draftitemid('message');
+ $currenttext = file_prepare_draftarea($draftid_editor, $modcontext->id, 'forum_post', empty($post->id) ? null : $post->id, true, $post->message);
$mform_post->set_data(array( 'attachments'=>$draftitemid,
'general'=>$heading,
'subject'=>$post->subject,
- 'message'=>$post->message,
+ 'message'=>array(
+ 'text'=>$currenttext,
+ 'format'=>empty($post->format) ? FORMAT_HTML : $post->format, //TODO: add some better default
+ 'itemid'=>$draftid_editor
+ ),
'subscribe'=>$subscribe?1:0,
'mailnow'=>!empty($post->mailnow),
'userid'=>$post->userid,
$errordestination = $SESSION->fromurl;
}
- trusttext_after_edit($fromform->message, $modcontext);
+ trusttext_after_edit($fromform->message['text'], $modcontext);
+ $fromform->format = $fromform->message['format'];
+ $fromform->itemid = $fromform->message['itemid'];
+ $fromform->message = $fromform->message['text'];
if ($fromform->edit) { // Updating a post
unset($fromform->groupid);
$mform->addRule('subject', get_string('required'), 'required', null, 'client');
$mform->addRule('subject', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
- $mform->addElement('htmleditor', 'message', get_string('message', 'forum'), array('cols'=>50, 'rows'=>30, 'filearea'=>'forumpost'));
+ $mform->addElement('editor', 'message', get_string('message', 'forum'), array('maxfiles'=>-1, 'filearea'=>'forum_post'));
$mform->setType('message', PARAM_RAW);
$mform->addRule('message', get_string('required'), 'required', null, 'client');
$mform->setHelpButton('message', array('reading', 'writing', 'questions', 'richtext2'), false, 'editorhelpbutton');
- $mform->addElement('format', 'format', get_string('format'));
-
-
if (isset($forum->id) && forum_is_forcesubscribed($forum)) {
$mform->addElement('static', 'subscribemessage', get_string('subscription', 'forum'), get_string('everyoneissubscribed', 'forum'));