From ed93c78b8ea9f646868639140a637858175e6ea9 Mon Sep 17 00:00:00 2001 From: agrabs Date: Thu, 12 Mar 2009 11:04:21 +0000 Subject: [PATCH] MDL-18529 - the editing textbox of questions now has a with of 80 chars. additionally I added the item information from feedback for 1.9 --- mod/feedback/item/captcha/captcha_form.php | 2 +- .../item/feedback_item_form_class.php | 1 + mod/feedback/item/info/info_form.php | 27 +++ mod/feedback/item/info/lib.php | 171 ++++++++++++++++++ .../item/multichoice/multichoice_form.php | 4 +- .../multichoicerated_form.php | 4 +- mod/feedback/item/numeric/numeric_form.php | 2 +- mod/feedback/item/textarea/textarea_form.php | 2 +- .../item/textfield/textfield_form.php | 6 +- mod/feedback/version.php | 2 +- 10 files changed, 210 insertions(+), 11 deletions(-) create mode 100644 mod/feedback/item/info/info_form.php create mode 100644 mod/feedback/item/info/lib.php diff --git a/mod/feedback/item/captcha/captcha_form.php b/mod/feedback/item/captcha/captcha_form.php index d05ebf9ad4..2e92b449ca 100644 --- a/mod/feedback/item/captcha/captcha_form.php +++ b/mod/feedback/item/captcha/captcha_form.php @@ -14,7 +14,7 @@ class feedback_captcha_form extends feedback_item_form { $mform->addElement('header', 'general', get_string($this->type, 'feedback')); $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->select = $mform->addElement('select', 'count_of_nums', diff --git a/mod/feedback/item/feedback_item_form_class.php b/mod/feedback/item/feedback_item_form_class.php index 178c76c903..ab1fa2a35c 100644 --- a/mod/feedback/item/feedback_item_form_class.php +++ b/mod/feedback/item/feedback_item_form_class.php @@ -2,6 +2,7 @@ require_once $CFG->libdir.'/formslib.php'; +define('FEEDBACK_ITEM_NAME_TEXTBOX_SIZE', 80); class feedback_item_form extends moodleform { function get_item_form() { diff --git a/mod/feedback/item/info/info_form.php b/mod/feedback/item/info/info_form.php new file mode 100644 index 0000000000..998d7368b4 --- /dev/null +++ b/mod/feedback/item/info/info_form.php @@ -0,0 +1,27 @@ +dirroot.'/mod/feedback/item/feedback_item_form_class.php'); + +class feedback_info_form extends feedback_item_form { + var $type = "info"; + var $requiredcheck; + var $itemname; + var $infotype; + + function definition() { + $mform =& $this->_form; + + $mform->addElement('header', 'general', get_string($this->type, 'feedback')); + $this->requiredcheck = &$mform->addElement('hidden', 'required'); + + $this->itemname = &$mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); + + $options=array(); + $options[1] = get_string('responsetime', 'feedback'); + $options[2] = get_string('coursename', 'feedback'); + $options[3] = get_string('coursecategory', 'feedback'); + $this->infotype = &$mform->addElement('select', 'infotype', get_string('infotype', 'feedback'), $options); + + } +} +?> diff --git a/mod/feedback/item/info/lib.php b/mod/feedback/item/info/lib.php new file mode 100644 index 0000000000..3020b00550 --- /dev/null +++ b/mod/feedback/item/info/lib.php @@ -0,0 +1,171 @@ +dirroot.'/mod/feedback/item/feedback_item_class.php'); + +class feedback_item_info extends feedback_item_base { + var $type = "info"; + function init() { + + } + + function &show_edit($item) { + global $CFG; + + require_once('info_form.php'); + + $item_form = new feedback_info_form(); + + $item->presentation = empty($item->presentation) ? '' : $item->presentation; + $item->name = empty($item->name) ? '' : htmlspecialchars($item->name); + + $item_form->requiredcheck->setValue(false); + + $item_form->itemname->setValue($item->name); + + $item_form->infotype->setValue($item->presentation); + + return $item_form; + } + + //liefert eine Struktur ->name, ->data = array(mit Antworten) + function get_analysed($item, $groupid = false, $courseid = false) { + + $presentation = $item->presentation; + $aVal = null; + $aVal->data = null; + $aVal->name = $item->name; + //$values = get_records('feedback_value', 'item', $item->id); + $values = feedback_get_group_values($item, $groupid, $courseid); + if($values) { + $data = array(); + $datavalue = new object(); + foreach($values as $value) { + + switch($presentation) { + case 1: + $datavalue->value = $value->value; + $datavalue->show = UserDate($datavalue->value); + break; + case 2: + $datavalue->value = $value->value; + $datavalue->show = $datavalue->value; + break; + case 3: + $datavalue->value = $value->value; + $datavalue->show = $datavalue->value; + break; + } + + $data[] = $datavalue; + } + $aVal->data = $data; + } + return $aVal; + } + + function get_printval($item, $value) { + + if(!isset($value->value)) return ''; + return UserDate($value->value); + } + + function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) { + $analysed_item = $this->get_analysed($item, $groupid, $courseid); + $data = $analysed_item->data; + if(is_array($data)) { + echo ''. $itemnr . ' ' . $item->name .''; + for($i = 0; $i < sizeof($data); $i++) { + echo '-  ' . str_replace("\n", '
', $data[$i]->show) . ''; + } + } + // return $itemnr; + } + + function excelprint_item(&$worksheet, $rowOffset, $item, $groupid, $courseid = false) { + $analysed_item = $this->get_analysed($item, $groupid, $courseid); + + $worksheet->setFormat(""); + $worksheet->write_string($rowOffset, 0, $item->name); + $data = $analysed_item->data; + if(is_array($data)) { + $worksheet->setFormat(""); + $worksheet->write_string($rowOffset, 1, $data[0]->show); + $rowOffset++; + for($i = 1; $i < sizeof($data); $i++) { + $worksheet->setFormat(""); + $worksheet->write_string($rowOffset, 1, $data[$i]->show); + $rowOffset++; + } + } + $rowOffset++; + return $rowOffset; + } + + function print_item($item, $value = false, $readonly = false, $edit = false, $highlightrequire = false){ + global $USER, $DB; + $align = get_string('thisdirection') == 'ltr' ? 'left' : 'right'; + + $presentation = $item->presentation; + if($highlightrequire AND $item->required AND strval($value) == '') { + $highlight = 'bgcolor="#FFAAAA" class="missingrequire"'; + }else { + $highlight = ''; + } + $requiredmark = ($item->required == 1)?'':''; + ?> + valign="top" align="">name . $requiredmark, true, false, false);?> + + get_record('feedback', array('id'=>$item->feedback)); + $course = $DB->get_record('course', array('id'=>$feedback->course)); + $coursecategory = $DB->get_record('course_categories', array('id'=>$course->category)); + switch($presentation) { + case 1: + $itemvalue = time(); + $itemshowvalue = UserDate($itemvalue); + break; + case 2: + $itemvalue = $course->shortname; + $itemshowvalue = $itemvalue; + break; + case 3: + $itemvalue = $coursecategory->name; + $itemshowvalue = $itemvalue; + break; + } + ?> + + + + + infotype; + } + + function get_hasvalue() { + return 1; + } +} +?> diff --git a/mod/feedback/item/multichoice/multichoice_form.php b/mod/feedback/item/multichoice/multichoice_form.php index 585b388654..abf2f8ab87 100644 --- a/mod/feedback/item/multichoice/multichoice_form.php +++ b/mod/feedback/item/multichoice/multichoice_form.php @@ -17,7 +17,7 @@ class feedback_multichoice_form extends feedback_item_form { $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->selectadjust = $mform->addElement('select', 'horizontal', @@ -33,7 +33,7 @@ class feedback_multichoice_form extends feedback_item_form { $mform->addElement('static', 'hint', get_string('multichoice_values', 'feedback'), get_string('use_one_line_for_each_value', 'feedback')); - $this->values = $mform->addElement('textarea', 'itemvalues', '', 'wrap="virtual" rows="10" cols="30"'); + $this->values = $mform->addElement('textarea', 'itemvalues', '', 'wrap="virtual" rows="10" cols="65"'); } } diff --git a/mod/feedback/item/multichoicerated/multichoicerated_form.php b/mod/feedback/item/multichoicerated/multichoicerated_form.php index b049a68fdc..c771ec8648 100644 --- a/mod/feedback/item/multichoicerated/multichoicerated_form.php +++ b/mod/feedback/item/multichoicerated/multichoicerated_form.php @@ -17,7 +17,7 @@ class feedback_multichoicerated_form extends feedback_item_form { $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->selectadjust = $mform->addElement('select', 'horizontal', @@ -32,7 +32,7 @@ class feedback_multichoicerated_form extends feedback_item_form { $mform->addElement('static', 'hint', get_string('multichoice_values', 'feedback'), get_string('use_one_line_for_each_value', 'feedback')); - $this->values = $mform->addElement('textarea', 'itemvalues', '', 'wrap="virtual" rows="10" cols="30"'); + $this->values = $mform->addElement('textarea', 'itemvalues', '', 'wrap="virtual" rows="10" cols="65"'); } } diff --git a/mod/feedback/item/numeric/numeric_form.php b/mod/feedback/item/numeric/numeric_form.php index 85b95910de..ac25ea463e 100644 --- a/mod/feedback/item/numeric/numeric_form.php +++ b/mod/feedback/item/numeric/numeric_form.php @@ -15,7 +15,7 @@ class feedback_numeric_form extends feedback_item_form { $mform->addElement('header', 'general', get_string($this->type, 'feedback')); $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->selectfrom = $mform->addElement('text', 'numericrangefrom', get_string('numeric_range_from', 'feedback'), array('size="10"','maxlength="10"')); diff --git a/mod/feedback/item/textarea/textarea_form.php b/mod/feedback/item/textarea/textarea_form.php index bde373d14e..8579cf4002 100644 --- a/mod/feedback/item/textarea/textarea_form.php +++ b/mod/feedback/item/textarea/textarea_form.php @@ -15,7 +15,7 @@ class feedback_textarea_form extends feedback_item_form { $mform->addElement('header', 'general', get_string($this->type, 'feedback')); $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->selectwith = $mform->addElement('select', 'itemwidth', diff --git a/mod/feedback/item/textfield/textfield_form.php b/mod/feedback/item/textfield/textfield_form.php index 02d923061f..16b47aa65c 100644 --- a/mod/feedback/item/textfield/textfield_form.php +++ b/mod/feedback/item/textfield/textfield_form.php @@ -15,17 +15,17 @@ class feedback_textfield_form extends feedback_item_form { $mform->addElement('header', 'general', get_string($this->type, 'feedback')); $this->requiredcheck = $mform->addElement('checkbox', 'required', get_string('required', 'feedback')); - $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="40"','maxlength="255"')); + $this->itemname = $mform->addElement('text', 'itemname', get_string('item_name', 'feedback'), array('size="'.FEEDBACK_ITEM_NAME_TEXTBOX_SIZE.'"','maxlength="255"')); $this->selectwith = $mform->addElement('select', 'itemsize', get_string('textfield_size', 'feedback').' ', - array_slice(range(0,80),5,80,true)); + array_slice(range(0,255),5,255,true)); $this->selectheight = $mform->addElement('select', 'itemmaxlength', get_string('textfield_maxlength', 'feedback').' ', - array_slice(range(0,40),5,40,true)); + array_slice(range(0,255),5,255,true)); } } diff --git a/mod/feedback/version.php b/mod/feedback/version.php index ba3ad5a919..c406e32a1e 100644 --- a/mod/feedback/version.php +++ b/mod/feedback/version.php @@ -10,7 +10,7 @@ */ - $module->version = 2009030604; // The current module version (Date: YYYYMMDDXX) + $module->version = 2009031201; // The current module version (Date: YYYYMMDDXX) $module->requires = 2008072401; // 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) -- 2.39.5