mirror of
https://github.com/moodle/moodle.git
synced 2025-08-08 02:16:41 +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
|
@ -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
|
||||
|
@ -477,7 +485,32 @@ class feedback_item_multichoice extends feedback_item_base {
|
|||
$vallist = $data;
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue