]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15787 Using hidden feedbacks on front page
authoragrabs <agrabs>
Tue, 22 Jul 2008 22:28:35 +0000 (22:28 +0000)
committeragrabs <agrabs>
Tue, 22 Jul 2008 22:28:35 +0000 (22:28 +0000)
mod/feedback/complete.php
mod/feedback/version.php
mod/feedback/view.php

index 6cccb2b82a8989f1d4d3ceaecc1c8fd883fc2799..0b1505cea8cf9ea0fb341a36422977ba34a52d5f 100644 (file)
     if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
         $capabilities->complete = true;
     }
+    
+    //check whether the feedback is mapped to the given courseid
+    if($course->id == SITEID AND !$capabilities->edititems) {
+        if($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) {
+            if(!$DB->get_record('feedback_sitecourse_map', array('feedbackid'=>$feedback->id, 'courseid'=>$courseid))){
+                error("this feedback is not available");
+            }
+        }
+    }
+    
     //check whether the feedback is located and! started from the mainsite
     if($course->id == SITEID AND !$courseid) {
         $courseid = SITEID;
     }
         
-    // if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
+    if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
         require_login($course->id, true, $cm);
-        if(isguestuser()) {
-            error(get_string('guestsno'), $CFG->wwwroot);
-            exit;
+    } else {
+        if($course->id == SITEID) {
+            require_course_login($course, true);
+        }else {
+            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) {
-        $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
+        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(!$capabilities->complete) {
                  $navigation, "", "", true, $buttontext, navmenu($course, $cm));
 
     //ishidden check.
+    //feedback in courses
     if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
         notice(get_string("activityiscurrentlyhidden"));
     }
 
+    //ishidden check.
+    //feedback on mainsite
+    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) {
+        notice(get_string("activityiscurrentlyhidden"));
+    }
+
     feedback_print_errors();
   
     //check, if the feedback is open (timeopen, timeclose)
index e85427a1135ca0b70a7179bc8246b6a97d3be235..1fc5c1d1c5a18e667b0a4b5a3a9bad7e75a8733c 100644 (file)
@@ -10,7 +10,7 @@
 */
 
    
-    $module->version = 2008052208; // The current module version (Date: YYYYMMDDXX)
+    $module->version = 2008052209; // The current module version (Date: YYYYMMDDXX)
     $module->requires = 2007101503;  // 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)
index 2680b2f01e8e3691db63350b25421ba62102bc1f..d0fef324adbc8d15533756dfcc027da10793217a 100644 (file)
         $capabilities->complete = true;
     }
     
+    //check whether the feedback is mapped to the given courseid
+    if($course->id == SITEID AND !$capabilities->edititems) {
+        if($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) {
+            if(!$DB->get_record('feedback_sitecourse_map', array('feedbackid'=>$feedback->id, 'courseid'=>$courseid))){
+                error("this feedback is not available");
+            }
+        }
+    }
+    
     //check whether the feedback is located and! started from the mainsite
     if($course->id == SITEID AND !$courseid) {
         $courseid = SITEID;
     if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
         require_login($course->id, true, $cm);
     } else {
-        require_course_login($course, true, $cm);
+        if($course->id == SITEID) {
+            require_course_login($course, true);
+        }else {
+            require_course_login($course, 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($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
                  $navigation, "", "", true, $buttontext, navmenu($course, $cm));
 
     //ishidden check.
+    //feedback in courses
     if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
         notice(get_string("activityiscurrentlyhidden"));
     }
 
+    //ishidden check.
+    //feedback on mainsite
+    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) {
+        notice(get_string("activityiscurrentlyhidden"));
+    }
+
     /// Print the main part of the page
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////