mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
MDL-19489 - add conditional branching (my first try)
This commit is contained in:
parent
f53fde9f47
commit
73043833e9
29 changed files with 1597 additions and 1088 deletions
|
@ -1,47 +1,47 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* prints the form so the user can fill out the feedback
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
/**
|
||||
* prints the form so the user can fill out the feedback
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once($CFG->libdir . '/completionlib.php');
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once($CFG->libdir . '/completionlib.php');
|
||||
|
||||
feedback_init_feedback_session();
|
||||
feedback_init_feedback_session();
|
||||
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', false, PARAM_INT);
|
||||
$preservevalues = optional_param('preservevalues', 0, PARAM_INT);
|
||||
$courseid = optional_param('courseid', false, PARAM_INT);
|
||||
$gopage = optional_param('gopage', -1, PARAM_INT);
|
||||
$lastpage = optional_param('lastpage', false, PARAM_INT);
|
||||
$startitempos = optional_param('startitempos', 0, PARAM_INT);
|
||||
$lastitempos = optional_param('lastitempos', 0, PARAM_INT);
|
||||
$anonymous_response = optional_param('anonymous_response', 0, PARAM_INT); //arb
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', false, PARAM_INT);
|
||||
$preservevalues = optional_param('preservevalues', 0, PARAM_INT);
|
||||
$courseid = optional_param('courseid', false, PARAM_INT);
|
||||
$gopage = optional_param('gopage', -1, PARAM_INT);
|
||||
$lastpage = optional_param('lastpage', false, PARAM_INT);
|
||||
$startitempos = optional_param('startitempos', 0, PARAM_INT);
|
||||
$lastitempos = optional_param('lastitempos', 0, PARAM_INT);
|
||||
$anonymous_response = optional_param('anonymous_response', 0, PARAM_INT); //arb
|
||||
|
||||
$highlightrequired = false;
|
||||
$highlightrequired = false;
|
||||
|
||||
if(($formdata = data_submitted()) AND !confirm_sesskey()) {
|
||||
if(($formdata = data_submitted()) AND !confirm_sesskey()) {
|
||||
print_error('invalidsesskey');
|
||||
}
|
||||
}
|
||||
|
||||
//if the use hit enter into a textfield so the form should not submit
|
||||
if(isset($formdata->sesskey) AND !isset($formdata->savevalues) AND !isset($formdata->gonextpage) AND !isset($formdata->gopreviouspage)) {
|
||||
//if the use hit enter into a textfield so the form should not submit
|
||||
if(isset($formdata->sesskey) AND !isset($formdata->savevalues) AND !isset($formdata->gonextpage) AND !isset($formdata->gopreviouspage)) {
|
||||
$gopage = $formdata->lastpage;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($formdata->savevalues)) {
|
||||
if(isset($formdata->savevalues)) {
|
||||
$savevalues = true;
|
||||
}else {
|
||||
}else {
|
||||
$savevalues = false;
|
||||
}
|
||||
}
|
||||
|
||||
if($gopage < 0 AND !$savevalues) {
|
||||
if($gopage < 0 AND !$savevalues) {
|
||||
if(isset($formdata->gonextpage)){
|
||||
$gopage = $lastpage + 1;
|
||||
$gonextpage = true;
|
||||
|
@ -53,126 +53,126 @@ if($gopage < 0 AND !$savevalues) {
|
|||
}else {
|
||||
print_error('missingparameter');
|
||||
}
|
||||
}else {
|
||||
}else {
|
||||
$gonextpage = $gopreviouspage = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
print_error('badcontext');
|
||||
}
|
||||
}
|
||||
|
||||
$feedback_complete_cap = false;
|
||||
$feedback_complete_cap = false;
|
||||
|
||||
if(has_capability('mod/feedback:complete', $context)) {
|
||||
if(has_capability('mod/feedback:complete', $context)) {
|
||||
$feedback_complete_cap = true;
|
||||
}
|
||||
}
|
||||
|
||||
//check whether the feedback is located and! started from the mainsite
|
||||
if($course->id == SITEID AND !$courseid) {
|
||||
//check whether the feedback is located and! started from the mainsite
|
||||
if($course->id == SITEID AND !$courseid) {
|
||||
$courseid = SITEID;
|
||||
}
|
||||
}
|
||||
|
||||
//check whether the feedback is mapped to the given courseid
|
||||
if($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) {
|
||||
//check whether the feedback is mapped to the given courseid
|
||||
if($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) {
|
||||
if($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) {
|
||||
if(!$DB->get_record('feedback_sitecourse_map', array('feedbackid'=>$feedback->id, 'courseid'=>$courseid))){
|
||||
print_error('notavailable', 'feedback');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
|
||||
if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
|
||||
if($course->id == SITEID) {
|
||||
require_login($course->id, true);
|
||||
}else {
|
||||
require_login($course->id, true, $cm);
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
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) {
|
||||
//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 {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$feedback_complete_cap) {
|
||||
if(!$feedback_complete_cap) {
|
||||
print_error('error');
|
||||
}
|
||||
}
|
||||
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
|
||||
if($course->id == SITEID) {
|
||||
if($course->id == SITEID) {
|
||||
$PAGE->set_cm($cm, $course); // set's up global $COURSE
|
||||
$PAGE->set_pagelayout('incourse');
|
||||
}
|
||||
}
|
||||
|
||||
$PAGE->navbar->add(get_string('feedback:complete', 'feedback'));
|
||||
$PAGE->set_url('/mod/feedback/complete.php', array('id'=>$cm->id, 'gopage'=>$gopage, 'courseid'=>$course->id));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
$PAGE->navbar->add(get_string('feedback:complete', 'feedback'));
|
||||
$PAGE->set_url('/mod/feedback/complete.php', array('id'=>$cm->id, 'gopage'=>$gopage, 'courseid'=>$course->id));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
//ishidden check.
|
||||
//feedback in courses
|
||||
if ((empty($cm->visible) AND
|
||||
//ishidden check.
|
||||
//feedback in courses
|
||||
if ((empty($cm->visible) AND
|
||||
!has_capability('moodle/course:viewhiddenactivities', $context)) AND
|
||||
$course->id != SITEID) {
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
}
|
||||
|
||||
//ishidden check.
|
||||
//feedback on mainsite
|
||||
if ((empty($cm->visible) AND
|
||||
//ishidden check.
|
||||
//feedback on mainsite
|
||||
if ((empty($cm->visible) AND
|
||||
!has_capability('moodle/course:viewhiddenactivities', $context)) AND
|
||||
$courseid == SITEID) {
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
}
|
||||
|
||||
feedback_print_errors();
|
||||
feedback_print_errors();
|
||||
|
||||
//check, if the feedback is open (timeopen, timeclose)
|
||||
$checktime = time();
|
||||
if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
|
||||
//check, if the feedback is open (timeopen, timeclose)
|
||||
$checktime = time();
|
||||
if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter');
|
||||
echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
|
||||
echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
|
||||
$feedback_can_submit = true;
|
||||
if($feedback->multiple_submit == 0 ) {
|
||||
//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
|
||||
$feedback_can_submit = true;
|
||||
if($feedback->multiple_submit == 0 ) {
|
||||
if(feedback_is_already_submitted($feedback->id, $courseid)) {
|
||||
$feedback_can_submit = false;
|
||||
}
|
||||
}
|
||||
if($feedback_can_submit) {
|
||||
}
|
||||
if($feedback_can_submit) {
|
||||
//preserving the items
|
||||
if($preservevalues == 1){
|
||||
if(!$SESSION->feedback->is_started == true)
|
||||
|
@ -249,6 +249,9 @@ if($feedback_can_submit) {
|
|||
if($gopage <= 0) {
|
||||
$startposition = 0;
|
||||
}else {
|
||||
if(!isset($allbreaks[$gopage - 1])) {
|
||||
$gopage = count($allbreaks);
|
||||
}
|
||||
$startposition = $allbreaks[$gopage - 1];
|
||||
}
|
||||
$ispagebreak = true;
|
||||
|
@ -392,7 +395,23 @@ if($feedback_can_submit) {
|
|||
}
|
||||
$startitem = $feedbackitem;
|
||||
}
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align);
|
||||
|
||||
if($feedbackitem->dependitem > 0) {
|
||||
//chech if the conditions are ok
|
||||
if(!isset($feedbackcompletedtmp->id) OR !feedback_compare_item_value($feedbackcompletedtmp->id, $feedbackitem->dependitem, $feedbackitem->dependvalue, true)) {
|
||||
$lastitem = $feedbackitem;
|
||||
$lastbreakposition = $feedbackitem->position;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if($feedbackitem->dependitem > 0) {
|
||||
$dependstyle = ' feedback_complete_depend';
|
||||
}else {
|
||||
$dependstyle = '';
|
||||
}
|
||||
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align.$dependstyle);
|
||||
$value = '';
|
||||
//get the value
|
||||
$frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
|
||||
|
@ -470,16 +489,16 @@ if($feedback_can_submit) {
|
|||
// echo $OUTPUT->box_end();
|
||||
}
|
||||
}
|
||||
}else {
|
||||
}else {
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter');
|
||||
echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
|
||||
echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
|
||||
echo $OUTPUT->box_end();
|
||||
}
|
||||
/// Finish the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
/// Finish the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
|
|
|
@ -1,68 +1,68 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* prints the form so an anonymous user can fill out the feedback on the mainsite
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
/**
|
||||
* prints the form so an anonymous user can fill out the feedback on the mainsite
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
feedback_init_feedback_session();
|
||||
feedback_init_feedback_session();
|
||||
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', false, PARAM_INT);
|
||||
$preservevalues = optional_param('preservevalues', 0, PARAM_INT);
|
||||
$courseid = optional_param('courseid', false, PARAM_INT);
|
||||
$gopage = optional_param('gopage', -1, PARAM_INT);
|
||||
$lastpage = optional_param('lastpage', false, PARAM_INT);
|
||||
$startitempos = optional_param('startitempos', 0, PARAM_INT);
|
||||
$lastitempos = optional_param('lastitempos', 0, PARAM_INT);
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', false, PARAM_INT);
|
||||
$preservevalues = optional_param('preservevalues', 0, PARAM_INT);
|
||||
$courseid = optional_param('courseid', false, PARAM_INT);
|
||||
$gopage = optional_param('gopage', -1, PARAM_INT);
|
||||
$lastpage = optional_param('lastpage', false, PARAM_INT);
|
||||
$startitempos = optional_param('startitempos', 0, PARAM_INT);
|
||||
$lastitempos = optional_param('lastitempos', 0, PARAM_INT);
|
||||
|
||||
$url = new moodle_url('/mod/feedback/complete_guest.php', array('id'=>$id));
|
||||
if ($completedid !== false) {
|
||||
$url = new moodle_url('/mod/feedback/complete_guest.php', array('id'=>$id));
|
||||
if ($completedid !== false) {
|
||||
$url->param('completedid', $completedid);
|
||||
}
|
||||
if ($preservevalues !== 0) {
|
||||
}
|
||||
if ($preservevalues !== 0) {
|
||||
$url->param('preservevalues', $preservevalues);
|
||||
}
|
||||
if ($courseid !== false) {
|
||||
}
|
||||
if ($courseid !== false) {
|
||||
$url->param('courseid', $courseid);
|
||||
}
|
||||
if ($gopage !== -1) {
|
||||
}
|
||||
if ($gopage !== -1) {
|
||||
$url->param('gopage', $gopage);
|
||||
}
|
||||
if ($lastpage !== false) {
|
||||
}
|
||||
if ($lastpage !== false) {
|
||||
$url->param('lastpage', $lastpage);
|
||||
}
|
||||
if ($startitempos !== 0) {
|
||||
}
|
||||
if ($startitempos !== 0) {
|
||||
$url->param('startitempos', $startitempos);
|
||||
}
|
||||
if ($lastitempos !== 0) {
|
||||
}
|
||||
if ($lastitempos !== 0) {
|
||||
$url->param('lastitempos', $lastitempos);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
$highlightrequired = false;
|
||||
$highlightrequired = false;
|
||||
|
||||
if(($formdata = data_submitted()) AND !confirm_sesskey()) {
|
||||
if(($formdata = data_submitted()) AND !confirm_sesskey()) {
|
||||
print_error('invalidsesskey');
|
||||
}
|
||||
}
|
||||
|
||||
//if the use hit enter into a textfield so the form should not submit
|
||||
if(isset($formdata->sesskey) AND !isset($formdata->savevalues) AND !isset($formdata->gonextpage) AND !isset($formdata->gopreviouspage)) {
|
||||
//if the use hit enter into a textfield so the form should not submit
|
||||
if(isset($formdata->sesskey) AND !isset($formdata->savevalues) AND !isset($formdata->gonextpage) AND !isset($formdata->gopreviouspage)) {
|
||||
$gopage = $formdata->lastpage;
|
||||
}
|
||||
if(isset($formdata->savevalues)) {
|
||||
}
|
||||
if(isset($formdata->savevalues)) {
|
||||
$savevalues = true;
|
||||
}else {
|
||||
}else {
|
||||
$savevalues = false;
|
||||
}
|
||||
}
|
||||
|
||||
if($gopage < 0 AND !$savevalues) {
|
||||
if($gopage < 0 AND !$savevalues) {
|
||||
if(isset($formdata->gonextpage)){
|
||||
$gopage = $lastpage + 1;
|
||||
$gonextpage = true;
|
||||
|
@ -74,108 +74,108 @@ if($gopage < 0 AND !$savevalues) {
|
|||
}else {
|
||||
print_error('parameters_missing', 'feedback');
|
||||
}
|
||||
}else {
|
||||
}else {
|
||||
$gonextpage = $gopreviouspage = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
print_error('badcontext');
|
||||
}
|
||||
}
|
||||
|
||||
$feedback_complete_cap = false;
|
||||
$feedback_complete_cap = false;
|
||||
|
||||
if(isset($CFG->feedback_allowfullanonymous)
|
||||
if(isset($CFG->feedback_allowfullanonymous)
|
||||
AND $CFG->feedback_allowfullanonymous
|
||||
AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
|
||||
$feedback_complete_cap = true;
|
||||
}
|
||||
}
|
||||
|
||||
//check whether the feedback is anonymous
|
||||
if(isset($CFG->feedback_allowfullanonymous)
|
||||
//check whether the feedback is anonymous
|
||||
if(isset($CFG->feedback_allowfullanonymous)
|
||||
AND $CFG->feedback_allowfullanonymous
|
||||
AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES
|
||||
AND $course->id == SITEID ) {
|
||||
$feedback_complete_cap = true;
|
||||
}
|
||||
if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
|
||||
}
|
||||
if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
|
||||
print_error('feedback_is_not_for_anonymous', 'feedback');
|
||||
}
|
||||
}
|
||||
|
||||
//check whether the user has a session
|
||||
// there used to be a sesskey test - this could not work - sorry
|
||||
//check whether the user has a session
|
||||
// there used to be a sesskey test - this could not work - sorry
|
||||
|
||||
//check whether the feedback is located and! started from the mainsite
|
||||
if($course->id == SITEID AND !$courseid) {
|
||||
//check whether the feedback is located and! started from the mainsite
|
||||
if($course->id == SITEID AND !$courseid) {
|
||||
$courseid = SITEID;
|
||||
}
|
||||
}
|
||||
|
||||
require_course_login($course);
|
||||
require_course_login($course);
|
||||
|
||||
if($courseid AND $courseid != SITEID) {
|
||||
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(!$feedback_complete_cap) {
|
||||
if(!$feedback_complete_cap) {
|
||||
print_error('error');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
|
||||
$PAGE->set_cm($cm, $course); // set's up global $COURSE
|
||||
$PAGE->set_pagelayout('incourse');
|
||||
$PAGE->set_cm($cm, $course); // set's up global $COURSE
|
||||
$PAGE->set_pagelayout('incourse');
|
||||
|
||||
$PAGE->navbar->add($strfeedbacks, new moodle_url('/mod/feedback/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($feedback->name));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
$PAGE->navbar->add($strfeedbacks, new moodle_url('/mod/feedback/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($feedback->name));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
//ishidden check. hidden feedbacks except feedbacks on mainsite are only accessible with related capabilities
|
||||
if ((empty($cm->visible) AND
|
||||
//ishidden check. hidden feedbacks except feedbacks on mainsite are only accessible with related capabilities
|
||||
if ((empty($cm->visible) AND
|
||||
!has_capability('moodle/course:viewhiddenactivities', $context)) AND
|
||||
$course->id != SITEID) {
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
}
|
||||
|
||||
feedback_print_errors();
|
||||
feedback_print_errors();
|
||||
|
||||
//check, if the feedback is open (timeopen, timeclose)
|
||||
$checktime = time();
|
||||
if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
|
||||
//check, if the feedback is open (timeopen, timeclose)
|
||||
$checktime = time();
|
||||
if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter');
|
||||
echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
|
||||
echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
|
||||
$feedback_can_submit = true;
|
||||
if($feedback->multiple_submit == 0 ) {
|
||||
//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
|
||||
$feedback_can_submit = true;
|
||||
if($feedback->multiple_submit == 0 ) {
|
||||
// if($multiple_count = $DB->get_record('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
|
||||
if(feedback_is_already_submitted($feedback->id, $courseid)) {
|
||||
$feedback_can_submit = false;
|
||||
}
|
||||
}
|
||||
if($feedback_can_submit) {
|
||||
}
|
||||
if($feedback_can_submit) {
|
||||
//preserving the items
|
||||
if($preservevalues == 1){
|
||||
if (!$SESSION->feedback->is_started == true) {
|
||||
|
@ -230,11 +230,13 @@ if($feedback_can_submit) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if($allbreaks = feedback_get_all_break_positions($feedback->id)){
|
||||
if($gopage <= 0) {
|
||||
$startposition = 0;
|
||||
}else {
|
||||
if(!isset($allbreaks[$gopage - 1])) {
|
||||
$gopage = count($allbreaks);
|
||||
}
|
||||
$startposition = $allbreaks[$gopage - 1];
|
||||
}
|
||||
$ispagebreak = true;
|
||||
|
@ -246,6 +248,7 @@ if($feedback_can_submit) {
|
|||
|
||||
//get the feedbackitems after the last shown pagebreak
|
||||
$feedbackitems = $DB->get_records_select('feedback_item', 'feedback = ? AND position > ?', array($feedback->id, $startposition), 'position');
|
||||
|
||||
//get the first pagebreak
|
||||
if($pagebreaks = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'typ'=>'pagebreak'), 'position')) {
|
||||
$pagebreaks = array_values($pagebreaks);
|
||||
|
@ -346,7 +349,23 @@ if($feedback_can_submit) {
|
|||
}
|
||||
$startitem = $feedbackitem;
|
||||
}
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align);
|
||||
|
||||
if($feedbackitem->dependitem > 0) {
|
||||
//chech if the conditions are ok
|
||||
if(!isset($feedbackcompletedtmp->id) OR !feedback_compare_item_value($feedbackcompletedtmp->id, $feedbackitem->dependitem, $feedbackitem->dependvalue, true)) {
|
||||
$lastitem = $feedbackitem;
|
||||
$lastbreakposition = $feedbackitem->position;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if($feedbackitem->dependitem > 0) {
|
||||
$dependstyle = ' feedback_complete_depend';
|
||||
}else {
|
||||
$dependstyle = '';
|
||||
}
|
||||
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align.$dependstyle);
|
||||
$value = '';
|
||||
//get the value
|
||||
$frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
|
||||
|
@ -423,16 +442,16 @@ if($feedback_can_submit) {
|
|||
$SESSION->feedback->is_started = true;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
}else {
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter');
|
||||
echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
|
||||
echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
|
||||
echo $OUTPUT->box_end();
|
||||
}
|
||||
/// Finish the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
/// Finish the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
|
|
|
@ -55,8 +55,10 @@
|
|||
<FIELD NAME="typ" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="presentation" NEXT="hasvalue"/>
|
||||
<FIELD NAME="hasvalue" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="typ" NEXT="position"/>
|
||||
<FIELD NAME="position" TYPE="int" LENGTH="3" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="hasvalue" NEXT="required"/>
|
||||
<FIELD NAME="required" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="position" NEXT="options"/>
|
||||
<FIELD NAME="options" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="required"/>
|
||||
<FIELD NAME="required" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="position" NEXT="dependitem"/>
|
||||
<FIELD NAME="dependitem" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="required" NEXT="dependvalue"/>
|
||||
<FIELD NAME="dependvalue" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="dependitem" NEXT="options"/>
|
||||
<FIELD NAME="options" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="dependvalue"/>
|
||||
</FIELDS>
|
||||
<KEYS>
|
||||
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for feedback_item" NEXT="feedback"/>
|
||||
|
|
|
@ -301,6 +301,26 @@ function xmldb_feedback_upgrade($oldversion) {
|
|||
upgrade_mod_savepoint($result, 2010051101, 'feedback');
|
||||
}
|
||||
|
||||
if ($result && $oldversion < 2010051600) {
|
||||
/// Define field options to be added to feedback_item
|
||||
$table = new xmldb_table('feedback_item');
|
||||
$field = new xmldb_field('dependitem', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'required');
|
||||
/// Launch add field
|
||||
$dbman->add_field($table, $field);
|
||||
|
||||
upgrade_mod_savepoint($result, 2010051600, 'feedback');
|
||||
}
|
||||
|
||||
if ($result && $oldversion < 2010051601) {
|
||||
/// Define field options to be added to feedback_item
|
||||
$table = new xmldb_table('feedback_item');
|
||||
$field = new xmldb_field('dependvalue', XMLDB_TYPE_CHAR, '255', null, null, false, '', 'dependitem');
|
||||
/// Launch add field
|
||||
$dbman->add_field($table, $field);
|
||||
|
||||
upgrade_mod_savepoint($result, 2010051601, 'feedback');
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* prints the form to confirm the deleting of a completed
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
/**
|
||||
* prints the form to confirm the deleting of a completed
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once('delete_completed_form.php');
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once('delete_completed_form.php');
|
||||
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', 0, PARAM_INT);
|
||||
$return = optional_param('return', 'entries', PARAM_ALPHA);
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$completedid = optional_param('completedid', 0, PARAM_INT);
|
||||
$return = optional_param('return', 'entries', PARAM_ALPHA);
|
||||
|
||||
if($completedid == 0){
|
||||
if($completedid == 0){
|
||||
print_error('no_complete_to_delete', 'feedback', 'show_entries.php?id='.$id.'&do_show=showentries');
|
||||
}
|
||||
}
|
||||
|
||||
$PAGE->set_url('/mod/feedback/delete_completed.php', array('id'=>$id, 'completed'=>$completedid));
|
||||
$PAGE->set_url('/mod/feedback/delete_completed.php', array('id'=>$id, 'completed'=>$completedid));
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
print_error('badcontext');
|
||||
}
|
||||
}
|
||||
|
||||
require_login($course->id, true, $cm);
|
||||
require_login($course->id, true, $cm);
|
||||
|
||||
require_capability('mod/feedback:deletesubmissions', $context);
|
||||
require_capability('mod/feedback:deletesubmissions', $context);
|
||||
|
||||
$mform = new mod_feedback_delete_completed_form();
|
||||
$newformdata = array('id'=>$id,
|
||||
$mform = new mod_feedback_delete_completed_form();
|
||||
$newformdata = array('id'=>$id,
|
||||
'completedid'=>$completedid,
|
||||
'confirmdelete'=>'1',
|
||||
'do_show'=>'edit',
|
||||
'return'=>$return);
|
||||
$mform->set_data($newformdata);
|
||||
$formdata = $mform->get_data();
|
||||
$mform->set_data($newformdata);
|
||||
$formdata = $mform->get_data();
|
||||
|
||||
if ($mform->is_cancelled()) {
|
||||
if ($mform->is_cancelled()) {
|
||||
if($return == 'entriesanonym') {
|
||||
redirect('show_entries_anonym.php?id='.$id);
|
||||
}else {
|
||||
redirect('show_entries.php?id='.$id.'&do_show=showentries');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
|
||||
if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
|
||||
if($completed = $DB->get_record('feedback_completed', array('id'=>$completedid))) {
|
||||
feedback_delete_completed($completedid);
|
||||
add_to_log($course->id, 'feedback', 'delete', 'view.php?id='.$cm->id, $feedback->id,$cm->id);
|
||||
|
@ -70,29 +70,29 @@ if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
|
|||
redirect('show_entries.php?id='.$id.'&do_show=showentries');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
/// Print the page header
|
||||
$strfeedbacks = get_string("modulenameplural", "feedback");
|
||||
$strfeedback = get_string("modulename", "feedback");
|
||||
|
||||
$PAGE->navbar->add($strfeedbacks, new moodle_url('/mod/feedback/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($feedback->name));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
$PAGE->navbar->add($strfeedbacks, new moodle_url('/mod/feedback/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($feedback->name));
|
||||
$PAGE->set_heading(format_string($course->fullname));
|
||||
$PAGE->set_title(format_string($feedback->name));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
/// Print the main part of the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
echo $OUTPUT->heading(format_text($feedback->name));
|
||||
echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
|
||||
echo $OUTPUT->heading(get_string('confirmdeleteentry', 'feedback'));
|
||||
$mform->display();
|
||||
echo $OUTPUT->box_end();
|
||||
/// Print the main part of the page
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
echo $OUTPUT->heading(format_text($feedback->name));
|
||||
echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
|
||||
echo $OUTPUT->heading(get_string('confirmdeleteentry', 'feedback'));
|
||||
$mform->display();
|
||||
echo $OUTPUT->box_end();
|
||||
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
|
||||
|
|
|
@ -253,7 +253,12 @@ if($do_show == 'edit') {
|
|||
if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->movingitem == $feedbackitem->id){ //hiding the item to move
|
||||
continue;
|
||||
}
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align);
|
||||
if($feedbackitem->dependitem > 0) {
|
||||
$dependstyle = ' feedback_depend';
|
||||
}else {
|
||||
$dependstyle = '';
|
||||
}
|
||||
echo $OUTPUT->box_start('feedback_item_box_'.$align.$dependstyle);
|
||||
//items without value only are labels
|
||||
if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
|
||||
$itemnr++;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
/**
|
||||
* prints the form to export the items as xml-file
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
|
@ -8,51 +8,51 @@
|
|||
* @package feedback
|
||||
*/
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
// get parameters
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$action = optional_param('action', false, PARAM_ALPHA);
|
||||
// get parameters
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$action = optional_param('action', false, PARAM_ALPHA);
|
||||
|
||||
$url = new moodle_url('/mod/feedback/export.php', array('id'=>$id));
|
||||
if ($action !== false) {
|
||||
$url = new moodle_url('/mod/feedback/export.php', array('id'=>$id));
|
||||
if ($action !== false) {
|
||||
$url->param('action', $action);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
if (! $cm = get_coursemodule_from_id('feedback', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
|
||||
print_error('badcontext');
|
||||
}
|
||||
}
|
||||
|
||||
require_login($course->id, true, $cm);
|
||||
require_login($course->id, true, $cm);
|
||||
|
||||
require_capability('mod/feedback:edititems', $context);
|
||||
require_capability('mod/feedback:edititems', $context);
|
||||
|
||||
if ($action == 'exportfile') {
|
||||
if ($action == 'exportfile') {
|
||||
if(!$exportdata = feedback_get_xml_data($feedback->id)) {
|
||||
print_error('nodata');
|
||||
}
|
||||
@feedback_send_xml_data($exportdata, 'feedback_'.$feedback->id.'.xml');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
redirect('view.php?id='.$id);
|
||||
exit;
|
||||
redirect('view.php?id='.$id);
|
||||
exit;
|
||||
|
||||
function feedback_get_xml_data($feedbackid) {
|
||||
function feedback_get_xml_data($feedbackid) {
|
||||
global $DB;
|
||||
|
||||
$space = ' ';
|
||||
|
@ -71,6 +71,16 @@ function feedback_get_xml_data($feedbackid) {
|
|||
//start of item
|
||||
$data .= $space.$space.'<ITEM TYPE="'.$item->typ.'" REQUIRED="'.$item->required.'">'."\n";
|
||||
|
||||
//start of itemid
|
||||
$data .= $space.$space.$space.'<ITEMID>'."\n";
|
||||
//start of CDATA
|
||||
$data .= $space.$space.$space.$space.'<![CDATA[';
|
||||
$data .= $item->id;
|
||||
//end of CDATA
|
||||
$data .= ']]>'."\n";
|
||||
//end of itemid
|
||||
$data .= $space.$space.$space.'</ITEMID>'."\n";
|
||||
|
||||
//start of itemtext
|
||||
$data .= $space.$space.$space.'<ITEMTEXT>'."\n";
|
||||
//start of CDATA
|
||||
|
@ -111,6 +121,26 @@ function feedback_get_xml_data($feedbackid) {
|
|||
//end of options
|
||||
$data .= $space.$space.$space.'</OPTIONS>'."\n";
|
||||
|
||||
//start of dependitem
|
||||
$data .= $space.$space.$space.'<DEPENDITEM>'."\n";
|
||||
//start of CDATA
|
||||
$data .= $space.$space.$space.$space.'<![CDATA[';
|
||||
$data .= $item->dependitem;
|
||||
//end of CDATA
|
||||
$data .= ']]>'."\n";
|
||||
//end of dependitem
|
||||
$data .= $space.$space.$space.'</DEPENDITEM>'."\n";
|
||||
|
||||
//start of dependvalue
|
||||
$data .= $space.$space.$space.'<DEPENDVALUE>'."\n";
|
||||
//start of CDATA
|
||||
$data .= $space.$space.$space.$space.'<![CDATA[';
|
||||
$data .= $item->dependvalue;
|
||||
//end of CDATA
|
||||
$data .= ']]>'."\n";
|
||||
//end of dependvalue
|
||||
$data .= $space.$space.$space.'</DEPENDVALUE>'."\n";
|
||||
|
||||
//end of item
|
||||
$data .= $space.$space.'</ITEM>'."\n";
|
||||
}
|
||||
|
@ -120,10 +150,10 @@ function feedback_get_xml_data($feedbackid) {
|
|||
$data .= '</FEEDBACK>'."\n";
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
function feedback_send_xml_data($data, $filename) {
|
||||
function feedback_send_xml_data($data, $filename) {
|
||||
@header('Content-Type: application/xml; charset=UTF-8');
|
||||
@header('Content-Disposition: attachment; filename='.$filename);
|
||||
print($data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,6 +163,10 @@
|
|||
$position = $DB->count_records('feedback_item', array('feedback'=>$feedbackid));
|
||||
}
|
||||
|
||||
//depend items we are storing temporary in an mapping list array(new id => dependitem)
|
||||
//we also store a mapping of all items array(oldid => newid)
|
||||
$dependitemsmap = array();
|
||||
$itembackup = array();
|
||||
foreach($data as $item) {
|
||||
$position++;
|
||||
//check the typ
|
||||
|
@ -229,6 +233,18 @@
|
|||
break;
|
||||
}
|
||||
|
||||
if(isset($item['#']['DEPENDITEM'][0]['#'])) {
|
||||
$newitem->dependitem = intval($item['#']['DEPENDITEM'][0]['#']);
|
||||
}else {
|
||||
$newitem->dependitem = 0;
|
||||
}
|
||||
if(isset($item['#']['DEPENDVALUE'][0]['#'])) {
|
||||
$newitem->dependvalue = trim($item['#']['DEPENDVALUE'][0]['#']);
|
||||
}else {
|
||||
$newitem->dependvalue = '';
|
||||
}
|
||||
$olditemid = intval($item['#']['ITEMID'][0]['#']);
|
||||
|
||||
if($typ != 'pagebreak') {
|
||||
$newitem->hasvalue = $itemobj->get_hasvalue();
|
||||
}else {
|
||||
|
@ -236,8 +252,21 @@
|
|||
}
|
||||
$newitem->required = intval($item['@']['REQUIRED']);
|
||||
$newitem->position = $position;
|
||||
$DB->insert_record('feedback_item', $newitem);
|
||||
$newid = $DB->insert_record('feedback_item', $newitem);
|
||||
|
||||
$itembackup[$olditemid] = $newid;
|
||||
if($newitem->dependitem) {
|
||||
$dependitemsmap[$newid] = $newitem->dependitem;
|
||||
}
|
||||
|
||||
}
|
||||
//remapping the dependency
|
||||
foreach($dependitemsmap as $key => $dependitem) {
|
||||
$newitem = $DB->get_record('feedback_item', array('id'=>$key));
|
||||
$newitem->dependitem = $itembackup[$newitem->dependitem];
|
||||
$DB->update_record('feedback_item', $newitem);
|
||||
}
|
||||
|
||||
return $error;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@ class feedback_import_form extends moodleform {
|
|||
$strnodeleteolditmes = get_string('append_new_items', 'feedback').' ('.get_string('oldvaluespreserved','feedback').')';
|
||||
|
||||
$deleteolditemsarray = array();
|
||||
$mform->addElement('radio', 'deleteolditems', $strdeleteolditmes, '', true);
|
||||
$mform->addElement('radio', 'deleteolditems', $strnodeleteolditmes);
|
||||
$mform->addElement('radio', 'deleteolditems', '', $strdeleteolditmes, true);
|
||||
$mform->addElement('radio', 'deleteolditems', '', $strnodeleteolditmes);
|
||||
$mform->addGroup($deleteolditemsarray, 'deleteolditemsarray', '', array(''), false);
|
||||
|
||||
// hidden elements
|
||||
|
|
|
@ -28,6 +28,22 @@ class feedback_captcha_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -47,11 +63,8 @@ class feedback_captcha_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -33,9 +33,12 @@ class feedback_item_captcha extends feedback_item_base {
|
|||
$item->presentation = empty($item->presentation) ? 3 : $item->presentation;
|
||||
$item->required = 1;
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -129,6 +132,11 @@ class feedback_item_captcha extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
//print the presentation
|
||||
|
@ -269,6 +277,16 @@ class feedback_item_captcha extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is value stored in the db
|
||||
//dependvalue is the value to check
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
if($dbvalue == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
return $data->count_of_nums;
|
||||
}
|
||||
|
|
|
@ -30,6 +30,22 @@ class feedback_info_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -49,11 +65,8 @@ class feedback_info_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -33,9 +33,12 @@ class feedback_item_info extends feedback_item_base {
|
|||
$item->presentation = empty($item->presentation) ? 1 : $item->presentation;
|
||||
$item->required = 0;
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -186,6 +189,11 @@ class feedback_item_info extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
//print the presentation
|
||||
echo '<div class="feedback_item_presentation_'.$align.'">';
|
||||
|
@ -281,6 +289,16 @@ class feedback_item_info extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//the values can be the shortname of a course or the category name
|
||||
//the date is not compareable :(.
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
if($dbvalue == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
return $data->infotype;
|
||||
}
|
||||
|
|
|
@ -35,6 +35,22 @@ class feedback_label_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
|
|
@ -34,9 +34,12 @@ class feedback_item_label extends feedback_item_base {
|
|||
//the elements for position dropdownlist
|
||||
$positionlist = array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true);
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
$this->context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
@ -128,6 +131,13 @@ class feedback_item_label extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT, $DB;
|
||||
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
$this->print_item($item);
|
||||
}
|
||||
|
||||
|
@ -160,6 +170,10 @@ class feedback_item_label extends feedback_item_base {
|
|||
return false;
|
||||
}
|
||||
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//used by create_item and update_item functions,
|
||||
//when provided $data submitted from feedback_show_edit
|
||||
function get_presentation($data) {
|
||||
|
|
|
@ -42,9 +42,12 @@ class feedback_item_multichoice extends feedback_item_base {
|
|||
$item->ignoreempty = $this->ignoreempty($item);
|
||||
$item->hidenoselect = $this->hidenoselect($item);
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -248,7 +251,7 @@ class feedback_item_multichoice extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT;
|
||||
global $OUTPUT, $DB;
|
||||
$info = $this->get_info($item);
|
||||
$align = right_to_left() ? 'right' : 'left';
|
||||
|
||||
|
@ -263,6 +266,11 @@ class feedback_item_multichoice extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
//print the presentation
|
||||
|
@ -478,6 +486,31 @@ class feedback_item_multichoice extends feedback_item_base {
|
|||
return trim($this->item_arrayToString($vallist));
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is the number of one selection
|
||||
//dependvalue is the presentation of one selection
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
|
||||
if (is_array($dbvalue)) {
|
||||
$dbvalues = $dbvalue;
|
||||
}else {
|
||||
$dbvalues = explode(FEEDBACK_MULTICHOICE_LINE_SEP, $dbvalue);
|
||||
}
|
||||
|
||||
$info = $this->get_info($item);
|
||||
$presentation = explode (FEEDBACK_MULTICHOICE_LINE_SEP, $info->presentation);
|
||||
$index = 1;
|
||||
foreach($presentation as $pres) {
|
||||
foreach($dbvalues as $dbval) {
|
||||
if($dbval == $index AND trim($pres) == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
$index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
$present = str_replace("\n", FEEDBACK_MULTICHOICE_LINE_SEP, trim($data->itemvalues));
|
||||
if(!isset($data->subtype)) {
|
||||
|
|
|
@ -32,6 +32,7 @@ class feedback_multichoice_form extends feedback_item_form {
|
|||
'c'=>get_string('check', 'feedback'),
|
||||
'd'=>get_string('dropdown', 'feedback')));
|
||||
|
||||
|
||||
$mform->addElement('selectyesno', 'ignoreempty', get_string('do_not_analyse_empty_submits', 'feedback'));
|
||||
$mform->addElement('selectyesno', 'hidenoselect', get_string('hide_no_select_option', 'feedback'));
|
||||
|
||||
|
@ -43,6 +44,22 @@ class feedback_multichoice_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -62,11 +79,8 @@ class feedback_multichoice_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -47,9 +47,12 @@ class feedback_item_multichoicerated extends feedback_item_base {
|
|||
$item->ignoreempty = $this->ignoreempty($item);
|
||||
$item->hidenoselect = $this->hidenoselect($item);
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -238,7 +241,8 @@ class feedback_item_multichoicerated extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT;
|
||||
global $OUTPUT, $DB;
|
||||
|
||||
$align = right_to_left() ? 'right' : 'left';
|
||||
$info = $this->get_info($item);
|
||||
|
||||
|
@ -248,6 +252,11 @@ class feedback_item_multichoicerated extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
//print the presentation
|
||||
|
@ -352,6 +361,32 @@ class feedback_item_multichoicerated extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is the number of one selection
|
||||
//dependvalue is the presentation of one selection
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
|
||||
if (is_array($dbvalue)) {
|
||||
$dbvalues = $dbvalue;
|
||||
}else {
|
||||
$dbvalues = explode(FEEDBACK_MULTICHOICERATED_LINE_SEP, $dbvalue);
|
||||
}
|
||||
|
||||
$info = $this->get_info($item);
|
||||
$presentation = explode (FEEDBACK_MULTICHOICERATED_LINE_SEP, $info->presentation);
|
||||
$index = 1;
|
||||
foreach($presentation as $pres) {
|
||||
$presvalues = explode(FEEDBACK_MULTICHOICERATED_VALUE_SEP, $pres);
|
||||
|
||||
foreach($dbvalues as $dbval) {
|
||||
if($dbval == $index AND trim($presvalues[1]) == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
$index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function get_presentation($data) {
|
||||
// $present = str_replace("\n", FEEDBACK_MULTICHOICERATED_LINE_SEP, trim($data->itemvalues));
|
||||
$present = $this->prepare_presentation_values_save(trim($data->itemvalues), FEEDBACK_MULTICHOICERATED_VALUE_SEP2, FEEDBACK_MULTICHOICERATED_VALUE_SEP);
|
||||
|
|
|
@ -42,6 +42,22 @@ class feedback_multichoicerated_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -61,11 +77,8 @@ class feedback_multichoicerated_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -47,9 +47,12 @@ class feedback_item_numeric extends feedback_item_base {
|
|||
$item->rangefrom = $range_from;
|
||||
$item->rangeto = $range_to;
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -184,7 +187,8 @@ class feedback_item_numeric extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT;
|
||||
global $OUTPUT, $DB;
|
||||
|
||||
$align = right_to_left() ? 'right' : 'left';
|
||||
|
||||
//get the range
|
||||
|
@ -198,6 +202,11 @@ class feedback_item_numeric extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name . $requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '<span class="feedback_item_numinfo">';
|
||||
switch(true) {
|
||||
case ($range_from === '-' AND is_numeric($range_to)):
|
||||
|
@ -363,6 +372,16 @@ class feedback_item_numeric extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is the number put in by the user
|
||||
//dependvalue is the value that is compared
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
if($dbvalue == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
$num1 = str_replace($this->sep_dec, FEEDBACK_DECIMAL, $data->numericrangefrom);
|
||||
if(is_numeric($num1)) {
|
||||
|
|
|
@ -28,6 +28,22 @@ class feedback_numeric_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -47,11 +63,8 @@ class feedback_numeric_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -38,9 +38,12 @@ class feedback_item_textarea extends feedback_item_base {
|
|||
$item->itemwidth = $itemwidth;
|
||||
$item->itemheight = $itemheight;
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -152,7 +155,8 @@ class feedback_item_textarea extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT;
|
||||
global $OUTPUT, $DB;
|
||||
|
||||
$align = right_to_left() ? 'right' : 'left';
|
||||
|
||||
$presentation = explode ("|", $item->presentation);
|
||||
|
@ -161,6 +165,11 @@ class feedback_item_textarea extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
//print the presentation
|
||||
|
@ -244,6 +253,16 @@ class feedback_item_textarea extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is the value put in by the user
|
||||
//dependvalue is the value that is compared
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
if($dbvalue == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
return $data->itemwidth . '|'. $data->itemheight;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,22 @@ class feedback_textarea_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -52,11 +68,8 @@ class feedback_textarea_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -38,9 +38,12 @@ class feedback_item_textfield extends feedback_item_base {
|
|||
$item->itemsize = $itemsize;
|
||||
$item->itemmaxlength = $itemlength;
|
||||
|
||||
//all items for dependitem
|
||||
$feedbackitems = feedback_get_depend_candidates_for_item($feedback, $item);
|
||||
$commonparams = array('cmid'=>$cm->id,
|
||||
'id'=>isset($item->id) ? $item->id : NULL,
|
||||
'typ'=>$item->typ,
|
||||
'items'=>$feedbackitems,
|
||||
'feedback'=>$feedback->id);
|
||||
|
||||
//build the form
|
||||
|
@ -149,7 +152,7 @@ class feedback_item_textfield extends feedback_item_base {
|
|||
* @return void
|
||||
*/
|
||||
function print_item_preview($item) {
|
||||
global $OUTPUT;
|
||||
global $OUTPUT, $DB;
|
||||
$align = right_to_left() ? 'right' : 'left';
|
||||
|
||||
$presentation = explode ("|", $item->presentation);
|
||||
|
@ -158,6 +161,11 @@ class feedback_item_textfield extends feedback_item_base {
|
|||
echo '<div class="feedback_item_label_'.$align.'">';
|
||||
echo '('.$item->label.') ';
|
||||
echo format_text($item->name.$requiredmark, true, false, false);
|
||||
if($item->dependitem) {
|
||||
if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
|
||||
echo ' <span class="feedback_depend">('.$dependitem->label.'->'.$item->dependvalue.')</span>';
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
//print the presentation
|
||||
|
@ -239,6 +247,16 @@ class feedback_item_textfield extends feedback_item_base {
|
|||
return $data;
|
||||
}
|
||||
|
||||
//compares the dbvalue with the dependvalue
|
||||
//dbvalue is the value put in by the user
|
||||
//dependvalue is the value that is compared
|
||||
function compare_value($item, $dbvalue, $dependvalue) {
|
||||
if($dbvalue == $dependvalue) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_presentation($data) {
|
||||
return $data->itemsize . '|'. $data->itemmaxlength;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,22 @@ class feedback_textfield_form extends feedback_item_form {
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
//the following is used in all itemforms
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//itemdepending
|
||||
if($common['items']) {
|
||||
$mform->addElement('select',
|
||||
'dependitem',
|
||||
get_string('dependitem', 'feedback').' ',
|
||||
$common['items']
|
||||
);
|
||||
$mform->addHelpButton('dependitem', 'depending', 'feedback');
|
||||
$mform->addElement('text', 'dependvalue', get_string('dependvalue', 'feedback'), array('size="'.FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE.'"','maxlength="255"'));
|
||||
}else {
|
||||
$mform->addElement('hidden', 'dependitem', 0);
|
||||
$mform->setType('dependitem', PARAM_INT);
|
||||
$mform->addElement('hidden', 'dependvalue', '');
|
||||
$mform->setType('dependitem', PARAM_ALPHA);
|
||||
}
|
||||
|
||||
$position_select = $mform->addElement('select',
|
||||
'position',
|
||||
get_string('position', 'feedback').' ',
|
||||
|
@ -52,11 +68,8 @@ class feedback_textfield_form extends feedback_item_form {
|
|||
$mform->addElement('hidden', 'template', 0);
|
||||
$mform->setType('template', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'name', 'label');
|
||||
$mform->setType('template', PARAM_ALPHA);
|
||||
|
||||
$mform->addElement('hidden', 'label', '-');
|
||||
$mform->setType('label', PARAM_ALPHA);
|
||||
$mform->setType('name', PARAM_RAW);
|
||||
$mform->setType('label', PARAM_ALPHANUM);
|
||||
|
||||
$mform->addElement('hidden', 'typ', $this->type);
|
||||
$mform->setType('typ', PARAM_ALPHA);
|
||||
|
|
|
@ -62,6 +62,28 @@ $string['delete_item'] = 'Delete question';
|
|||
$string['delete_old_items'] = 'Delete old items';
|
||||
$string['delete_template'] = 'Delete template';
|
||||
$string['delete_templates'] = 'Delete template...';
|
||||
$string['depending'] = 'depending items';
|
||||
$string['depending_help'] = 'Depending items allow you to show items depend on values from other items.<br />
|
||||
<strong>Here an build expample to use it:</strong><br />
|
||||
<ul>
|
||||
<li>First create an item on which value other items depends.</li>
|
||||
<li>Next add a pagebreak.</li>
|
||||
<li>Next add the items depend on the item-value before<br />
|
||||
Choose in the item creation-form the item in the list "depend item" and put the needed value into the textbox "depend value".</li>
|
||||
</ul>
|
||||
<strong>The structure should looks like this:</strong>
|
||||
<ol>
|
||||
<li>Item Q: do you have a car? A: yes/no</li>
|
||||
<li>Pagebreak</li>
|
||||
<li>Item Q: what color has your car?<br />
|
||||
(this item depends on item 1 with value = yes)</li>
|
||||
<li>Item Q: why you have not a car?<br />
|
||||
(this item depends on item 1 with value = no)</li>
|
||||
<li> ... other items</li>
|
||||
</ol>
|
||||
That is all. Have fun!';
|
||||
$string['dependitem'] = 'depend item';
|
||||
$string['dependvalue'] = 'depend value';
|
||||
$string['description'] = 'Description';
|
||||
$string['do_not_analyse_empty_submits'] = 'Do not analyse empty submits';
|
||||
$string['dropdown'] = 'Multiple choice - single answer allowed (dropdownlist)';
|
||||
|
|
|
@ -870,7 +870,12 @@ function feedback_save_as_template($feedback, $name, $ispublic = 0) {
|
|||
$f_context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
||||
//create items of this new template
|
||||
//depend items we are storing temporary in an mapping list array(new id => dependitem)
|
||||
//we also store a mapping of all items array(oldid => newid)
|
||||
$dependitemsmap = array();
|
||||
$itembackup = array();
|
||||
foreach($feedbackitems as $item) {
|
||||
|
||||
$t_item = clone($item);
|
||||
|
||||
unset($t_item->id);
|
||||
|
@ -887,7 +892,21 @@ function feedback_save_as_template($feedback, $name, $ispublic = 0) {
|
|||
$fs->create_file_from_storedfile($file_record, $ifile);
|
||||
}
|
||||
}
|
||||
|
||||
$itembackup[$item->id] = $t_item->id;
|
||||
if($t_item->dependitem) {
|
||||
$dependitemsmap[$t_item->id] = $t_item->dependitem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//remapping the dependency
|
||||
foreach($dependitemsmap as $key => $dependitem) {
|
||||
$newitem = $DB->get_record('feedback_item', array('id'=>$key));
|
||||
$newitem->dependitem = $itembackup[$newitem->dependitem];
|
||||
$DB->update_record('feedback_item', $newitem);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -963,6 +982,11 @@ function feedback_items_from_template($feedback, $templateid, $deleteold = false
|
|||
$positionoffset = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
|
||||
}
|
||||
|
||||
//create items of this new template
|
||||
//depend items we are storing temporary in an mapping list array(new id => dependitem)
|
||||
//we also store a mapping of all items array(oldid => newid)
|
||||
$dependitemsmap = array();
|
||||
$itembackup = array();
|
||||
foreach($templitems as $t_item) {
|
||||
$item = clone($t_item);
|
||||
unset($item->id);
|
||||
|
@ -982,6 +1006,18 @@ function feedback_items_from_template($feedback, $templateid, $deleteold = false
|
|||
$fs->create_file_from_storedfile($file_record, $tfile);
|
||||
}
|
||||
}
|
||||
|
||||
$itembackup[$t_item->id] = $item->id;
|
||||
if($item->dependitem) {
|
||||
$dependitemsmap[$item->id] = $item->dependitem;
|
||||
}
|
||||
}
|
||||
|
||||
//remapping the dependency
|
||||
foreach($dependitemsmap as $key => $dependitem) {
|
||||
$newitem = $DB->get_record('feedback_item', array('id'=>$key));
|
||||
$newitem->dependitem = $itembackup[$newitem->dependitem];
|
||||
$DB->update_record('feedback_item', $newitem);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1056,6 +1092,26 @@ function feedback_load_feedback_items_options() {
|
|||
return $feedback_options;
|
||||
}
|
||||
|
||||
function feedback_get_depend_candidates_for_item($feedback, $item) {
|
||||
global $DB;
|
||||
//all items for dependitem
|
||||
$where = "feedback = ? AND typ != 'pagebreak' AND hasvalue = 1";
|
||||
$params = array($feedback->id);
|
||||
if(isset($item->id) AND $item->id) {
|
||||
$where .= ' AND id != ?';
|
||||
$params[] = $item->id;
|
||||
}
|
||||
$dependitems = array(0 => get_string('choose'));
|
||||
if(!$feedbackitems = $DB->get_records_select_menu('feedback_item', $where, $params, 'position', 'id, label')) {
|
||||
return $dependitems;
|
||||
}
|
||||
//adding the choose-option
|
||||
foreach($feedbackitems as $key=>$val) {
|
||||
$dependitems[$key] = $val;
|
||||
}
|
||||
return $dependitems;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a new item-record
|
||||
*
|
||||
|
@ -1150,6 +1206,11 @@ function feedback_delete_item($itemid, $renumber = true){
|
|||
|
||||
$DB->delete_records("feedback_value", array("item"=>$itemid));
|
||||
$DB->delete_records("feedback_valuetmp", array("item"=>$itemid));
|
||||
|
||||
//remove all depends
|
||||
$DB->set_field('feedback_item', 'dependvalue', '', array('dependitem'=>$itemid));
|
||||
$DB->set_field('feedback_item', 'dependitem', 0, array('dependitem'=>$itemid));
|
||||
|
||||
$DB->delete_records("feedback_item", array("id"=>$itemid));
|
||||
if($renumber) {
|
||||
feedback_renumber_items($item->feedback);
|
||||
|
@ -1435,54 +1496,44 @@ function feedback_save_tmp_values($feedbackcompletedtmp, $feedbackcompleted, $us
|
|||
global $DB;
|
||||
|
||||
$tmpcplid = $feedbackcompletedtmp->id;
|
||||
if(!$feedbackcompleted) {
|
||||
|
||||
//first we create a completedtmp
|
||||
$newcpl = new object();
|
||||
foreach($feedbackcompletedtmp as $key => $value) {
|
||||
$newcpl->{$key} = $value;
|
||||
}
|
||||
|
||||
unset($newcpl->id);
|
||||
$newcpl->userid = $userid;
|
||||
$newcpl->timemodified = time();
|
||||
$newcpl->id = $DB->insert_record('feedback_completed', $newcpl);
|
||||
//get all values of tmp-completed
|
||||
if(!$values = $DB->get_records('feedback_valuetmp', array('completed'=>$feedbackcompletedtmp->id))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach($values as $value) {
|
||||
unset($value->id);
|
||||
$value->completed = $newcpl->id;
|
||||
$DB->insert_record('feedback_value', $value);
|
||||
}
|
||||
//drop all the tmpvalues
|
||||
$DB->delete_records('feedback_valuetmp', array('completed'=>$tmpcplid));
|
||||
$DB->delete_records('feedback_completedtmp', array('id'=>$tmpcplid));
|
||||
return $newcpl->id;
|
||||
|
||||
} else {
|
||||
if($feedbackcompleted) {
|
||||
//first drop all existing values
|
||||
$DB->delete_records('feedback_value', array('completed'=>$feedbackcompleted->id));
|
||||
//update the current completed
|
||||
$feedbackcompleted->timemodified = time();
|
||||
$DB->update_record('feedback_completed', $feedbackcompleted);
|
||||
}else {
|
||||
$feedbackcompleted = clone($feedbackcompletedtmp);
|
||||
$feedbackcompleted->id = '';
|
||||
$feedbackcompleted->userid = $userid;
|
||||
$feedbackcompleted->timemodified = time();
|
||||
$feedbackcompleted->id = $DB->insert_record('feedback_completed', $feedbackcompleted);
|
||||
}
|
||||
|
||||
//save all the new values from feedback_valuetmp
|
||||
//get all values of tmp-completed
|
||||
if(!$values = $DB->get_records('feedback_valuetmp', array('completed'=>$feedbackcompletedtmp->id))) {
|
||||
return false;
|
||||
}
|
||||
foreach($values as $value) {
|
||||
//check if there are depend items
|
||||
$item = $DB->get_record('feedback_item', array('id'=>$value->item));
|
||||
if($item->dependitem > 0) {
|
||||
$check = feedback_compare_item_value($tmpcplid, $item->dependitem, $item->dependvalue, true);
|
||||
}else {
|
||||
$check = true;
|
||||
}
|
||||
if($check) {
|
||||
unset($value->id);
|
||||
$value->completed = $feedbackcompleted->id;
|
||||
$DB->insert_record('feedback_value', $value);
|
||||
}
|
||||
}
|
||||
//drop all the tmpvalues
|
||||
$DB->delete_records('feedback_valuetmp', array('completed'=>$tmpcplid));
|
||||
$DB->delete_records('feedback_completedtmp', array('id'=>$tmpcplid));
|
||||
return $feedbackcompleted->id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1561,7 +1612,9 @@ function feedback_get_all_break_positions($feedbackid) {
|
|||
* @return int the position of the last pagebreak
|
||||
*/
|
||||
function feedback_get_last_break_position($feedbackid) {
|
||||
if(!$allbreaks = feedback_get_all_break_positions($feedbackid)) return false;
|
||||
if(!$allbreaks = feedback_get_all_break_positions($feedbackid)) {
|
||||
return false;
|
||||
}
|
||||
return $allbreaks[count($allbreaks) - 1];
|
||||
}
|
||||
|
||||
|
@ -1695,6 +1748,22 @@ function feedback_get_item_value($completedid, $itemid, $tmp = false) {
|
|||
return $DB->get_field('feedback_value'.$tmpstr, 'value', array('completed'=>$completedid, 'item'=>$itemid));
|
||||
}
|
||||
|
||||
function feedback_compare_item_value($completedid, $itemid, $dependvalue, $tmp = false) {
|
||||
global $DB, $CFG;
|
||||
|
||||
$dbvalue = feedback_get_item_value($completedid, $itemid, $tmp);
|
||||
|
||||
//get the class of the given item-typ
|
||||
$item = $DB->get_record('feedback_item', array('id'=>$itemid));
|
||||
$itemclass = 'feedback_item_'.$item->typ;
|
||||
if (!class_exists($itemclass)) {
|
||||
require_once($CFG->dirroot.'/mod/feedback/item/'.$item->typ.'/lib.php');
|
||||
}
|
||||
//get the instance of the item-class
|
||||
$itemobj = new $itemclass();
|
||||
return $itemobj->compare_value($item, $dbvalue, $dependvalue); //true or false
|
||||
}
|
||||
|
||||
/**
|
||||
* this function checks the correctness of values.
|
||||
* the rules for this are implemented in the class of each item.
|
||||
|
|
|
@ -16,6 +16,18 @@ span.feedback_info {
|
|||
div.feedback_item_box_left, div.feedback_item_box_right {
|
||||
}
|
||||
|
||||
div.feedback_depend {
|
||||
background:#DDDDDD;
|
||||
}
|
||||
|
||||
div.feedback_complete_depend {
|
||||
background:#EEEEEE;
|
||||
}
|
||||
|
||||
span.feedback_depend {
|
||||
color:#ff0000;
|
||||
}
|
||||
|
||||
div.feedback_item_number_left, div.feedback_item_left {
|
||||
float:left;
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
*/
|
||||
|
||||
|
||||
$module->version = 2010051101; // The current module version (Date: YYYYMMDDXX)
|
||||
$module->requires = 2009041700; // Requires this Moodle version
|
||||
$module->version = 2010051601; // The current module version (Date: YYYYMMDDXX)
|
||||
$module->requires = 2010050414; // 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)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue