';
echo $OUTPUT->container_start('form-buttons');
$aurl = new moodle_url('analysis_to_excel.php', array('sesskey'=>sesskey(), 'id'=>$id));
echo $OUTPUT->single_button($aurl, get_string('export_to_excel', 'feedback'));
@@ -99,50 +111,55 @@ if( has_capability('mod/feedback:viewreports', $context) ) {
$completedscount = feedback_get_completeds_group_count($feedback, $mygroupid);
//show the group, if available
-if($mygroupid and $group = $DB->get_record('groups', array('id'=>$mygroupid))) {
+if ($mygroupid and $group = $DB->get_record('groups', array('id'=>$mygroupid))) {
echo '
';
// get the items of the feedback
-$items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
+$items = $DB->get_records('feedback_item',
+ array('feedback'=>$feedback->id, 'hasvalue'=>1),
+ 'position');
//show the count
-if(is_array($items)){
- echo '
';
} else {
$items=array();
}
$check_anonymously = true;
-if($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
- if($completedscount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
+if ($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
+ if ($completedscount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
$check_anonymously = false;
}
}
-// echo '
';
+
echo '';
-if($check_anonymously) {
+if ($check_anonymously) {
$itemnr = 0;
//print the items in an analysed form
- foreach($items as $item) {
- if($item->hasvalue == 0) continue;
+ foreach ($items as $item) {
+ if ($item->hasvalue == 0) {
+ continue;
+ }
echo '';
-
+
//get the class of item-typ
$itemobj = feedback_get_item_class($item->typ);
-
+
$itemnr++;
- if($feedback->autonumbering) {
+ if ($feedback->autonumbering) {
$printnr = $itemnr.'.';
} else {
$printnr = '';
}
$itemobj->print_analysed($item, $printnr, $mygroupid);
- // $itemnr = $itemobj->print_analysed($item, $itemnr, $mygroupid);
echo '
';
}
-}else {
- echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), 'insufficient_responses', 'feedback');
+} else {
+ echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'),
+ 'insufficient_responses',
+ 'feedback');
}
echo '
';
echo $OUTPUT->box_end();
diff --git a/mod/feedback/analysis_course.php b/mod/feedback/analysis_course.php
index 548d4c8964b..831863b8654 100644
--- a/mod/feedback/analysis_course.php
+++ b/mod/feedback/analysis_course.php
@@ -1,24 +1,36 @@
.
/**
-* shows an analysed view of a feedback on the mainsite
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * shows an analysed view of a 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");
-// $SESSION->feedback->current_tab = 'analysis';
$current_tab = 'analysis';
$id = required_param('id', PARAM_INT); //the POST dominated the GET
$coursefilter = optional_param('coursefilter', '0', PARAM_INT);
$courseitemfilter = optional_param('courseitemfilter', '0', PARAM_INT);
$courseitemfiltertyp = optional_param('courseitemfiltertyp', '0', PARAM_ALPHANUM);
-// $searchcourse = optional_param('searchcourse', '', PARAM_ALPHAEXT);
$searchcourse = optional_param('searchcourse', '', PARAM_RAW);
$courseid = optional_param('courseid', false, PARAM_INT);
@@ -40,7 +52,7 @@ if ($searchcourse !== '') {
}
$PAGE->set_url($url);
-if(($searchcourse OR $courseitemfilter OR $coursefilter) AND !confirm_sesskey()) {
+if (($searchcourse OR $courseitemfilter OR $coursefilter) AND !confirm_sesskey()) {
print_error('invalidsesskey');
}
@@ -62,7 +74,7 @@ if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
require_login($course->id, true, $cm);
-if( !( (intval($feedback->publish_stats) == 1) OR has_capability('mod/feedback:viewreports', $context))) {
+if (!($feedback->publish_stats OR has_capability('mod/feedback:viewreports', $context))) {
print_error('error');
}
@@ -75,15 +87,19 @@ $PAGE->set_title(format_string($feedback->name));
echo $OUTPUT->header();
/// print the tabs
-include('tabs.php');
+require('tabs.php');
//print the analysed items
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-if( has_capability('mod/feedback:viewreports', $context) ) {
+if (has_capability('mod/feedback:viewreports', $context)) {
//button "export to excel"
echo $OUTPUT->container_start('mdl-align');
- $aurl = new moodle_url('analysis_to_excel.php', array('sesskey'=>sesskey(), 'id'=>$id, 'coursefilter'=>$coursefilter));
+ $aurl = new moodle_url('analysis_to_excel.php',
+ array('sesskey' => sesskey(),
+ 'id' => $id,
+ 'coursefilter' => $coursefilter));
+
echo $OUTPUT->single_button($aurl, get_string('export_to_excel', 'feedback'));
echo $OUTPUT->container_end();
}
@@ -98,11 +114,14 @@ $completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $c
echo ''.get_string('completed_feedbacks', 'feedback').': '.$completedscount. ' ';
// get the items of the feedback
-$items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
+$params = array('feedback' => $feedback->id, 'hasvalue' => 1);
+$items = $DB->get_records('feedback_item', $params, 'position');
//show the count
-if(is_array($items)){
- echo ''.get_string('questions', 'feedback').': ' .sizeof($items). ' ';
- echo ''.get_string('show_all', 'feedback').' ';
+if (is_array($items)) {
+ echo ''.get_string('questions', 'feedback').': ' .count($items). ' ';
+ echo '';
+ echo get_string('show_all', 'feedback');
+ echo ' ';
} else {
$items=array();
}
@@ -114,12 +133,14 @@ if ($courseitemfilter > 0) {
if ($DB->get_dbfamily() == 'postgres') { // TODO: this should be moved to standard sql DML function ;-)
$avgvalue = 'avg(cast (value as integer))';
}
- if ($courses = $DB->get_records_sql ("SELECT fv.course_id, c.shortname, $avgvalue AS avgvalue
- FROM {feedback_value} fv, {course} c, {feedback_item} fi
- WHERE fv.course_id = c.id AND fi.id = fv.item AND fi.typ = ? AND fv.item = ?
- GROUP BY course_id, shortname
- ORDER BY avgvalue desc",
- array($courseitemfiltertyp, $courseitemfilter))) {
+
+ $sql = "SELECT fv.course_id, c.shortname, $avgvalue AS avgvalue
+ FROM {feedback_value} fv, {course} c, {feedback_item} fi
+ WHERE fv.course_id = c.id AND fi.id = fv.item AND fi.typ = ? AND fv.item = ?
+ GROUP BY course_id, shortname
+ ORDER BY avgvalue desc";
+
+ if ($courses = $DB->get_records_sql($sql, array($courseitemfiltertyp, $courseitemfilter))) {
$item = $DB->get_record('feedback_item', array('id'=>$courseitemfilter));
echo ' '.$item->name.' ';
echo '';
@@ -128,8 +149,15 @@ if ($courseitemfilter > 0) {
$sep_thous = get_string('separator_thousand', 'feedback');
foreach ($courses as $c) {
- $shortname = format_string($c->shortname, true, array('context' => get_context_instance(CONTEXT_COURSE, $c->course_id)));
- echo ''.$shortname.' '.number_format(($c->avgvalue), 2, $sep_dec, $sep_thous).' ';
+ $coursecontext = get_context_instance(CONTEXT_COURSE, $c->course_id);
+ $shortname = format_string($c->shortname, true, array('context' => $coursecontext));
+
+ echo '';
+ echo ''.$shortname.' ';
+ echo ''
+ echo number_format(($c->avgvalue), 2, $sep_dec, $sep_thous);
+ echo ' ';
+ echo ' ';
}
echo '
';
} else {
@@ -138,7 +166,8 @@ if ($courseitemfilter > 0) {
} else {
echo get_string('search_course', 'feedback') . ': ';
- echo ' ';
+ echo ' ';
+ echo ' ';
echo ' ';
echo ' ';
echo ' ';
@@ -158,28 +187,40 @@ if ($courseitemfilter > 0) {
echo ' ' . get_string('filter_by_course', 'feedback') . ': ';
- echo html_writer::select($courses, 'coursefilter', $coursefilter, null, array('id'=>'coursefilterid'));
- $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('analysis-form', 'coursefilterid', false));
+ echo html_writer::select($courses, 'coursefilter', $coursefilter,
+ null, array('id'=>'coursefilterid'));
+
+ $PAGE->requires->js_init_call('M.util.init_select_autosubmit',
+ array('analysis-form', 'coursefilterid', false));
}
echo ' ';
$itemnr = 0;
//print the items in an analysed form
echo '';
- foreach($items as $item) {
- if($item->hasvalue == 0) continue;
+ foreach ($items as $item) {
+ if ($item->hasvalue == 0) {
+ continue;
+ }
echo '';
//get the class from item-typ
$itemobj = feedback_get_item_class($item->typ);
$itemnr++;
- if($feedback->autonumbering) {
+ if ($feedback->autonumbering) {
$printnr = $itemnr.'.';
} else {
$printnr = '';
}
$itemobj->print_analysed($item, $printnr, $mygroupid, $coursefilter);
if (preg_match('/rated$/i', $item->typ)) {
- echo ''.
- get_string('sort_by_course', 'feedback').' ';
+ $onclick = 'onclick="setcourseitemfilter'.
+ "(".$item->id.",'".$item->typ."');".
+ ' return false;"';
+
+ $anker = ''.
+ get_string('sort_by_course', 'feedback').
+ ' ';
+
+ echo ''.$anker.' ';
}
echo '
';
}
diff --git a/mod/feedback/analysis_to_excel.php b/mod/feedback/analysis_to_excel.php
index 887735eca03..089bc9d601f 100644
--- a/mod/feedback/analysis_to_excel.php
+++ b/mod/feedback/analysis_to_excel.php
@@ -1,16 +1,29 @@
.
/**
-* prints an analysed excel-spreadsheet of the feedback
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * prints an analysed excel-spreadsheet of 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('easy_excel.php');
require_once("$CFG->libdir/excellib.class.php");
feedback_load_feedback_items();
@@ -63,12 +76,15 @@ $fstring->username = get_string('username');
$fstring->fullname = get_string('fullnameuser');
$fstring->courseid = get_string('courseid', 'feedback');
$fstring->course = get_string('course');
-$fstring->anonymous_user = get_string('anonymous_user','feedback');
+$fstring->anonymous_user = get_string('anonymous_user', 'feedback');
ob_end_clean();
//get the questions (item-names)
-if(!$items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position')) {
- print_error('no_items_available_yet', 'feedback', $CFG->wwwroot.'/mod/feedback/view.php?id='.$id);
+$params = array('feedback' => $feedback->id, 'hasvalue' => 1);
+if (!$items = $DB->get_records('feedback_item', $params, 'position')) {
+ print_error('no_items_available_yet',
+ 'feedback',
+ $CFG->wwwroot.'/mod/feedback/view.php?id='.$id);
exit;
}
@@ -77,54 +93,30 @@ $filename = "feedback.xls";
$mygroupid = groups_get_activity_group($cm);
// Creating a workbook
-// $workbook = new EasyWorkbook("-");
$workbook = new MoodleExcelWorkbook('-');
-// $workbook->setTempDir($CFG->tempdir.'');
$workbook->send($filename);
-// $workbook->setVersion(8);
//creating the needed formats
-$xlsFormats = new stdClass();
-$xlsFormats->head1 = $workbook->add_format(array(
+$xls_formats = new stdClass();
+$xls_formats->head1 = $workbook->add_format(array(
'bold'=>1,
'size'=>12));
-$xlsFormats->head2 = $workbook->add_format(array(
+$xls_formats->head2 = $workbook->add_format(array(
'align'=>'left',
'bold'=>1,
'bottum'=>2));
-$xlsFormats->default = $workbook->add_format(array(
+$xls_formats->default = $workbook->add_format(array(
'align'=>'left',
'v_align'=>'top'));
-// $xlsFormats->head2_green = $workbook->add_format(array(
- // 'align'=>'left',
- // 'bold'=>1,
- // 'v_align'=>'top',
- // 'bottum'=>2,
- // 'fg_color'=>'green'));
-
-$xlsFormats->value_bold = $workbook->add_format(array(
+$xls_formats->value_bold = $workbook->add_format(array(
'align'=>'left',
'bold'=>1,
'v_align'=>'top'));
-// $xlsFormats->value_blue = $workbook->add_format(array(
- // 'align'=>'left',
- // 'bold'=>1,
- // 'v_align'=>'top',
- // 'top'=>2,
- // 'fg_color'=>'blue'));
-
-// $xlsFormats->value_red = $workbook->add_format(array(
- // 'align'=>'left',
- // 'bold'=>1,
- // 'v_align'=>'top',
- // 'top'=>2,
- // 'fg_color'=>'red'));
-
-$xlsFormats->procent = $workbook->add_format(array(
+$xls_formats->procent = $workbook->add_format(array(
'align'=>'left',
'bold'=>1,
'v_align'=>'top',
@@ -134,59 +126,57 @@ $xlsFormats->procent = $workbook->add_format(array(
$sheetname = clean_param($feedback->name, PARAM_ALPHANUM);
error_reporting(0);
$worksheet1 =& $workbook->add_worksheet(substr($sheetname, 0, 31));
-// $worksheet1->set_workbook($workbook);
$worksheet2 =& $workbook->add_worksheet('detailed');
-// $worksheet2->set_workbook($workbook);
error_reporting($CFG->debug);
-// $worksheet1->pear_excel_worksheet->set_portrait();
-// $worksheet1->pear_excel_worksheet->set_paper(9);
-// $worksheet1->pear_excel_worksheet->center_horizontally();
$worksheet1->hide_gridlines();
-// $worksheet1->pear_excel_worksheet->set_header("&\"Arial," . $fstring->bold . "\"&14".$feedback->name);
-// $worksheet1->pear_excel_worksheet->set_footer($fstring->page." &P " . $fstring->of . " &N");
$worksheet1->set_column(0, 0, 10);
$worksheet1->set_column(1, 1, 30);
$worksheet1->set_column(2, 20, 15);
-// $worksheet1->set_margins_LR(0.10);
-
-// $worksheet2->pear_excel_worksheet->set_landscape();
-// $worksheet2->pear_excel_worksheet->set_paper(9);
-// $worksheet2->pear_excel_worksheet->center_horizontally();
//writing the table header
-$rowOffset1 = 0;
-// $worksheet1->setFormat("",12,false);
-$worksheet1->write_string($rowOffset1, 0, UserDate(time()), $xlsFormats->head1);
+$row_offset1 = 0;
+$worksheet1->write_string($row_offset1, 0, userdate(time()), $xls_formats->head1);
////////////////////////////////////////////////////////////////////////
//print the analysed sheet
////////////////////////////////////////////////////////////////////////
//get the completeds
$completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $coursefilter);
-if($completedscount > 0){
+if ($completedscount > 0) {
//write the count of completeds
- $rowOffset1++;
- $worksheet1->write_string($rowOffset1, 0, $fstring->modulenameplural.': '.strval($completedscount), $xlsFormats->head1);
+ $row_offset1++;
+ $worksheet1->write_string($row_offset1,
+ 0,
+ $fstring->modulenameplural.': '.strval($completedscount),
+ $xls_formats->head1);
}
-if(is_array($items)){
- $rowOffset1++;
- $worksheet1->write_string($rowOffset1, 0, $fstring->questions.': '. strval(sizeof($items)), $xlsFormats->head1);
+if (is_array($items)) {
+ $row_offset1++;
+ $worksheet1->write_string($row_offset1,
+ 0,
+ $fstring->questions.': '. strval(count($items)),
+ $xls_formats->head1);
}
-$rowOffset1 += 2;
-$worksheet1->write_string($rowOffset1, 0, $fstring->itemlabel, $xlsFormats->head1);
-$worksheet1->write_string($rowOffset1, 1, $fstring->question, $xlsFormats->head1);
-$worksheet1->write_string($rowOffset1, 2, $fstring->responses, $xlsFormats->head1);
-$rowOffset1++ ;
+$row_offset1 += 2;
+$worksheet1->write_string($row_offset1, 0, $fstring->itemlabel, $xls_formats->head1);
+$worksheet1->write_string($row_offset1, 1, $fstring->question, $xls_formats->head1);
+$worksheet1->write_string($row_offset1, 2, $fstring->responses, $xls_formats->head1);
+$row_offset1++;
if (empty($items)) {
$items=array();
}
-foreach($items as $item) {
+foreach ($items as $item) {
//get the class of item-typ
$itemobj = feedback_get_item_class($item->typ);
- $rowOffset1 = $itemobj->excelprint_item($worksheet1, $rowOffset1, $xlsFormats, $item, $mygroupid, $coursefilter);
+ $row_offset1 = $itemobj->excelprint_item($worksheet1,
+ $row_offset1,
+ $xls_formats,
+ $item,
+ $mygroupid,
+ $coursefilter);
}
////////////////////////////////////////////////////////////////////////
@@ -199,14 +189,18 @@ $completeds = feedback_get_completeds_group($feedback, $mygroupid, $coursefilter
//therefor for each completed we have to iterate over all items of the feedback
//this is done by feedback_excelprint_detailed_items
-$rowOffset2 = 0;
+$row_offset2 = 0;
//first we print the table-header
-$rowOffset2 = feedback_excelprint_detailed_head($worksheet2, $xlsFormats, $items, $rowOffset2);
+$row_offset2 = feedback_excelprint_detailed_head($worksheet2, $xls_formats, $items, $row_offset2);
-if(is_array($completeds)){
- foreach($completeds as $completed) {
- $rowOffset2 = feedback_excelprint_detailed_items($worksheet2, $xlsFormats, $completed, $items, $rowOffset2);
+if (is_array($completeds)) {
+ foreach ($completeds as $completed) {
+ $row_offset2 = feedback_excelprint_detailed_items($worksheet2,
+ $xls_formats,
+ $completed,
+ $items,
+ $row_offset2);
}
}
@@ -219,100 +213,102 @@ exit;
////////////////////////////////////////////////////////////////////////////////
-function feedback_excelprint_detailed_head(&$worksheet, $xlsFormats, $items, $rowOffset) {
+function feedback_excelprint_detailed_head(&$worksheet, $xls_formats, $items, $row_offset) {
global $fstring, $feedback;
- if(!$items) return;
- $colOffset = 0;
+ if (!$items) {
+ return;
+ }
+ $col_offset = 0;
- // $worksheet->setFormat('');
+ $worksheet->write_string($row_offset + 1, $col_offset, $fstring->idnumber, $xls_formats->head2);
+ $col_offset++;
- $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->idnumber, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset + 1, $col_offset, $fstring->username, $xls_formats->head2);
+ $col_offset++;
- $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->username, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset + 1, $col_offset, $fstring->fullname, $xls_formats->head2);
+ $col_offset++;
- $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->fullname, $xlsFormats->head2);
- $colOffset++;
-
- foreach($items as $item) {
- // $worksheet->setFormat('');
- $worksheet->write_string($rowOffset, $colOffset, $item->name, $xlsFormats->head2);
- $worksheet->write_string($rowOffset + 1, $colOffset, $item->label, $xlsFormats->head2);
- $colOffset++;
+ foreach ($items as $item) {
+ $worksheet->write_string($row_offset, $col_offset, $item->name, $xls_formats->head2);
+ $worksheet->write_string($row_offset + 1, $col_offset, $item->label, $xls_formats->head2);
+ $col_offset++;
}
- // $worksheet->setFormat('');
- $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->courseid, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset + 1, $col_offset, $fstring->courseid, $xls_formats->head2);
+ $col_offset++;
- // $worksheet->setFormat('');
- $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->course, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset + 1, $col_offset, $fstring->course, $xls_formats->head2);
+ $col_offset++;
- return $rowOffset + 2;
+ return $row_offset + 2;
}
-function feedback_excelprint_detailed_items(&$worksheet, $xlsFormats, $completed, $items, $rowOffset) {
+function feedback_excelprint_detailed_items(&$worksheet, $xls_formats,
+ $completed, $items, $row_offset) {
global $DB, $fstring;
- if(!$items) return;
- $colOffset = 0;
+ if (!$items) {
+ return;
+ }
+ $col_offset = 0;
$courseid = 0;
$feedback = $DB->get_record('feedback', array('id'=>$completed->feedback));
//get the username
//anonymous users are separated automatically because the userid in the completed is "0"
- // $worksheet->setFormat('');
- if($user = $DB->get_record('user', array('id'=>$completed->userid))) {
+ if ($user = $DB->get_record('user', array('id'=>$completed->userid))) {
if ($completed->anonymous_response == FEEDBACK_ANONYMOUS_NO) {
- $worksheet->write_string($rowOffset, $colOffset, $user->idnumber, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset, $col_offset, $user->idnumber, $xls_formats->head2);
+ $col_offset++;
$userfullname = fullname($user);
- $worksheet->write_string($rowOffset, $colOffset, $user->username, $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset, $col_offset, $user->username, $xls_formats->head2);
+ $col_offset++;
} else {
$userfullname = $fstring->anonymous_user;
- $worksheet->write_string($rowOffset, $colOffset, '-', $xlsFormats->head2);
- $colOffset++;
- $worksheet->write_string($rowOffset, $colOffset, '-', $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset, $col_offset, '-', $xls_formats->head2);
+ $col_offset++;
+ $worksheet->write_string($row_offset, $col_offset, '-', $xls_formats->head2);
+ $col_offset++;
}
- }else {
+ } else {
$userfullname = $fstring->anonymous_user;
- $worksheet->write_string($rowOffset, $colOffset, '-', $xlsFormats->head2);
- $colOffset++;
- $worksheet->write_string($rowOffset, $colOffset, '-', $xlsFormats->head2);
- $colOffset++;
+ $worksheet->write_string($row_offset, $col_offset, '-', $xls_formats->head2);
+ $col_offset++;
+ $worksheet->write_string($row_offset, $col_offset, '-', $xls_formats->head2);
+ $col_offset++;
}
- $worksheet->write_string($rowOffset, $colOffset, $userfullname, $xlsFormats->head2);
+ $worksheet->write_string($row_offset, $col_offset, $userfullname, $xls_formats->head2);
- $colOffset++;
- foreach($items as $item) {
- $value = $DB->get_record('feedback_value', array('item'=>$item->id, 'completed'=>$completed->id));
+ $col_offset++;
+ foreach ($items as $item) {
+ $params = array('item' => $item->id, 'completed' => $completed->id);
+ $value = $DB->get_record('feedback_value', $params);
$itemobj = feedback_get_item_class($item->typ);
$printval = $itemobj->get_printval($item, $value);
$printval = trim($printval);
- // $worksheet->setFormat('');
- if(is_numeric($printval)) {
- $worksheet->write_number($rowOffset, $colOffset, $printval, $xlsFormats->default);
- } elseif($printval != '') {
- $worksheet->write_string($rowOffset, $colOffset, $printval, $xlsFormats->default);
+ if (is_numeric($printval)) {
+ $worksheet->write_number($row_offset, $col_offset, $printval, $xls_formats->default);
+ } else if ($printval != '') {
+ $worksheet->write_string($row_offset, $col_offset, $printval, $xls_formats->default);
}
$printval = '';
- $colOffset++;
+ $col_offset++;
$courseid = isset($value->course_id) ? $value->course_id : 0;
- if($courseid == 0) $courseid = $feedback->course;
+ if ($courseid == 0) {
+ $courseid = $feedback->course;
+ }
}
- $worksheet->write_number($rowOffset, $colOffset, $courseid, $xlsFormats->default);
- $colOffset++;
+ $worksheet->write_number($row_offset, $col_offset, $courseid, $xls_formats->default);
+ $col_offset++;
if (isset($courseid) AND $course = $DB->get_record('course', array('id' => $courseid))) {
- $shortname = format_string($course->shortname, true, array('context' => get_context_instance(CONTEXT_COURSE, $courseid)));
- $worksheet->write_string($rowOffset, $colOffset, $shortname, $xlsFormats->default);
+ $coursecontext = get_context_instance(CONTEXT_COURSE, $courseid);
+ $shortname = format_string($course->shortname, true, array('context' => $coursecontext));
+ $worksheet->write_string($row_offset, $col_offset, $shortname, $xls_formats->default);
}
- return $rowOffset + 1;
+ return $row_offset + 1;
}
diff --git a/mod/feedback/backup/moodle1/lib.php b/mod/feedback/backup/moodle1/lib.php
index 5ddd20fde85..ad6da8fc26d 100644
--- a/mod/feedback/backup/moodle1/lib.php
+++ b/mod/feedback/backup/moodle1/lib.php
@@ -1,5 +1,4 @@
wwwroot,"/");
+ $base = preg_quote($CFG->wwwroot, "/");
// Link to the list of feedbacks
$search="/(".$base."\/mod\/feedback\/index.php\?id\=)([0-9]+)/";
diff --git a/mod/feedback/backup/moodle2/backup_feedback_settingslib.php b/mod/feedback/backup/moodle2/backup_feedback_settingslib.php
index b66e78ab5fe..c683516576f 100644
--- a/mod/feedback/backup/moodle2/backup_feedback_settingslib.php
+++ b/mod/feedback/backup/moodle2/backup_feedback_settingslib.php
@@ -1,5 +1,4 @@
add_child($items);
$items->add_child($item);
diff --git a/mod/feedback/backup/moodle2/restore_feedback_activity_task.class.php b/mod/feedback/backup/moodle2/restore_feedback_activity_task.class.php
index 362b3a864d0..83c18d058b7 100644
--- a/mod/feedback/backup/moodle2/restore_feedback_activity_task.class.php
+++ b/mod/feedback/backup/moodle2/restore_feedback_activity_task.class.php
@@ -1,5 +1,4 @@
.
+
/**
-* prints the form to choose the group you want to analyse
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
-
-if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
-}
-
-require_once $CFG->libdir.'/formslib.php';
-
-class feedback_choose_group_form extends moodleform {
- var $feedbackdata;
-
- function definition() {
- $this->feedbackdata = new stdClass();
- //this function can not be called, because not all data are available at this time
- //I use set_form_elements instead
- }
-
- //this function set the data used in set_form_elements()
- //in this form the only value have to set is course
- //eg: array('course' => $course)
- function set_feedbackdata($data) {
- if(is_array($data)) {
- foreach($data as $key => $val) {
- $this->feedbackdata->{$key} = $val;
- }
- }
- }
-
- //here the elements will be set
- //this function have to be called manually
- //the advantage is that the data are already set
- function set_form_elements(){
- $mform =& $this->_form;
-
- $elementgroup = array();
- //headline
- // $mform->addElement('header', 'general', get_string('choose_group', 'feedback'));
- // hidden elements
- $mform->addElement('hidden', 'id');
- $mform->setType('id', PARAM_INT);
- $mform->addElement('hidden', 'do_show');
- $mform->setType('do-show', PARAM_INT);
-
- // visible elements
- $groups_options = array();
- if(isset($this->feedbackdata->groups)){
- $groups_options['-1'] = get_string('allgroups');
- foreach($this->feedbackdata->groups as $group) {
- $groups_options[$group->id] = $group->name;
- }
- }
- $attributes = 'onChange="this.form.submit()"';
- $elementgroup[] =& $mform->createElement('select', 'lstgroupid', '', $groups_options, $attributes);
- // buttons
- $elementgroup[] =& $mform->createElement('submit', 'switch_group', get_string('switch_group', 'feedback'));
- $mform->addGroup($elementgroup, 'elementgroup', '', array(' '), false);
-
-//-------------------------------------------------------------------------------
- }
-}
+ * prints the form to choose the group you want to analyse
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+//This file can be deleted
diff --git a/mod/feedback/complete.php b/mod/feedback/complete.php
index 7f81b9b9a04..e6fe6cd8cbf 100644
--- a/mod/feedback/complete.php
+++ b/mod/feedback/complete.php
@@ -1,237 +1,283 @@
.
- /**
- * 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()) {
- print_error('invalidsesskey');
- }
+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)) {
- $gopage = $formdata->lastpage;
- }
+//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(isset($formdata->savevalues)) {
- $savevalues = true;
- }else {
- $savevalues = false;
- }
+ $gopage = $formdata->lastpage;
+}
- if($gopage < 0 AND !$savevalues) {
- if(isset($formdata->gonextpage)){
- $gopage = $lastpage + 1;
- $gonextpage = true;
- $gopreviouspage = false;
- }else if(isset($formdata->gopreviouspage)){
- $gopage = $lastpage - 1;
- $gonextpage = false;
- $gopreviouspage = true;
- }else {
- print_error('missingparameter');
- }
- }else {
- $gonextpage = $gopreviouspage = false;
- }
+if (isset($formdata->savevalues)) {
+ $savevalues = true;
+} else {
+ $savevalues = false;
+}
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
- }
-
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
- }
-
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
- }
-
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
-
- $feedback_complete_cap = false;
-
- 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) {
- $courseid = SITEID;
- }
-
- //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($course->id == SITEID) {
- require_login($course->id, true);
- }else {
- require_login($course->id, true, $cm);
- }
+if ($gopage < 0 AND !$savevalues) {
+ if (isset($formdata->gonextpage)) {
+ $gopage = $lastpage + 1;
+ $gonextpage = true;
+ $gopreviouspage = false;
+ } else if (isset($formdata->gopreviouspage)) {
+ $gopage = $lastpage - 1;
+ $gonextpage = false;
+ $gopreviouspage = true;
} else {
- if($course->id == SITEID) {
- require_course_login($course, true);
- }else {
- require_course_login($course, true, $cm);
+ print_error('missingparameter');
+ }
+} else {
+ $gonextpage = $gopreviouspage = false;
+}
+
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
+
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
+
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
+
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
+
+$feedback_complete_cap = false;
+
+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) {
+ $courseid = SITEID;
+}
+
+//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))) {
+ $params = array('feedbackid'=>$feedback->id, 'courseid'=>$courseid);
+ if (!$DB->get_record('feedback_sitecourse_map', $params)) {
+ print_error('notavailable', 'feedback');
}
}
+}
- //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->anonymous != FEEDBACK_ANONYMOUS_YES) {
+ if ($course->id == SITEID) {
+ require_login($course->id, true);
+ } else {
+ require_login($course->id, true, $cm);
+ }
+} 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) {
+ 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) {
+ print_error('error');
+}
+
+// Mark activity viewed for completion-tracking
+$completion = new completion_info($course);
+$completion->set_module_viewed($cm);
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback = get_string("modulename", "feedback");
+
+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'));
+$urlparams = array('id'=>$cm->id, 'gopage'=>$gopage, 'courseid'=>$course->id);
+$PAGE->set_url('/mod/feedback/complete.php', $urlparams);
+$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
+ !has_capability('moodle/course:viewhiddenactivities', $context)) AND
+ $course->id != SITEID) {
+ notice(get_string("activityiscurrentlyhidden"));
+}
+
+//ishidden check.
+//feedback on mainsite
+if ((empty($cm->visible) AND
+ !has_capability('moodle/course:viewhiddenactivities', $context)) AND
+ $courseid == SITEID) {
+ notice(get_string("activityiscurrentlyhidden"));
+}
+
+//check, if the feedback is open (timeopen, timeclose)
+$checktime = time();
+$feedback_is_closed = ($feedback->timeopen > $checktime) OR
+ ($feedback->timeclose < $checktime AND
+ $feedback->timeclose > 0);
+
+if ($feedback_is_closed) {
+ echo $OUTPUT->box_start('generalbox boxaligncenter');
+ echo '';
+ echo get_string('feedback_is_not_open', 'feedback');
+ echo ' ';
+ 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 ) {
+ if (feedback_is_already_submitted($feedback->id, $courseid)) {
+ $feedback_can_submit = false;
+ }
+}
+if ($feedback_can_submit) {
+ //preserving the items
+ if ($preservevalues == 1) {
+ if (!isset($SESSION->feedback->is_started) OR !$SESSION->feedback->is_started == true) {
+ print_error('error', '', $CFG->wwwroot.'/course/view.php?id='.$course->id);
}
- }
-
- if(!$feedback_complete_cap) {
- print_error('error');
- }
-
- // Mark activity viewed for completion-tracking
- $completion = new completion_info($course);
- $completion->set_module_viewed($cm);
-
- /// Print the page header
- $strfeedbacks = get_string("modulenameplural", "feedback");
- $strfeedback = get_string("modulename", "feedback");
-
- 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();
-
- //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
- !has_capability('moodle/course:viewhiddenactivities', $context)) AND
- $courseid == SITEID) {
- notice(get_string("activityiscurrentlyhidden"));
- }
-
- 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)) {
- echo $OUTPUT->box_start('generalbox boxaligncenter');
- echo ''.get_string('feedback_is_not_open', 'feedback').' ';
- 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 ) {
- if(feedback_is_already_submitted($feedback->id, $courseid)) {
- $feedback_can_submit = false;
- }
- }
- if($feedback_can_submit) {
- //preserving the items
- if($preservevalues == 1){
- if(!$SESSION->feedback->is_started == true)
- print_error('error', '', $CFG->wwwroot.'/course/view.php?id='.$course->id);
- //checken, ob alle required items einen wert haben
- if(feedback_check_values($startitempos, $lastitempos)) {
- $userid = $USER->id; //arb
- if($completedid = feedback_save_values($USER->id, true)){
- if($userid > 0) {
- add_to_log($course->id, 'feedback', 'startcomplete', 'view.php?id='.$cm->id, $feedback->id, $cm->id, $userid);
- }
- if(!$gonextpage AND !$gopreviouspage) $preservevalues = false;//es kann gespeichert werden
-
- }else {
- $savereturn = 'failed';
- if(isset($lastpage)) {
- $gopage = $lastpage;
- }else {
- print_error('missingparameter');
- }
+ //checken, ob alle required items einen wert haben
+ if (feedback_check_values($startitempos, $lastitempos)) {
+ $userid = $USER->id; //arb
+ if ($completedid = feedback_save_values($USER->id, true)) {
+ if ($userid > 0) {
+ add_to_log($course->id,
+ 'feedback',
+ 'startcomplete',
+ 'view.php?id='.$cm->id,
+ $feedback->id,
+ $cm->id,
+ $userid);
}
- }else {
- $savereturn = 'missing';
- $highlightrequired = true;
- if(isset($lastpage)) {
+ if (!$gonextpage AND !$gopreviouspage) {
+ $preservevalues = false;//es kann gespeichert werden
+ }
+
+ } else {
+ $savereturn = 'failed';
+ if (isset($lastpage)) {
$gopage = $lastpage;
- }else {
+ } else {
print_error('missingparameter');
}
-
}
+ } else {
+ $savereturn = 'missing';
+ $highlightrequired = true;
+ if (isset($lastpage)) {
+ $gopage = $lastpage;
+ } else {
+ print_error('missingparameter');
+ }
+
}
+ }
- //saving the items
- if($savevalues AND !$preservevalues){
- //exists there any pagebreak, so there are values in the feedback_valuetmp
- $userid = $USER->id; //arb
+ //saving the items
+ if ($savevalues AND !$preservevalues) {
+ //exists there any pagebreak, so there are values in the feedback_valuetmp
+ $userid = $USER->id; //arb
- if($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
- $feedbackcompleted = feedback_get_current_completed($feedback->id, false, $courseid);
- }else{
- $feedbackcompleted = false;
- }
- $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', array('id'=>$completedid));
- //fake saving for switchrole
- $is_switchrole = feedback_check_is_switchrole();
- if($is_switchrole) {
+ if ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
+ $feedbackcompleted = feedback_get_current_completed($feedback->id, false, $courseid);
+ } else {
+ $feedbackcompleted = false;
+ }
+ $params = array('id' => $completedid);
+ $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', $params);
+ //fake saving for switchrole
+ $is_switchrole = feedback_check_is_switchrole();
+ if ($is_switchrole) {
+ $savereturn = 'saved';
+ feedback_delete_completedtmp($completedid);
+ } else {
+ $new_completed_id = feedback_save_tmp_values($feedbackcompletedtmp,
+ $feedbackcompleted,
+ $userid);
+ if ($new_completed_id) {
$savereturn = 'saved';
- feedback_delete_completedtmp($completedid);
- }else if($new_completed_id = feedback_save_tmp_values($feedbackcompletedtmp, $feedbackcompleted, $userid)) {
- $savereturn = 'saved';
- if($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
- add_to_log($course->id, 'feedback', 'submit', 'view.php?id='.$cm->id, $feedback->id, $cm->id, $userid);
+ if ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
+ add_to_log($course->id,
+ 'feedback',
+ 'submit',
+ 'view.php?id='.$cm->id,
+ $feedback->id,
+ $cm->id,
+ $userid);
+
feedback_send_email($cm, $feedback, $course, $userid);
- }else {
+ } else {
feedback_send_email_anonym($cm, $feedback, $course, $userid);
}
//tracking the submit
@@ -241,270 +287,316 @@
$tracking->completed = $new_completed_id;
$DB->insert_record('feedback_tracking', $tracking);
unset($SESSION->feedback->is_started);
-
+
// Update completion state
$completion = new completion_info($course);
if ($completion->is_enabled($cm) && $feedback->completionsubmit) {
$completion->update_state($cm, COMPLETION_COMPLETE);
}
- }else {
+ } else {
$savereturn = 'failed';
}
-
}
-
- 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;
- }else {
- $startposition = 0;
- $newpage = 0;
- $ispagebreak = false;
- }
-
- //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);
- $firstpagebreak = $pagebreaks[0];
- }else {
- $firstpagebreak = false;
- }
- $maxitemcount = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
-
- //get the values of completeds before done. Anonymous user can not get these values.
- if((!isset($SESSION->feedback->is_started)) AND (!isset($savereturn)) AND ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO)) {
- if(!$feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid)) {
- if($feedbackcompleted = feedback_get_current_completed($feedback->id, false, $courseid)) {
- //copy the values to feedback_valuetmp create a completedtmp
- $feedbackcompletedtmp = feedback_set_tmp_values($feedbackcompleted);
- }
- }
- }else {
- $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid);
- }
-
- /// Print the main part of the page
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
- if($courseid > 0) {
- $analysisurl->param('courseid', $courseid);
- }
- echo $OUTPUT->heading(format_text($feedback->name));
-
- if( (intval($feedback->publish_stats) == 1) AND
- ( has_capability('mod/feedback:viewanalysepage', $context)) AND
- !( has_capability('mod/feedback:viewreports', $context)) ) {
- if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
- echo $OUTPUT->box_start('mdl-align');
- echo '';
- echo get_string('completed_feedbacks', 'feedback').' ';
- echo $OUTPUT->box_end();
- }
- }
-
- if(isset($savereturn) && $savereturn == 'saved') {
- if($feedback->page_after_submit) {
- echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
- echo format_text($feedback->page_after_submit, $feedback->page_after_submitformat, array('overflowdiv'=>true));
- echo $OUTPUT->box_end();
- } else {
- echo ''.get_string('entries_saved','feedback').'
';
- if( intval($feedback->publish_stats) == 1) {
- echo '';
- echo get_string('completed_feedbacks', 'feedback').' ';
- echo '
';
- }
- }
-
- if($feedback->site_after_submit) {
- echo $OUTPUT->continue_button(feedback_encode_target_url($feedback->site_after_submit));
- }else {
- if($courseid) {
- if($courseid == SITEID) {
- echo $OUTPUT->continue_button($CFG->wwwroot);
- }else {
- echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$courseid);
- }
- }else {
- if($course->id == SITEID) {
- echo $OUTPUT->continue_button($CFG->wwwroot);
- } else {
- echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
- }
- }
- }
- }else {
- if(isset($savereturn) && $savereturn == 'failed') {
- echo $OUTPUT->box_start('mform error');
- echo get_string('saving_failed','feedback');
- echo $OUTPUT->box_end();
- }
-
- if(isset($savereturn) && $savereturn == 'missing') {
- echo $OUTPUT->box_start('mform error');
- echo get_string('saving_failed_because_missing_or_false_values','feedback');
- echo $OUTPUT->box_end();
- }
-
- //print the items
- if(is_array($feedbackitems)){
- // echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
- echo $OUTPUT->box_start('feedback_form');
- echo '';
- echo $OUTPUT->box_end();
-
- echo $OUTPUT->box_start('feedback_complete_cancel');
- if($courseid) {
- echo '';
- echo $OUTPUT->box_end();
- $SESSION->feedback->is_started = true;
- // echo $OUTPUT->box_end();
- }
- }
- }else {
- echo $OUTPUT->box_start('generalbox boxaligncenter');
- echo ''.get_string('this_feedback_is_already_submitted', 'feedback').' ';
- echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
- echo $OUTPUT->box_end();
}
- /// Finish the page
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- echo $OUTPUT->footer();
+ 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;
+ } else {
+ $startposition = 0;
+ $newpage = 0;
+ $ispagebreak = false;
+ }
+
+ //get the feedbackitems after the last shown pagebreak
+ $select = 'feedback = ? AND position > ?';
+ $params = array($feedback->id, $startposition);
+ $feedbackitems = $DB->get_records_select('feedback_item', $select, $params, 'position');
+
+ //get the first pagebreak
+ $params = array('feedback' => $feedback->id, 'typ' => 'pagebreak');
+ if ($pagebreaks = $DB->get_records('feedback_item', $params, 'position')) {
+ $pagebreaks = array_values($pagebreaks);
+ $firstpagebreak = $pagebreaks[0];
+ } else {
+ $firstpagebreak = false;
+ }
+ $maxitemcount = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
+
+ //get the values of completeds before done. Anonymous user can not get these values.
+ if ((!isset($SESSION->feedback->is_started)) AND
+ (!isset($savereturn)) AND
+ ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO)) {
+
+ $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid);
+ if (!$feedbackcompletedtmp) {
+ $feedbackcompleted = feedback_get_current_completed($feedback->id, false, $courseid);
+ if ($feedbackcompleted) {
+ //copy the values to feedback_valuetmp create a completedtmp
+ $feedbackcompletedtmp = feedback_set_tmp_values($feedbackcompleted);
+ }
+ }
+ } else {
+ $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid);
+ }
+
+ /// Print the main part of the page
+ ///////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
+ $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
+ if ($courseid > 0) {
+ $analysisurl->param('courseid', $courseid);
+ }
+ echo $OUTPUT->heading(format_text($feedback->name));
+
+ if ( (intval($feedback->publish_stats) == 1) AND
+ ( has_capability('mod/feedback:viewanalysepage', $context)) AND
+ !( has_capability('mod/feedback:viewreports', $context)) ) {
+
+ $params = array('userid' => $USER->id, 'feedback' => $feedback->id);
+ if ($multiple_count = $DB->count_records('feedback_tracking', $params)) {
+ echo $OUTPUT->box_start('mdl-align');
+ echo '';
+ echo get_string('completed_feedbacks', 'feedback').' ';
+ echo $OUTPUT->box_end();
+ }
+ }
+
+ if (isset($savereturn) && $savereturn == 'saved') {
+ if ($feedback->page_after_submit) {
+ echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+ echo format_text($feedback->page_after_submit,
+ $feedback->page_after_submitformat,
+ array('overflowdiv' => true));
+ echo $OUTPUT->box_end();
+ } else {
+ echo '';
+ echo '';
+ echo get_string('entries_saved', 'feedback');
+ echo ' ';
+ echo '
';
+ if ( intval($feedback->publish_stats) == 1) {
+ echo '';
+ echo get_string('completed_feedbacks', 'feedback').' ';
+ echo '
';
+ }
+ }
+
+ if ($feedback->site_after_submit) {
+ $url = feedback_encode_target_url($feedback->site_after_submit);
+ } else {
+ if ($courseid) {
+ if ($courseid == SITEID) {
+ $url = $CFG->wwwroot;
+ } else {
+ $url = $CFG->wwwroot.'/course/view.php?id='.$courseid;
+ }
+ } else {
+ if ($course->id == SITEID) {
+ $url = $CFG->wwwroot;
+ } else {
+ $url = $CFG->wwwroot.'/course/view.php?id='.$course->id;
+ }
+ }
+ }
+ echo $OUTPUT->continue_button($url);
+ } else {
+ if (isset($savereturn) && $savereturn == 'failed') {
+ echo $OUTPUT->box_start('mform error');
+ echo get_string('saving_failed', 'feedback');
+ echo $OUTPUT->box_end();
+ }
+
+ if (isset($savereturn) && $savereturn == 'missing') {
+ echo $OUTPUT->box_start('mform error');
+ echo get_string('saving_failed_because_missing_or_false_values', 'feedback');
+ echo $OUTPUT->box_end();
+ }
+
+ //print the items
+ if (is_array($feedbackitems)) {
+ echo $OUTPUT->box_start('feedback_form');
+ echo '';
+ echo $OUTPUT->box_end();
+
+ echo $OUTPUT->box_start('feedback_complete_cancel');
+ if ($courseid) {
+ $action = 'action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'"';
+ } else {
+ if ($course->id == SITEID) {
+ $action = 'action="'.$CFG->wwwroot.'"';
+ } else {
+ $action = 'action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'"';
+ }
+ }
+ echo '';
+ echo $OUTPUT->box_end();
+ $SESSION->feedback->is_started = true;
+ }
+ }
+} else {
+ echo $OUTPUT->box_start('generalbox boxaligncenter');
+ echo '';
+ echo '';
+ echo get_string('this_feedback_is_already_submitted', 'feedback');
+ echo ' ';
+ echo ' ';
+ echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+ echo $OUTPUT->box_end();
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+echo $OUTPUT->footer();
diff --git a/mod/feedback/complete_guest.php b/mod/feedback/complete_guest.php
index a25946d2920..a1d85863d45 100644
--- a/mod/feedback/complete_guest.php
+++ b/mod/feedback/complete_guest.php
@@ -1,459 +1,538 @@
.
- /**
- * 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->param('completedid', $completedid);
- }
- if ($preservevalues !== 0) {
- $url->param('preservevalues', $preservevalues);
- }
- if ($courseid !== false) {
- $url->param('courseid', $courseid);
- }
- if ($gopage !== -1) {
- $url->param('gopage', $gopage);
- }
- if ($lastpage !== false) {
- $url->param('lastpage', $lastpage);
- }
- if ($startitempos !== 0) {
- $url->param('startitempos', $startitempos);
- }
- if ($lastitempos !== 0) {
- $url->param('lastitempos', $lastitempos);
- }
- $PAGE->set_url($url);
+$url = new moodle_url('/mod/feedback/complete_guest.php', array('id'=>$id));
+if ($completedid !== false) {
+ $url->param('completedid', $completedid);
+}
+if ($preservevalues !== 0) {
+ $url->param('preservevalues', $preservevalues);
+}
+if ($courseid !== false) {
+ $url->param('courseid', $courseid);
+}
+if ($gopage !== -1) {
+ $url->param('gopage', $gopage);
+}
+if ($lastpage !== false) {
+ $url->param('lastpage', $lastpage);
+}
+if ($startitempos !== 0) {
+ $url->param('startitempos', $startitempos);
+}
+if ($lastitempos !== 0) {
+ $url->param('lastitempos', $lastitempos);
+}
+$PAGE->set_url($url);
- $highlightrequired = false;
+$highlightrequired = false;
- if(($formdata = data_submitted()) AND !confirm_sesskey()) {
- print_error('invalidsesskey');
+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)) {
+
+ $gopage = $formdata->lastpage;
+}
+if (isset($formdata->savevalues)) {
+ $savevalues = true;
+} else {
+ $savevalues = false;
+}
+
+if ($gopage < 0 AND !$savevalues) {
+ if (isset($formdata->gonextpage)) {
+ $gopage = $lastpage + 1;
+ $gonextpage = true;
+ $gopreviouspage = false;
+ } else if (isset($formdata->gopreviouspage)) {
+ $gopage = $lastpage - 1;
+ $gonextpage = false;
+ $gopreviouspage = true;
+ } else {
+ print_error('parameters_missing', 'feedback');
}
+} else {
+ $gonextpage = $gopreviouspage = false;
+}
- //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)) {
- $savevalues = true;
- }else {
- $savevalues = false;
- }
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
- if($gopage < 0 AND !$savevalues) {
- if(isset($formdata->gonextpage)){
- $gopage = $lastpage + 1;
- $gonextpage = true;
- $gopreviouspage = false;
- }else if(isset($formdata->gopreviouspage)){
- $gopage = $lastpage - 1;
- $gonextpage = false;
- $gopreviouspage = true;
- }else {
- print_error('parameters_missing', 'feedback');
- }
- }else {
- $gonextpage = $gopreviouspage = false;
- }
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
- }
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
- }
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
- }
+$feedback_complete_cap = false;
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
+if (isset($CFG->feedback_allowfullanonymous)
+ AND $CFG->feedback_allowfullanonymous
+ AND $course->id == SITEID
+ AND (!$courseid OR $courseid == SITEID)
+ AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
+ $feedback_complete_cap = true;
+}
- $feedback_complete_cap = false;
-
- if(isset($CFG->feedback_allowfullanonymous)
+//check whether the feedback is anonymous
+if (isset($CFG->feedback_allowfullanonymous)
AND $CFG->feedback_allowfullanonymous
- AND $course->id == SITEID
- AND (!$courseid OR $courseid == SITEID)
- AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
- $feedback_complete_cap = true;
+ AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES
+ AND $course->id == SITEID ) {
+ $feedback_complete_cap = true;
+}
+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 feedback is located and! started from the mainsite
+if ($course->id == SITEID AND !$courseid) {
+ $courseid = SITEID;
+}
+
+require_course_login($course);
+
+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) {
+ print_error('error');
+}
+
+
+/// 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');
+
+$urlparams = array('id'=>$course->id);
+$PAGE->navbar->add($strfeedbacks, new moodle_url('/mod/feedback/index.php', $urlparams));
+$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
+ !has_capability('moodle/course:viewhiddenactivities', $context)) AND
+ $course->id != SITEID) {
+ notice(get_string("activityiscurrentlyhidden"));
+}
+
+//check, if the feedback is open (timeopen, timeclose)
+$checktime = time();
+
+$feedback_is_closed = ($feedback->timeopen > $checktime) OR
+ ($feedback->timeclose < $checktime AND
+ $feedback->timeclose > 0);
+
+if ($feedback_is_closed) {
+ echo $OUTPUT->box_start('generalbox boxaligncenter');
+ echo '';
+ echo get_string('feedback_is_not_open', 'feedback');
+ echo ' ';
+ 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 ) {
+ if (feedback_is_already_submitted($feedback->id, $courseid)) {
+ $feedback_can_submit = false;
}
-
- //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) {
- 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 feedback is located and! started from the mainsite
- if($course->id == SITEID AND !$courseid) {
- $courseid = SITEID;
- }
-
- require_course_login($course);
-
- 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) {
- print_error('error');
- }
-
-
- /// 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->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
- !has_capability('moodle/course:viewhiddenactivities', $context)) AND
- $course->id != SITEID) {
- notice(get_string("activityiscurrentlyhidden"));
- }
-
- 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)) {
- echo $OUTPUT->box_start('generalbox boxaligncenter');
- echo ''.get_string('feedback_is_not_open', 'feedback').' ';
- 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 ) {
- // 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) {
+ //preserving the items
+ if ($preservevalues == 1) {
+ if (!$SESSION->feedback->is_started == true) {
+ print_error('error', 'error', $CFG->wwwroot.'/course/view.php?id='.$course->id);
}
- }
- if($feedback_can_submit) {
- //preserving the items
- if($preservevalues == 1){
- if (!$SESSION->feedback->is_started == true) {
- print_error('error', 'error', $CFG->wwwroot.'/course/view.php?id='.$course->id);
- }
- //check, if all required items have a value
- if(feedback_check_values($startitempos, $lastitempos)) {
- $userid = $USER->id; //arb
- if($completedid = feedback_save_guest_values(sesskey())){
- add_to_log($course->id, 'feedback', 'startcomplete', 'view.php?id='.$cm->id, $feedback->id); //arb: log even guest submissions or at least the startcomplete since the other add log event is elsewhere
+ //check, if all required items have a value
+ if (feedback_check_values($startitempos, $lastitempos)) {
+ $userid = $USER->id; //arb
+ if ($completedid = feedback_save_guest_values(sesskey())) {
+ add_to_log($course->id,
+ 'feedback',
+ 'startcomplete',
+ 'view.php?id='.$cm->id,
+ $feedback->id);
- if(!$gonextpage AND !$gopreviouspage) $preservevalues = false;//es kann gespeichert werden
-
- }else {
- $savereturn = 'failed';
- if(isset($lastpage)) {
- $gopage = $lastpage;
- }else {
- print_error('parameters_missing', 'feedback');
- }
+ //now it can be saved
+ if (!$gonextpage AND !$gopreviouspage) {
+ $preservevalues = false;
}
- }else {
- $savereturn = 'missing';
- $highlightrequired = true;
- if(isset($lastpage)) {
+
+ } else {
+ $savereturn = 'failed';
+ if (isset($lastpage)) {
$gopage = $lastpage;
- }else {
+ } else {
print_error('parameters_missing', 'feedback');
}
}
+ } else {
+ $savereturn = 'missing';
+ $highlightrequired = true;
+ if (isset($lastpage)) {
+ $gopage = $lastpage;
+ } else {
+ print_error('parameters_missing', 'feedback');
+ }
}
+ }
- //saving the items
- if($savevalues AND !$preservevalues){
- //exists there any pagebreak, so there are values in the feedback_valuetmp
- $userid = $USER->id; //arb changed from 0 to $USER->id - no strict anonymous feedbacks - if it is a guest taking it then I want to know that it was a guest (at least in the data saved in the feedback tables)
+ //saving the items
+ if ($savevalues AND !$preservevalues) {
+ //exists there any pagebreak, so there are values in the feedback_valuetmp
+ //arb changed from 0 to $USER->id
+ //no strict anonymous feedbacks
+ //if it is a guest taking it then I want to know that it was
+ //a guest (at least in the data saved in the feedback tables)
+ $userid = $USER->id;
- $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', array('id'=>$completedid));
+ $params = array('id'=>$completedid);
+ $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', $params);
- //fake saving for switchrole
- $is_switchrole = feedback_check_is_switchrole();
- if($is_switchrole) {
- $savereturn = 'saved';
- feedback_delete_completedtmp($completedid);
- }else if($new_completed_id = feedback_save_tmp_values($feedbackcompletedtmp, false, $userid)) {
+ //fake saving for switchrole
+ $is_switchrole = feedback_check_is_switchrole();
+ if ($is_switchrole) {
+ $savereturn = 'saved';
+ feedback_delete_completedtmp($completedid);
+ } else {
+ $new_completed_id = feedback_save_tmp_values($feedbackcompletedtmp, false, $userid);
+ if ($new_completed_id) {
$savereturn = 'saved';
feedback_send_email_anonym($cm, $feedback, $course, $userid);
unset($SESSION->feedback->is_started);
- }else {
+ } else {
$savereturn = 'failed';
}
}
+ }
- 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;
- }else {
+ if ($allbreaks = feedback_get_all_break_positions($feedback->id)) {
+ if ($gopage <= 0) {
$startposition = 0;
- $newpage = 0;
- $ispagebreak = false;
+ } else {
+ if (!isset($allbreaks[$gopage - 1])) {
+ $gopage = count($allbreaks);
+ }
+ $startposition = $allbreaks[$gopage - 1];
}
+ $ispagebreak = true;
+ } else {
+ $startposition = 0;
+ $newpage = 0;
+ $ispagebreak = false;
+ }
- //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 feedbackitems after the last shown pagebreak
+ $select = 'feedback = ? AND position > ?';
+ $params = array($feedback->id, $startposition);
+ $feedbackitems = $DB->get_records_select('feedback_item', $select, $params, 'position');
- //get the first pagebreak
- if($pagebreaks = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'typ'=>'pagebreak'), 'position')) {
- $pagebreaks = array_values($pagebreaks);
- $firstpagebreak = $pagebreaks[0];
- }else {
- $firstpagebreak = false;
+ //get the first pagebreak
+ $params = array('feedback'=>$feedback->id, 'typ'=>'pagebreak');
+ if ($pagebreaks = $DB->get_records('feedback_item', $params, 'position')) {
+ $pagebreaks = array_values($pagebreaks);
+ $firstpagebreak = $pagebreaks[0];
+ } else {
+ $firstpagebreak = false;
+ }
+ $maxitemcount = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
+ $feedbackcompletedtmp = feedback_get_current_completed($feedback->id,
+ true,
+ $courseid,
+ sesskey());
+
+ /// Print the main part of the page
+ ///////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
+ $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
+ if ($courseid > 0) {
+ $analysisurl->param('courseid', $courseid);
+ }
+ echo $OUTPUT->heading(format_text($feedback->name));
+
+ if ( (intval($feedback->publish_stats) == 1) AND
+ ( has_capability('mod/feedback:viewanalysepage', $context)) AND
+ !( has_capability('mod/feedback:viewreports', $context)) ) {
+ echo $OUTPUT->box_start('mdl-align');
+ echo '';
+ echo get_string('completed_feedbacks', 'feedback');
+ echo ' ';
+ echo $OUTPUT->box_end();
+ }
+
+ if (isset($savereturn) && $savereturn == 'saved') {
+ if ($feedback->page_after_submit) {
+ echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+ echo format_text($feedback->page_after_submit,
+ $feedback->page_after_submitformat,
+ array('overflowdiv' => true));
+ echo $OUTPUT->box_end();
+ } else {
+ echo '';
+ echo get_string('entries_saved', 'feedback');
+ echo '
';
+ if ( intval($feedback->publish_stats) == 1) {
+ echo '';
+ echo get_string('completed_feedbacks', 'feedback').' ';
+ echo '
';
+ }
}
- $maxitemcount = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
- $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid, sesskey());
-
- /// Print the main part of the page
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
- if($courseid > 0) {
- $analysisurl->param('courseid', $courseid);
+ if ($feedback->site_after_submit) {
+ $url = feedback_encode_target_url($feedback->site_after_submit);
+ } else {
+ if ($courseid) {
+ if ($courseid == SITEID) {
+ $url = $CFG->wwwroot;
+ } else {
+ $url = $CFG->wwwroot.'/course/view.php?id='.$courseid;
+ }
+ } else {
+ if ($course->id == SITEID) {
+ $url = $CFG->wwwroot;
+ } else {
+ $url = $CFG->wwwroot.'/course/view.php?id='.$course->id;
+ }
+ }
}
- echo $OUTPUT->heading(format_text($feedback->name));
-
- if( (intval($feedback->publish_stats) == 1) AND
- ( has_capability('mod/feedback:viewanalysepage', $context)) AND
- !( has_capability('mod/feedback:viewreports', $context)) ) {
- echo $OUTPUT->box_start('mdl-align');
- echo ''.get_string('completed_feedbacks', 'feedback').' ';
+ echo $OUTPUT->continue_button($url);
+ } else {
+ if (isset($savereturn) && $savereturn == 'failed') {
+ echo $OUTPUT->box_start('mform error');
+ echo get_string('saving_failed', 'feedback');
echo $OUTPUT->box_end();
}
- if(isset($savereturn) && $savereturn == 'saved') {
- if($feedback->page_after_submit) {
- echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
- echo format_text($feedback->page_after_submit, $feedback->page_after_submitformat, array('overflowdiv'=>true));
- echo $OUTPUT->box_end();
- } else {
- echo ''.get_string('entries_saved','feedback').'
';
- if( intval($feedback->publish_stats) == 1) {
- echo '';
- echo get_string('completed_feedbacks', 'feedback').' ';
- echo '
';
- }
+ if (isset($savereturn) && $savereturn == 'missing') {
+ echo $OUTPUT->box_start('mform error');
+ echo get_string('saving_failed_because_missing_or_false_values', 'feedback');
+ echo $OUTPUT->box_end();
+ }
+
+ //print the items
+ if (is_array($feedbackitems)) {
+ echo $OUTPUT->box_start('feedback_form');
+ echo '';
+ echo $OUTPUT->box_end();
- echo $OUTPUT->box_start('feedback_complete_cancel');
- if($courseid) {
- echo '';
- }else{
- if($course->id == SITEID) {
- echo ' ';
- } else {
- echo ' ';
- }
+ echo $OUTPUT->box_start('feedback_complete_cancel');
+ if ($courseid) {
+ $action = 'action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'"';
+ } else {
+ if ($course->id == SITEID) {
+ $action = 'action="'.$CFG->wwwroot.'"';
+ } else {
+ $action = 'action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'"';
}
- echo '';
- echo ' ';
- echo ' ';
- echo ''.get_string('cancel').' ';
- echo ' ';
- echo ' ';
- echo $OUTPUT->box_end();
- $SESSION->feedback->is_started = true;
}
+ echo '';
+ echo '';
+ echo ' ';
+ echo ' ';
+ echo ''.get_string('cancel').' ';
+ echo ' ';
+ echo ' ';
+ echo $OUTPUT->box_end();
+ $SESSION->feedback->is_started = true;
}
- }else {
- echo $OUTPUT->box_start('generalbox boxaligncenter');
- echo ''.get_string('this_feedback_is_already_submitted', 'feedback').' ';
- echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
- echo $OUTPUT->box_end();
}
- /// Finish the page
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
+} else {
+ echo $OUTPUT->box_start('generalbox boxaligncenter');
+ echo '';
+ echo get_string('this_feedback_is_already_submitted', 'feedback');
+ echo ' ';
+ echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+ echo $OUTPUT->box_end();
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
- echo $OUTPUT->footer();
+echo $OUTPUT->footer();
diff --git a/mod/feedback/db/access.php b/mod/feedback/db/access.php
index 16986b5342c..9921b2ae5ed 100644
--- a/mod/feedback/db/access.php
+++ b/mod/feedback/db/access.php
@@ -1,4 +1,19 @@
.
+
//
// Capability definitions for the feedback module.
//
diff --git a/mod/feedback/db/install.php b/mod/feedback/db/install.php
index 696d3f33c8f..05f666537d8 100644
--- a/mod/feedback/db/install.php
+++ b/mod/feedback/db/install.php
@@ -1,9 +1,23 @@
.
function xmldb_feedback_install() {
global $DB;
-/// Disable this module by default (because it's not technically part of Moodle 2.0)
+ /// Disable this module by default (because it's not technically part of Moodle 2.0)
$DB->set_field('modules', 'visible', 0, array('name'=>'feedback'));
}
diff --git a/mod/feedback/db/install.xml b/mod/feedback/db/install.xml
index 97d31b3f360..9aaba279aa4 100644
--- a/mod/feedback/db/install.xml
+++ b/mod/feedback/db/install.xml
@@ -168,4 +168,4 @@
-
\ No newline at end of file
+
diff --git a/mod/feedback/db/log.php b/mod/feedback/db/log.php
index 79f18912274..a27ce3e7847 100644
--- a/mod/feedback/db/log.php
+++ b/mod/feedback/db/log.php
@@ -1,5 +1,4 @@
.
// This file keeps track of upgrades to
// the feedback module
@@ -31,15 +45,18 @@ function xmldb_feedback_upgrade($oldversion) {
$table = new xmldb_table('feedback_completedtmp');
$field = new xmldb_field('id');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, true, null, null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, true, null, null);
$table->addField($field);
$field = new xmldb_field('feedback');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('userid');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('guestid');
@@ -47,7 +64,8 @@ function xmldb_feedback_upgrade($oldversion) {
$table->addField($field);
$field = new xmldb_field('timemodified');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$key = new xmldb_key('PRIMARY');
@@ -65,23 +83,28 @@ function xmldb_feedback_upgrade($oldversion) {
$table = new xmldb_table('feedback_valuetmp');
$field = new xmldb_field('id');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, true, null, null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, true, null, null);
$table->addField($field);
$field = new xmldb_field('course_id');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('item');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('completed');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('tmp_completed');
- $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '0', null);
$table->addField($field);
$field = new xmldb_field('value');
@@ -105,25 +128,29 @@ function xmldb_feedback_upgrade($oldversion) {
/// Define field random_response to be added to feedback_completed
$table = new xmldb_table('feedback_completed');
- $field = new xmldb_field('random_response', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field = new xmldb_field('random_response', XMLDB_TYPE_INTEGER, '10',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
/// Launch add field1
$dbman->add_field($table, $field);
/// Define field anonymous_response to be added to feedback_completed
$table = new xmldb_table('feedback_completed');
- $field = new xmldb_field('anonymous_response', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '1', null);
+ $field = new xmldb_field('anonymous_response', XMLDB_TYPE_INTEGER, '1',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '1', null);
/// Launch add field2
$dbman->add_field($table, $field);
/// Define field random_response to be added to feedback_completed
$table = new xmldb_table('feedback_completedtmp');
- $field = new xmldb_field('random_response', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
+ $field = new xmldb_field('random_response', XMLDB_TYPE_INTEGER, '10',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '0', null);
/// Launch add field1
$dbman->add_field($table, $field);
/// Define field anonymous_response to be added to feedback_completed
$table = new xmldb_table('feedback_completedtmp');
- $field = new xmldb_field('anonymous_response', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '1', null);
+ $field = new xmldb_field('anonymous_response', XMLDB_TYPE_INTEGER, '1',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '1', null);
/// Launch add field2
$dbman->add_field($table, $field);
@@ -135,7 +162,8 @@ function xmldb_feedback_upgrade($oldversion) {
// public is a reserved word on Oracle
$table = new xmldb_table('feedback_template');
- $field = new xmldb_field('ispublic', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, false, '1', null);
+ $field = new xmldb_field('ispublic', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED,
+ XMLDB_NOTNULL, false, '1', null);
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
@@ -144,7 +172,9 @@ function xmldb_feedback_upgrade($oldversion) {
if ($oldversion < 2008042400) { //New version in version.php
if ($all_nonanonymous_feedbacks = $DB->get_records('feedback', array('anonymous'=>2))) {
- $update_sql = 'UPDATE {feedback_completed} SET anonymous_response = 2 WHERE feedback = ';
+ $update_sql = 'UPDATE {feedback_completed}
+ SET anonymous_response = 2
+ WHERE feedback = ';
foreach ($all_nonanonymous_feedbacks as $fb) {
$DB->execute($update_sql.$fb->id);
}
@@ -153,20 +183,34 @@ function xmldb_feedback_upgrade($oldversion) {
}
if ($oldversion < 2008042401) { //New version in version.php
- $concat_radio = $DB->sql_concat("'r>>>>>'",'presentation');
- $concat_check = $DB->sql_concat("'c>>>>>'",'presentation');
- $concat_dropdown = $DB->sql_concat("'d>>>>>'",'presentation');
+ $concat_radio = $DB->sql_concat("'r>>>>>'", 'presentation');
+ $concat_check = $DB->sql_concat("'c>>>>>'", 'presentation');
+ $concat_dropdown = $DB->sql_concat("'d>>>>>'", 'presentation');
- $update_sql1 = "UPDATE {feedback_item} SET presentation = ".$concat_radio." WHERE typ IN('radio','radiorated')";
- $update_sql2 = "UPDATE {feedback_item} SET presentation = ".$concat_dropdown." WHERE typ IN('dropdown','dropdownrated')";
- $update_sql3 = "UPDATE {feedback_item} SET presentation = ".$concat_check." WHERE typ = 'check'";
+ $update_sql1 = "UPDATE {feedback_item}
+ SET presentation = ".$concat_radio."
+ WHERE typ IN('radio','radiorated')";
+
+ $update_sql2 = "UPDATE {feedback_item}
+ SET presentation = ".$concat_dropdown."
+ WHERE typ IN('dropdown','dropdownrated')";
+
+ $update_sql3 = "UPDATE {feedback_item}
+ SET presentation = ".$concat_check."
+ WHERE typ = 'check'";
$DB->execute($update_sql1);
$DB->execute($update_sql2);
$DB->execute($update_sql3);
- $update_sql1 = "UPDATE {feedback_item} SET typ = 'multichoice' WHERE typ IN('radio','check','dropdown')";
- $update_sql2 = "UPDATE {feedback_item} SET typ = 'multichoicerated' WHERE typ IN('radiorated','dropdownrated')";
+ $update_sql1 = "UPDATE {feedback_item}
+ SET typ = 'multichoice'
+ WHERE typ IN('radio','check','dropdown')";
+
+ $update_sql2 = "UPDATE {feedback_item}
+ SET typ = 'multichoicerated'
+ WHERE typ IN('radiorated','dropdownrated')";
+
$DB->execute($update_sql1);
$DB->execute($update_sql2);
@@ -176,7 +220,8 @@ function xmldb_feedback_upgrade($oldversion) {
if ($oldversion < 2008042900) {
/// Define field autonumbering to be added to feedback
$table = new xmldb_table('feedback');
- $field = new xmldb_field('autonumbering', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '1', 'multiple_submit');
+ $field = new xmldb_field('autonumbering', XMLDB_TYPE_INTEGER, '1',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '1', 'multiple_submit');
/// Launch add field2
$dbman->add_field($table, $field);
@@ -186,7 +231,8 @@ function xmldb_feedback_upgrade($oldversion) {
if ($oldversion < 2008050104) {
/// Define field site_after_submit to be added to feedback
$table = new xmldb_table('feedback');
- $field = new xmldb_field('site_after_submit', XMLDB_TYPE_CHAR, '255', null, null, false, '', 'autonumbering');
+ $field = new xmldb_field('site_after_submit', XMLDB_TYPE_CHAR, '255',
+ null, null, false, '', 'autonumbering');
/// Launch add field2
$dbman->add_field($table, $field);
@@ -203,7 +249,11 @@ function xmldb_feedback_upgrade($oldversion) {
}
if ($oldversion < 2008073002) {
- $update_sql = "UPDATE {feedback_item} SET presentation = '-|-' WHERE " . $DB->sql_compare_text('presentation') . " = '0|0' AND typ = 'numeric'";
+ $update_sql = "UPDATE {feedback_item}
+ SET presentation = '-|-'
+ WHERE " . $DB->sql_compare_text('presentation') . " = '0|0' AND
+ typ = 'numeric'";
+
$DB->execute($update_sql);
upgrade_mod_savepoint(true, 2008073002, 'feedback');
@@ -221,34 +271,37 @@ function xmldb_feedback_upgrade($oldversion) {
if ($oldversion < 2009042000) {
- /// Rename field summary on table feedback to intro
+ /// Rename field summary on table feedback to intro
$table = new xmldb_table('feedback');
- $field = new xmldb_field('summary', XMLDB_TYPE_TEXT, 'small', null, XMLDB_NOTNULL, null, null, 'name');
+ $field = new xmldb_field('summary', XMLDB_TYPE_TEXT, 'small', null,
+ XMLDB_NOTNULL, null, null, 'name');
- /// Launch rename field summary
+ /// Launch rename field summary
$dbman->rename_field($table, $field, 'intro');
- /// feedback savepoint reached
+ /// feedback savepoint reached
upgrade_mod_savepoint(true, 2009042000, 'feedback');
}
if ($oldversion < 2009042001) {
- /// Define field introformat to be added to feedback
+ /// Define field introformat to be added to feedback
$table = new xmldb_table('feedback');
- $field = new xmldb_field('introformat', XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'intro');
+ $field = new xmldb_field('introformat', XMLDB_TYPE_INTEGER, '4',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'intro');
- /// Launch add field introformat
+ /// Launch add field introformat
$dbman->add_field($table, $field);
- /// feedback savepoint reached
+ /// feedback savepoint reached
upgrade_mod_savepoint(true, 2009042001, 'feedback');
}
if ($oldversion < 2009112000) {
/// Define field page_after_submitformat to be added to feedback
$table = new xmldb_table('feedback');
- $field = new xmldb_field('page_after_submitformat', XMLDB_TYPE_INTEGER, '2', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'page_after_submit');
+ $field = new xmldb_field('page_after_submitformat', XMLDB_TYPE_INTEGER, '2',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'page_after_submit');
if (!$dbman->field_exists($table, $field)) {
// Launch add field page_after_submitformat
@@ -262,7 +315,8 @@ function xmldb_feedback_upgrade($oldversion) {
if ($oldversion < 2010051101) {
/// Define field options to be added to feedback_item
$table = new xmldb_table('feedback_item');
- $field = new xmldb_field('options', XMLDB_TYPE_CHAR, '255', null, null, false, '', 'required');
+ $field = new xmldb_field('options', XMLDB_TYPE_CHAR, '255',
+ null, null, false, '', 'required');
/// Launch add field
$dbman->add_field($table, $field);
@@ -272,7 +326,8 @@ function xmldb_feedback_upgrade($oldversion) {
if ($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');
+ $field = new xmldb_field('dependitem', XMLDB_TYPE_INTEGER, '10',
+ XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'required');
/// Launch add field
$dbman->add_field($table, $field);
@@ -282,7 +337,8 @@ function xmldb_feedback_upgrade($oldversion) {
if ($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');
+ $field = new xmldb_field('dependvalue', XMLDB_TYPE_CHAR, '255',
+ null, null, false, '', 'dependitem');
/// Launch add field
$dbman->add_field($table, $field);
@@ -293,7 +349,8 @@ function xmldb_feedback_upgrade($oldversion) {
// Define field completionsubmit to be added to feedback
$table = new xmldb_table('feedback');
- $field = new xmldb_field('completionsubmit', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0', 'timemodified');
+ $field = new xmldb_field('completionsubmit', XMLDB_TYPE_INTEGER, '1',
+ null, XMLDB_NOTNULL, null, '0', 'timemodified');
// Conditionally launch add field completionsubmit
if (!$dbman->field_exists($table, $field)) {
@@ -303,7 +360,6 @@ function xmldb_feedback_upgrade($oldversion) {
// feedback savepoint reached
upgrade_mod_savepoint(true, 2010102300, 'feedback');
}
-
// Moodle v2.1.0 release upgrade line
// Put any upgrade step following this
diff --git a/mod/feedback/delete_completed.php b/mod/feedback/delete_completed.php
index cbc3a027a16..a571b2a38ea 100644
--- a/mod/feedback/delete_completed.php
+++ b/mod/feedback/delete_completed.php
@@ -1,97 +1,116 @@
.
- /**
- * 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){
- print_error('no_complete_to_delete', 'feedback', 'show_entries.php?id='.$id.'&do_show=showentries');
+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));
+
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
+
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
+
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
+
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
+
+require_login($course->id, true, $cm);
+
+require_capability('mod/feedback:deletesubmissions', $context);
+
+$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();
+
+if ($mform->is_cancelled()) {
+ if ($return == 'entriesanonym') {
+ redirect('show_entries_anonym.php?id='.$id);
+ } else {
+ redirect('show_entries.php?id='.$id.'&do_show=showentries');
}
+}
- $PAGE->set_url('/mod/feedback/delete_completed.php', array('id'=>$id, 'completed'=>$completedid));
+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);
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
- }
-
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
- }
-
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
- }
-
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
-
- require_login($course->id, true, $cm);
-
- require_capability('mod/feedback:deletesubmissions', $context);
-
- $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();
-
- if ($mform->is_cancelled()) {
- if($return == 'entriesanonym') {
+ if ($return == 'entriesanonym') {
redirect('show_entries_anonym.php?id='.$id);
- }else {
+ } else {
redirect('show_entries.php?id='.$id.'&do_show=showentries');
}
}
+}
- 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);
-
- if($return == 'entriesanonym') {
- redirect('show_entries_anonym.php?id='.$id);
- }else {
- 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(get_string('delete_entry', 'feedback'));
- $PAGE->set_heading(format_string($course->fullname));
- $PAGE->set_title(format_string($feedback->name));
- echo $OUTPUT->header();
+$PAGE->navbar->add(get_string('delete_entry', 'feedback'));
+$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();
-
-
- echo $OUTPUT->footer();
+/// 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();
diff --git a/mod/feedback/delete_completed_form.php b/mod/feedback/delete_completed_form.php
index f53197ecfbd..a0f677dce99 100644
--- a/mod/feedback/delete_completed_form.php
+++ b/mod/feedback/delete_completed_form.php
@@ -1,25 +1,38 @@
.
+/**
+ * prints the form to confirm delete a completed
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+//It must be included from a Moodle page
if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
+ die('Direct access to this script is forbidden.');
}
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
class mod_feedback_delete_completed_form extends moodleform {
- function definition() {
+ public function definition() {
$mform =& $this->_form;
- //headline
- //$mform->addElement('header', 'general', '');
-
// hidden elements
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
diff --git a/mod/feedback/delete_item.php b/mod/feedback/delete_item.php
index 3cbf2009981..cbd36bfe30e 100644
--- a/mod/feedback/delete_item.php
+++ b/mod/feedback/delete_item.php
@@ -1,78 +1,93 @@
.
+
/**
-* deletes an item of the feedback
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * deletes an item of 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('delete_item_form.php');
+require_once("../../config.php");
+require_once("lib.php");
+require_once('delete_item_form.php');
- $id = required_param('id', PARAM_INT);
- $deleteitem = required_param('deleteitem', PARAM_INT);
+$id = required_param('id', PARAM_INT);
+$deleteitem = required_param('deleteitem', PARAM_INT);
- $PAGE->set_url('/mod/feedback/delete_item.php', array('id'=>$id, 'deleteitem'=>$deleteitem));
+$PAGE->set_url('/mod/feedback/delete_item.php', array('id'=>$id, 'deleteitem'=>$deleteitem));
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
- }
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
- }
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
- }
-
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
- require_login($course->id, true, $cm);
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
- require_capability('mod/feedback:edititems', $context);
+require_login($course->id, true, $cm);
- $mform = new mod_feedback_delete_item_form();
- $newformdata = array('id'=>$id,
- 'deleteitem'=>$deleteitem,
- 'confirmdelete'=>'1');
- $mform->set_data($newformdata);
- $formdata = $mform->get_data();
+require_capability('mod/feedback:edititems', $context);
- if ($mform->is_cancelled()) {
- redirect('edit.php?id='.$id);
- }
+$mform = new mod_feedback_delete_item_form();
+$newformdata = array('id'=>$id,
+ 'deleteitem'=>$deleteitem,
+ 'confirmdelete'=>'1');
+$mform->set_data($newformdata);
+$formdata = $mform->get_data();
- if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
- feedback_delete_item($formdata->deleteitem);
- redirect('edit.php?id=' . $id);
- }
+if ($mform->is_cancelled()) {
+ redirect('edit.php?id='.$id);
+}
+
+if (isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1) {
+ feedback_delete_item($formdata->deleteitem);
+ redirect('edit.php?id=' . $id);
+}
- /// Print the page header
- $strfeedbacks = get_string("modulenameplural", "feedback");
- $strfeedback = get_string("modulename", "feedback");
-
- $PAGE->navbar->add(get_string('delete_item', 'feedback'));
- $PAGE->set_heading(format_string($course->fullname));
- $PAGE->set_title(format_string($feedback->name));
- echo $OUTPUT->header();
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback = get_string("modulename", "feedback");
- /// 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('confirmdeleteitem', 'feedback'));
- print_string('relateditemsdeleted','feedback');
- $mform->display();
- echo $OUTPUT->box_end();
+$PAGE->navbar->add(get_string('delete_item', 'feedback'));
+$PAGE->set_heading(format_string($course->fullname));
+$PAGE->set_title(format_string($feedback->name));
+echo $OUTPUT->header();
- echo $OUTPUT->footer();
+/// 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('confirmdeleteitem', 'feedback'));
+print_string('relateditemsdeleted', 'feedback');
+$mform->display();
+echo $OUTPUT->box_end();
+
+echo $OUTPUT->footer();
diff --git a/mod/feedback/delete_item_form.php b/mod/feedback/delete_item_form.php
index 0d0b0d4a3ff..f7b43d71091 100644
--- a/mod/feedback/delete_item_form.php
+++ b/mod/feedback/delete_item_form.php
@@ -1,25 +1,38 @@
.
+/**
+ * prints the form to confirm delete a completed
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+//It must be included from a Moodle page
if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
+ die('Direct access to this script is forbidden.');
}
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
class mod_feedback_delete_item_form extends moodleform {
- function definition() {
+ public function definition() {
$mform =& $this->_form;
- //headline
- //$mform->addElement('header', 'general', '');
-
// hidden elements
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
diff --git a/mod/feedback/delete_template.php b/mod/feedback/delete_template.php
index f108a276c15..2d36e82a1af 100644
--- a/mod/feedback/delete_template.php
+++ b/mod/feedback/delete_template.php
@@ -1,26 +1,38 @@
.
/**
-* deletes a template
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * deletes a template
+ *
+ * @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_template_form.php');
require_once($CFG->libdir.'/tablelib.php');
-// $SESSION->feedback->current_tab = 'templates';
$current_tab = 'templates';
$id = required_param('id', PARAM_INT);
$canceldelete = optional_param('canceldelete', false, PARAM_INT);
$shoulddelete = optional_param('shoulddelete', false, PARAM_INT);
$deletetempl = optional_param('deletetempl', false, PARAM_INT);
-// $formdata = data_submitted();
$url = new moodle_url('/mod/feedback/delete_template.php', array('id'=>$id));
if ($canceldelete !== false) {
@@ -34,11 +46,11 @@ if ($deletetempl !== false) {
}
$PAGE->set_url($url);
-if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+if (($formdata = data_submitted()) AND !confirm_sesskey()) {
print_error('invalidsesskey');
}
-if($canceldelete == 1){
+if ($canceldelete == 1) {
$editurl = new moodle_url('/mod/feedback/edit.php', array('id'=>$id, 'do_show'=>'templates'));
redirect($editurl->out(false));
}
@@ -77,12 +89,12 @@ if ($mform->is_cancelled()) {
redirect($deleteurl->out(false));
}
-if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
- if(!$template = $DB->get_record("feedback_template", array("id"=>$deletetempl))) {
+if (isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1) {
+ if (!$template = $DB->get_record("feedback_template", array("id"=>$deletetempl))) {
print_error('error');
}
- if($template->ispublic) {
+ if ($template->ispublic) {
$systemcontext = get_system_context();
require_capability('mod/feedback:createpublictemplate', $systemcontext);
require_capability('mod/feedback:deletetemplate', $systemcontext);
@@ -95,32 +107,33 @@ if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
/// Print the page header
$strfeedbacks = get_string("modulenameplural", "feedback");
$strfeedback = get_string("modulename", "feedback");
-$strdeletefeedback = get_string('delete_template','feedback');
+$strdeletefeedback = get_string('delete_template', 'feedback');
$PAGE->set_heading(format_string($course->fullname));
$PAGE->set_title(format_string($feedback->name));
echo $OUTPUT->header();
/// print the tabs
-include('tabs.php');
+require('tabs.php');
/// Print the main part of the page
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
echo $OUTPUT->heading($strdeletefeedback);
-if($shoulddelete == 1) {
+if ($shoulddelete == 1) {
echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
echo $OUTPUT->heading(get_string('confirmdeletetemplate', 'feedback'));
$mform->display();
echo $OUTPUT->box_end();
-}else {
+} else {
//first we get the own templates
$templates = feedback_get_template_list($course, 'own');
- if(!is_array($templates)) {
- echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'), 'generalbox boxaligncenter');
- }else {
+ if (!is_array($templates)) {
+ echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'),
+ 'generalbox boxaligncenter');
+ } else {
echo $OUTPUT->heading(get_string('course'), 3);
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
$tablecolumns = array('template', 'action');
@@ -137,7 +150,7 @@ if($shoulddelete == 1) {
$tablecourse->set_attribute('class', 'generaltable');
$tablecourse->setup();
- foreach($templates as $template) {
+ foreach ($templates as $template) {
$data = array();
$data[] = $template->name;
$url = new moodle_url($deleteurl, array(
@@ -154,12 +167,13 @@ if($shoulddelete == 1) {
}
//now we get the public templates if it is permitted
$systemcontext = get_system_context();
- if(has_capability('mod/feedback:createpublictemplate', $systemcontext) AND
+ if (has_capability('mod/feedback:createpublictemplate', $systemcontext) AND
has_capability('mod/feedback:deletetemplate', $systemcontext)) {
$templates = feedback_get_template_list($course, 'public');
- if(!is_array($templates)) {
- echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'), 'generalbox boxaligncenter');
- }else {
+ if (!is_array($templates)) {
+ echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'),
+ 'generalbox boxaligncenter');
+ } else {
echo $OUTPUT->heading(get_string('public', 'feedback'), 3);
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
$tablecolumns = array('template', 'action');
@@ -176,9 +190,7 @@ if($shoulddelete == 1) {
$tablepublic->set_attribute('class', 'generaltable');
$tablepublic->setup();
- // echo $OUTPUT->heading(get_string('public', 'feedback'), 3);
- // echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
- foreach($templates as $template) {
+ foreach ($templates as $template) {
$data = array();
$data[] = $template->name;
$url = new moodle_url($deleteurl, array(
diff --git a/mod/feedback/delete_template_form.php b/mod/feedback/delete_template_form.php
index fcb07d7a1c4..e0613170958 100644
--- a/mod/feedback/delete_template_form.php
+++ b/mod/feedback/delete_template_form.php
@@ -1,25 +1,38 @@
.
+/**
+ * prints the form to confirm delete a completed
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+//It must be included from a Moodle page
if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
+ die('Direct access to this script is forbidden.');
}
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
class mod_feedback_delete_template_form extends moodleform {
- function definition() {
+ public function definition() {
$mform =& $this->_form;
- //headline
- //$mform->addElement('header', 'general', '');
-
// hidden elements
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
@@ -34,4 +47,3 @@ class mod_feedback_delete_template_form extends moodleform {
}
}
-
diff --git a/mod/feedback/edit.php b/mod/feedback/edit.php
index 98632b12c6e..3eeb7a4e235 100644
--- a/mod/feedback/edit.php
+++ b/mod/feedback/edit.php
@@ -1,12 +1,26 @@
.
/**
-* prints the form to edit the feedback items such moving, deleting and so on
-*
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * prints the form to edit the feedback items such moving, deleting and so on
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
require_once("../../config.php");
require_once("lib.php");
@@ -16,7 +30,7 @@ feedback_init_feedback_session();
$id = required_param('id', PARAM_INT);
-if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+if (($formdata = data_submitted()) AND !confirm_sesskey()) {
print_error('invalidsesskey');
}
@@ -27,7 +41,6 @@ $moveitem = optional_param('moveitem', false, PARAM_INT);
$movehere = optional_param('movehere', false, PARAM_INT);
$switchitemrequired = optional_param('switchitemrequired', false, PARAM_INT);
-// $SESSION->feedback->current_tab = $do_show;
$current_tab = $do_show;
$url = new moodle_url('/mod/feedback/edit.php', array('id'=>$id, 'do_show'=>$do_show));
@@ -53,22 +66,22 @@ require_login($course->id, true, $cm);
require_capability('mod/feedback:edititems', $context);
//move up/down items
-if($moveupitem){
+if ($moveupitem) {
$item = $DB->get_record('feedback_item', array('id'=>$moveupitem));
feedback_moveup_item($item);
}
-if($movedownitem){
+if ($movedownitem) {
$item = $DB->get_record('feedback_item', array('id'=>$movedownitem));
feedback_movedown_item($item);
}
//moving of items
-if($movehere && isset($SESSION->feedback->moving->movingitem)){
+if ($movehere && isset($SESSION->feedback->moving->movingitem)) {
$item = $DB->get_record('feedback_item', array('id'=>$SESSION->feedback->moving->movingitem));
feedback_move_item($item, intval($movehere));
$moveitem = false;
}
-if($moveitem){
+if ($moveitem) {
$item = $DB->get_record('feedback_item', array('id'=>$moveitem));
$SESSION->feedback->moving->shouldmoving = 1;
$SESSION->feedback->moving->movingitem = $moveitem;
@@ -76,7 +89,7 @@ if($moveitem){
unset($SESSION->feedback->moving);
}
-if($switchitemrequired) {
+if ($switchitemrequired) {
$item = $DB->get_record('feedback_item', array('id'=>$switchitemrequired));
@feedback_switch_item_required($item);
redirect($url->out(false));
@@ -89,24 +102,26 @@ $create_template_form->set_feedbackdata(array('context'=>$context, 'course'=>$co
$create_template_form->set_form_elements();
$create_template_form->set_data(array('id'=>$id, 'do_show'=>'templates'));
$create_template_formdata = $create_template_form->get_data();
-if(isset($create_template_formdata->savetemplate) && $create_template_formdata->savetemplate == 1) {
+if (isset($create_template_formdata->savetemplate) && $create_template_formdata->savetemplate == 1) {
//check the capabilities to create templates
- if(!has_capability('mod/feedback:createprivatetemplate', $context) AND
+ if (!has_capability('mod/feedback:createprivatetemplate', $context) AND
!has_capability('mod/feedback:createpublictemplate', $context)) {
print_error('cannotsavetempl', 'feedback');
}
- if(trim($create_template_formdata->templatename) == '') {
+ if (trim($create_template_formdata->templatename) == '') {
$savereturn = 'notsaved_name';
- }else {
+ } else {
//if the feedback is located on the frontpage then templates can be public
- if(has_capability('mod/feedback:createpublictemplate', get_system_context())) {
+ if (has_capability('mod/feedback:createpublictemplate', get_system_context())) {
$create_template_formdata->ispublic = isset($create_template_formdata->ispublic) ? 1 : 0;
- }else {
+ } else {
$create_template_formdata->ispublic = 0;
}
- if(!feedback_save_as_template($feedback, $create_template_formdata->templatename, $create_template_formdata->ispublic)) {
+ if (!feedback_save_as_template($feedback,
+ $create_template_formdata->templatename,
+ $create_template_formdata->ispublic)) {
$savereturn = 'failed';
- }else {
+ } else {
$savereturn = 'saved';
}
}
@@ -115,12 +130,12 @@ if(isset($create_template_formdata->savetemplate) && $create_template_formdata->
//get the feedbackitems
$lastposition = 0;
$feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
-if(is_array($feedbackitems)){
+if (is_array($feedbackitems)) {
$feedbackitems = array_values($feedbackitems);
- if(count($feedbackitems) > 0) {
+ if (count($feedbackitems) > 0) {
$lastitem = $feedbackitems[count($feedbackitems)-1];
$lastposition = $lastitem->position;
- }else {
+ } else {
$lastposition = 0;
}
}
@@ -137,9 +152,6 @@ $use_template_form->set_feedbackdata(array('course' => $course));
$use_template_form->set_form_elements();
$use_template_form->set_data(array('id'=>$id));
-//the create_template-form
-//$create_template_form = new feedback_edit_create_template_form('use_templ.php');
-
/// Print the page header
$strfeedbacks = get_string("modulenameplural", "feedback");
$strfeedback = get_string("modulename", "feedback");
@@ -150,7 +162,7 @@ $PAGE->set_title(format_string($feedback->name));
echo $OUTPUT->header();
/// print the tabs
-include('tabs.php');
+require('tabs.php');
/// Print the main part of the page
///////////////////////////////////////////////////////////////////////////
@@ -160,38 +172,45 @@ include('tabs.php');
$savereturn=isset($savereturn)?$savereturn:'';
//print the messages
-if($savereturn == 'notsaved_name') {
- echo '
'.get_string('name_required','feedback').'
';
+if ($savereturn == 'notsaved_name') {
+ echo '
'.
+ get_string('name_required', 'feedback').
+ '
';
}
-if($savereturn == 'saved') {
- echo '
'.get_string('template_saved','feedback').'
';
+if ($savereturn == 'saved') {
+ echo '
'.
+ get_string('template_saved', 'feedback').
+ '
';
}
-if($savereturn == 'failed') {
- echo '
'.get_string('saving_failed','feedback').'
';
+if ($savereturn == 'failed') {
+ echo '
'.
+ get_string('saving_failed', 'feedback').
+ '
';
}
-feedback_print_errors();
-
///////////////////////////////////////////////////////////////////////////
///print the template-section
///////////////////////////////////////////////////////////////////////////
-if($do_show == 'templates') {
+if ($do_show == 'templates') {
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
$use_template_form->display();
- if(has_capability('mod/feedback:createprivatetemplate', $context) OR
+ if (has_capability('mod/feedback:createprivatetemplate', $context) OR
has_capability('mod/feedback:createpublictemplate', $context)) {
- $deleteurl = new moodle_url('/mod/feedback/delete_template.php', array('id'=>$id));
+ $deleteurl = new moodle_url('/mod/feedback/delete_template.php', array('id' => $id));
$create_template_form->display();
- echo '
'.get_string('delete_templates', 'feedback').'
';
- }else {
+ echo '
'.
+ get_string('delete_templates', 'feedback').
+ '
';
+ } else {
echo ' ';
}
- if(has_capability('mod/feedback:edititems', $context)) {
- $exporturl = new moodle_url('/mod/feedback/export.php', array('action'=>'exportfile', 'id'=>$id));
+ if (has_capability('mod/feedback:edititems', $context)) {
+ $urlparams = array('action'=>'exportfile', 'id'=>$id);
+ $exporturl = new moodle_url('/mod/feedback/export.php', $urlparams);
$importurl = new moodle_url('/mod/feedback/import.php', array('id'=>$id));
echo '
'.get_string('export_questions', 'feedback').' /
@@ -203,11 +222,11 @@ if($do_show == 'templates') {
///////////////////////////////////////////////////////////////////////////
///print the Item-Edit-section
///////////////////////////////////////////////////////////////////////////
-if($do_show == 'edit') {
+if ($do_show == 'edit') {
$add_item_form->display();
- if(is_array($feedbackitems)){
+ if (is_array($feedbackitems)) {
$itemnr = 0;
$align = right_to_left() ? 'right' : 'left';
@@ -215,156 +234,180 @@ if($do_show == 'edit') {
$helpbutton = $OUTPUT->help_icon('preview', 'feedback');
echo $OUTPUT->heading($helpbutton . get_string('preview', 'feedback'));
- if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
- echo $OUTPUT->heading(''.get_string('cancel_moving', 'feedback').' ');
+ if (isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
+ $anker = '';
+ $anker .= get_string('cancel_moving', 'feedback');
+ $anker .= ' ';
+ echo $OUTPUT->heading($anker);
}
- // echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
//check, if there exists required-elements
- $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=> 1));
- if($countreq > 0) {
- // echo '(*)' . get_string('items_are_required', 'feedback') . ' ';
- echo '(*)' . get_string('items_are_required', 'feedback') . ' ';
+ $params = array('feedback' => $feedback->id, 'required' => 1);
+ $countreq = $DB->count_records('feedback_item', $params);
+ if ($countreq > 0) {
+ echo '(*)';
+ echo get_string('items_are_required', 'feedback');
+ echo ' ';
}
//use list instead a table
echo $OUTPUT->box_start('feedback_items');
- if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
- $moveposition = 1;
- $movehereurl = new moodle_url($url, array('movehere'=>$moveposition));
- echo $OUTPUT->box_start('feedback_item_box_'.$align.' clipboard'); //only shown if shouldmoving = 1
- $buttonlink = $movehereurl->out();
- echo '
-
- ';
- echo $OUTPUT->box_end();
- }
- //print the inserted items
- $itempos = 0;
- foreach($feedbackitems as $feedbackitem){
- $itempos++;
- if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->movingitem == $feedbackitem->id){ //hiding the item to move
+ if (isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
+ $moveposition = 1;
+ $movehereurl = new moodle_url($url, array('movehere'=>$moveposition));
+ //only shown if shouldmoving = 1
+ echo $OUTPUT->box_start('feedback_item_box_'.$align.' clipboard');
+ $buttonlink = $movehereurl->out();
+ $strbutton = get_string('move_here', 'feedback');
+ $src = $OUTPUT->pix_url('movehere');
+ echo '
+
+ ';
+ echo $OUTPUT->box_end();
+ }
+ //print the inserted items
+ $itempos = 0;
+ foreach ($feedbackitems as $feedbackitem) {
+ $itempos++;
+ //hiding the item to move
+ if (isset($SESSION->feedback->moving)) {
+ if ($SESSION->feedback->moving->movingitem == $feedbackitem->id) {
continue;
}
- 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++;
- echo $OUTPUT->box_start('feedback_item_number_'.$align) . $itemnr . $OUTPUT->box_end();
- }
- echo $OUTPUT->box_start('box generalbox boxalign_'.$align);
- echo $OUTPUT->box_start('feedback_item_commands_'.$align);
- echo '('.get_string('position', 'feedback').':'.$itempos .') ';
- //print the moveup-button
- if($feedbackitem->position > 1){
- echo '';
- $moveupurl = new moodle_url($url, array('moveupitem'=>$feedbackitem->id));
- $buttonlink = $moveupurl->out();
- echo '
-
- ';
- echo ' ';
- }
- //print the movedown-button
- if($feedbackitem->position < $lastposition - 1){
- echo '';
- $movedownurl = new moodle_url($url, array('movedownitem'=>$feedbackitem->id));
- $buttonlink = $movedownurl->out();
- echo '
-
- ';
- echo ' ';
- }
- //print the move-button
- echo '';
- $moveurl = new moodle_url($url, array('moveitem'=>$feedbackitem->id));
- $buttonlink = $moveurl->out();
- echo '
-
- ';
- echo ' ';
- //print the button to edit the item
- if($feedbackitem->typ != 'pagebreak') {
- echo '';
- $editurl = new moodle_url('/mod/feedback/edit_item.php');
- $editurl->params(array('do_show'=>$do_show,
- 'cmid'=>$id,
- 'id'=>$feedbackitem->id,
- 'typ'=>$feedbackitem->typ));
-
- // in edit_item.php the param id is used for the itemid and the cmid is the id to get the module
- $buttonlink = $editurl->out();
- echo '
-
- ';
- echo ' ';
- }
-
- //print the toggle-button to switch required yes/no
- if($feedbackitem->hasvalue == 1) {
- echo '';
- // echo '';
- if($feedbackitem->required == 1) {
- // echo ' ';
- // echo ' ';
- $buttontitle = get_string('switch_item_to_not_required','feedback');
- $buttonimg = 'pics/required.gif';
- } else {
- // echo ' ';
- // echo ' ';
- $buttontitle = get_string('switch_item_to_required','feedback');
- $buttonimg = 'pics/notrequired.gif';
- }
- $requiredurl = new moodle_url($url, array('switchitemrequired'=>$feedbackitem->id));
- $buttonlink = $requiredurl->out();
- echo '
-
- ';
- echo ' ';
- }
-
- //print the delete-button
- echo '';
- $deleteitemurl = new moodle_url('/mod/feedback/delete_item.php');
- $deleteitemurl->params(array('id'=>$id,
- 'do_show'=>$do_show,
- 'deleteitem'=>$feedbackitem->id));
-
- $buttonlink = $deleteitemurl->out();
- echo '
-
- ';
- echo ' ';
- echo $OUTPUT->box_end();
- if($feedbackitem->typ != 'pagebreak') {
- feedback_print_item_preview($feedbackitem);
- }else {
- echo $OUTPUT->box_start('feedback_pagebreak');
- echo get_string('pagebreak', 'feedback').'
';
- echo $OUTPUT->box_end();
- }
- echo $OUTPUT->box_end();
- echo $OUTPUT->box_end();
- if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
- $moveposition++;
- $movehereurl->param('movehere', $moveposition);
- echo $OUTPUT->box_start('clipboard'); //only shown if shouldmoving = 1
- $buttonlink = $movehereurl->out();
- echo '
-
- ';
- echo $OUTPUT->box_end();
- }
- echo '
';
}
+ 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++;
+ echo $OUTPUT->box_start('feedback_item_number_'.$align);
+ echo $itemnr;
+ echo $OUTPUT->box_end();
+ }
+ echo $OUTPUT->box_start('box generalbox boxalign_'.$align);
+ echo $OUTPUT->box_start('feedback_item_commands_'.$align);
+ echo '
';
+ echo '('.get_string('position', 'feedback').':'.$itempos .')';
+ echo ' ';
+ //print the moveup-button
+ if ($feedbackitem->position > 1) {
+ echo '
';
+ $moveupurl = new moodle_url($url, array('moveupitem'=>$feedbackitem->id));
+ $buttonlink = $moveupurl->out();
+ $strbutton = get_string('moveup_item', 'feedback');
+ echo '
+
+ ';
+ echo ' ';
+ }
+ //print the movedown-button
+ if ($feedbackitem->position < $lastposition - 1) {
+ echo '
';
+ $urlparams = array('movedownitem'=>$feedbackitem->id);
+ $movedownurl = new moodle_url($url, $urlparams);
+ $buttonlink = $movedownurl->out();
+ $strbutton = get_string('movedown_item', 'feedback');
+ echo '
+
+ ';
+ echo ' ';
+ }
+ //print the move-button
+ echo '
';
+ $moveurl = new moodle_url($url, array('moveitem'=>$feedbackitem->id));
+ $buttonlink = $moveurl->out();
+ $strbutton = get_string('move_item', 'feedback');
+ echo '
+
+ ';
+ echo ' ';
+ //print the button to edit the item
+ if ($feedbackitem->typ != 'pagebreak') {
+ echo '
';
+ $editurl = new moodle_url('/mod/feedback/edit_item.php');
+ $editurl->params(array('do_show'=>$do_show,
+ 'cmid'=>$id,
+ 'id'=>$feedbackitem->id,
+ 'typ'=>$feedbackitem->typ));
+
+ // in edit_item.php the param id is used for the itemid
+ // and the cmid is the id to get the module
+ $buttonlink = $editurl->out();
+ $strbutton = get_string('edit_item', 'feedback');
+ echo '
+
+ ';
+ echo ' ';
+ }
+
+ //print the toggle-button to switch required yes/no
+ if ($feedbackitem->hasvalue == 1) {
+ echo '
';
+ if ($feedbackitem->required == 1) {
+ $buttontitle = get_string('switch_item_to_not_required', 'feedback');
+ $buttonimg = 'pics/required.gif';
+ } else {
+ $buttontitle = get_string('switch_item_to_required', 'feedback');
+ $buttonimg = 'pics/notrequired.gif';
+ }
+ $urlparams = array('switchitemrequired'=>$feedbackitem->id);
+ $requiredurl = new moodle_url($url, $urlparams);
+ $buttonlink = $requiredurl->out();
+ echo ''.
+ ' '.
+ ' ';
+ echo ' ';
+ }
+
+ //print the delete-button
+ echo '
';
+ $deleteitemurl = new moodle_url('/mod/feedback/delete_item.php');
+ $deleteitemurl->params(array('id'=>$id,
+ 'do_show'=>$do_show,
+ 'deleteitem'=>$feedbackitem->id));
+
+ $buttonlink = $deleteitemurl->out();
+ $strbutton = get_string('delete_item', 'feedback');
+ $src = $OUTPUT->pix_url('t/delete');
+ echo '
+
+ ';
+ echo ' ';
+ echo $OUTPUT->box_end();
+ if ($feedbackitem->typ != 'pagebreak') {
+ feedback_print_item_preview($feedbackitem);
+ } else {
+ echo $OUTPUT->box_start('feedback_pagebreak');
+ echo get_string('pagebreak', 'feedback').'
';
+ echo $OUTPUT->box_end();
+ }
+ echo $OUTPUT->box_end();
+ echo $OUTPUT->box_end();
+ if (isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
+ $moveposition++;
+ $movehereurl->param('movehere', $moveposition);
+ echo $OUTPUT->box_start('clipboard'); //only shown if shouldmoving = 1
+ $buttonlink = $movehereurl->out();
+ $strbutton = get_string('move_here', 'feedback');
+ $src = $OUTPUT->pix_url('movehere');
+ echo '
+
+ ';
+ echo $OUTPUT->box_end();
+ }
+ echo '
';
+ }
echo $OUTPUT->box_end();
- }else{
- echo $OUTPUT->box(get_string('no_items_available_yet','feedback'),'generalbox boxaligncenter');
+ } else {
+ echo $OUTPUT->box(get_string('no_items_available_yet', 'feedback'),
+ 'generalbox boxaligncenter');
}
}
/// Finish the page
diff --git a/mod/feedback/edit_form.php b/mod/feedback/edit_form.php
index 0af28680fb5..88354c7c941 100644
--- a/mod/feedback/edit_form.php
+++ b/mod/feedback/edit_form.php
@@ -1,31 +1,41 @@
.
+/**
+ * prints the forms to choose an item-typ to create items and to choose a template to use
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+//It must be included from a Moodle page
if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
+ die('Direct access to this script is forbidden.');
}
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
class feedback_edit_add_question_form extends moodleform {
- function definition() {
+ public function definition() {
$mform =& $this->_form;
//headline
$mform->addElement('header', 'general', get_string('add_items', 'feedback'));
// visible elements
- // $feedback_names = feedback_load_feedback_items('mod/feedback/item');
- // $feedback_names_options = array();
- // $feedback_names_options[' '] = get_string('select');
- // foreach($feedback_names as $fn) {
- // $feedback_names_options[$fn] = get_string($fn,'feedback');
- // }
$feedback_names_options = feedback_load_feedback_items_options();
$attributes = 'onChange="this.form.submit()"';
@@ -36,16 +46,16 @@ class feedback_edit_add_question_form extends moodleform {
$mform->setType('cmid', PARAM_INT);
$mform->addElement('hidden', 'position');
$mform->setType('position', PARAM_INT);
-//-------------------------------------------------------------------------------
+
// buttons
$mform->addElement('submit', 'add_item', get_string('add_item', 'feedback'));
}
}
class feedback_edit_use_template_form extends moodleform {
- var $feedbackdata;
+ private $feedbackdata;
- function definition() {
+ public function definition() {
$this->feedbackdata = new stdClass();
//this function can not be called, because not all data are available at this time
//I use set_form_elements instead
@@ -54,9 +64,9 @@ class feedback_edit_use_template_form extends moodleform {
//this function set the data used in set_form_elements()
//in this form the only value have to set is course
//eg: array('course' => $course)
- function set_feedbackdata($data) {
- if(is_array($data)) {
- foreach($data as $key => $val) {
+ public function set_feedbackdata($data) {
+ if (is_array($data)) {
+ foreach ($data as $key => $val) {
$this->feedbackdata->{$key} = $val;
}
}
@@ -65,7 +75,7 @@ class feedback_edit_use_template_form extends moodleform {
//here the elements will be set
//this function have to be called manually
//the advantage is that the data are already set
- function set_form_elements(){
+ public function set_form_elements() {
$mform =& $this->_form;
$elementgroup = array();
@@ -81,58 +91,63 @@ class feedback_edit_use_template_form extends moodleform {
$publictemplates = feedback_get_template_list($this->feedbackdata->course, 'public');
$options = array();
- if($owntemplates or $publictemplates) {
+ if ($owntemplates or $publictemplates) {
$options[''] = array('' => get_string('choose'));
-
- if($owntemplates) {
+
+ if ($owntemplates) {
$courseoptions = array();
- foreach($owntemplates as $template) {
+ foreach ($owntemplates as $template) {
$courseoptions[$template->id] = $template->name;
}
$options[get_string('course')] = $courseoptions;
}
-
- if($publictemplates) {
+
+ if ($publictemplates) {
$publicoptions = array();
- foreach($publictemplates as $template) {
+ foreach ($publictemplates as $template) {
$publicoptions[$template->id] = $template->name;
}
$options[get_string('public', 'feedback')] = $publicoptions;
}
$attributes = 'onChange="this.form.submit()"';
- $elementgroup[] =& $mform->createElement('selectgroups', 'templateid', '', $options, $attributes);
- $elementgroup[] =& $mform->createElement('submit', 'use_template', get_string('use_this_template', 'feedback'));
- }else {
+ $elementgroup[] =& $mform->createElement('selectgroups',
+ 'templateid',
+ '',
+ $options,
+ $attributes);
+
+ $elementgroup[] =& $mform->createElement('submit',
+ 'use_template',
+ get_string('use_this_template', 'feedback'));
+ } else {
$mform->addElement('static', 'info', get_string('no_templates_available_yet', 'feedback'));
}
$mform->addGroup($elementgroup, 'elementgroup', '', array(' '), false);
- //-------------------------------------------------------------------------------
}
}
class feedback_edit_create_template_form extends moodleform {
- var $feedbackdata;
+ private $feedbackdata;
- function definition() {
+ public function definition() {
}
- function data_preprocessing(&$default_values){
+ public function data_preprocessing(&$default_values) {
$default_values['templatename'] = '';
}
- function set_feedbackdata($data) {
- if(is_array($data)) {
- foreach($data as $key => $val) {
+ public function set_feedbackdata($data) {
+ if (is_array($data)) {
+ foreach ($data as $key => $val) {
$this->feedbackdata->{$key} = $val;
}
}
}
- function set_form_elements(){
+ public function set_form_elements() {
$mform =& $this->_form;
- // $capabilities = $this->feedbackdata->capabilities;
// hidden elements
$mform->addElement('hidden', 'id');
@@ -148,20 +163,35 @@ class feedback_edit_create_template_form extends moodleform {
// visible elements
$elementgroup = array();
- $elementgroup[] =& $mform->createElement('static', 'templatenamelabel', get_string('name', 'feedback'));
- $elementgroup[] =& $mform->createElement('text', 'templatename', get_string('name', 'feedback'), array('size'=>'40', 'maxlength'=>'200'));
+ $elementgroup[] =& $mform->createElement('static',
+ 'templatenamelabel',
+ get_string('name', 'feedback'));
- if(has_capability('mod/feedback:createpublictemplate', get_system_context())) {
- $elementgroup[] =& $mform->createElement('checkbox', 'ispublic', get_string('public', 'feedback'), get_string('public', 'feedback'));
+ $elementgroup[] =& $mform->createElement('text',
+ 'templatename',
+ get_string('name', 'feedback'),
+ array('size'=>'40', 'maxlength'=>'200'));
+
+ if (has_capability('mod/feedback:createpublictemplate', get_system_context())) {
+ $elementgroup[] =& $mform->createElement('checkbox',
+ 'ispublic',
+ get_string('public', 'feedback'),
+ get_string('public', 'feedback'));
}
// buttons
- $elementgroup[] =& $mform->createElement('submit', 'create_template', get_string('save_as_new_template', 'feedback'));
- $mform->addGroup($elementgroup, 'elementgroup', get_string('name', 'feedback'), array(' '), false);
+ $elementgroup[] =& $mform->createElement('submit',
+ 'create_template',
+ get_string('save_as_new_template', 'feedback'));
+
+ $mform->addGroup($elementgroup,
+ 'elementgroup',
+ get_string('name', 'feedback'),
+ array(' '),
+ false);
$mform->setType('templatename', PARAM_TEXT);
-//-------------------------------------------------------------------------------
}
}
diff --git a/mod/feedback/edit_item.php b/mod/feedback/edit_item.php
index 2a0807fa9a3..28bd0c0300c 100644
--- a/mod/feedback/edit_item.php
+++ b/mod/feedback/edit_item.php
@@ -1,4 +1,18 @@
.
/**
* prints the form to edit a dedicated item
@@ -13,7 +27,6 @@ require_once("lib.php");
feedback_init_feedback_session();
-// $cmid = optional_param('cmid', NULL, PARAM_INT);
$cmid = required_param('cmid', PARAM_INT);
$typ = optional_param('typ', false, PARAM_ALPHA);
$id = optional_param('id', false, PARAM_INT);
@@ -21,7 +34,9 @@ $action = optional_param('action', false, PARAM_ALPHA);
$editurl = new moodle_url('/mod/feedback/edit.php', array('id'=>$cmid));
-if(!$typ)redirect($editurl->out(false));
+if (!$typ) {
+ redirect($editurl->out(false));
+}
$url = new moodle_url('/mod/feedback/edit_item.php', array('cmid'=>$cmid));
if ($typ !== false) {
@@ -36,7 +51,7 @@ $PAGE->set_url($url);
$usehtmleditor = can_use_html_editor();
-if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+if (($formdata = data_submitted()) AND !confirm_sesskey()) {
print_error('invalidsesskey');
}
@@ -61,7 +76,7 @@ require_login($course->id, true, $cm);
require_capability('mod/feedback:edititems', $context);
//if the typ is pagebreak so the item will be saved directly
-if($typ == 'pagebreak') {
+if ($typ == 'pagebreak') {
feedback_create_pagebreak($feedback->id);
redirect($editurl->out(false));
exit;
@@ -69,9 +84,9 @@ if($typ == 'pagebreak') {
//get the existing item or create it
// $formdata->itemid = isset($formdata->itemid) ? $formdata->itemid : NULL;
-if($id and $item = $DB->get_record('feedback_item', array('id'=>$id))) {
+if ($id and $item = $DB->get_record('feedback_item', array('id'=>$id))) {
$typ = $item->typ;
-}else {
+} else {
$item = new stdClass();
$item->id = null;
$item->position = -1;
@@ -88,12 +103,12 @@ $itemobj = feedback_get_item_class($typ);
$itemobj->build_editform($item, $feedback, $cm);
-if($itemobj->is_cancelled()) {
+if ($itemobj->is_cancelled()) {
redirect($editurl->out(false));
exit;
}
-if($itemobj->get_data()) {
- if($item = $itemobj->save_item()) {
+if ($itemobj->get_data()) {
+ if ($item = $itemobj->save_item()) {
feedback_move_item($item, $item->position);
redirect($editurl->out(false));
}
@@ -113,18 +128,15 @@ $PAGE->set_heading(format_string($course->fullname));
$PAGE->set_title(format_string($feedback->name));
echo $OUTPUT->header();
/// print the tabs
-include('tabs.php');
+require('tabs.php');
/// Print the main part of the page
echo $OUTPUT->heading(format_text($feedback->name));
//print errormsg
-if(isset($error)) {
+if (isset($error)) {
echo $error;
}
-feedback_print_errors();
$itemobj->show_editform();
-// echo $OUTPUT->box_end();
-
if ($typ!='label') {
$PAGE->requires->js('/mod/feedback/feedback.js');
$PAGE->requires->js_function_call('set_item_focus', Array('id_itemname'));
@@ -136,4 +148,3 @@ if ($typ!='label') {
///////////////////////////////////////////////////////////////////////////
echo $OUTPUT->footer();
-
diff --git a/mod/feedback/export.php b/mod/feedback/export.php
index 2e5032793d7..705db01aad1 100644
--- a/mod/feedback/export.php
+++ b/mod/feedback/export.php
@@ -1,159 +1,173 @@
.
- /**
- * prints the form to export the items as xml-file
- *
- * @author Andreas Grabs
- * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
- * @package feedback
- */
+/**
+ * prints the form to export the items as xml-file
+ *
+ * @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");
- // 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->param('action', $action);
+$url = new moodle_url('/mod/feedback/export.php', array('id'=>$id));
+if ($action !== false) {
+ $url->param('action', $action);
+}
+$PAGE->set_url($url);
+
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
+
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
+
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
+
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
+
+require_login($course->id, true, $cm);
+
+require_capability('mod/feedback:edititems', $context);
+
+if ($action == 'exportfile') {
+ if (!$exportdata = feedback_get_xml_data($feedback->id)) {
+ print_error('nodata');
}
- $PAGE->set_url($url);
-
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
- }
-
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
- }
-
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
- }
-
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
-
- require_login($course->id, true, $cm);
-
- require_capability('mod/feedback:edititems', $context);
-
- 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);
+ @feedback_send_xml_data($exportdata, 'feedback_'.$feedback->id.'.xml');
exit;
+}
- function feedback_get_xml_data($feedbackid) {
- global $DB;
+redirect('view.php?id='.$id);
+exit;
- $space = ' ';
- //get all items of the feedback
- if(!$items = $DB->get_records('feedback_item', array('feedback'=>$feedbackid), 'position')) {
- return false;
- }
+function feedback_get_xml_data($feedbackid) {
+ global $DB;
- //writing the header of the xml file including the charset of the currrent used language
- $data = ''."\n";
- $data .= '
'."\n";
- $data .= $space.''."\n";
-
- //writing all the items
- foreach($items as $item) {
- //start of item
- $data .= $space.$space.'- '."\n";
-
- //start of itemid
- $data .= $space.$space.$space.'
'."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'id;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of itemid
- $data .= $space.$space.$space.' '."\n";
-
- //start of itemtext
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'name;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of itemtext
- $data .= $space.$space.$space.' '."\n";
-
- //start of itemtext
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'label;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of itemtext
- $data .= $space.$space.$space.' '."\n";
-
- //start of presentation
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'presentation;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of presentation
- $data .= $space.$space.$space.' '."\n";
-
- //start of options
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'options;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of options
- $data .= $space.$space.$space.' '."\n";
-
- //start of dependitem
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'dependitem;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of dependitem
- $data .= $space.$space.$space.' '."\n";
-
- //start of dependvalue
- $data .= $space.$space.$space.''."\n";
- //start of CDATA
- $data .= $space.$space.$space.$space.'dependvalue;
- //end of CDATA
- $data .= ']]>'."\n";
- //end of dependvalue
- $data .= $space.$space.$space.' '."\n";
-
- //end of item
- $data .= $space.$space.' '."\n";
- }
-
- //writing the footer of the xml file
- $data .= $space.' '."\n";
- $data .= ' '."\n";
-
- return $data;
+ $space = ' ';
+ //get all items of the feedback
+ if (!$items = $DB->get_records('feedback_item', array('feedback'=>$feedbackid), 'position')) {
+ return false;
}
- function feedback_send_xml_data($data, $filename) {
- @header('Content-Type: application/xml; charset=UTF-8');
- @header('Content-Disposition: attachment; filename='.$filename);
- print($data);
+ //writing the header of the xml file including the charset of the currrent used language
+ $data = ''."\n";
+ $data .= '
'."\n";
+ $data .= $space.''."\n";
+
+ //writing all the items
+ foreach ($items as $item) {
+ //start of item
+ $data .= $space.$space.'- '."\n";
+
+ //start of itemid
+ $data .= $space.$space.$space.'
'."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'id;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of itemid
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of itemtext
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'name;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of itemtext
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of itemtext
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'label;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of itemtext
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of presentation
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'presentation;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of presentation
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of options
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'options;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of options
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of dependitem
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'dependitem;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of dependitem
+ $data .= $space.$space.$space.' '."\n";
+
+ //start of dependvalue
+ $data .= $space.$space.$space.''."\n";
+ //start of CDATA
+ $data .= $space.$space.$space.$space.'dependvalue;
+ //end of CDATA
+ $data .= ']]>'."\n";
+ //end of dependvalue
+ $data .= $space.$space.$space.' '."\n";
+
+ //end of item
+ $data .= $space.$space.' '."\n";
}
+
+ //writing the footer of the xml file
+ $data .= $space.' '."\n";
+ $data .= ' '."\n";
+
+ return $data;
+}
+
+function feedback_send_xml_data($data, $filename) {
+ @header('Content-Type: application/xml; charset=UTF-8');
+ @header('Content-Disposition: attachment; filename='.$filename);
+ print($data);
+}
diff --git a/mod/feedback/import.php b/mod/feedback/import.php
index 73cd1459aac..e8a1c205a98 100644
--- a/mod/feedback/import.php
+++ b/mod/feedback/import.php
@@ -1,4 +1,18 @@
.
/**
* prints the form to import items from xml-file
@@ -8,282 +22,271 @@
* @package feedback
*/
- require_once("../../config.php");
- require_once("lib.php");
- require_once('import_form.php');
+require_once("../../config.php");
+require_once("lib.php");
+require_once('import_form.php');
- // get parameters
- $id = required_param('id', PARAM_INT);
- $choosefile = optional_param('choosefile', false, PARAM_PATH);
- $action = optional_param('action', false, PARAM_ALPHA);
+// get parameters
+$id = required_param('id', PARAM_INT);
+$choosefile = optional_param('choosefile', false, PARAM_PATH);
+$action = optional_param('action', false, PARAM_ALPHA);
- $url = new moodle_url('/mod/feedback/import.php', array('id'=>$id));
- if ($choosefile !== false) {
- $url->param('choosefile', $choosefile);
- }
- if ($action !== false) {
- $url->param('action', $action);
- }
- $PAGE->set_url($url);
+$url = new moodle_url('/mod/feedback/import.php', array('id'=>$id));
+if ($choosefile !== false) {
+ $url->param('choosefile', $choosefile);
+}
+if ($action !== false) {
+ $url->param('action', $action);
+}
+$PAGE->set_url($url);
- if (! $cm = get_coursemodule_from_id('feedback', $id)) {
- print_error('invalidcoursemodule');
+if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+ print_error('invalidcoursemodule');
+}
+
+if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+ print_error('coursemisconf');
+}
+
+if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+ print_error('invalidcoursemodule');
+}
+
+if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
+ print_error('badcontext');
+}
+
+require_login($course->id, true, $cm);
+
+require_capability('mod/feedback:edititems', $context);
+
+$mform = new feedback_import_form();
+$newformdata = array('id'=>$id,
+ 'deleteolditems'=>'1',
+ 'action'=>'choosefile',
+ 'confirmadd'=>'1',
+ 'do_show'=>'templates');
+$mform->set_data($newformdata);
+$formdata = $mform->get_data();
+
+if ($mform->is_cancelled()) {
+ redirect('edit.php?id='.$id.'&do_show=templates');
+}
+
+// process if we are happy file is ok
+if ($choosefile) {
+ $xmlcontent = $mform->get_file_content('choosefile');
+
+ if (!$xmldata = feedback_load_xml_data($xmlcontent)) {
+ print_error('cannotloadxml', 'feedback', 'edit.php?id='.$id);
}
- if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
- print_error('coursemisconf');
+ $importerror = feedback_import_loaded_data($xmldata, $feedback->id);
+ if ($importerror->stat == true) {
+ $url = 'edit.php?id='.$id.'&do_show=templates';
+ redirect($url, get_string('import_successfully', 'feedback'), 3);
+ exit;
+ }
+}
+
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback = get_string("modulename", "feedback");
+
+$PAGE->set_heading(format_string($course->fullname));
+$PAGE->set_title(format_string($feedback->name));
+echo $OUTPUT->header();
+
+/// print the tabs
+require('tabs.php');
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+echo $OUTPUT->heading(get_string('import_questions', 'feedback'));
+
+if (isset($importerror->msg) AND is_array($importerror->msg)) {
+ echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter');
+ foreach ($importerror->msg as $msg) {
+ echo $msg.'
';
+ }
+ echo $OUTPUT->box_end();
+}
+
+$mform->display();
+
+echo $OUTPUT->footer();
+
+function feedback_load_xml_data($xmlcontent) {
+ global $CFG;
+ require_once($CFG->dirroot.'/lib/xmlize.php');
+
+ if (!$xmlcontent = feedback_check_xml_utf8($xmlcontent)) {
+ return false;
}
- if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
- print_error('invalidcoursemodule');
+ $data = xmlize($xmlcontent, 1, 'UTF-8');
+
+ if (intval($data['FEEDBACK']['@']['VERSION']) != 200701) {
+ return false;
}
+ $data = $data['FEEDBACK']['#']['ITEMS'][0]['#']['ITEM'];
+ return $data;
+}
- if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) {
- print_error('badcontext');
- }
+function feedback_import_loaded_data(&$data, $feedbackid) {
+ global $CFG, $DB;
- require_login($course->id, true, $cm);
+ feedback_load_feedback_items();
- require_capability('mod/feedback:edititems', $context);
+ $deleteolditems = optional_param('deleteolditems', 0, PARAM_INT);
- $mform = new feedback_import_form();
- $newformdata = array('id'=>$id,
- 'deleteolditems'=>'1',
- 'action'=>'choosefile',
- 'confirmadd'=>'1',
- 'do_show'=>'templates');
- $mform->set_data($newformdata);
- $formdata = $mform->get_data();
-
- if ($mform->is_cancelled()) {
- redirect('edit.php?id='.$id.'&do_show=templates');
- }
-
-
- // unset($filename);
- // if ($action == 'choosefile' AND confirm_sesskey() ) {
-
- ////file checks out ok
- // $fileisgood = false;
-
- ////work out if this is an uploaded file
- ////or one from the filesarea.
- // if ($choosefile) {
- // $filename = "{$CFG->dataroot}/{$course->id}/{$choosefile}";
- // }
- // }
-
- // process if we are happy file is ok
- if ($choosefile) {
- $xmlcontent = $mform->get_file_content('choosefile');
-
- if(!$xmldata = feedback_load_xml_data($xmlcontent)) {
- print_error('cannotloadxml', 'feedback', 'edit.php?id='.$id);
- }
-
- $importerror = feedback_import_loaded_data($xmldata, $feedback->id);
- if($importerror->stat == true) {
- redirect('edit.php?id='.$id.'&do_show=templates', get_string('import_successfully', 'feedback'), 3);
- exit;
- }
- }
-
-
- /// Print the page header
- $strfeedbacks = get_string("modulenameplural", "feedback");
- $strfeedback = get_string("modulename", "feedback");
-
- $PAGE->set_heading(format_string($course->fullname));
- $PAGE->set_title(format_string($feedback->name));
- echo $OUTPUT->header();
-
- /// print the tabs
- include('tabs.php');
-
- /// Print the main part of the page
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////
- echo $OUTPUT->heading(get_string('import_questions','feedback'));
-
- if(isset($importerror->msg) AND is_array($importerror->msg)) {
- echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter');
- foreach($importerror->msg as $msg) {
- echo $msg.'
';
- }
- echo $OUTPUT->box_end();
- }
-
- $mform->display();
-
- // echo $OUTPUT->container_start('mdl-align');
- // echo $OUTPUT->single_button(new moodle_url('edit.php', array('id'=>$id, 'do_show'=>'templates')), get_string('cancel'));
- // echo $OUTPUT->container_end();
- echo $OUTPUT->footer();
-
- function feedback_load_xml_data($xmlcontent) {
- global $CFG;
- require_once($CFG->dirroot.'/lib/xmlize.php');
-
- if(!$xmlcontent = feedback_check_xml_utf8($xmlcontent)) return false;
-
- $data = xmlize($xmlcontent, 1, 'UTF-8');
-
- if(intval($data['FEEDBACK']['@']['VERSION']) != 200701) {
- return false;
- }
- $data = $data['FEEDBACK']['#']['ITEMS'][0]['#']['ITEM'];
- return $data;
- }
-
- function feedback_import_loaded_data(&$data, $feedbackid){
- global $CFG, $DB;
-
- feedback_load_feedback_items();
-
- $deleteolditems = optional_param('deleteolditems', 0, PARAM_INT);
-
- $error = new stdClass();
- $error->stat = true;
- $error->msg = array();
-
- if(!is_array($data)) {
- $error->msg[] = get_string('data_is_not_an_array', 'feedback');
- $error->stat = false;
- return $error;
- }
-
- if($deleteolditems) {
- feedback_delete_all_items($feedbackid);
- $position = 0;
- } else {
- //items will be add to the end of the existing items
- $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
- $typ = $item['@']['TYPE'];
-
- //check oldtypes first
- switch($typ) {
- case 'radio':
- $typ = 'multichoice';
- $oldtyp = 'radio';
- break;
- case 'dropdown':
- $typ = 'multichoice';
- $oldtyp = 'dropdown';
- break;
- case 'check':
- $typ = 'multichoice';
- $oldtyp = 'check';
- break;
- case 'radiorated':
- $typ = 'multichoicerated';
- $oldtyp = 'radiorated';
- break;
- case 'dropdownrated':
- $typ = 'multichoicerated';
- $oldtyp = 'dropdownrated';
- break;
- default:
- $oldtyp = $typ;
- }
-
- $itemclass = 'feedback_item_'.$typ;
- if($typ != 'pagebreak' AND !class_exists($itemclass)) {
- $error->stat = false;
- $error->msg[] = 'type ('.$typ.') not found';
- continue;
- }
- $itemobj = new $itemclass();
-
- $newitem = new stdClass();
- $newitem->feedback = $feedbackid;
- $newitem->template = 0;
- $newitem->typ = $typ;
- $newitem->name = trim($item['#']['ITEMTEXT'][0]['#']);
- $newitem->label = trim($item['#']['ITEMLABEL'][0]['#']);
- $newitem->options = trim($item['#']['OPTIONS'][0]['#']);
- $newitem->presentation = trim($item['#']['PRESENTATION'][0]['#']);
- //check old types of radio, check, and so on
- switch($oldtyp) {
- case 'radio':
- $newitem->presentation = 'r>>>>>'.$newitem->presentation;
- break;
- case 'dropdown':
- $newitem->presentation = 'd>>>>>'.$newitem->presentation;
- break;
- case 'check':
- $newitem->presentation = 'c>>>>>'.$newitem->presentation;
- break;
- case 'radiorated':
- $newitem->presentation = 'r>>>>>'.$newitem->presentation;
- break;
- case 'dropdownrated':
- $newitem->presentation = 'd>>>>>'.$newitem->presentation;
- 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 {
- $newitem->hasvalue = 0;
- }
- $newitem->required = intval($item['@']['REQUIRED']);
- $newitem->position = $position;
- $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);
- }
+ $error = new stdClass();
+ $error->stat = true;
+ $error->msg = array();
+ if (!is_array($data)) {
+ $error->msg[] = get_string('data_is_not_an_array', 'feedback');
+ $error->stat = false;
return $error;
}
- function feedback_check_xml_utf8($text) {
- //find the encoding
- $searchpattern = '/^\<\?xml.+(encoding=\"([a-z0-9-]*)\").+\?\>/is';
-
- if(!preg_match($searchpattern, $text, $match)) return false; //no xml-file
-
- //$match[0] = \<\? xml ... \?\> (without \)
- //$match[1] = encoding="...."
- //$match[2] = ISO-8859-1 or so on
- if(isset($match[0]) AND !isset($match[1])){ //no encoding given. we assume utf-8
- return $text;
- }
-
- if(isset($match[0]) AND isset($match[1]) AND isset($match[2])) { //encoding is given in $match[2]
- $enc = $match[2];
- $textlib = textlib_get_instance();
- return $textlib->convert($text, $enc);
- }
+ if ($deleteolditems) {
+ feedback_delete_all_items($feedbackid);
+ $position = 0;
+ } else {
+ //items will be add to the end of the existing items
+ $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
+ $typ = $item['@']['TYPE'];
+
+ //check oldtypes first
+ switch($typ) {
+ case 'radio':
+ $typ = 'multichoice';
+ $oldtyp = 'radio';
+ break;
+ case 'dropdown':
+ $typ = 'multichoice';
+ $oldtyp = 'dropdown';
+ break;
+ case 'check':
+ $typ = 'multichoice';
+ $oldtyp = 'check';
+ break;
+ case 'radiorated':
+ $typ = 'multichoicerated';
+ $oldtyp = 'radiorated';
+ break;
+ case 'dropdownrated':
+ $typ = 'multichoicerated';
+ $oldtyp = 'dropdownrated';
+ break;
+ default:
+ $oldtyp = $typ;
+ }
+
+ $itemclass = 'feedback_item_'.$typ;
+ if ($typ != 'pagebreak' AND !class_exists($itemclass)) {
+ $error->stat = false;
+ $error->msg[] = 'type ('.$typ.') not found';
+ continue;
+ }
+ $itemobj = new $itemclass();
+
+ $newitem = new stdClass();
+ $newitem->feedback = $feedbackid;
+ $newitem->template = 0;
+ $newitem->typ = $typ;
+ $newitem->name = trim($item['#']['ITEMTEXT'][0]['#']);
+ $newitem->label = trim($item['#']['ITEMLABEL'][0]['#']);
+ $newitem->options = trim($item['#']['OPTIONS'][0]['#']);
+ $newitem->presentation = trim($item['#']['PRESENTATION'][0]['#']);
+ //check old types of radio, check, and so on
+ switch($oldtyp) {
+ case 'radio':
+ $newitem->presentation = 'r>>>>>'.$newitem->presentation;
+ break;
+ case 'dropdown':
+ $newitem->presentation = 'd>>>>>'.$newitem->presentation;
+ break;
+ case 'check':
+ $newitem->presentation = 'c>>>>>'.$newitem->presentation;
+ break;
+ case 'radiorated':
+ $newitem->presentation = 'r>>>>>'.$newitem->presentation;
+ break;
+ case 'dropdownrated':
+ $newitem->presentation = 'd>>>>>'.$newitem->presentation;
+ 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 {
+ $newitem->hasvalue = 0;
+ }
+ $newitem->required = intval($item['@']['REQUIRED']);
+ $newitem->position = $position;
+ $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;
+}
+
+function feedback_check_xml_utf8($text) {
+ //find the encoding
+ $searchpattern = '/^\<\?xml.+(encoding=\"([a-z0-9-]*)\").+\?\>/is';
+
+ if (!preg_match($searchpattern, $text, $match)) {
+ return false; //no xml-file
+ }
+
+ //$match[0] = \<\? xml ... \?\> (without \)
+ //$match[1] = encoding="...."
+ //$match[2] = ISO-8859-1 or so on
+ if (isset($match[0]) AND !isset($match[1])) { //no encoding given. we assume utf-8
+ return $text;
+ }
+
+ //encoding is given in $match[2]
+ if (isset($match[0]) AND isset($match[1]) AND isset($match[2])) {
+ $enc = $match[2];
+ $textlib = textlib_get_instance();
+ return $textlib->convert($text, $enc);
+ }
+}
diff --git a/mod/feedback/import_form.php b/mod/feedback/import_form.php
index 1b2e4e87aba..97d4ef0c466 100644
--- a/mod/feedback/import_form.php
+++ b/mod/feedback/import_form.php
@@ -1,28 +1,47 @@
.
+/**
+ * prints the forms to choose an xml-template file to import items
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+//It must be included from a Moodle page
if (!defined('MOODLE_INTERNAL')) {
- die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
+ die('Direct access to this script is forbidden.');
}
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
class feedback_import_form extends moodleform {
- function definition() {
+ public function definition() {
global $CFG;
$mform =& $this->_form;
//headline
$mform->addElement('header', 'general', '');
- $strdeleteolditmes = get_string('delete_old_items', 'feedback').' ('.get_string('oldvalueswillbedeleted','feedback').')';
- $strnodeleteolditmes = get_string('append_new_items', 'feedback').' ('.get_string('oldvaluespreserved','feedback').')';
-
+ $strdeleteolditmes = get_string('delete_old_items', 'feedback').
+ ' ('.get_string('oldvalueswillbedeleted', 'feedback').')';
+
+ $strnodeleteolditmes = get_string('append_new_items', 'feedback').
+ ' ('.get_string('oldvaluespreserved', 'feedback').')';
+
$deleteolditemsarray = array();
$mform->addElement('radio', 'deleteolditems', '', $strdeleteolditmes, true);
$mform->addElement('radio', 'deleteolditems', '', $strnodeleteolditmes);
@@ -31,9 +50,12 @@ class feedback_import_form extends moodleform {
// hidden elements
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
- $mform->addElement('filepicker', 'choosefile', get_string('file'), null, array('maxbytes' => $CFG->maxbytes, 'filetypes' => '*'));
+ $mform->addElement('filepicker',
+ 'choosefile',
+ get_string('file'),
+ null,
+ array('maxbytes' => $CFG->maxbytes, 'filetypes' => '*'));
- //-------------------------------------------------------------------------------
// buttons
$this->add_action_buttons(true, get_string('yes'));
diff --git a/mod/feedback/index.php b/mod/feedback/index.php
index 6794825df47..860a196a08f 100644
--- a/mod/feedback/index.php
+++ b/mod/feedback/index.php
@@ -1,4 +1,18 @@
.
/**
* prints the overview of all feedbacks included into the current course
@@ -43,7 +57,8 @@ echo $OUTPUT->header();
/// Get all the appropriate data
if (! $feedbacks = get_all_instances_in_course("feedback", $course)) {
- notice(get_string('thereareno', 'moodle', $strfeedbacks), new moodle_url('/course/view.php', array('id'=>$course->id)));
+ $url = new moodle_url('/course/view.php', array('id'=>$course->id));
+ notice(get_string('thereareno', 'moodle', $strfeedbacks), $url);
die;
}
@@ -62,18 +77,18 @@ $strresponses = get_string('responses', 'feedback');
$table = new html_table();
if ($usesections) {
- if(has_capability('mod/feedback:viewreports', $context)) {
+ if (has_capability('mod/feedback:viewreports', $context)) {
$table->head = array ($strsectionname, $strname, $strresponses);
$table->align = array ("center", "left", 'center');
- }else{
+ } else {
$table->head = array ($strsectionname, $strname);
$table->align = array ("center", "left");
}
} else {
- if(has_capability('mod/feedback:viewreports', $context)) {
+ if (has_capability('mod/feedback:viewreports', $context)) {
$table->head = array ($strname, $strresponses);
$table->align = array ("left", "center");
- }else{
+ } else {
$table->head = array ($strname);
$table->align = array ("left");
}
@@ -84,8 +99,8 @@ foreach ($feedbacks as $feedback) {
//get the responses of each feedback
$viewurl = new moodle_url('/mod/feedback/view.php', array('id'=>$feedback->coursemodule));
- if(has_capability('mod/feedback:viewreports', $context)) {
- $completedFeedbackCount = intval(feedback_get_completeds_group_count($feedback));
+ if (has_capability('mod/feedback:viewreports', $context)) {
+ $completed_feedback_count = intval(feedback_get_completeds_group_count($feedback));
}
$dimmedclass = $feedback->visible ? '' : 'class="dimmed"';
@@ -96,8 +111,8 @@ foreach ($feedbacks as $feedback) {
} else {
$tabledata = array ($link);
}
- if(has_capability('mod/feedback:viewreports', $context)) {
- $tabledata[] = $completedFeedbackCount;
+ if (has_capability('mod/feedback:viewreports', $context)) {
+ $tabledata[] = $completed_feedback_count;
}
$table->data[] = $tabledata;
diff --git a/mod/feedback/item/captcha/captcha_form.php b/mod/feedback/item/captcha/captcha_form.php
index 0761af6517e..8dd1bf7a739 100644
--- a/mod/feedback/item/captcha/captcha_form.php
+++ b/mod/feedback/item/captcha/captcha_form.php
@@ -1,17 +1,31 @@
.
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_form_class.php');
class feedback_captcha_form extends feedback_item_form {
- var $type = "captcha";
+ protected $type = "captcha";
+
+ public function definition() {
- function definition() {
-
$item = $this->_customdata['item'];
$common = $this->_customdata['common'];
$positionlist = $this->_customdata['positionlist'];
$position = $this->_customdata['position'];
-
+
$mform =& $this->_form;
$mform->addElement('header', 'general', get_string($this->type, 'feedback'));
@@ -28,7 +42,7 @@ class feedback_captcha_form extends feedback_item_form {
$mform->addElement('select',
'presentation',
get_string('count_of_nums', 'feedback').' ',
- array_slice(range(0,10),3,10,true));
+ array_slice(range(0, 10), 3, 10, true));
parent::definition();
$this->set_data($item);
diff --git a/mod/feedback/item/captcha/lib.php b/mod/feedback/item/captcha/lib.php
index 0dcca48e483..126d51e3417 100644
--- a/mod/feedback/item/captcha/lib.php
+++ b/mod/feedback/item/captcha/lib.php
@@ -1,31 +1,47 @@
.
+
defined('MOODLE_INTERNAL') OR die('not allowed');
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_class.php');
class feedback_item_captcha extends feedback_item_base {
- var $type = "captcha";
- var $commonparams;
- var $item_form = false;
- var $item = false;
- var $feedback = false;
+ protected $type = "captcha";
+ private $commonparams;
+ private $item_form = false;
+ private $item = false;
+ private $feedback = false;
- function init() {
+ public function init() {
}
- function build_editform($item, $feedback, $cm) {
+ public function build_editform($item, $feedback, $cm) {
global $DB;
$editurl = new moodle_url('/mod/feedback/edit.php', array('id'=>$cm->id));
//ther are no settings for recaptcha
- if(isset($item->id) AND $item->id > 0) {
+ if (isset($item->id) AND $item->id > 0) {
notice(get_string('there_are_no_settings_for_recaptcha', 'feedback'), $editurl->out());
exit;
}
//only one recaptcha can be in a feedback
- if($DB->record_exists('feedback_item', array('feedback'=>$feedback->id, 'typ'=>$this->type))) {
+ $params = array('feedback' => $feedback->id, 'typ' => $this->type);
+ if ($DB->record_exists('feedback_item', $params)) {
notice(get_string('only_one_captcha_allowed', 'feedback'), $editurl->out());
exit;
}
@@ -50,27 +66,27 @@ class feedback_item_captcha extends feedback_item_base {
$this->item->options = '';
}
- function show_editform() {
+ public function show_editform() {
}
- function is_cancelled() {
+ public function is_cancelled() {
return false;
}
- function get_data() {
+ public function get_data() {
return true;
}
- function save_item() {
+ public function save_item() {
global $DB;
- if(!$this->item) {
+ if (!$this->item) {
return false;
}
- if(empty($this->item->id)) {
+ if (empty($this->item->id)) {
$this->item->id = $DB->insert_record('feedback_item', $this->item);
- }else {
+ } else {
$DB->update_record('feedback_item', $this->item);
}
@@ -78,20 +94,22 @@ class feedback_item_captcha extends feedback_item_base {
}
//liefert eine Struktur ->name, ->data = array(mit Antworten)
- function get_analysed($item, $groupid = false, $courseid = false) {
+ public function get_analysed($item, $groupid = false, $courseid = false) {
return null;
}
- function get_printval($item, $value) {
+ public function get_printval($item, $value) {
return '';
}
- function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
+ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
return $itemnr;
}
- function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false) {
- return $rowOffset;
+ public function excelprint_item(&$worksheet, $row_offset,
+ $xls_formats, $item,
+ $groupid, $courseid = false) {
+ return $row_offset;
}
/**
@@ -101,16 +119,17 @@ class feedback_item_captcha extends feedback_item_base {
* @param object $item
* @return void
*/
- function print_item_preview($item) {
+ public function print_item_preview($item) {
global $DB;
$align = right_to_left() ? 'right' : 'left';
$cmid = 0;
$feedbackid = $item->feedback;
- if($feedbackid > 0) {
+ if ($feedbackid > 0) {
$feedback = $DB->get_record('feedback', array('id'=>$feedbackid));
- if($cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course)) {
+ $cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course);
+ if ($cm) {
$cmid = $cm->id;
}
}
@@ -134,7 +153,7 @@ class feedback_item_captcha extends feedback_item_base {
* @param bool $highlightrequire
* @return void
*/
- function print_item_complete($item, $value = '', $highlightrequire = false) {
+ public function print_item_complete($item, $value = '', $highlightrequire = false) {
global $SESSION, $CFG, $DB, $USER;
require_once($CFG->libdir.'/recaptchalib.php');
@@ -142,33 +161,38 @@ class feedback_item_captcha extends feedback_item_base {
$cmid = 0;
$feedbackid = $item->feedback;
- if($feedbackid > 0) {
+ if ($feedbackid > 0) {
$feedback = $DB->get_record('feedback', array('id'=>$feedbackid));
- if($cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course)) {
+ $cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course);
+ if ($cm) {
$cmid = $cm->id;
}
}
//check if an false value even the value is not required
- if($highlightrequire AND !$this->check_value($value, $item)) {
+ if ($highlightrequire AND !$this->check_value($value, $item)) {
$falsevalue = true;
- }else {
+ } else {
$falsevalue = false;
}
- if($falsevalue) {
+ if ($falsevalue) {
$highlight = 'missingrequire';
- }else {
+ } else {
$highlight = '';
}
$requiredmark = '
* ';
- if(isset($SESSION->feedback->captchacheck) AND $SESSION->feedback->captchacheck == $USER->sesskey AND $value == $USER->sesskey) {
+ if (isset($SESSION->feedback->captchacheck) AND
+ $SESSION->feedback->captchacheck == $USER->sesskey AND
+ $value == $USER->sesskey) {
+
//print the question and label
echo '
';
echo '('.$item->label.') ';
echo format_text($item->name.$requiredmark, true, false, false);
- echo ' ';
+ $inputname = 'name="'.$item->typ.'_'.$item->id.'"';
+ echo ' ';
echo '
';
return;
}
@@ -187,19 +211,31 @@ class feedback_item_captcha extends feedback_item_base {
';
//we have to rename the challengefield
- $captchahtml = recaptcha_get_html($CFG->recaptchapublickey, NULL);
- echo $html.$captchahtml;
+ if (!empty($CFG->recaptchaprivatekey) AND !empty($CFG->recaptchapublickey)) {
+ $captchahtml = recaptcha_get_html($CFG->recaptchapublickey, null);
+ echo $html.$captchahtml;
+ }
}
/**
@@ -210,16 +246,16 @@ class feedback_item_captcha extends feedback_item_base {
* @param string $value
* @return void
*/
- function print_item_show_value($item, $value = '') {
+ public function print_item_show_value($item, $value = '') {
global $DB;
$align = right_to_left() ? 'right' : 'left';
$cmid = 0;
$feedbackid = $item->feedback;
- if($feedbackid > 0) {
+ if ($feedbackid > 0) {
$feedback = $DB->get_record('feedback', array('id'=>$feedbackid));
- if($cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course)) {
+ if ($cm = get_coursemodule_from_instance("feedback", $feedback->id, $feedback->course)) {
$cmid = $cm->id;
}
}
@@ -234,18 +270,22 @@ class feedback_item_captcha extends feedback_item_base {
}
- function check_value($value, $item) {
+ public function check_value($value, $item) {
global $SESSION, $CFG, $USER;
require_once($CFG->libdir.'/recaptchalib.php');
+ //is recaptcha configured in moodle?
+ if (empty($CFG->recaptchaprivatekey) OR empty($CFG->recaptchapublickey)) {
+ return true;
+ }
$challenge = optional_param('recaptcha_challenge_field', '', PARAM_RAW);
- if($value == $USER->sesskey AND $challenge == '') {
+ if ($value == $USER->sesskey AND $challenge == '') {
return true;
}
$remoteip = getremoteaddr(null);
$response = recaptcha_check_answer($CFG->recaptchaprivatekey, $remoteip, $challenge, $value);
- if($response->is_valid) {
+ if ($response->is_valid) {
$SESSION->feedback->captchacheck = $USER->sesskey;
return true;
}
@@ -254,7 +294,7 @@ class feedback_item_captcha extends feedback_item_base {
return false;
}
- function create_value($data) {
+ public function create_value($data) {
global $USER;
return $USER->sesskey;
}
@@ -262,22 +302,28 @@ class feedback_item_captcha extends feedback_item_base {
//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) {
+ public function compare_value($item, $dbvalue, $dependvalue) {
+ if ($dbvalue == $dependvalue) {
return true;
}
return false;
}
- function get_presentation($data) {
+ public function get_presentation($data) {
return '';
}
- function get_hasvalue() {
+ public function get_hasvalue() {
+ global $CFG;
+
+ //is recaptcha configured in moodle?
+ if (empty($CFG->recaptchaprivatekey) OR empty($CFG->recaptchapublickey)) {
+ return 0;
+ }
return 1;
}
- function can_switch_require() {
+ public function can_switch_require() {
return false;
}
}
diff --git a/mod/feedback/item/captcha/print_captcha.php b/mod/feedback/item/captcha/print_captcha.php
index 7ac8bc443ea..9d5b109f5eb 100644
--- a/mod/feedback/item/captcha/print_captcha.php
+++ b/mod/feedback/item/captcha/print_captcha.php
@@ -1,4 +1,18 @@
.
require_once('../../../../config.php');
@@ -20,13 +34,12 @@ if ($id) {
}
}
-if(!isset($SESSION->feedback->item->captcha)) {
+if (!isset($SESSION->feedback->item->captcha)) {
print_error('captchanotset', 'feedback');
}
$height = 40;
$charcount = $SESSION->feedback->item->captcha->charcount;
-// $fontfile = $CFG->dirroot.'/mod/feedback/item/captcha/default.ttf';
$fontfile = $CFG->libdir.'/default.ttf';
$ttfbox = imagettfbbox ( 30, 0, $fontfile, 'H' );//the text to measure
@@ -36,14 +49,12 @@ $width = $charcount * $charwidth;
$scale = 0.3;
$elipsesize = intval((($width + $height)/2) / 5);
-$factorX = intval($width * $scale);
-$factorY = intval($height * $scale);
+$factor_x = intval($width * $scale);
+$factor_y = intval($height * $scale);
//I split the colors in three ranges
//given are the max-min-values
-//$colors = array(80, 155, 255);
-$colors = array(array(0,40),array(50,200),array(210,255));
-//shuffle($colors);
+$colors = array(array(0, 40), array(50, 200), array(210, 255));
list($col_text1, $col_el, $col_text2) = $colors;
//if the text is in color_1 so the elipses can be in color_2 or color_3
@@ -53,18 +64,15 @@ $textcolnum = rand(1, 3);
//create the numbers to print out
$nums = array();
-for($i = 0; $i < $charcount; $i++) {
- $nums[] = rand(0,9); //Ziffern von 0-
+for ($i = 0; $i < $charcount; $i++) {
+ $nums[] = rand(0, 9); //Ziffern von 0-
}
-// $nums = range(0, 9);
-// shuffle($nums);
-
//to draw enough elipses so I draw 0.2 * width and 0.2 * height
//we need th colors for that
$properties = array();
-for($x = 0; $x < $factorX; $x++) {
- for($y = 0; $y < $factorY; $y++) {
+for ($x = 0; $x < $factor_x; $x++) {
+ for ($y = 0; $y < $factor_y; $y++) {
$propobj = new stdClass();
$propobj->x = intval($x / $scale);
$propobj->y = intval($y / $scale);
@@ -79,7 +87,7 @@ shuffle($properties);
// create a blank image
$image = imagecreatetruecolor($width, $height);
$bg = imagecolorallocate($image, 0, 0, 0);
-for($i = 0; $i < ($factorX * $factorY); $i++) {
+for ($i = 0; $i < ($factor_x * $factor_y); $i++) {
$propobj = $properties[$i];
// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, $propobj->red, $propobj->green, $propobj->blue);
@@ -88,8 +96,8 @@ for($i = 0; $i < ($factorX * $factorY); $i++) {
}
$checkchar = '';
-for($i = 0; $i < $charcount; $i++) {
- $colnum = rand(1,2);
+for ($i = 0; $i < $charcount; $i++) {
+ $colnum = rand(1, 2);
$textcol = new stdClass();
$textcol->red = get_random_color(${'col_text'.$colnum}[0], ${'col_text'.$colnum}[1]);
$textcol->green = get_random_color(${'col_text'.$colnum}[0], ${'col_text'.$colnum}[1]);
@@ -99,7 +107,7 @@ for($i = 0; $i < $charcount; $i++) {
$left_text = $i * $charwidth;
$text = $nums[$i];
$checkchar .= $text;
- ImageTTFText ($image, 30, $angle_text, $left_text, 35, $color_text, $fontfile, $text);
+ imagettftext($image, 30, $angle_text, $left_text, 35, $color_text, $fontfile, $text);
}
$SESSION->feedback->item->captcha->checkchar = $checkchar;
@@ -114,5 +122,3 @@ function get_random_color($val1 = 0, $val2 = 255) {
return rand($min, $max);
}
-
-
diff --git a/mod/feedback/item/feedback_item_class.php b/mod/feedback/item/feedback_item_class.php
index ddcfcd71496..981aefd58ea 100644
--- a/mod/feedback/item/feedback_item_class.php
+++ b/mod/feedback/item/feedback_item_class.php
@@ -1,51 +1,75 @@
.
abstract class feedback_item_base {
- var $type;
+ protected $type;
/**
* constructor
*
*/
- function __construct() {
+ public function __construct() {
$this->init();
}
//this function only can used after the call of build_editform()
- function show_editform() {
+ public function show_editform() {
$this->item_form->display();
}
-
- function is_cancelled() {
+
+ public function is_cancelled() {
return $this->item_form->is_cancelled();
}
- function get_data() {
- if($this->item = $this->item_form->get_data()) {
+ public function get_data() {
+ if ($this->item = $this->item_form->get_data()) {
return true;
}
return false;
}
-
- abstract function init();
- abstract function build_editform($item, $feedback, $cm);
- abstract function save_item();
- abstract function check_value($value, $item);
- abstract function create_value($data);
- abstract function compare_value($item, $dbvalue, $dependvalue);
- abstract function get_presentation($data);
- abstract function get_hasvalue();
- abstract function can_switch_require();
+
+ public function value_type() {
+ return PARAM_RAW;
+ }
+
+ public function value_is_array() {
+ return false;
+ }
+
+ abstract public function init();
+ abstract public function build_editform($item, $feedback, $cm);
+ abstract public function save_item();
+ abstract public function check_value($value, $item);
+ abstract public function create_value($data);
+ abstract public function compare_value($item, $dbvalue, $dependvalue);
+ abstract public function get_presentation($data);
+ abstract public function get_hasvalue();
+ abstract public function can_switch_require();
/**
* @param object $worksheet a reference to the pear_spreadsheet-object
- * @param integer $rowOffset
+ * @param integer $row_offset
* @param object $item the db-object from feedback_item
* @param integer $groupid
* @param integer $courseid
- * @return integer the new rowOffset
- */
- abstract function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false);
+ * @return integer the new row_offset
+ */
+ abstract public function excelprint_item(&$worksheet, $row_offset,
+ $xls_formats, $item,
+ $groupid, $courseid = false);
/**
* @param $item the db-object from feedback_item
@@ -53,16 +77,16 @@ abstract class feedback_item_base {
* @param integer $groupid
* @param integer $courseid
* @return integer the new itemnr
- */
- abstract function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false);
-
+ */
+ abstract public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false);
+
/**
* @param object $item the db-object from feedback_item
* @param string $value a item-related value from feedback_values
* @return string
- */
- abstract function get_printval($item, $value);
-
+ */
+ abstract public function get_printval($item, $value);
+
/**
* returns an Array with three values(typ, name, XXX)
* XXX is also an Array (count of responses on type $this->type)
@@ -71,9 +95,9 @@ abstract class feedback_item_base {
* @param $groupid if given
* @param $courseid if given
* @return array
- */
- abstract function get_analysed($item, $groupid = false, $courseid = false);
-
+ */
+ abstract public function get_analysed($item, $groupid = false, $courseid = false);
+
/**
* print the item at the edit-page of feedback
*
@@ -81,8 +105,8 @@ abstract class feedback_item_base {
* @param object $item
* @return void
*/
- abstract function print_item_preview($item);
-
+ abstract public function print_item_preview($item);
+
/**
* print the item at the complete-page of feedback
*
@@ -92,7 +116,7 @@ abstract class feedback_item_base {
* @param bool $highlightrequire
* @return void
*/
- abstract function print_item_complete($item, $value = '', $highlightrequire = false);
+ abstract public function print_item_complete($item, $value = '', $highlightrequire = false);
/**
* print the item at the complete-page of feedback
@@ -102,33 +126,55 @@ abstract class feedback_item_base {
* @param string $value
* @return void
*/
- abstract function print_item_show_value($item, $value = '');
+ abstract public function print_item_show_value($item, $value = '');
}
//a dummy class to realize pagebreaks
class feedback_item_pagebreak extends feedback_item_base {
- var $type = "pagebreak";
+ protected $type = "pagebreak";
- function show_editform() {}
- function is_cancelled() {}
- function get_data() {}
- function init() {}
- function build_editform($item, $feedback, $cm) {}
- function save_item() {}
- function check_value($value, $item) {}
- function create_value($data) {}
- function compare_value($item, $dbvalue, $dependvalue) {}
- function get_presentation($data) {}
- function get_hasvalue() {}
- function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false) {}
- function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {}
- function get_printval($item, $value) {}
- function get_analysed($item, $groupid = false, $courseid = false) {}
- function print_item_preview($item) {}
- function print_item_complete($item, $value = '', $highlightrequire = false) {}
- function print_item_show_value($item, $value = '') {}
- function can_switch_require(){}
+ public function show_editform() {
+ }
+ public function is_cancelled() {
+ }
+ public function get_data() {
+ }
+ public function init() {
+ }
+ public function build_editform($item, $feedback, $cm) {
+ }
+ public function save_item() {
+ }
+ public function check_value($value, $item) {
+ }
+ public function create_value($data) {
+ }
+ public function compare_value($item, $dbvalue, $dependvalue) {
+ }
+ public function get_presentation($data) {
+ }
+ public function get_hasvalue() {
+ }
+ public function excelprint_item(&$worksheet, $row_offset,
+ $xls_formats, $item,
+ $groupid, $courseid = false) {
+ }
+
+ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
+ }
+ public function get_printval($item, $value) {
+ }
+ public function get_analysed($item, $groupid = false, $courseid = false) {
+ }
+ public function print_item_preview($item) {
+ }
+ public function print_item_complete($item, $value = '', $highlightrequire = false) {
+ }
+ public function print_item_show_value($item, $value = '') {
+ }
+ public function can_switch_require() {
+ }
}
diff --git a/mod/feedback/item/feedback_item_form_class.php b/mod/feedback/item/feedback_item_form_class.php
index d9cc8b22a6a..859b910e7ad 100644
--- a/mod/feedback/item/feedback_item_form_class.php
+++ b/mod/feedback/item/feedback_item_form_class.php
@@ -1,13 +1,27 @@
.
-require_once $CFG->libdir.'/formslib.php';
+require_once($CFG->libdir.'/formslib.php');
define('FEEDBACK_ITEM_NAME_TEXTBOX_SIZE', 80);
define('FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE', 20);
abstract class feedback_item_form extends moodleform {
- function definition() {
+ public function definition() {
$item = $this->_customdata['item']; //the item object
-
+
//common is an array like:
// array('cmid'=>$cm->id,
// 'id'=>isset($item->id) ? $item->id : NULL,
@@ -15,16 +29,16 @@ abstract class feedback_item_form extends moodleform {
// 'items'=>$feedbackitems,
// 'feedback'=>$feedback->id);
$common = $this->_customdata['common'];
-
+
//positionlist is an array with possible positions for the item location
$positionlist = $this->_customdata['positionlist'];
-
+
//the current position of the item
$position = $this->_customdata['position'];
-
+
$mform =& $this->_form;
-
- if($common['items']) {
+
+ if ($common['items']) {
$mform->addElement('select',
'dependitem',
get_string('dependitem', 'feedback').' ',
@@ -35,7 +49,7 @@ abstract class feedback_item_form extends moodleform {
'dependvalue',
get_string('dependvalue', 'feedback'),
array('size'=>FEEDBACK_ITEM_LABEL_TEXTBOX_SIZE, 'maxlength'=>255));
- }else {
+ } else {
$mform->addElement('hidden', 'dependitem', 0);
$mform->setType('dependitem', PARAM_INT);
$mform->addElement('hidden', 'dependvalue', '');
@@ -47,23 +61,22 @@ abstract class feedback_item_form extends moodleform {
get_string('position', 'feedback').' ',
$positionlist);
$position_select->setValue($position);
-
$mform->addElement('hidden', 'cmid', $common['cmid']);
$mform->setType('cmid', PARAM_INT);
-
+
$mform->addElement('hidden', 'id', $common['id']);
$mform->setType('id', PARAM_INT);
-
+
$mform->addElement('hidden', 'feedback', $common['feedback']);
$mform->setType('feedback', PARAM_INT);
-
+
$mform->addElement('hidden', 'template', 0);
$mform->setType('template', PARAM_INT);
-
+
$mform->setType('name', PARAM_RAW);
$mform->setType('label', PARAM_ALPHANUM);
-
+
$mform->addElement('hidden', 'typ', $this->type);
$mform->setType('typ', PARAM_ALPHA);
@@ -74,17 +87,24 @@ abstract class feedback_item_form extends moodleform {
$mform->setType('options', PARAM_ALPHA);
$buttonarray = array();
- if(!empty($item->id)){
- $buttonarray[] = &$mform->createElement('submit', 'update_item', get_string('update_item', 'feedback'));
- $buttonarray[] = &$mform->createElement('submit', 'clone_item', get_string('save_as_new_item', 'feedback'));
- }else{
+ if (!empty($item->id)) {
+ $buttonarray[] = &$mform->createElement('submit',
+ 'update_item',
+ get_string('update_item', 'feedback'));
+
+ $buttonarray[] = &$mform->createElement('submit',
+ 'clone_item',
+ get_string('save_as_new_item', 'feedback'));
+ } else {
$mform->addElement('hidden', 'clone_item', 0);
$mform->setType('clone_item', PARAM_INT);
- $buttonarray[] = &$mform->createElement('submit', 'save_item', get_string('save_item', 'feedback'));
+ $buttonarray[] = &$mform->createElement('submit',
+ 'save_item',
+ get_string('save_item', 'feedback'));
}
$buttonarray[] = &$mform->createElement('cancel');
$mform->addGroup($buttonarray, 'buttonar', ' ', array(' '), false);
-
+
}
}
diff --git a/mod/feedback/item/info/info_form.php b/mod/feedback/item/info/info_form.php
index 8b205738078..daa61a273f9 100644
--- a/mod/feedback/item/info/info_form.php
+++ b/mod/feedback/item/info/info_form.php
@@ -1,17 +1,31 @@
.
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_form_class.php');
class feedback_info_form extends feedback_item_form {
- var $type = "info";
+ protected $type = "info";
+
+ public function definition() {
- function definition() {
-
$item = $this->_customdata['item'];
$common = $this->_customdata['common'];
$positionlist = $this->_customdata['positionlist'];
$position = $this->_customdata['position'];
-
+
$mform =& $this->_form;
$mform->addElement('header', 'general', get_string($this->type, 'feedback'));
@@ -31,7 +45,10 @@ class feedback_info_form extends feedback_item_form {
$options[1] = get_string('responsetime', 'feedback');
$options[2] = get_string('course');
$options[3] = get_string('coursecategory');
- $this->infotype = &$mform->addElement('select', 'presentation', get_string('infotype', 'feedback'), $options);
+ $this->infotype = &$mform->addElement('select',
+ 'presentation',
+ get_string('infotype', 'feedback'),
+ $options);
parent::definition();
$this->set_data($item);
diff --git a/mod/feedback/item/info/lib.php b/mod/feedback/item/info/lib.php
index cefe0003d01..870c3287bb4 100644
--- a/mod/feedback/item/info/lib.php
+++ b/mod/feedback/item/info/lib.php
@@ -1,34 +1,49 @@
.
+
defined('MOODLE_INTERNAL') OR die('not allowed');
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_class.php');
class feedback_item_info extends feedback_item_base {
- var $type = "info";
- var $commonparams;
- var $item_form;
- var $item;
+ protected $type = "info";
+ private $commonparams;
+ private $item_form;
+ private $item;
- function init() {
+ public function init() {
}
- function build_editform($item, $feedback, $cm) {
+ public function build_editform($item, $feedback, $cm) {
global $DB, $CFG;
require_once('info_form.php');
//get the lastposition number of the feedback_items
$position = $item->position;
$lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
- if($position == -1){
+ if ($position == -1) {
$i_formselect_last = $lastposition + 1;
$i_formselect_value = $lastposition + 1;
$item->position = $lastposition + 1;
- }else {
+ } else {
$i_formselect_last = $lastposition;
$i_formselect_value = $item->position;
}
//the elements for position dropdownlist
- $positionlist = array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true);
+ $positionlist = array_slice(range(0, $i_formselect_last), 1, $i_formselect_last, true);
$item->presentation = empty($item->presentation) ? 1 : $item->presentation;
$item->required = 0;
@@ -36,47 +51,51 @@ class feedback_item_info extends feedback_item_base {
//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,
+ 'id'=>isset($item->id) ? $item->id : null,
'typ'=>$item->typ,
'items'=>$feedbackitems,
'feedback'=>$feedback->id);
//build the form
- $this->item_form = new feedback_info_form('edit_item.php', array('item'=>$item, 'common'=>$commonparams, 'positionlist'=>$positionlist, 'position'=>$position));
+ $this->item_form = new feedback_info_form('edit_item.php',
+ array('item'=>$item,
+ 'common'=>$commonparams,
+ 'positionlist'=>$positionlist,
+ 'position' => $position));
}
//this function only can used after the call of build_editform()
- function show_editform() {
+ public function show_editform() {
$this->item_form->display();
}
- function is_cancelled() {
+ public function is_cancelled() {
return $this->item_form->is_cancelled();
}
- function get_data() {
- if($this->item = $this->item_form->get_data()) {
+ public function get_data() {
+ if ($this->item = $this->item_form->get_data()) {
return true;
}
return false;
}
- function save_item() {
+ public function save_item() {
global $DB;
- if(!$item = $this->item_form->get_data()) {
+ if (!$item = $this->item_form->get_data()) {
return false;
}
- if(isset($item->clone_item) AND $item->clone_item) {
+ if (isset($item->clone_item) AND $item->clone_item) {
$item->id = ''; //to clone this item
$item->position++;
}
$item->hasvalue = $this->get_hasvalue();
- if(!$item->id) {
+ if (!$item->id) {
$item->id = $DB->insert_record('feedback_item', $item);
- }else {
+ } else {
$DB->update_record('feedback_item', $item);
}
@@ -84,23 +103,22 @@ class feedback_item_info extends feedback_item_base {
}
//liefert eine Struktur ->name, ->data = array(mit Antworten)
- function get_analysed($item, $groupid = false, $courseid = false) {
+ public 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);
+ $analysed_val = null;
+ $analysed_val->data = null;
+ $analysed_val->name = $item->name;
$values = feedback_get_group_values($item, $groupid, $courseid);
- if($values) {
+ if ($values) {
$data = array();
$datavalue = new stdClass();
- foreach($values as $value) {
+ foreach ($values as $value) {
switch($presentation) {
case 1:
$datavalue->value = $value->value;
- $datavalue->show = UserDate($datavalue->value);
+ $datavalue->show = userdate($datavalue->value);
break;
case 2:
$datavalue->value = $value->value;
@@ -114,50 +132,54 @@ class feedback_item_info extends feedback_item_base {
$data[] = $datavalue;
}
- $aVal->data = $data;
+ $analysed_val->data = $data;
}
- return $aVal;
+ return $analysed_val;
}
- function get_printval($item, $value) {
+ public function get_printval($item, $value) {
- if(!isset($value->value)) return '';
- return UserDate($value->value);
+ if (!isset($value->value)) {
+ return '';
+ }
+ return userdate($value->value);
}
- function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
+ public 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->label .') ' . $item->name .' ';
- $sizeofdata = sizeof($data);
+ echo '
';
+ echo $itemnr.' ('.$item->label.') '.$item->name;
+ echo ' ';
+ $sizeofdata = count($data);
for ($i = 0; $i < $sizeofdata; $i++) {
- echo '
- ' . str_replace("\n", ' ', $data[$i]->show) . ' ';
+ echo '
- ';
+ echo str_replace("\n", ' ', $data[$i]->show);
+ echo ' ';
}
}
- // return $itemnr;
}
- function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false) {
+ public function excelprint_item(&$worksheet, $row_offset,
+ $xls_formats, $item,
+ $groupid, $courseid = false) {
$analysed_item = $this->get_analysed($item, $groupid, $courseid);
- // $worksheet->setFormat("
");
- $worksheet->write_string($rowOffset, 0, $item->label, $xlsFormats->head2);
- $worksheet->write_string($rowOffset, 1, $item->name, $xlsFormats->head2);
+ $worksheet->write_string($row_offset, 0, $item->label, $xls_formats->head2);
+ $worksheet->write_string($row_offset, 1, $item->name, $xls_formats->head2);
$data = $analysed_item->data;
if (is_array($data)) {
- // $worksheet->setFormat("");
- $worksheet->write_string($rowOffset, 2, $data[0]->show, $xlsFormats->value_bold);
- $rowOffset++;
- $sizeofdata = sizeof($data);
+ $worksheet->write_string($row_offset, 2, $data[0]->show, $xls_formats->value_bold);
+ $row_offset++;
+ $sizeofdata = count($data);
for ($i = 1; $i < $sizeofdata; $i++) {
- // $worksheet->setFormat("");
- $worksheet->write_string($rowOffset, 2, $data[$i]->show, $xlsFormats->default);
- $rowOffset++;
+ $worksheet->write_string($row_offset, 2, $data[$i]->show, $xls_formats->default);
+ $row_offset++;
}
}
- $rowOffset++;
- return $rowOffset;
+ $row_offset++;
+ return $row_offset;
}
/**
@@ -167,29 +189,52 @@ class feedback_item_info extends feedback_item_base {
* @param object $item
* @return void
*/
- function print_item_preview($item) {
+ public function print_item_preview($item) {
global $USER, $DB, $OUTPUT;
- $align = right_to_left() ? 'right' : 'left';
+ $align = right_to_left() ? 'right' : 'left';
$presentation = $item->presentation;
$requiredmark = ($item->required == 1)?'* ':'';
- $feedback = $DB->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));
+ if ($item->feedback) {
+ $courseid = $DB->get_field('feedback', 'course', array('id'=>$item->feedback));
+ } else { // the item must be a template item
+ $cmid = required_param('id', PARAM_INT);
+ $courseid = $DB->get_field('course_modules', 'course', array('id'=>$cmid));
+ }
+ if (!$course = $DB->get_record('course', array('id'=>$courseid))) {
+ print_error('error');
+ }
+ if ($course->id !== SITEID) {
+ $coursecategory = $DB->get_record('course_categories', array('id'=>$course->category));
+ } else {
+ $coursecategory = false;
+ }
switch($presentation) {
case 1:
$itemvalue = time();
- $itemshowvalue = UserDate($itemvalue);
+ $itemshowvalue = userdate($itemvalue);
break;
case 2:
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
- $itemvalue = format_string($course->shortname, true, array('context' => $coursecontext));
+ $itemvalue = format_string($course->shortname,
+ true,
+ array('context' => $coursecontext));
+
$itemshowvalue = $itemvalue;
break;
case 3:
- $itemvalue = format_string($coursecategory->name, true, array('context' => get_context_instance(CONTEXT_COURSECAT, $coursecategory->id)));
- $itemshowvalue = $itemvalue;
+ if ($coursecategory) {
+ $category_context = get_context_instance(CONTEXT_COURSECAT, $coursecategory->id);
+ $itemvalue = format_string($coursecategory->name,
+ true,
+ array('context' => $category_context));
+
+ $itemshowvalue = $itemvalue;
+ } else {
+ $itemvalue = '';
+ $itemshowvalue = '';
+ }
break;
}
@@ -197,16 +242,18 @@ class feedback_item_info extends feedback_item_base {
echo '';
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 ' ('.$dependitem->label.'->'.$item->dependvalue.') ';
+ if ($item->dependitem) {
+ if ($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
+ echo ' ';
+ echo '('.$dependitem->label.'->'.$item->dependvalue.')';
+ echo ' ';
}
}
echo '
';
//print the presentation
echo '';
- echo ' ';
- echo ''.$itemshowvalue.' ';
+ echo ' ';
+ echo ''.$itemshowvalue.' ';
echo '
';
}
@@ -219,34 +266,52 @@ class feedback_item_info extends feedback_item_base {
* @param bool $highlightrequire
* @return void
*/
- function print_item_complete($item, $value = '', $highlightrequire = false) {
+ public function print_item_complete($item, $value = '', $highlightrequire = false) {
global $USER, $DB, $OUTPUT;
$align = right_to_left() ? 'right' : 'left';
$presentation = $item->presentation;
- if($highlightrequire AND $item->required AND strval($value) == '') {
+ if ($highlightrequire AND $item->required AND strval($value) == '') {
$highlight = ' missingrequire';
- }else {
+ } else {
$highlight = '';
}
$requiredmark = ($item->required == 1)?'* ':'';
$feedback = $DB->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));
+
+ if ($course->id !== SITEID) {
+ $coursecategory = $DB->get_record('course_categories', array('id'=>$course->category));
+ } else {
+ $coursecategory = false;
+ }
+
switch($presentation) {
case 1:
$itemvalue = time();
- $itemshowvalue = UserDate($itemvalue);
+ $itemshowvalue = userdate($itemvalue);
break;
case 2:
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
- $itemvalue = format_string($course->shortname, true, array('context' => $coursecontext));
+ $itemvalue = format_string($course->shortname,
+ true,
+ array('context' => $coursecontext));
+
$itemshowvalue = $itemvalue;
break;
case 3:
- $itemvalue = format_string($coursecategory->name, true, array('context' => get_context_instance(CONTEXT_COURSECAT, $coursecategory->id)));
- $itemshowvalue = $itemvalue;
+ if ($coursecategory) {
+ $category_context = get_context_instance(CONTEXT_COURSECAT, $coursecategory->id);
+ $itemvalue = format_string($coursecategory->name,
+ true,
+ array('context' => $category_context));
+
+ $itemshowvalue = $itemvalue;
+ } else {
+ $itemvalue = '';
+ $itemshowvalue = '';
+ }
break;
}
@@ -257,8 +322,8 @@ class feedback_item_info extends feedback_item_base {
//print the presentation
echo '';
- echo ' ';
- echo ''.$itemshowvalue.' ';
+ echo ' ';
+ echo ''.$itemshowvalue.' ';
echo '
';
}
@@ -270,15 +335,15 @@ class feedback_item_info extends feedback_item_base {
* @param string $value
* @return void
*/
- function print_item_show_value($item, $value = '') {
+ public function print_item_show_value($item, $value = '') {
global $USER, $DB, $OUTPUT;
$align = right_to_left() ? 'right' : 'left';
$presentation = $item->presentation;
$requiredmark = ($item->required == 1)?'* ':'';
- if($presentation == 1) {
- $value = $value ? UserDate($value) : ' ';
+ if ($presentation == 1) {
+ $value = $value ? userdate($value) : ' ';
}
//print the question and label
@@ -293,11 +358,11 @@ class feedback_item_info extends feedback_item_base {
echo $OUTPUT->box_end();
}
- function check_value($value, $item) {
+ public function check_value($value, $item) {
return true;
}
- function create_value($data) {
+ public function create_value($data) {
$data = clean_text($data);
return $data;
}
@@ -305,22 +370,22 @@ class feedback_item_info extends feedback_item_base {
//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) {
+ public function compare_value($item, $dbvalue, $dependvalue) {
+ if ($dbvalue == $dependvalue) {
return true;
}
return false;
}
- function get_presentation($data) {
+ public function get_presentation($data) {
return $data->infotype;
}
- function get_hasvalue() {
+ public function get_hasvalue() {
return 1;
}
- function can_switch_require() {
+ public function can_switch_require() {
return false;
}
}
diff --git a/mod/feedback/item/label/label_form.php b/mod/feedback/item/label/label_form.php
index 43adeaa7dff..bb2c1cb8712 100644
--- a/mod/feedback/item/label/label_form.php
+++ b/mod/feedback/item/label/label_form.php
@@ -1,20 +1,34 @@
.
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_form_class.php');
class feedback_label_form extends feedback_item_form {
- var $type = "label";
- var $area;
+ protected $type = "label";
+ private $area;
- function definition() {
+ public function definition() {
global $CFG;
-
+
$item = $this->_customdata['item'];
$common = $this->_customdata['common'];
$presentationoptions = $this->_customdata['presentationoptions'];
$positionlist = $this->_customdata['positionlist'];
$position = $this->_customdata['position'];
-
+
$context = get_context_instance(CONTEXT_MODULE, $common['cmid']);
$mform =& $this->_form;
@@ -25,12 +39,11 @@ class feedback_label_form extends feedback_item_form {
$mform->setType('template', PARAM_ALPHA);
$mform->addElement('hidden', 'label', '-');
$mform->setType('label', PARAM_ALPHA);
-
-
+
$mform->addElement('header', 'general', get_string($this->type, 'feedback'));
$mform->addElement('editor', 'presentation_editor', '', null, $presentationoptions);
$mform->setType('presentation_editor', PARAM_CLEANHTML);
-
+
parent::definition();
$this->set_data($item);
diff --git a/mod/feedback/item/label/lib.php b/mod/feedback/item/label/lib.php
index 6a1081a31dc..f1dcd28567d 100644
--- a/mod/feedback/item/label/lib.php
+++ b/mod/feedback/item/label/lib.php
@@ -1,57 +1,73 @@
.
+
defined('MOODLE_INTERNAL') OR die('not allowed');
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_class.php');
require_once($CFG->libdir.'/formslib.php');
class feedback_item_label extends feedback_item_base {
- var $type = "label";
- var $presentationoptions = null;
- var $commonparams;
- var $item_form;
- var $context;
- var $item;
+ protected $type = "label";
+ private $presentationoptions = null;
+ private $commonparams;
+ private $item_form;
+ private $context;
+ private $item;
- function init() {
+ public function init() {
global $CFG;
- $this->presentationoptions = array('maxfiles' => EDITOR_UNLIMITED_FILES, 'trusttext'=>true);
+ $this->presentationoptions = array('maxfiles' => EDITOR_UNLIMITED_FILES,
+ 'trusttext'=>true);
}
- function build_editform($item, $feedback, $cm) {
+ public function build_editform($item, $feedback, $cm) {
global $DB, $CFG;
require_once('label_form.php');
//get the lastposition number of the feedback_items
$position = $item->position;
$lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
- if($position == -1){
+ if ($position == -1) {
$i_formselect_last = $lastposition + 1;
$i_formselect_value = $lastposition + 1;
$item->position = $lastposition + 1;
- }else {
+ } else {
$i_formselect_last = $lastposition;
$i_formselect_value = $item->position;
}
//the elements for position dropdownlist
- $positionlist = array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true);
+ $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,
+ 'id'=>isset($item->id) ? $item->id : null,
'typ'=>$item->typ,
'items'=>$feedbackitems,
'feedback'=>$feedback->id);
$this->context = get_context_instance(CONTEXT_MODULE, $cm->id);
-
//preparing the editor for new file-api
$item->presentationformat = FORMAT_HTML;
$item->presentationtrust = 1;
// Append editor context to presentation options, giving preference to existing context.
- $this->presentationoptions = array_merge(array('context' => $this->context), $this->presentationoptions);
+ $this->presentationoptions = array_merge(array('context' => $this->context),
+ $this->presentationoptions);
$item = file_prepare_standard_editor($item,
'presentation', //name of the form element
@@ -62,33 +78,39 @@ class feedback_item_label extends feedback_item_base {
$item->id);
//build the form
- $this->item_form = new feedback_label_form('edit_item.php', array('item'=>$item, 'common'=>$commonparams, 'positionlist'=>$positionlist, 'position'=>$position, 'presentationoptions'=>$this->presentationoptions));
+ $customdata = array('item' => $item,
+ 'common' => $commonparams,
+ 'positionlist' => $positionlist,
+ 'position' => $position,
+ 'presentationoptions' => $this->presentationoptions);
+
+ $this->item_form = new feedback_label_form('edit_item.php', $customdata);
}
//this function only can used after the call of build_editform()
- function show_editform() {
+ public function show_editform() {
$this->item_form->display();
}
- function is_cancelled() {
+ public function is_cancelled() {
return $this->item_form->is_cancelled();
}
- function get_data() {
- if($this->item = $this->item_form->get_data()) {
+ public function get_data() {
+ if ($this->item = $this->item_form->get_data()) {
return true;
}
return false;
}
- function save_item() {
+ public function save_item() {
global $DB;
- if(!$item = $this->item_form->get_data()) {
+ if (!$item = $this->item_form->get_data()) {
return false;
}
- if(isset($item->clone_item) AND $item->clone_item) {
+ if (isset($item->clone_item) AND $item->clone_item) {
$item->id = ''; //to clone this item
$item->position++;
}
@@ -96,9 +118,9 @@ class feedback_item_label extends feedback_item_base {
$item->presentation = '';
$item->hasvalue = $this->get_hasvalue();
- if(!$item->id) {
+ if (!$item->id) {
$item->id = $DB->insert_record('feedback_item', $item);
- }else {
+ } else {
$DB->update_record('feedback_item', $item);
}
@@ -115,21 +137,21 @@ class feedback_item_label extends feedback_item_base {
return $DB->get_record('feedback_item', array('id'=>$item->id));
}
- function print_item($item){
+ public function print_item($item) {
global $DB, $CFG;
require_once($CFG->libdir . '/filelib.php');
//is the item a template?
- if(!$item->feedback AND $item->template) {
+ if (!$item->feedback AND $item->template) {
$template = $DB->get_record('feedback_template', array('id'=>$item->template));
- if($template->ispublic) {
+ if ($template->ispublic) {
$context = get_system_context();
- }else {
+ } else {
$context = get_context_instance(CONTEXT_COURSE, $template->course);
}
$filearea = 'template';
- }else {
+ } else {
$cm = get_coursemodule_from_instance('feedback', $item->feedback);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$filearea = 'item';
@@ -138,7 +160,13 @@ class feedback_item_label extends feedback_item_base {
$item->presentationformat = FORMAT_HTML;
$item->presentationtrust = 1;
- $output = file_rewrite_pluginfile_urls($item->presentation, 'pluginfile.php', $context->id, 'mod_feedback', $filearea, $item->id);
+ $output = file_rewrite_pluginfile_urls($item->presentation,
+ 'pluginfile.php',
+ $context->id,
+ 'mod_feedback',
+ $filearea,
+ $item->id);
+
echo format_text($output, FORMAT_HTML, array('overflowdiv'=>true));
}
@@ -149,12 +177,14 @@ class feedback_item_label extends feedback_item_base {
* @param object $item
* @return void
*/
- function print_item_preview($item) {
+ public function print_item_preview($item) {
global $OUTPUT, $DB;
- if($item->dependitem) {
- if($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
- echo ' ('.$dependitem->label.'->'.$item->dependvalue.') ';
+ if ($item->dependitem) {
+ if ($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
+ echo ' ';
+ echo '('.$dependitem->label.'->'.$item->dependvalue.')';
+ echo ' ';
}
}
$this->print_item($item);
@@ -169,7 +199,7 @@ class feedback_item_label extends feedback_item_base {
* @param bool $highlightrequire
* @return void
*/
- function print_item_complete($item, $value = '', $highlightrequire = false) {
+ public function print_item_complete($item, $value = '', $highlightrequire = false) {
$this->print_item($item);
}
@@ -181,58 +211,62 @@ class feedback_item_label extends feedback_item_base {
* @param string $value
* @return void
*/
- function print_item_show_value($item, $value = '') {
+ public function print_item_show_value($item, $value = '') {
$this->print_item($item);
}
- function create_value($data) {
+ public function create_value($data) {
return false;
}
- function compare_value($item, $dbvalue, $dependvalue) {
+ public 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) {
- // $context = get_context_instance(CONTEXT_MODULE, $data->cmid);
-
- // $presentation = new stdClass();
- // $presentation->id = null;
- // $presentation->definition = '';
- // $presentation->format = FORMAT_HTML;
-
- // $draftid_editor = file_get_submitted_draft_itemid('presentation');
- // $currenttext = file_prepare_draft_area($draftid_editor, $context->id, 'mod_feedback', 'item_label', $presentation->id, array('subdirs'=>true), $presentation->definition);
- // $presentation->entry = array('text'=>$currenttext, 'format'=>$presentation->format, 'itemid'=>$draftid_editor);
-
- // return $data->presentation;
+ public function get_presentation($data) {
}
- function postupdate($item) {
+ public function postupdate($item) {
global $DB;
$context = get_context_instance(CONTEXT_MODULE, $item->cmid);
- $item = file_postupdate_standard_editor($item, 'presentation', $this->presentationoptions, $context, 'mod_feedback', 'item', $item->id);
+ $item = file_postupdate_standard_editor($item,
+ 'presentation',
+ $this->presentationoptions,
+ $context,
+ 'mod_feedback',
+ 'item',
+ $item->id);
- // $item = new stdClass();
- // $item->id = $data->id
$DB->update_record('feedback_item', $item);
return $item->id;
}
- function get_hasvalue() {
+ public function get_hasvalue() {
return 0;
}
- function can_switch_require() {
+ public function can_switch_require() {
return false;
}
- function check_value($value, $item) {}
- function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false) {}
- function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {}
- function get_printval($item, $value) {}
- function get_analysed($item, $groupid = false, $courseid = false) {}
+ public function check_value($value, $item) {
+ }
+
+ public function excelprint_item(&$worksheet,
+ $row_offset,
+ $xls_formats,
+ $item,
+ $groupid,
+ $courseid = false) {
+ }
+
+ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
+ }
+ public function get_printval($item, $value) {
+ }
+ public function get_analysed($item, $groupid = false, $courseid = false) {
+ }
}
diff --git a/mod/feedback/item/multichoice/lib.php b/mod/feedback/item/multichoice/lib.php
index 30402b26ecc..3f46a1054aa 100644
--- a/mod/feedback/item/multichoice/lib.php
+++ b/mod/feedback/item/multichoice/lib.php
@@ -1,4 +1,19 @@
.
+
defined('MOODLE_INTERNAL') OR die('not allowed');
require_once($CFG->dirroot.'/mod/feedback/item/feedback_item_class.php');
@@ -9,32 +24,32 @@ define('FEEDBACK_MULTICHOICE_IGNOREEMPTY', 'i');
define('FEEDBACK_MULTICHOICE_HIDENOSELECT', 'h');
class feedback_item_multichoice extends feedback_item_base {
- var $type = "multichoice";
- var $commonparams;
- var $item_form;
- var $item;
+ protected $type = "multichoice";
+ private $commonparams;
+ private $item_form;
+ private $item;
- function init() {
+ public function init() {
}
- function build_editform($item, $feedback, $cm) {
+ public function build_editform($item, $feedback, $cm) {
global $DB, $CFG;
require_once('multichoice_form.php');
//get the lastposition number of the feedback_items
$position = $item->position;
$lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
- if($position == -1){
+ if ($position == -1) {
$i_formselect_last = $lastposition + 1;
$i_formselect_value = $lastposition + 1;
$item->position = $lastposition + 1;
- }else {
+ } else {
$i_formselect_last = $lastposition;
$i_formselect_value = $item->position;
}
//the elements for position dropdownlist
- $positionlist = array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true);
+ $positionlist = array_slice(range(0, $i_formselect_last), 1, $i_formselect_last, true);
$item->presentation = empty($item->presentation) ? '' : $item->presentation;
$info = $this->get_info($item);
@@ -45,39 +60,45 @@ class feedback_item_multichoice extends feedback_item_base {
//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,
+ 'id'=>isset($item->id) ? $item->id : null,
'typ'=>$item->typ,
'items'=>$feedbackitems,
'feedback'=>$feedback->id);
//build the form
- $this->item_form = new feedback_multichoice_form('edit_item.php', array('item'=>$item, 'common'=>$commonparams, 'positionlist'=>$positionlist, 'position'=>$position, 'info'=>$info));
+ $customdata = array('item' => $item,
+ 'common' => $commonparams,
+ 'positionlist' => $positionlist,
+ 'position' => $position,
+ 'info' => $info);
+
+ $this->item_form = new feedback_multichoice_form('edit_item.php', $customdata);
}
//this function only can used after the call of build_editform()
- function show_editform() {
+ public function show_editform() {
$this->item_form->display();
}
- function is_cancelled() {
+ public function is_cancelled() {
return $this->item_form->is_cancelled();
}
- function get_data() {
- if($this->item = $this->item_form->get_data()) {
+ public function get_data() {
+ if ($this->item = $this->item_form->get_data()) {
return true;
}
return false;
}
- function save_item() {
+ public function save_item() {
global $DB;
- if(!$item = $this->item_form->get_data()) {
+ if (!$item = $this->item_form->get_data()) {
return false;
}
- if(isset($item->clone_item) AND $item->clone_item) {
+ if (isset($item->clone_item) AND $item->clone_item) {
$item->id = ''; //to clone this item
$item->position++;
}
@@ -86,9 +107,9 @@ class feedback_item_multichoice extends feedback_item_base {
$this->set_hidenoselect($item, $item->hidenoselect);
$item->hasvalue = $this->get_hasvalue();
- if(!$item->id) {
+ if (!$item->id) {
$item->id = $DB->insert_record('feedback_item', $item);
- }else {
+ } else {
$DB->update_record('feedback_item', $item);
}
@@ -96,30 +117,32 @@ class feedback_item_multichoice extends feedback_item_base {
}
- //liefert ein eindimensionales Array mit drei Werten(typ, name, XXX)
- //XXX ist ein eindimensionales Array (anzahl der Antworten bei Typ Radio) Jedes Element ist eine Struktur (answertext, answercount)
- function get_analysed($item, $groupid = false, $courseid = false) {
+ //gets an array with three values(typ, name, XXX)
+ //XXX is an object with answertext, answercount and quotient
+ public function get_analysed($item, $groupid = false, $courseid = false) {
$info = $this->get_info($item);
- $analysedItem = array();
- $analysedItem[] = $item->typ;
- $analysedItem[] = $item->name;
- //die moeglichen Antworten extrahieren
+ $analysed_item = array();
+ $analysed_item[] = $item->typ;
+ $analysed_item[] = $item->name;
+
+ //get the possible answers
$answers = null;
- // $presentation = '';
- // @list($presentation) = explode(FEEDBACK_RADIO_ADJUST_SEP, $item->presentation); //remove the adjustment-info
-
$answers = explode (FEEDBACK_MULTICHOICE_LINE_SEP, $info->presentation);
- if(!is_array($answers)) return null;
+ if (!is_array($answers)) {
+ return null;
+ }
- //die Werte holen
+ //get the values
$values = feedback_get_group_values($item, $groupid, $courseid, $this->ignoreempty($item));
- if(!$values) return null;
- //schleife ueber den Werten und ueber die Antwortmoeglichkeiten
+ if (!$values) {
+ return null;
+ }
- $analysedAnswer = array();
- if($info->subtype == 'c') {
- $sizeofanswers = sizeof($answers);
+ //get answertext, answercount and quotient for each answer
+ $analysed_answer = array();
+ if ($info->subtype == 'c') {
+ $sizeofanswers = count($answers);
for ($i = 1; $i <= $sizeofanswers; $i++) {
$ans = null;
$ans->answertext = $answers[$i-1];
@@ -129,15 +152,15 @@ class feedback_item_multichoice extends feedback_item_base {
$vallist = explode(FEEDBACK_MULTICHOICE_LINE_SEP, $value->value);
foreach ($vallist as $val) {
if ($val == $i) {
- $ans->answercount++;
+ $ans->answercount++;
}
}
}
- $ans->quotient = $ans->answercount / sizeof($values);
- $analysedAnswer[] = $ans;
+ $ans->quotient = $ans->answercount / count($values);
+ $analysed_answer[] = $ans;
}
- }else {
- $sizeofanswers = sizeof($answers);
+ } else {
+ $sizeofanswers = count($answers);
for ($i = 1; $i <= $sizeofanswers; $i++) {
$ans = null;
$ans->answertext = $answers[$i-1];
@@ -148,15 +171,15 @@ class feedback_item_multichoice extends feedback_item_base {
$ans->answercount++;
}
}
- $ans->quotient = $ans->answercount / sizeof($values);
- $analysedAnswer[] = $ans;
+ $ans->quotient = $ans->answercount / count($values);
+ $analysed_answer[] = $ans;
}
}
- $analysedItem[] = $analysedAnswer;
- return $analysedItem;
+ $analysed_item[] = $analysed_answer;
+ return $analysed_item;
}
- function get_printval($item, $value) {
+ public function get_printval($item, $value) {
$info = $this->get_info($item);
$printval = '';
@@ -165,14 +188,12 @@ class feedback_item_multichoice extends feedback_item_base {
return $printval;
}
- // @list($presentation) = explode(FEEDBACK_RADIO_ADJUST_SEP, $item->presentation); //remove the adjustment-info
-
$presentation = explode (FEEDBACK_MULTICHOICE_LINE_SEP, $info->presentation);
if ($info->subtype == 'c') {
$vallist = array_values(explode (FEEDBACK_MULTICHOICE_LINE_SEP, $value->value));
- $sizeofvallist = sizeof($vallist);
- $sizeofpresentation = sizeof($presentation);
+ $sizeofvallist = count($vallist);
+ $sizeofpresentation = count($presentation);
for ($i = 0; $i < $sizeofvallist; $i++) {
for ($k = 0; $k < $sizeofpresentation; $k++) {
if ($vallist[$i] == ($k + 1)) {//Die Werte beginnen bei 1, das Array aber mit 0
@@ -183,8 +204,8 @@ class feedback_item_multichoice extends feedback_item_base {
}
} else {
$index = 1;
- foreach($presentation as $pres){
- if ($value->value == $index){
+ foreach ($presentation as $pres) {
+ if ($value->value == $index) {
$printval = $pres;
break;
}
@@ -194,61 +215,83 @@ class feedback_item_multichoice extends feedback_item_base {
return $printval;
}
- function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
+ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {
$sep_dec = get_string('separator_decimal', 'feedback');
- if(substr($sep_dec, 0, 2) == '[['){
+ if (substr($sep_dec, 0, 2) == '[[') {
$sep_dec = FEEDBACK_DECIMAL;
}
$sep_thous = get_string('separator_thousand', 'feedback');
- if(substr($sep_thous, 0, 2) == '[['){
+ if (substr($sep_thous, 0, 2) == '[[') {
$sep_thous = FEEDBACK_THOUSAND;
}
- $analysedItem = $this->get_analysed($item, $groupid, $courseid);
- if($analysedItem) {
- // $itemnr++;
- $itemname = $analysedItem[1];
- echo ''. $itemnr . ' ('. $item->label .') ' . $itemname .' ';
- $analysedVals = $analysedItem[2];
+ $analysed_item = $this->get_analysed($item, $groupid, $courseid);
+ if ($analysed_item) {
+ $itemname = $analysed_item[1];
+ echo '';
+ echo $itemnr.' ('.$item->label.') '.$itemname;
+ echo ' ';
+
+ $analysed_vals = $analysed_item[2];
$pixnr = 0;
- foreach($analysedVals as $val) {
+ foreach ($analysed_vals as $val) {
$intvalue = $pixnr % 10;
$pix = "pics/$intvalue.gif";
$pixnr++;
$pixwidth = intval($val->quotient * FEEDBACK_MAX_PIX_LENGTH);
$quotient = number_format(($val->quotient * 100), 2, $sep_dec, $sep_thous);
- echo '- ' . trim($val->answertext) . ': ' . $val->answercount . (($val->quotient > 0)?' ('. $quotient . ' %)':'').' ';
+ $str_quotient = '';
+ if ($val->quotient > 0) {
+ $str_quotient = ' ('. $quotient . ' %)';
+ }
+ echo '';
+ echo '
+ - '.trim($val->answertext).':
+
+
+
+ '.$val->answercount.$str_quotient.'
+ ';
+ echo ' ';
}
}
- // return $itemnr;
}
- function excelprint_item(&$worksheet, $rowOffset, $xlsFormats, $item, $groupid, $courseid = false) {
+ public function excelprint_item(&$worksheet, $row_offset,
+ $xls_formats, $item,
+ $groupid, $courseid = false) {
+
$analysed_item = $this->get_analysed($item, $groupid, $courseid);
$data = $analysed_item[2];
- // $worksheet->setFormat("");
//frage schreiben
- $worksheet->write_string($rowOffset, 0, $item->label, $xlsFormats->head2);
- $worksheet->write_string($rowOffset, 1, $analysed_item[1], $xlsFormats->head2);
+ $worksheet->write_string($row_offset, 0, $item->label, $xls_formats->head2);
+ $worksheet->write_string($row_offset, 1, $analysed_item[1], $xls_formats->head2);
if (is_array($data)) {
- $sizeofdata = sizeof($data);
+ $sizeofdata = count($data);
for ($i = 0; $i < $sizeofdata; $i++) {
- $aData = $data[$i];
+ $analysed_data = $data[$i];
- // $worksheet->setFormat("");
- $worksheet->write_string($rowOffset, $i + 2, trim($aData->answertext), $xlsFormats->head2);
+ $worksheet->write_string($row_offset,
+ $i + 2,
+ trim($analysed_data->answertext),
+ $xls_formats->head2);
- // $worksheet->setFormat("");
- $worksheet->write_number($rowOffset + 1, $i + 2, $aData->answercount, $xlsFormats->default);
- // $worksheet->setFormat("");
- $worksheet->write_number($rowOffset + 2, $i + 2, $aData->quotient, $xlsFormats->procent);
+ $worksheet->write_number($row_offset + 1,
+ $i + 2,
+ $analysed_data->answercount,
+ $xls_formats->default);
+
+ $worksheet->write_number($row_offset + 2,
+ $i + 2,
+ $analysed_data->quotient,
+ $xls_formats->procent);
}
}
- $rowOffset += 3;
- return $rowOffset;
+ $row_offset += 3;
+ return $row_offset;
}
/**
@@ -258,25 +301,27 @@ class feedback_item_multichoice extends feedback_item_base {
* @param object $item
* @return void
*/
- function print_item_preview($item) {
+ public function print_item_preview($item) {
global $OUTPUT, $DB;
$info = $this->get_info($item);
$align = right_to_left() ? 'right' : 'left';
$presentation = explode (FEEDBACK_MULTICHOICE_LINE_SEP, $info->presentation);
-
+ $str_required_mark = '* ';
//test if required and no value is set so we have to mark this item
//we have to differ check and the other subtypes
- $requiredmark = ($item->required == 1) ? '* ' : '';
+ $requiredmark = ($item->required == 1) ? $str_required_mark : '';
//print the question and label
echo '';
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 ' ('.$dependitem->label.'->'.$item->dependvalue.') ';
+ if ($item->dependitem) {
+ if ($dependitem = $DB->get_record('feedback_item', array('id'=>$item->dependitem))) {
+ echo ' ';
+ echo '('.$dependitem->label.'->'.$item->dependvalue.')';
+ echo ' ';
}
}
echo '
';
@@ -286,23 +331,30 @@ class feedback_item_multichoice extends feedback_item_base {
$index = 1;
$checked = '';
echo '