MDL-15787 Using hidden feedbacks on front page

This commit is contained in:
agrabs
2008-07-22 22:28:35 +00:00
parent 6a0d72d43d
commit da32999653
3 changed files with 69 additions and 9 deletions
+37 -7
View File
@@ -74,25 +74,48 @@
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) {
@@ -114,10 +137,17 @@
$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)
+1 -1
View 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)
+31 -1
View File
@@ -36,6 +36,15 @@
$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;
@@ -44,7 +53,21 @@
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) {
@@ -66,10 +89,17 @@
$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
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////