From: agrabs <agrabs>
Date: Wed, 30 Jul 2008 18:58:24 +0000 (+0000)
Subject: MDL-15787 Using hidden feedbacks on front page
X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=aeb7e1aecf5a7486ec2964c3b0fdfcf42ca69e69;p=moodle.git

MDL-15787 Using hidden feedbacks on front page
---

diff --git a/mod/feedback/analysis.php b/mod/feedback/analysis.php
index 849dde239e..bbc5fe57b9 100644
--- a/mod/feedback/analysis.php
+++ b/mod/feedback/analysis.php
@@ -51,7 +51,21 @@
     }
     $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
+    if($course->id == SITEID) {
+        require_login($course->id, true);
+    }else{
+        require_login($course->id, true, $cm);
+    }
+
+    //check whether the given courseid exists
+    if($courseid AND $courseid != SITEID) {
+        if($course2 = $DB->get_record('course', array('id'=>$courseid))){
+            require_course_login($course2); //this overwrites the object $course :-(
+            $course = $DB->get_record("course", array("id"=>$cm->course)); // the workaround
+        }else {
+            error("courseid is not correct");
+        }
+    }
 
     if( !( ((intval($feedback->publish_stats) == 1) AND $capabilities->viewanalysepage) || $capabilities->viewreports)) {
         error(get_string('error'));
diff --git a/mod/feedback/complete.php b/mod/feedback/complete.php
index 0b1505cea8..6a0abc8260 100644
--- a/mod/feedback/complete.php
+++ b/mod/feedback/complete.php
@@ -90,7 +90,11 @@
     }
         
     if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
-        require_login($course->id, true, $cm);
+        if($course->id == SITEID) {
+            require_login($course->id, true);
+        }else {
+            require_login($course->id, true, $cm);
+        }
     } else {
         if($course->id == SITEID) {
             require_course_login($course, true);
@@ -98,15 +102,6 @@
             require_course_login($course, true, $cm);
         }
     }
-    // if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
-        // require_login($course->id, true, $cm);
-        // if(isguestuser()) {
-            // error(get_string('guestsno'), $CFG->wwwroot);
-            // exit;
-        // }
-    // } else {
-        // require_course_login($course, true, $cm);
-    // }
     
     //check whether the given courseid exists
     if($courseid AND $courseid != SITEID) {
diff --git a/mod/feedback/version.php b/mod/feedback/version.php
index 935256ffd0..99f2f59e1e 100644
--- a/mod/feedback/version.php
+++ b/mod/feedback/version.php
@@ -10,7 +10,7 @@
 */
 
    
-    $module->version = 2008072401; // The current module version (Date: YYYYMMDDXX)
+    $module->version = 2008073001; // The current module version (Date: YYYYMMDDXX)
     $module->requires = 2008072401;  // Requires this Moodle version
     $feedback_version_intern = 1; //this version is used for restore older backups
     $module->cron = 0; // Period for cron to check this module (secs)
diff --git a/mod/feedback/view.php b/mod/feedback/view.php
index d0fef324ad..e7930336e6 100644
--- a/mod/feedback/view.php
+++ b/mod/feedback/view.php
@@ -51,7 +51,11 @@
     }
     
     if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
-        require_login($course->id, true, $cm);
+        if($course->id == SITEID) {
+            require_login($course->id, true);
+        }else {
+            require_login($course->id, true, $cm);
+        }
     } else {
         if($course->id == SITEID) {
             require_course_login($course, true);