]> git.mjollnir.org Git - moodle.git/commitdiff
Fix for forums to behave slightly in a more friendly manner for reporting stuff about...
authormjollnir_ <mjollnir_>
Mon, 20 Sep 2004 00:04:44 +0000 (00:04 +0000)
committermjollnir_ <mjollnir_>
Mon, 20 Sep 2004 00:04:44 +0000 (00:04 +0000)
Also told upload class to not complain if there isn't a file selected.

These patches are maintained in an publicly accessible Arch repository, see: http://lists.eduforge.org/cgi-bin/archzoom.cgi/arch-eduforge@catalyst.net.nz--2004-MIRROR/moodle--eduforge--1.3.3

Index of arch patches in this commit:

arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-81
    2004-09-19 23:48:54 GMT
    Penny Leach <penny@catalyst.net.nz>
    fix for forum to print out messages including virus stuff and increase in time before redirect as there is more to read

Full logs:

Revision: moodle--eduforge--1.3.3--patch-81
Archive: arch-eduforge@catalyst.net.nz--2004
Creator: Penny Leach <penny@catalyst.net.nz>
Date: Mon Sep 20 11:48:54 NZST 2004
Standard-date: 2004-09-19 23:48:54 GMT
Modified-files: mod/forum/lib.php mod/forum/post.php
New-patches: arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-81
Summary: fix for forum to print out messages including virus stuff and increase in time before redirect as there is more to read
Keywords:

mod/forum/lib.php
mod/forum/post.php

index 573a63db72d0ae4fd602caacd87940af0fa95370..0cffcc65a41e6f0fff322863dcdc9c311f4a5e7b 100644 (file)
@@ -1984,11 +1984,14 @@ function forum_print_attachments($post, $return=NULL) {
 
     return $imagereturn;
 }
+/**
+ * If successful, this function returns the name of the file 
+ * @param $post is a full post record, including course and forum
+ * @param $newfile is a full upload array from $_FILES
+ * @param $message is a string to hold the messages.
+ */ 
 
-function forum_add_attachment($post, $inputname) {
-// $post is a full post record, including course and forum
-// $newfile is a full upload array from $_FILES
-// If successful, this function returns the name of the file
+function forum_add_attachment($post, $inputname,&$message) {
 
     global $CFG;
 
@@ -2001,15 +2004,16 @@ function forum_add_attachment($post, $inputname) {
     }
 
     require_once($CFG->dirroot.'/lib/uploadlib.php');
-    $um = new upload_manager($inputname,true,false,$course,false,$forum->maxbytes);
+    $um = new upload_manager($inputname,true,false,$course,false,$forum->maxbytes,true,true);
     $dir = forum_file_area_name($post);
     if ($um->process_file_uploads($dir)) {
+        $message .= $um->get_errors();
         return $um->get_new_filename();
     }
-    // upload manager will print any errors.
+    $message .= $um->get_errors();
 }
 
-function forum_add_new_post($post) {
+function forum_add_new_post($post,&$message) {
 
     $post->created = $post->modified = time();
     $post->mailed = "0";
@@ -2020,7 +2024,7 @@ function forum_add_new_post($post) {
         return false;
     }
 
-    if ($post->attachment = forum_add_attachment($post, 'attachment')) {
+    if ($post->attachment = forum_add_attachment($post, 'attachment',$message)) {
         set_field("forum_posts", "attachment", $post->attachment, "id", $post->id);
     }
 
@@ -2031,7 +2035,7 @@ function forum_add_new_post($post) {
     return $post->id;
 }
 
-function forum_update_post($post) {
+function forum_update_post($post,&$message) {
 
     $post->modified = time();
 
@@ -2039,7 +2043,7 @@ function forum_update_post($post) {
         set_field("forum_discussions", "name", $post->subject, "id", $post->discussion);
     }
 
-    if ($newfilename = forum_add_attachment($post, 'attachment')) {
+    if ($newfilename = forum_add_attachment($post, 'attachment',$message)) {
         $post->attachment = $newfilename;
     } else {
         unset($post->attachment);
@@ -2052,7 +2056,7 @@ function forum_update_post($post) {
     return update_record("forum_posts", $post);
 }
 
-function forum_add_discussion($discussion) {
+function forum_add_discussion($discussion,&$message) {
 // Given an object containing all the necessary data,
 // create a new discussion and return the id
 
@@ -2080,7 +2084,7 @@ function forum_add_discussion($discussion) {
         return 0;
     }
 
-    if ($post->attachment = forum_add_attachment($post, 'attachment')) {
+    if ($post->attachment = forum_add_attachment($post, 'attachment',$message)) {
         set_field("forum_posts", "attachment", $post->attachment, "id", $post->id); //ignore errors
     }
 
index d2de7a1a96ca0631064aa410640eb293822eb793..a6b6507e7818ae6c8236da6026908f95da8c20bb 100644 (file)
 
         } else if ($post->edit) {           // Updating a post
             $post->id = $post->edit;
-            if (forum_update_post($post)) {
-
+            $message = '';
+            if (forum_update_post($post,$message)) {
+                
                 add_to_log($post->course, "forum", "update post", 
                           "discuss.php?d=$post->discussion&amp;parent=$post->id", "$post->id", $cm->id);
 
-                $message = get_string("postupdated", "forum");
-                $timemessage = 1;
-
+                $timemessage = 2;
+                if (!empty($message)) { // if we're printing stuff about the file upload
+                    $timemessage = 4;
+                }
+                $message .= '<br />'.get_string("postupdated", "forum");
+                
                 if ($subscribemessage = forum_post_subscription($post)) {
-                    $timemessage = 2;
+                    $timemessage = 4;
                 }
                 redirect(forum_go_back_to("discuss.php?d=$post->discussion#$post->id"), $message.$subscribemessage, $timemessage);
 
             exit;
 
         } else if ($post->discussion) { // Adding a new post to an existing discussion
-            if ($post->id = forum_add_new_post($post)) {
+            $message = '';
+            if ($post->id = forum_add_new_post($post,$message)) {
 
                 add_to_log($post->course, "forum", "add post", 
                           "discuss.php?d=$post->discussion&amp;parent=$post->id", "$post->id", $cm->id);
 
-                $message = get_string("postadded", "forum", format_time($CFG->maxeditingtime));
                 $timemessage = 2;
+                if (!empty($message)) { // if we're printing stuff about the file upload
+                    $timemessage = 4;
+                }
+                $message .= '<br />'.get_string("postadded", "forum", format_time($CFG->maxeditingtime));
 
                 if ($subscribemessage = forum_post_subscription($post)) {
                     $timemessage = 4;
             $discussion = $post;
             $discussion->name  = $post->subject;
             $discussion->intro = $post->message;
-            if ($discussion->id = forum_add_discussion($discussion)) {
+            $message = '';
+            if ($discussion->id = forum_add_discussion($discussion,$message)) {
 
                 add_to_log($post->course, "forum", "add discussion", 
                            "discuss.php?d=$discussion->id", "$discussion->id", $cm->id);
 
-                $message = get_string("postadded", "forum", format_time($CFG->maxeditingtime));
                 $timemessage = 2;
-
+                if (!empty($message)) { // if we're printing stuff about the file upload
+                    $timemessage = 4;
+                }
+                $message .= '<br />'.get_string("postadded", "forum", format_time($CFG->maxeditingtime));
+                
                 if ($subscribemessage = forum_post_subscription($discussion)) {
                     $timemessage = 4;
                 }