MDL-19489 - add conditional branching (my first try)

This commit is contained in:
Andreas Grabs 2010-05-16 20:05:51 +00:00
parent f53fde9f47
commit 73043833e9
29 changed files with 1597 additions and 1088 deletions

View file

@ -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').' ',

View file

@ -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.'-&gt;'.$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) {