From: skodak Date: Sun, 12 Nov 2006 18:36:00 +0000 (+0000) Subject: readded file uploads to forum post form, file processing was not updated because... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c58efbf5292724ba5ada9287b687aa98b73afc0c;p=moodle.git readded file uploads to forum post form, file processing was not updated because it would need a rewrite MDL-6961 --- diff --git a/mod/forum/post.php b/mod/forum/post.php index 84b77ea2f2..1fea81f814 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -425,7 +425,12 @@ $coursecontext = get_context_instance(CONTEXT_COURSE, $forum->course); } - $mform_post = new forum_post_form('post.php', array('coursecontext'=>$coursecontext, 'forum'=>$forum, 'post'=>$post)); + if (!$cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) { // For the logs + error('Could not get the course module for the forum instance.'); + } + $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id); + + $mform_post = new forum_post_form('post.php', array('course'=>$course, 'coursecontext'=>$coursecontext, 'modcontext'=>$modcontext, 'forum'=>$forum, 'post'=>$post)); if ($fromform = $mform_post->data_submitted()) { @@ -443,10 +448,6 @@ // TODO add attachment processing //$fromform->attachment = isset($_FILES['attachment']) ? $_FILES['attachment'] : NULL; - if (!$cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) { // For the logs - error('Could not get the course module for the forum instance.'); - } - $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id); trusttext_after_edit($fromform->message, $modcontext); if ($fromform->edit) { // Updating a post diff --git a/mod/forum/post_form.php b/mod/forum/post_form.php index 25fd78ea9b..46b59ccda4 100644 --- a/mod/forum/post_form.php +++ b/mod/forum/post_form.php @@ -10,11 +10,20 @@ class forum_post_form extends moodleform { $mform =& $this->_form; $renderer =& $mform->defaultRenderer(); + $course = $this->_customdata['course']; $coursecontext = $this->_customdata['coursecontext']; + $modcontext = $this->_customdata['modcontext']; $forum = $this->_customdata['forum']; $post = $this->_customdata['post']; + // the upload manager is used directly in post precessing, moodleform::save_files() is not used yet + $this->_upload_manager = new upload_manager('attachment', true, false, $course, false, $forum->maxbytes, true, true); + + // set file max size to enable proper server side validation + $maxbytes = get_max_upload_file_size($CFG->maxbytes, $course->maxbytes, $forum->maxbytes); + $mform->setMaxFileSize($maxbytes); + $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"'); @@ -49,9 +58,15 @@ class forum_post_form extends moodleform { $mform->setHelpButton('subscribemessage', array('subscription', get_string('subscription', 'forum'), 'forum')); } - if (empty($post->id) && has_capability('moodle/course:manageactivities', $coursecontext)) { + if ($forum->maxbytes != 1 && has_capability('mod/forum:createattachment', $modcontext)) { // 1 = No attachments at all + $mform->addElement('file', 'attachment', get_string('attachment', 'forum')); + $mform->setHelpButton('attachment', array('attachment', get_string('attachemnt', 'forum'), 'forum')); + + } + + if (empty($post->id) && has_capability('moodle/course:manageactivities', $coursecontext)) { $mform->addElement('checkbox', 'mailnow', get_string('mailnow', 'forum')); - } + } if (!isset($discussion->timestart)) { $discussion->timestart = 0;