]> git.mjollnir.org Git - moodle.git/commitdiff
mod-feedback MDL-19807 Added set_url calls, replaced deprecated functions
authorsamhemelryk <samhemelryk>
Thu, 24 Sep 2009 06:11:39 +0000 (06:11 +0000)
committersamhemelryk <samhemelryk>
Thu, 24 Sep 2009 06:11:39 +0000 (06:11 +0000)
23 files changed:
mod/feedback/analysis.php
mod/feedback/analysis_course.php
mod/feedback/analysis_to_excel.php
mod/feedback/complete.php
mod/feedback/complete_guest.php
mod/feedback/delete_completed.php
mod/feedback/delete_item.php
mod/feedback/delete_template.php
mod/feedback/easy_excel.php
mod/feedback/edit.php
mod/feedback/edit_item.php
mod/feedback/export.php
mod/feedback/import.php
mod/feedback/index.php
mod/feedback/item/captcha/print_captcha.php
mod/feedback/lib.php
mod/feedback/mapcourse.php
mod/feedback/print.php
mod/feedback/show_entries.php
mod/feedback/show_entries_anonym.php
mod/feedback/unmapcourse.php
mod/feedback/use_templ.php
mod/feedback/view.php

index 5a5d69e6e4118405f4968131fccb787b1efe387d..088ed8b6a3411903b40e67aadb45881358cb0049 100644 (file)
  * @package feedback
  */
 
-    require_once("../../config.php");
-    require_once("lib.php");
+require_once("../../config.php");
+require_once("lib.php");
 
-    // $SESSION->feedback->current_tab = 'analysis';
-    $current_tab = 'analysis';
+// $SESSION->feedback->current_tab = 'analysis';
+$current_tab = 'analysis';
 
-    $id = required_param('id', PARAM_INT);  //the POST dominated the GET
-    $courseid = optional_param('courseid', false, PARAM_INT);
+$id = required_param('id', PARAM_INT);  //the POST dominated the GET
+$courseid = optional_param('courseid', false, PARAM_INT);
 
-    if ($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');
-        }
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/analysis.php', array('id'=>$id));
+if ($courseid !== false) {
+    $url->param('courseid', $courseid);
+}
+$PAGE->set_url($url);
 
-        if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
-            print_error('invalidcoursemodule');
-        }
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    if($course->id == SITEID) {
-        require_login($course->id, true);
-    }else{
-        require_login($course->id, true, $cm);
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    //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 = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
+}
 
-    if( !( ((intval($feedback->publish_stats) == 1) AND $capabilities->viewanalysepage) || $capabilities->viewreports)) {
-        print_error('error');
-    }
-
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add(get_string('analysis','feedback'));
-    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/edit.php', array('id'=>$cm->id, 'course'=>$courseid)));
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// print the tabs
-    include('tabs.php');
-
+$capabilities = feedback_load_capabilities($cm->id);
 
-    //print analysed items
-    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+if($course->id == SITEID) {
+    require_login($course->id, true);
+}else{
+    require_login($course->id, true, $cm);
+}
 
-    //get the groupid
-    $groupselect = groups_print_activity_menu($cm, 'analysis.php?id=' . $cm->id.'&do_show=analysis', true);
-    $mygroupid = groups_get_activity_group($cm);
-
-    if( $capabilities->viewreports ) {
-
-        echo isset($groupselect) ? $groupselect : '';
-        echo '<div class="clearer"></div>';
-
-        //button "export to excel"
-        //echo '<div class="mdl-align">';
-        // echo '<div class="feedback_centered_button">';
-        echo $OUTPUT->container_start('form-buttons');
-        $export_button_link = 'analysis_to_excel.php';
-        $export_button_options = array('sesskey'=>sesskey(), 'id'=>$id);
-        $export_button_label = get_string('export_to_excel', 'feedback');
-        echo $OUTPUT->button(html_form::make_button($export_button_link, $export_button_options, $export_button_label));
-        echo $OUTPUT->container_end();
-    }
-
-    //get completed feedbacks
-    $completedscount = feedback_get_completeds_group_count($feedback, $mygroupid);
-
-    //show the group, if available
-    if($mygroupid and $group = $DB->get_record('groups', array('id'=>$mygroupid))) {
-        echo '<b>'.get_string('group').': '.$group->name. '</b><br />';
+//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');
     }
-    //show the count
-    echo '<b>'.get_string('completed_feedbacks', 'feedback').': '.$completedscount. '</b><br />';
-
-    // get the items of the feedback
-    $items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
-    //show the count
-    if(is_array($items)){
-        echo '<b>'.get_string('questions', 'feedback').': ' .sizeof($items). ' </b><hr />';
-    } else {
-        $items=array();
+}
+
+if( !( ((intval($feedback->publish_stats) == 1) AND $capabilities->viewanalysepage) || $capabilities->viewreports)) {
+    print_error('error');
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add(get_string('analysis','feedback'));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// print the tabs
+include('tabs.php');
+
+
+//print analysed items
+echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+
+//get the groupid
+$groupselect = groups_print_activity_menu($cm, 'analysis.php?id=' . $cm->id.'&do_show=analysis', true);
+$mygroupid = groups_get_activity_group($cm);
+
+if( $capabilities->viewreports ) {
+
+    echo isset($groupselect) ? $groupselect : '';
+    echo '<div class="clearer"></div>';
+
+    //button "export to excel"
+    //echo '<div class="mdl-align">';
+    // echo '<div class="feedback_centered_button">';
+    echo $OUTPUT->container_start('form-buttons');
+    $export_button_link = 'analysis_to_excel.php';
+    $export_button_options = array('sesskey'=>sesskey(), 'id'=>$id);
+    $export_button_label = get_string('export_to_excel', 'feedback');
+    echo $OUTPUT->button(html_form::make_button($export_button_link, $export_button_options, $export_button_label));
+    echo $OUTPUT->container_end();
+}
+
+//get completed feedbacks
+$completedscount = feedback_get_completeds_group_count($feedback, $mygroupid);
+
+//show the group, if available
+if($mygroupid and $group = $DB->get_record('groups', array('id'=>$mygroupid))) {
+    echo '<b>'.get_string('group').': '.$group->name. '</b><br />';
+}
+//show the count
+echo '<b>'.get_string('completed_feedbacks', 'feedback').': '.$completedscount. '</b><br />';
+
+// get the items of the feedback
+$items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
+//show the count
+if(is_array($items)){
+    echo '<b>'.get_string('questions', 'feedback').': ' .sizeof($items). ' </b><hr />';
+} else {
+    $items=array();
+}
+$check_anonymously = true;
+if($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
+    if($completedscount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
+        $check_anonymously = false;
     }
-    $check_anonymously = true;
-    if($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
-        if($completedscount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
-            $check_anonymously = false;
+}
+// echo '<div class="mdl-align"><table width="80%" cellpadding="10"><tr><td>';
+echo '<div><table width="80%" cellpadding="10"><tr><td>';
+if($check_anonymously) {
+    $itemnr = 0;
+    //print the items in an analysed form
+    foreach($items as $item) {
+        if($item->hasvalue == 0) continue;
+        echo '<table width="100%" class="generalbox">';
+        //get the class of item-typ
+        $itemclass = 'feedback_item_'.$item->typ;
+        //get the instance of the item-class
+        require_once($CFG->dirroot.'/mod/feedback/item/'.$item->typ.'/lib.php');
+        $itemobj = new $itemclass();
+        $itemnr++;
+        if($feedback->autonumbering) {
+            $printnr = $itemnr.'.';
+        } else {
+            $printnr = '';
         }
+        $itemobj->print_analysed($item, $printnr, $mygroupid);
+        // $itemnr = $itemobj->print_analysed($item, $itemnr, $mygroupid);
+        echo '</table>';
     }
-    // echo '<div class="mdl-align"><table width="80%" cellpadding="10"><tr><td>';
-    echo '<div><table width="80%" cellpadding="10"><tr><td>';
-    if($check_anonymously) {
-        $itemnr = 0;
-        //print the items in an analysed form
-        foreach($items as $item) {
-            if($item->hasvalue == 0) continue;
-            echo '<table width="100%" class="generalbox">';
-            //get the class of item-typ
-            $itemclass = 'feedback_item_'.$item->typ;
-            //get the instance of the item-class
-            require_once($CFG->dirroot.'/mod/feedback/item/'.$item->typ.'/lib.php');
-            $itemobj = new $itemclass();
-            $itemnr++;
-            if($feedback->autonumbering) {
-                $printnr = $itemnr.'.';
-            } else {
-                $printnr = '';
-            }
-            $itemobj->print_analysed($item, $printnr, $mygroupid);
-            // $itemnr = $itemobj->print_analysed($item, $itemnr, $mygroupid);
-            echo '</table>';
-        }
-    }else {
-        print_heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), 'insufficient_responses', 'feedback');
-    }
-    echo '</td></tr></table></div>';
-    echo $OUTPUT->box_end();
+}else {
+    print_heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), 'insufficient_responses', 'feedback');
+}
+echo '</td></tr></table></div>';
+echo $OUTPUT->box_end();
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 7e8047cc11e3b38b2337d26c0934e7cc515606a0..5ab28ba908106e0b4f534f56c0ee9d3d10a192cc 100644 (file)
@@ -1,4 +1,5 @@
-<?php // $Id$
+<?php
+
 /**
 * shows an analysed view of a feedback on the mainsite
 *
 * @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);
-
-    if(($searchcourse OR $courseitemfilter OR $coursefilter) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
+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);
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/analysis_course.php', array('id'=>$id));
+if ($courseid !== false) {
+    $url->param('courseid', $courseid);
+}
+if ($coursefilter !== '0') {
+    $url->param('coursefilter', $coursefilter);
+}
+if ($courseitemfilter !== '0') {
+    $url->param('courseitemfilter', $courseitemfilter);
+}
+if ($courseitemfiltertyp !== '0') {
+    $url->param('courseitemfiltertyp', $courseitemfiltertyp);
+}
+if ($searchcourse !== '') {
+    $url->param('searchcourse', $searchcourse);
+}
+$PAGE->set_url($url);
+
+if(($searchcourse OR $courseitemfilter OR $coursefilter) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    if ($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 (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
-
-    if( !( (intval($feedback->publish_stats) == 1) || $capabilities->viewreports)) {
-        print_error('error');
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// print the tabs
-    include('tabs.php');
-
-    //print the analysed items
-    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-
-    if( $capabilities->viewreports ) {
-        //button "export to excel"
-        echo $OUTPUT->container_start('mdl-align');
-        $export_button_link = 'analysis_to_excel.php';
-        $export_button_options = array('sesskey'=>sesskey(), 'id'=>$id, 'coursefilter'=>$coursefilter);
-        $export_button_label = get_string('export_to_excel', 'feedback');
-        echo $OUTPUT->button(html_form::make_button($export_button_link, $export_button_options, $export_button_label));
-        echo $OUTPUT->container_end();
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if( !( (intval($feedback->publish_stats) == 1) || $capabilities->viewreports)) {
+    print_error('error');
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// print the tabs
+include('tabs.php');
+
+//print the analysed items
+echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+
+if( $capabilities->viewreports ) {
+    //button "export to excel"
+    echo $OUTPUT->container_start('mdl-align');
+    $export_button_link = 'analysis_to_excel.php';
+    $export_button_options = array('sesskey'=>sesskey(), 'id'=>$id, 'coursefilter'=>$coursefilter);
+    $export_button_label = get_string('export_to_excel', 'feedback');
+    echo $OUTPUT->button(html_form::make_button($export_button_link, $export_button_options, $export_button_label));
+    echo $OUTPUT->container_end();
+}
+
+//get the groupid
+//lstgroupid is the choosen id
+$mygroupid = false;
+//get completed feedbacks
+$completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $coursefilter);
+
+//show the count
+echo '<b>'.get_string('completed_feedbacks', 'feedback').': '.$completedscount. '</b><br />';
+
+// get the items of the feedback
+$items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
+//show the count
+if(is_array($items)){
+    echo '<b>'.get_string('questions', 'feedback').': ' .sizeof($items). ' </b><hr />';
+    echo '<a href="analysis_course.php?id=' . $id . '&courseid='.$courseid.'">'.get_string('show_all', 'feedback').'</a>';
+} else {
+    $items=array();
+}
+
+echo '<form name="report" method="post" id="analysis-form">';
+echo '<div class="mdl-align"><table width="80%" cellpadding="10">';
+if ($courseitemfilter > 0) {
+    $avgvalue = 'avg(value)';
+    if ($DB->get_dbfamily() == 'postgres') { // TODO: this should be moved to standard sql DML function ;-)
+         $avgvalue = 'avg(cast (value as integer))';
     }
-
-    //get the groupid
-    //lstgroupid is the choosen id
-    $mygroupid = false;
-    //get completed feedbacks
-    $completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $coursefilter);
-
-    //show the count
-    echo '<b>'.get_string('completed_feedbacks', 'feedback').': '.$completedscount. '</b><br />';
-
-    // get the items of the feedback
-    $items = $DB->get_records('feedback_item', array('feedback'=>$feedback->id, 'hasvalue'=>1), 'position');
-    //show the count
-    if(is_array($items)){
-       echo '<b>'.get_string('questions', 'feedback').': ' .sizeof($items). ' </b><hr />';
-        echo '<a href="analysis_course.php?id=' . $id . '&courseid='.$courseid.'">'.get_string('show_all', 'feedback').'</a>';
+    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))) {
+         $item = $DB->get_record('feedback_item', array('id'=>$courseitemfilter));
+         echo '<tr><th colspan="2">'.$item->name.'</th></tr>';
+         echo '<tr><td><table align="left">';
+         echo '<tr><th>Course</th><th>Average</th></tr>';
+         $sep_dec = get_string('separator_decimal', 'feedback');
+         $sep_thous = get_string('separator_thousand', 'feedback');
+
+         foreach ($courses as $c) {
+              echo '<tr><td>'.$c->shortname.'</td><td align="right">'.number_format(($c->avgvalue), 2, $sep_dec, $sep_thous).'</td></tr>';
+         }
+         echo '</table></td></tr>';
     } else {
-        $items=array();
+         echo '<tr><td>'.get_string('noresults').'</td></tr>';
     }
-
-    echo '<form name="report" method="post" id="analysis-form">';
-    echo '<div class="mdl-align"><table width="80%" cellpadding="10">';
-    if ($courseitemfilter > 0) {
-        $avgvalue = 'avg(value)';
-        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))) {
-             $item = $DB->get_record('feedback_item', array('id'=>$courseitemfilter));
-             echo '<tr><th colspan="2">'.$item->name.'</th></tr>';
-             echo '<tr><td><table align="left">';
-             echo '<tr><th>Course</th><th>Average</th></tr>';
-             $sep_dec = get_string('separator_decimal', 'feedback');
-             $sep_thous = get_string('separator_thousand', 'feedback');
-
-             foreach ($courses as $c) {
-                  echo '<tr><td>'.$c->shortname.'</td><td align="right">'.number_format(($c->avgvalue), 2, $sep_dec, $sep_thous).'</td></tr>';
-             }
-             echo '</table></td></tr>';
+} else {
+
+    echo get_string('search_course', 'feedback') . ': ';
+    echo '<input type="text" name="searchcourse" value="'.s($searchcourse).'"/> <input type="submit" value="'.get_string('search').'"/>';
+    echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+    echo '<input type="hidden" name="id" value="'.$id.'" />';
+    echo '<input type="hidden" name="courseitemfilter" value="'.$courseitemfilter.'" />';
+    echo '<input type="hidden" name="courseitemfiltertyp" value="'.$courseitemfiltertyp.'" />';
+    echo '<input type="hidden" name="courseid" value="'.$courseid.'" />';
+    echo $PAGE->requires->js('mod/feedback/feedback.js')->asap();
+    $sql = 'select c.id, c.shortname from {course} c, '.
+                                          '{feedback_value} fv, {feedback_item} fi '.
+                                          'where c.id = fv.course_id and fv.item = fi.id '.
+                                          'and fi.feedback = ?'.
+                                          'and
+                                          (c.shortname '.$DB->sql_ilike().' ?
+                                          OR c.fullname '.$DB->sql_ilike().' ?)';
+    $params = array($feedback->id, "%$searchcourse%", "%$searchcourse%");
+
+    if ($courses = $DB->get_records_sql_menu($sql, $params)) {
+
+         echo ' ' . get_string('filter_by_course', 'feedback') . ': ';
+         $select = new html_select();
+         $select->options = $courses;
+         $select->name = 'coursefilter';
+         $select->selectedvalue = $coursefilter;
+         $select->add_action('change', 'submit_form_by_id', array('id' => 'analysis-form'));
+         echo $OUTPUT->select($select);
+    }
+    echo '<hr />';
+    $itemnr = 0;
+    //print the items in an analysed form
+    echo '<tr><td>';
+    foreach($items as $item) {
+        if($item->hasvalue == 0) continue;
+        echo '<table width="100%" class="generalbox">';
+        //get the class from item-typ
+        $itemclass = 'feedback_item_'.$item->typ;
+        //get the instance of the item-class
+        $itemobj = new $itemclass();
+        $itemnr++;
+        if($feedback->autonumbering) {
+            $printnr = $itemnr.'.';
         } else {
-             echo '<tr><td>'.get_string('noresults').'</td></tr>';
-        }
-    } else {
-
-        echo get_string('search_course', 'feedback') . ': ';
-        echo '<input type="text" name="searchcourse" value="'.s($searchcourse).'"/> <input type="submit" value="'.get_string('search').'"/>';
-        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-        echo '<input type="hidden" name="id" value="'.$id.'" />';
-        echo '<input type="hidden" name="courseitemfilter" value="'.$courseitemfilter.'" />';
-        echo '<input type="hidden" name="courseitemfiltertyp" value="'.$courseitemfiltertyp.'" />';
-        echo '<input type="hidden" name="courseid" value="'.$courseid.'" />';
-        echo $PAGE->requires->js('mod/feedback/feedback.js')->asap();
-        $sql = 'select c.id, c.shortname from {course} c, '.
-                                              '{feedback_value} fv, {feedback_item} fi '.
-                                              'where c.id = fv.course_id and fv.item = fi.id '.
-                                              'and fi.feedback = ?'.
-                                              'and
-                                              (c.shortname '.$DB->sql_ilike().' ?
-                                              OR c.fullname '.$DB->sql_ilike().' ?)';
-        $params = array($feedback->id, "%$searchcourse%", "%$searchcourse%");
-
-        if ($courses = $DB->get_records_sql_menu($sql, $params)) {
-
-             echo ' ' . get_string('filter_by_course', 'feedback') . ': ';
-             $select = new html_select();
-             $select->options = $courses;
-             $select->name = 'coursefilter';
-             $select->selectedvalue = $coursefilter;
-             $select->add_action('change', 'submit_form_by_id', array('id' => 'analysis-form'));
-             echo $OUTPUT->select($select);
+            $printnr = '';
         }
-        echo '<hr />';
-        $itemnr = 0;
-        //print the items in an analysed form
-        echo '<tr><td>';
-        foreach($items as $item) {
-            if($item->hasvalue == 0) continue;
-            echo '<table width="100%" class="generalbox">';
-            //get the class from item-typ
-            $itemclass = 'feedback_item_'.$item->typ;
-            //get the instance of the item-class
-            $itemobj = new $itemclass();
-            $itemnr++;
-            if($feedback->autonumbering) {
-                $printnr = $itemnr.'.';
-            } else {
-                $printnr = '';
-            }
-            $itemobj->print_analysed($item, $printnr, $mygroupid, $coursefilter);
-            if (preg_match('/rated$/i', $item->typ)) {
-                 echo '<tr><td colspan="2"><a href="#" onclick="setcourseitemfilter('.$item->id.',\''.$item->typ.'\'); return false;">'.
-                    get_string('sort_by_course', 'feedback').'</a></td></tr>';
-            }
-            echo '</table>';
+        $itemobj->print_analysed($item, $printnr, $mygroupid, $coursefilter);
+        if (preg_match('/rated$/i', $item->typ)) {
+             echo '<tr><td colspan="2"><a href="#" onclick="setcourseitemfilter('.$item->id.',\''.$item->typ.'\'); return false;">'.
+                get_string('sort_by_course', 'feedback').'</a></td></tr>';
         }
-        echo '</td></tr>';
+        echo '</table>';
     }
-    echo '</table></div>';
-    echo '</form>';
-    echo $OUTPUT->box_end();
+    echo '</td></tr>';
+}
+echo '</table></div>';
+echo '</form>';
+echo $OUTPUT->box_end();
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 4caab56d8474fc7a74dd21bd26485df5e171e407..1a452cceffd7d9f6d0444febdec3488bef6b645b 100644 (file)
-<?php // $Id$
+<?php
+
 /**
 * prints an analysed excel-spreadsheet of the feedback
 *
-* @version $Id$
 * @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');
-    $id = required_param('id', PARAM_INT);  //the POST dominated the GET
-    $coursefilter = optional_param('coursefilter', '0', PARAM_INT);    
-    
-    $formdata = data_submitted();
-    
-    if ($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');
-        }
-    }
-    $capabilities = feedback_load_capabilities($cm->id);
+require_once("../../config.php");
+require_once("lib.php");
+require_once('easy_excel.php');
 
-    require_login($course->id, true, $cm);
-    
-    if(!$capabilities->viewreports){
-        print_error('error');
-    }
+$id = required_param('id', PARAM_INT);  //the POST dominated the GET
+$coursefilter = optional_param('coursefilter', '0', PARAM_INT);    
 
-    //buffering any output
-    //this prevents some output before the excel-header will be send
-    ob_start();
-    $fstring = new object();
-    $fstring->bold = get_string('bold', 'feedback');
-    $fstring->page = get_string('page', 'feedback');
-    $fstring->of = get_string('of', 'feedback');
-    $fstring->modulenameplural = get_string('modulenameplural', 'feedback');
-    $fstring->questions = get_string('questions', 'feedback');
-    $fstring->itemlabel = get_string('item_label', 'feedback');
-    $fstring->question = get_string('question', 'feedback');
-    $fstring->responses = get_string('responses', 'feedback');
-    $fstring->idnumber = get_string('idnumber');
-    $fstring->username = get_string('username');
-    $fstring->fullname = get_string('fullname');
-    $fstring->courseid = get_string('courseid', 'feedback');
-    $fstring->course = get_string('course');
-    $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);
-        exit;
-    }
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/analysis_to_excel.php', array('id'=>$id));
+if ($coursefilter !== '0') {
+    $url->param('coursefilter', $coursefilter);
+}
+$PAGE->set_url($url);
 
-    $filename = "feedback.xls";
-    
-    $mygroupid = groups_get_activity_group($cm);
-
-    // Creating a workbook
-    $workbook = new EasyWorkbook("-");
-    $workbook->setTempDir($CFG->dataroot.'/temp');
-    $workbook->send($filename);
-    $workbook->setVersion(8);
-    // Creating the worksheets
-    $sheetname = clean_param($feedback->name, PARAM_ALPHANUM);
-    error_reporting(0);
-    $worksheet1 =& $workbook->addWorksheet(substr($sheetname, 0, 31));
-    $worksheet1->set_workbook($workbook);
-    $worksheet2 =& $workbook->addWorksheet('detailed');
-    $worksheet2->set_workbook($workbook);
-    error_reporting($CFG->debug);
-    $worksheet1->setPortrait();
-    $worksheet1->setPaper(9);
-    $worksheet1->centerHorizontally();
-    $worksheet1->hideGridlines();
-    $worksheet1->setHeader("&\"Arial," . $fstring->bold . "\"&14".$feedback->name);
-    $worksheet1->setFooter($fstring->page." &P " . $fstring->of . " &N");
-    $worksheet1->setColumn(0, 0, 10);
-    $worksheet1->setColumn(1, 1, 30);
-    $worksheet1->setColumn(2, 20, 15);
-    $worksheet1->setMargins_LR(0.10);
-
-    $worksheet2->setLandscape();
-    $worksheet2->setPaper(9);
-    $worksheet2->centerHorizontally();
-
-    //writing the table header
-    $rowOffset1 = 0;
-    $worksheet1->setFormat("<f>",12,false);
-    $worksheet1->write_string($rowOffset1, 0, UserDate(time()));
-
-    ////////////////////////////////////////////////////////////////////////
-    //print the analysed sheet
-    ////////////////////////////////////////////////////////////////////////
-    //get the completeds
-    $completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $coursefilter);
-    if($completedscount > 0){
-        //write the count of completeds
-        $rowOffset1++;
-        $worksheet1->write_string($rowOffset1, 0, $fstring->modulenameplural.': '.strval($completedscount));
-    }
+$formdata = data_submitted();
 
-    if(is_array($items)){
-        $rowOffset1++;
-        $worksheet1->write_string($rowOffset1, 0, $fstring->questions.': '. strval(sizeof($items)));
-    }
-    
-    $rowOffset1 += 2;
-    $worksheet1->write_string($rowOffset1, 0, $fstring->itemlabel);
-    $worksheet1->write_string($rowOffset1, 1, $fstring->question);
-    $worksheet1->write_string($rowOffset1, 2, $fstring->responses);
-    $rowOffset1++ ;
-
-    if (empty($items)) {
-         $items=array();
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    foreach($items as $item) {
-        //get the class of item-typ
-        $itemclass = 'feedback_item_'.$item->typ;
-        //get the instance of the item-class
-        $itemobj = new $itemclass();
-        $rowOffset1 = $itemobj->excelprint_item($worksheet1, $rowOffset1, $item, $mygroupid, $coursefilter);
+
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    ////////////////////////////////////////////////////////////////////////
-    //print the detailed sheet
-    ////////////////////////////////////////////////////////////////////////
-    //get the completeds
-    
-    $completeds = feedback_get_completeds_group($feedback, $mygroupid, $coursefilter);
-    //important: for each completed you have to print each item, even if it is not filled out!!!
-    //therefor for each completed we have to iterate over all items of the feedback
-    //this is done by feedback_excelprint_detailed_items
-    
-    $rowOffset2 = 0;
-    //first we print the table-header
-    $rowOffset2 = feedback_excelprint_detailed_head($worksheet2, $items, $rowOffset2);
-    
-    
-    if(is_array($completeds)){
-        foreach($completeds as $completed) {
-            $rowOffset2 = feedback_excelprint_detailed_items($worksheet2, $completed, $items, $rowOffset2);
-        }
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-    
-    
-    $workbook->close();
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->viewreports){
+    print_error('error');
+}
+
+//buffering any output
+//this prevents some output before the excel-header will be send
+ob_start();
+$fstring = new object();
+$fstring->bold = get_string('bold', 'feedback');
+$fstring->page = get_string('page', 'feedback');
+$fstring->of = get_string('of', 'feedback');
+$fstring->modulenameplural = get_string('modulenameplural', 'feedback');
+$fstring->questions = get_string('questions', 'feedback');
+$fstring->itemlabel = get_string('item_label', 'feedback');
+$fstring->question = get_string('question', 'feedback');
+$fstring->responses = get_string('responses', 'feedback');
+$fstring->idnumber = get_string('idnumber');
+$fstring->username = get_string('username');
+$fstring->fullname = get_string('fullname');
+$fstring->courseid = get_string('courseid', 'feedback');
+$fstring->course = get_string('course');
+$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);
     exit;
+}
+
+$filename = "feedback.xls";
+
+$mygroupid = groups_get_activity_group($cm);
+
+// Creating a workbook
+$workbook = new EasyWorkbook("-");
+$workbook->setTempDir($CFG->dataroot.'/temp');
+$workbook->send($filename);
+$workbook->setVersion(8);
+// Creating the worksheets
+$sheetname = clean_param($feedback->name, PARAM_ALPHANUM);
+error_reporting(0);
+$worksheet1 =& $workbook->addWorksheet(substr($sheetname, 0, 31));
+$worksheet1->set_workbook($workbook);
+$worksheet2 =& $workbook->addWorksheet('detailed');
+$worksheet2->set_workbook($workbook);
+error_reporting($CFG->debug);
+$worksheet1->setPortrait();
+$worksheet1->setPaper(9);
+$worksheet1->centerHorizontally();
+$worksheet1->hideGridlines();
+$worksheet1->setHeader("&\"Arial," . $fstring->bold . "\"&14".$feedback->name);
+$worksheet1->setFooter($fstring->page." &P " . $fstring->of . " &N");
+$worksheet1->setColumn(0, 0, 10);
+$worksheet1->setColumn(1, 1, 30);
+$worksheet1->setColumn(2, 20, 15);
+$worksheet1->setMargins_LR(0.10);
+
+$worksheet2->setLandscape();
+$worksheet2->setPaper(9);
+$worksheet2->centerHorizontally();
+
+//writing the table header
+$rowOffset1 = 0;
+$worksheet1->setFormat("<f>",12,false);
+$worksheet1->write_string($rowOffset1, 0, UserDate(time()));
+
+////////////////////////////////////////////////////////////////////////
+//print the analysed sheet
+////////////////////////////////////////////////////////////////////////
+//get the completeds
+$completedscount = feedback_get_completeds_group_count($feedback, $mygroupid, $coursefilter);
+if($completedscount > 0){
+    //write the count of completeds
+    $rowOffset1++;
+    $worksheet1->write_string($rowOffset1, 0, $fstring->modulenameplural.': '.strval($completedscount));
+}
+
+if(is_array($items)){
+    $rowOffset1++;
+    $worksheet1->write_string($rowOffset1, 0, $fstring->questions.': '. strval(sizeof($items)));
+}
+
+$rowOffset1 += 2;
+$worksheet1->write_string($rowOffset1, 0, $fstring->itemlabel);
+$worksheet1->write_string($rowOffset1, 1, $fstring->question);
+$worksheet1->write_string($rowOffset1, 2, $fstring->responses);
+$rowOffset1++ ;
+
+if (empty($items)) {
+     $items=array();
+}
+foreach($items as $item) {
+    //get the class of item-typ
+    $itemclass = 'feedback_item_'.$item->typ;
+    //get the instance of the item-class
+    $itemobj = new $itemclass();
+    $rowOffset1 = $itemobj->excelprint_item($worksheet1, $rowOffset1, $item, $mygroupid, $coursefilter);
+}
+
+////////////////////////////////////////////////////////////////////////
+//print the detailed sheet
+////////////////////////////////////////////////////////////////////////
+//get the completeds
+
+$completeds = feedback_get_completeds_group($feedback, $mygroupid, $coursefilter);
+//important: for each completed you have to print each item, even if it is not filled out!!!
+//therefor for each completed we have to iterate over all items of the feedback
+//this is done by feedback_excelprint_detailed_items
+
+$rowOffset2 = 0;
+//first we print the table-header
+$rowOffset2 = feedback_excelprint_detailed_head($worksheet2, $items, $rowOffset2);
+
+
+if(is_array($completeds)){
+    foreach($completeds as $completed) {
+        $rowOffset2 = feedback_excelprint_detailed_items($worksheet2, $completed, $items, $rowOffset2);
+    }
+}
+
+
+$workbook->close();
+exit;
 ////////////////////////////////////////////////////////////////////////////////    
 ////////////////////////////////////////////////////////////////////////////////    
 //functions
 ////////////////////////////////////////////////////////////////////////////////    
 
-    
-    function feedback_excelprint_detailed_head(&$worksheet, $items, $rowOffset) {
-        global $fstring, $feedback;
-        
-        if(!$items) return;
-        $colOffset = 0;
-        
-        $worksheet->setFormat('<l><f><ru2>');
 
-        $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->idnumber);
-        $colOffset++;
+function feedback_excelprint_detailed_head(&$worksheet, $items, $rowOffset) {
+    global $fstring, $feedback;
 
-        $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->username);
-        $colOffset++;
+    if(!$items) return;
+    $colOffset = 0;
 
-        $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->fullname);
-        $colOffset++;
-        
-        foreach($items as $item) {
-            $worksheet->setFormat('<l><f><ru2>');
-            $worksheet->write_string($rowOffset, $colOffset, $item->name);
-            $worksheet->write_string($rowOffset + 1, $colOffset, $item->label);
-            $colOffset++;
-        }
+    $worksheet->setFormat('<l><f><ru2>');
 
-        $worksheet->setFormat('<l><f><ru2>');
-        $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->courseid);
-        $colOffset++;
+    $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->idnumber);
+    $colOffset++;
 
+    $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->username);
+    $colOffset++;
+
+    $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->fullname);
+    $colOffset++;
+
+    foreach($items as $item) {
         $worksheet->setFormat('<l><f><ru2>');
-        $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->course);
+        $worksheet->write_string($rowOffset, $colOffset, $item->name);
+        $worksheet->write_string($rowOffset + 1, $colOffset, $item->label);
         $colOffset++;
-
-        return $rowOffset + 2;
     }
-    
-    function feedback_excelprint_detailed_items(&$worksheet, $completed, $items, $rowOffset) {
-        global $DB, $fstring;
-        
-        if(!$items) return;
-        $colOffset = 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('<l><f><ru2>');
-        if($user = $DB->get_record('user', array('id'=>$completed->userid))) {
-            if ($completed->anonymous_response == FEEDBACK_ANONYMOUS_NO) {
-                $worksheet->write_string($rowOffset, $colOffset, $user->idnumber);
-                $colOffset++;
-                $userfullname = fullname($user);
-                $worksheet->write_string($rowOffset, $colOffset, $user->username);
-                $colOffset++;
-            } else {
-                $userfullname = $fstring->anonymous_user;
-                $worksheet->write_string($rowOffset, $colOffset, '-');
-                $colOffset++;
-                $worksheet->write_string($rowOffset, $colOffset, '-');
-                $colOffset++;
-            }
-        }else {
+
+    $worksheet->setFormat('<l><f><ru2>');
+    $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->courseid);
+    $colOffset++;
+
+    $worksheet->setFormat('<l><f><ru2>');
+    $worksheet->write_string($rowOffset + 1, $colOffset, $fstring->course);
+    $colOffset++;
+
+    return $rowOffset + 2;
+}
+
+function feedback_excelprint_detailed_items(&$worksheet, $completed, $items, $rowOffset) {
+    global $DB, $fstring;
+
+    if(!$items) return;
+    $colOffset = 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('<l><f><ru2>');
+    if($user = $DB->get_record('user', array('id'=>$completed->userid))) {
+        if ($completed->anonymous_response == FEEDBACK_ANONYMOUS_NO) {
+            $worksheet->write_string($rowOffset, $colOffset, $user->idnumber);
+            $colOffset++;
+            $userfullname = fullname($user);
+            $worksheet->write_string($rowOffset, $colOffset, $user->username);
+            $colOffset++;
+        } else {
             $userfullname = $fstring->anonymous_user;
             $worksheet->write_string($rowOffset, $colOffset, '-');
             $colOffset++;
             $worksheet->write_string($rowOffset, $colOffset, '-');
             $colOffset++;
         }
-        
-        $worksheet->write_string($rowOffset, $colOffset, $userfullname);
-        
+    }else {
+        $userfullname = $fstring->anonymous_user;
+        $worksheet->write_string($rowOffset, $colOffset, '-');
         $colOffset++;
-        foreach($items as $item) {
-            $value = $DB->get_record('feedback_value', array('item'=>$item->id, 'completed'=>$completed->id));
-            
-            $itemclass = 'feedback_item_'.$item->typ;
-            $itemobj = new $itemclass();
-            $printval = $itemobj->get_printval($item, $value);
-
-            $worksheet->setFormat('<l><vo>');
-            if(is_numeric($printval)) {
-                $worksheet->write_number($rowOffset, $colOffset, trim($printval));
-            } else {
-                $worksheet->write_string($rowOffset, $colOffset, trim($printval));
-            }
-            $printval = '';
-            $colOffset++;
-            $courseid = isset($value->course_id) ? $value->course_id : 0;
-            if($courseid == 0) $courseid = $feedback->course;
-        }
-        $worksheet->write_number($rowOffset, $colOffset, $courseid);
+        $worksheet->write_string($rowOffset, $colOffset, '-');
         $colOffset++;
-        if(isset($courseid) AND $course = $DB->get_record('course', array('id'=>$courseid))) {
-            $worksheet->write_string($rowOffset, $colOffset, $course->shortname);
+    }
+
+    $worksheet->write_string($rowOffset, $colOffset, $userfullname);
+
+    $colOffset++;
+    foreach($items as $item) {
+        $value = $DB->get_record('feedback_value', array('item'=>$item->id, 'completed'=>$completed->id));
+
+        $itemclass = 'feedback_item_'.$item->typ;
+        $itemobj = new $itemclass();
+        $printval = $itemobj->get_printval($item, $value);
+
+        $worksheet->setFormat('<l><vo>');
+        if(is_numeric($printval)) {
+            $worksheet->write_number($rowOffset, $colOffset, trim($printval));
+        } else {
+            $worksheet->write_string($rowOffset, $colOffset, trim($printval));
         }
-        return $rowOffset + 1;
+        $printval = '';
+        $colOffset++;
+        $courseid = isset($value->course_id) ? $value->course_id : 0;
+        if($courseid == 0) $courseid = $feedback->course;
+    }
+    $worksheet->write_number($rowOffset, $colOffset, $courseid);
+    $colOffset++;
+    if(isset($courseid) AND $course = $DB->get_record('course', array('id'=>$courseid))) {
+        $worksheet->write_string($rowOffset, $colOffset, $course->shortname);
     }
-?>
+    return $rowOffset + 1;
+}
+?>
\ No newline at end of file
index c0976970cdb8a0c16a371b6e77d0cca63145ec07..d66684a56cf85da9c6c6d448184ee256206a1d69 100644 (file)
-<?php // $Id$
+<?php
+
 /**
 * prints the form so the user can fill out the feedback
 *
-* @version $Id$
 * @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');
-
-    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
-
-    $highlightrequired = false;
-
-    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('missingparameter');
-        }
+require_once("../../config.php");
+require_once("lib.php");
+require_once($CFG->libdir . '/completionlib.php');
+
+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
+
+$highlightrequired = false;
+
+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 {
-        $gonextpage = $gopreviouspage = false;
+        print_error('missingparameter');
     }
+}else {
+    $gonextpage = $gopreviouspage = false;
+}
 
 
-    if ($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 ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
-        $capabilities->complete = true;
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    //check whether the feedback is located and! started from the mainsite
-    if($course->id == SITEID AND !$courseid) {
-        $courseid = SITEID;
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
+}
 
-    //check whether the feedback is mapped to the given courseid
-    if($course->id == SITEID AND !$capabilities->edititems) {
-        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');
-            }
-        }
-    }
+$capabilities = feedback_load_capabilities($cm->id);
 
-    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);
-        }
-    }
+if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
+    $capabilities->complete = true;
+}
 
-    //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');
-        }
-    }
+//check whether the feedback is located and! started from the mainsite
+if($course->id == SITEID AND !$courseid) {
+    $courseid = SITEID;
+}
 
-    if(!$capabilities->complete) {
-        print_error('error');
+//check whether the feedback is mapped to the given courseid
+if($course->id == SITEID AND !$capabilities->edititems) {
+    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');
+        }
     }
+}
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-    
-    $PAGE->navbar->add(get_string('feedback:complete', 'feedback'));
-    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/complete.php', array('id'=>$cm->id, 'gopage'=>$gopage, 'courseid'=>$course->id)));
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    //ishidden check.
-    //feedback in courses
-    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
-        notice(get_string("activityiscurrentlyhidden"));
+if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
+    if($course->id == SITEID) {
+        require_login($course->id, true);
+    }else {
+        require_login($course->id, true, $cm);
     }
-
-    //ishidden check.
-    //feedback on mainsite
-    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) {
-        notice(get_string("activityiscurrentlyhidden"));
+} else {
+    if($course->id == SITEID) {
+        require_course_login($course, true);
+    }else {
+        require_course_login($course, true, $cm);
     }
+}
 
-    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 '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
-            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-        echo $OUTPUT->box_end();
-        echo $OUTPUT->footer();
-        exit;
+//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');
     }
-
-    //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(!$capabilities->complete) {
+    print_error('error');
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add(get_string('feedback:complete', 'feedback'));
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/complete.php', array('id'=>$cm->id, 'gopage'=>$gopage, 'courseid'=>$course->id)));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+//ishidden check.
+//feedback in courses
+if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
+    notice(get_string("activityiscurrentlyhidden"));
+}
+
+//ishidden check.
+//feedback on mainsite
+if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) 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 '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
+        echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+    echo $OUTPUT->box_end();
+    echo $OUTPUT->footer();
+    exit;
+}
+
+//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
+$feedback_can_submit = true;
+if($feedback->multiple_submit == 0 ) {
+    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($_POST, $startitempos, $lastitempos)) {
-                    $userid = $USER->id; //arb
-                if($completedid = feedback_save_values($_POST, $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');
-                    }
+}
+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($_POST, $startitempos, $lastitempos)) {
+                $userid = $USER->id; //arb
+            if($completedid = feedback_save_values($_POST, $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 = 'missing';
-                $highlightrequired = true;
+                $savereturn = 'failed';
                 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
-
-            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) {
-                $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);
-                    feedback_send_email($cm, $feedback, $course, $userid);
-                }else {
-                    feedback_send_email_anonym($cm, $feedback, $course, $userid);
-                }
-                //tracking the submit
-                $tracking = new object();
-                $tracking->userid = $USER->id;
-                $tracking->feedback = $feedback->id;
-                $tracking->completed = $new_completed_id;
-                $DB->insert_record('feedback_tracking', $tracking);
-                unset($SESSION->feedback->is_started);
-
+        }else {
+            $savereturn = 'missing';
+            $highlightrequired = true;
+            if(isset($lastpage)) {
+                $gopage = $lastpage;
             }else {
-                $savereturn = 'failed';
+                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
 
-        if($allbreaks = feedback_get_all_break_positions($feedback->id)){
-            if($gopage <= 0) {
-                $startposition = 0;
+        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) {
+            $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);
+                feedback_send_email($cm, $feedback, $course, $userid);
             }else {
-                $startposition = $allbreaks[$gopage - 1];
+                feedback_send_email_anonym($cm, $feedback, $course, $userid);
             }
-            $ispagebreak = true;
+            //tracking the submit
+            $tracking = new object();
+            $tracking->userid = $USER->id;
+            $tracking->feedback = $feedback->id;
+            $tracking->completed = $new_completed_id;
+            $DB->insert_record('feedback_tracking', $tracking);
+            unset($SESSION->feedback->is_started);
+
         }else {
-            $startposition = 0;
-            $newpage = 0;
-            $ispagebreak = false;
+            $savereturn = 'failed';
         }
 
-        //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];
+    if($allbreaks = feedback_get_all_break_positions($feedback->id)){
+        if($gopage <= 0) {
+            $startposition = 0;
         }else {
-            $firstpagebreak = false;
+            $startposition = $allbreaks[$gopage - 1];
         }
-        $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);
-                }
+        $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);
         }
+    }else {
+        $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid);
+    }
 
-        /// Print the main part of the page
-        ///////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////////////////////////////////////////
-        echo $OUTPUT->heading(format_text($feedback->name));
+    /// Print the main part of the page
+    ///////////////////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////
+    echo $OUTPUT->heading(format_text($feedback->name));
 
-        if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
-            if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
-                echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
-                echo get_string('completed_feedbacks', 'feedback').'</a>';
-                echo '</div>';
-            }
+    if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
+        if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
+            echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
+            echo get_string('completed_feedbacks', 'feedback').'</a>';
+            echo '</div>';
         }
+    }
 
-        if(isset($savereturn) && $savereturn == 'saved') {
-            if($feedback->page_after_submit) {
-                echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-                echo format_text($feedback->page_after_submit);
-                echo $OUTPUT->box_end();
-            } else {
-                echo '<p align="center"><b><font color="green">'.get_string('entries_saved','feedback').'</font></b></p>';
-                if( intval($feedback->publish_stats) == 1) {
-                    echo '<p align="center"><a href="analysis.php?id=' . $id . '&courseid='.$courseid.'">';
-                    echo get_string('completed_feedbacks', 'feedback').'</a>';
-                    echo '</p>';
-                }
+    if(isset($savereturn) && $savereturn == 'saved') {
+        if($feedback->page_after_submit) {
+            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+            echo format_text($feedback->page_after_submit);
+            echo $OUTPUT->box_end();
+        } else {
+            echo '<p align="center"><b><font color="green">'.get_string('entries_saved','feedback').'</font></b></p>';
+            if( intval($feedback->publish_stats) == 1) {
+                echo '<p align="center"><a href="analysis.php?id=' . $id . '&courseid='.$courseid.'">';
+                echo get_string('completed_feedbacks', 'feedback').'</a>';
+                echo '</p>';
             }
+        }
 
-            // Mark activity viewed for completion-tracking
-            $completion=new completion_info($course);
-            $completion->set_module_viewed($cm);
+        // Mark activity viewed for completion-tracking
+        $completion=new completion_info($course);
+        $completion->set_module_viewed($cm);
 
-            if($feedback->site_after_submit) {
-                echo $OUTPUT->continue_button(feedback_encode_target_url($feedback->site_after_submit));
+        if($feedback->site_after_submit) {
+            echo $OUTPUT->continue_button(feedback_encode_target_url($feedback->site_after_submit));
+        }else {
+            if($courseid) {
+                echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$courseid);
             }else {
-                if($courseid) {
-                    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);
-                    }
+                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 '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
-            }
+        }
+    }else {
+        if(isset($savereturn) && $savereturn == 'failed') {
+            echo '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
+        }
+
+        if(isset($savereturn) && $savereturn == 'missing') {
+            echo '<p align="center"><b><font color="red">'.get_string('saving_failed_because_missing_or_false_values','feedback').'</font></b></p>';
+        }
 
-            if(isset($savereturn) && $savereturn == 'missing') {
-                echo '<p align="center"><b><font color="red">'.get_string('saving_failed_because_missing_or_false_values','feedback').'</font></b></p>';
+        //print the items
+        if(is_array($feedbackitems)){
+            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+            echo '<div class="mdl-align"><form name="frm" action="'.$ME.'" method="post" onsubmit=" ">';
+            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+            echo '<table>';
+            switch ($feedback->anonymous) {
+                case FEEDBACK_ANONYMOUS_YES:
+                    echo '<tr><th colspan="3" align="center"><input type="hidden" name="anonymous" value="1" /><input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_YES.'" />'.get_string('mode', 'feedback').': '.get_string('anonymous', 'feedback').'</th></tr>'; //arb
+                    break;
+                case FEEDBACK_ANONYMOUS_NO:
+                    echo '<tr><th colspan="3" align="center"><input type="hidden" name="anonymous" value="0" /><input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_NO.'" />'.get_string('mode', 'feedback').': '.get_string('non_anonymous', 'feedback').'&nbsp;</td></tr>'; //arb
+                    break;
+            }
+            //check, if there exists required-elements
+            $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=>1));
+            if($countreq > 0) {
+                echo '<tr><td colspan="3"><font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font></td></tr>';
             }
 
-            //print the items
-            if(is_array($feedbackitems)){
-                echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-                echo '<div class="mdl-align"><form name="frm" action="'.$ME.'" method="post" onsubmit=" ">';
-                echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-                echo '<table>';
-                switch ($feedback->anonymous) {
-                    case FEEDBACK_ANONYMOUS_YES:
-                        echo '<tr><th colspan="3" align="center"><input type="hidden" name="anonymous" value="1" /><input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_YES.'" />'.get_string('mode', 'feedback').': '.get_string('anonymous', 'feedback').'</th></tr>'; //arb
-                        break;
-                    case FEEDBACK_ANONYMOUS_NO:
-                        echo '<tr><th colspan="3" align="center"><input type="hidden" name="anonymous" value="0" /><input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_NO.'" />'.get_string('mode', 'feedback').': '.get_string('non_anonymous', 'feedback').'&nbsp;</td></tr>'; //arb
-                        break;
-                }
-                //check, if there exists required-elements
-                $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=>1));
-                if($countreq > 0) {
-                    echo '<tr><td colspan="3"><font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font></td></tr>';
+            unset($startitem);
+            $itemnr = $DB->count_records_select('feedback_item', 'feedback = ? AND hasvalue = 1 AND position < ?', array($feedback->id, $startposition));
+            foreach($feedbackitems as $feedbackitem){
+                if(!isset($startitem)) {
+                    //avoid showing double pagebreaks
+                    if($feedbackitem->typ == 'pagebreak') continue;
+                    $startitem = $feedbackitem;
                 }
-
-                unset($startitem);
-                $itemnr = $DB->count_records_select('feedback_item', 'feedback = ? AND hasvalue = 1 AND position < ?', array($feedback->id, $startposition));
-                foreach($feedbackitems as $feedbackitem){
-                    if(!isset($startitem)) {
-                        //avoid showing double pagebreaks
-                        if($feedbackitem->typ == 'pagebreak') continue;
-                        $startitem = $feedbackitem;
-                    }
-                    $value = '';
-                    //get the value
-                    $frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
-                    if(isset($savereturn)) {
-                        $value =  isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
-                    }else {
-                        if(isset($feedbackcompletedtmp->id)) {
-                            $value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, true);
-                        }
-                    }
-                    echo '<tr>';
-                    if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                        $itemnr++;
-                        echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-                    } else {
-                        echo '<td>&nbsp;</td>';
-                    }
-                    if($feedbackitem->typ != 'pagebreak') {
-                        feedback_print_item($feedbackitem, $value, false, false, $highlightrequired);
-                    }
-                    echo '</tr>';
-                    echo '<tr><td>&nbsp;</td></tr>';
-
-                    $lastbreakposition = $feedbackitem->position; //last item-pos (item or pagebreak)
-                    if($feedbackitem->typ == 'pagebreak'){
-                        break;
-                    }else {
-                        $lastitem = $feedbackitem;
+                $value = '';
+                //get the value
+                $frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
+                if(isset($savereturn)) {
+                    $value =  isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
+                }else {
+                    if(isset($feedbackcompletedtmp->id)) {
+                        $value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, true);
                     }
                 }
-                echo '</table>';
-                echo '<input type="hidden" name="id" value="'.$id.'" />';
-                echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
-                echo '<input type="hidden" name="lastpage" value="'.$gopage.'" />';
-                echo '<input type="hidden" name="completedid" value="'.(isset($feedbackcompletedtmp->id)?$feedbackcompletedtmp->id:'').'" />';
-                echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
-                echo '<input type="hidden" name="preservevalues" value="1" />';
-                if(isset($startitem)) {
-                    echo '<input type="hidden" name="startitempos" value="'. $startitem->position . '" />';
-                    echo '<input type="hidden" name="lastitempos" value="'. $lastitem->position . '" />';
-                }
-
-                if( $ispagebreak AND $lastbreakposition > $firstpagebreak->position) {
-                    echo '<input name="gopreviouspage" type="submit" value="'.get_string('previous_page','feedback').'" />';
+                echo '<tr>';
+                if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+                    $itemnr++;
+                    echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
+                } else {
+                    echo '<td>&nbsp;</td>';
                 }
-                if($lastbreakposition < $maxitemcount){
-                    echo '<input name="gonextpage" type="submit" value="'.get_string('next_page','feedback').'" />';
+                if($feedbackitem->typ != 'pagebreak') {
+                    feedback_print_item($feedbackitem, $value, false, false, $highlightrequired);
                 }
-                if($lastbreakposition >= $maxitemcount) { //last page
-                    echo '<input name="savevalues" type="submit" value="'.get_string('save_entries','feedback').'" />';
+                echo '</tr>';
+                echo '<tr><td>&nbsp;</td></tr>';
+
+                $lastbreakposition = $feedbackitem->position; //last item-pos (item or pagebreak)
+                if($feedbackitem->typ == 'pagebreak'){
+                    break;
+                }else {
+                    $lastitem = $feedbackitem;
                 }
+            }
+            echo '</table>';
+            echo '<input type="hidden" name="id" value="'.$id.'" />';
+            echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
+            echo '<input type="hidden" name="lastpage" value="'.$gopage.'" />';
+            echo '<input type="hidden" name="completedid" value="'.(isset($feedbackcompletedtmp->id)?$feedbackcompletedtmp->id:'').'" />';
+            echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
+            echo '<input type="hidden" name="preservevalues" value="1" />';
+            if(isset($startitem)) {
+                echo '<input type="hidden" name="startitempos" value="'. $startitem->position . '" />';
+                echo '<input type="hidden" name="lastitempos" value="'. $lastitem->position . '" />';
+            }
 
-                echo '</form>';
+            if( $ispagebreak AND $lastbreakposition > $firstpagebreak->position) {
+                echo '<input name="gopreviouspage" type="submit" value="'.get_string('previous_page','feedback').'" />';
+            }
+            if($lastbreakposition < $maxitemcount){
+                echo '<input name="gonextpage" type="submit" value="'.get_string('next_page','feedback').'" />';
+            }
+            if($lastbreakposition >= $maxitemcount) { //last page
+                echo '<input name="savevalues" type="submit" value="'.get_string('save_entries','feedback').'" />';
+            }
 
-                    if($courseid) {
-                        echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'" method="post" onsubmit=" ">';
-                    }else{
-                        if($course->id == SITEID) {
-                            echo '<form name="frm" action="'.$CFG->wwwroot.'" method="post" onsubmit=" ">';
-                        } else {
-                            echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'" method="post" onsubmit=" ">';
-                        }
+            echo '</form>';
+
+                if($courseid) {
+                    echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'" method="post" onsubmit=" ">';
+                }else{
+                    if($course->id == SITEID) {
+                        echo '<form name="frm" action="'.$CFG->wwwroot.'" method="post" onsubmit=" ">';
+                    } else {
+                        echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'" method="post" onsubmit=" ">';
                     }
-                echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-                echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
-                echo '<button type="submit">'.get_string('cancel').'</button>';
-                echo '</form>';
-                echo '</div>';
-                $SESSION->feedback->is_started = true;
-                echo $OUTPUT->box_end();
-            }
+                }
+            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+            echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
+            echo '<button type="submit">'.get_string('cancel').'</button>';
+            echo '</form>';
+            echo '</div>';
+            $SESSION->feedback->is_started = true;
+            echo $OUTPUT->box_end();
         }
-    }else {
-        echo $OUTPUT->box_start('generalbox boxaligncenter');
-            echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
-            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-        echo $OUTPUT->box_end();
     }
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    echo $OUTPUT->footer();
-
-?>
+}else {
+    echo $OUTPUT->box_start('generalbox boxaligncenter');
+        echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
+        echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+    echo $OUTPUT->box_end();
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+echo $OUTPUT->footer();
+
+?>
\ No newline at end of file
index 63a9e87b41aae750a5a3b89f1c3af7f2f6f468bd..feefbc89cc01549a8f37d6438d9026785c9759a7 100644 (file)
-<?php // $Id$
+<?php
+
 /**
 * prints the form so an anonymous user can fill out the feedback on the mainsite
 *
-* @version $Id$
 * @author Andreas Grabs
 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
 * @package feedback
 */
 
-    require_once("../../config.php");
-    require_once("lib.php");
-
-    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);
+require_once("../../config.php");
+require_once("lib.php");
+
+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);
+
+$url = new moodle_url($CFG->wwwroot.'/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;
+
+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;
+}
 
-    $highlightrequired = false;
 
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    //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 (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    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 (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
+}
 
+$capabilities = feedback_load_capabilities($cm->id);
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+//check whether the feedback is anonymous
+if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
+    $capabilities->complete = true;
+}else {
+    print_error('feedback_is_not_for_anonymous', 'feedback');
+}
 
-        if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
-            print_error('coursemisconf');
-        }
+//check whether the user has a session
+// there used to be a sesskey test - this could not work - sorry
 
-        if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
-            print_error('invalidcoursemodule');
-        }
-    }
-
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    //check whether the feedback is anonymous
-    if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
-        $capabilities->complete = true;
-    }else {
-        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;
+}
 
-    //check whether the feedback is located and! started from the mainsite
-    if($course->id == SITEID AND !$courseid) {
-        $courseid = SITEID;
-    }
+require_course_login($course);
 
-    require_course_login($course);
+if($courseid AND $courseid != SITEID) {
+    $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($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(!$capabilities->complete) {
+    print_error('error');
+}
 
-    if(!$capabilities->complete) {
-        print_error('error');
-    }
 
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
 
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
 
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
+//ishidden check. hidden feedbacks except feedbacks on mainsite are only accessible with related capabilities
+if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
+    notice(get_string("activityiscurrentlyhidden"));
+}
 
-    //ishidden check. hidden feedbacks except feedbacks on mainsite are only accessible with related capabilities
-    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
-        notice(get_string("activityiscurrentlyhidden"));
-    }
+feedback_print_errors();
 
-    feedback_print_errors();
-
-    //check, if the feedback is open (timeopen, timeclose)
-    $checktime = time();
-    if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
-        echo $OUTPUT->box_start('generalbox boxaligncenter');
-            echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
-            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-        echo $OUTPUT->box_end();
-        echo $OUTPUT->footer();
-        exit;
+//check, if the feedback is open (timeopen, timeclose)
+$checktime = time();
+if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
+    echo $OUTPUT->box_start('generalbox boxaligncenter');
+        echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
+        echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+    echo $OUTPUT->box_end();
+    echo $OUTPUT->footer();
+    exit;
+}
+
+//additional check for multiple-submit (prevent browsers back-button). the main-check is in view.php
+$feedback_can_submit = true;
+if($feedback->multiple_submit == 0 ) {
+    // 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;
     }
-
-    //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($_POST, $startitempos, $lastitempos)) {
-                $userid = $USER->id; //arb
-                if($completedid = feedback_save_guest_values($_POST, 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($_POST, $startitempos, $lastitempos)) {
+            $userid = $USER->id; //arb
+            if($completedid = feedback_save_guest_values($_POST, 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
 
-                    if(!$gonextpage AND !$gopreviouspage) $preservevalues = false;//es kann gespeichert werden
+                if(!$gonextpage AND !$gopreviouspage) $preservevalues = false;//es kann gespeichert werden
 
-                }else {
-                    $savereturn = 'failed';
-                    if(isset($lastpage)) {
-                        $gopage = $lastpage;
-                    }else {
-                        print_error('parameters_missing', 'feedback');
-                    }
-                }
             }else {
-                $savereturn = 'missing';
-                $highlightrequired = true;
+                $savereturn = 'failed';
                 if(isset($lastpage)) {
                     $gopage = $lastpage;
                 }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
+        $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)
 
-            $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', array('id'=>$completedid));
+        $feedbackcompletedtmp = $DB->get_record('feedback_completedtmp', array('id'=>$completedid));
 
-            //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)) {
-                $savereturn = 'saved';
-                feedback_send_email_anonym($cm, $feedback, $course, $userid);
-                unset($SESSION->feedback->is_started);
+        //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)) {
+            $savereturn = 'saved';
+            feedback_send_email_anonym($cm, $feedback, $course, $userid);
+            unset($SESSION->feedback->is_started);
 
-            }else {
-                $savereturn = 'failed';
-            }
+        }else {
+            $savereturn = 'failed';
         }
+    }
 
 
-        if($allbreaks = feedback_get_all_break_positions($feedback->id)){
-            if($gopage <= 0) {
-                $startposition = 0;
-            }else {
-                $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;
-        }
-
-        //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));
-        $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid, sesskey());
-
-        /// Print the main part of the page
-        ///////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////////////////////////////////////////
-        ///////////////////////////////////////////////////////////////////////////
-        echo $OUTPUT->heading(format_text($feedback->name));
-
-        if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
-            echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
-            echo get_string('completed_feedbacks', 'feedback').'</a>';
-            echo '</div>';
+            $startposition = $allbreaks[$gopage - 1];
         }
+        $ispagebreak = true;
+    }else {
+        $startposition = 0;
+        $newpage = 0;
+        $ispagebreak = false;
+    }
 
-        if(isset($savereturn) && $savereturn == 'saved') {
-            if($feedback->page_after_submit) {
-                echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-                echo format_text($feedback->page_after_submit);
-                echo $OUTPUT->box_end();
-            } else {
-                echo '<p align="center"><b><font color="green">'.get_string('entries_saved','feedback').'</font></b></p>';
-                if( intval($feedback->publish_stats) == 1) {
-                    echo '<p align="center"><a href="analysis.php?id=' . $id . '&courseid='.$courseid.'">';
-                    echo get_string('completed_feedbacks', 'feedback').'</a>';
-                    echo '</p>';
-                }
+    //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));
+    $feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid, sesskey());
+
+    /// Print the main part of the page
+    ///////////////////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////
+    echo $OUTPUT->heading(format_text($feedback->name));
+
+    if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
+        echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
+        echo get_string('completed_feedbacks', 'feedback').'</a>';
+        echo '</div>';
+    }
+
+    if(isset($savereturn) && $savereturn == 'saved') {
+        if($feedback->page_after_submit) {
+            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+            echo format_text($feedback->page_after_submit);
+            echo $OUTPUT->box_end();
+        } else {
+            echo '<p align="center"><b><font color="green">'.get_string('entries_saved','feedback').'</font></b></p>';
+            if( intval($feedback->publish_stats) == 1) {
+                echo '<p align="center"><a href="analysis.php?id=' . $id . '&courseid='.$courseid.'">';
+                echo get_string('completed_feedbacks', 'feedback').'</a>';
+                echo '</p>';
             }
-            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);
-                    }
+        }
+        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 {
-                    if($course->id == SITEID) {
-                        echo $OUTPUT->continue_button($CFG->wwwroot);
-                    } else {
-                        echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-                    }
+                    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 '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
-            }
+        }
+    }else {
+        if(isset($savereturn) && $savereturn == 'failed') {
+            echo '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
+        }
 
-            if(isset($savereturn) && $savereturn == 'missing') {
-                echo '<p align="center"><b><font color="red">'.get_string('saving_failed_because_missing_or_false_values','feedback').'</font></b></p>';
+        if(isset($savereturn) && $savereturn == 'missing') {
+            echo '<p align="center"><b><font color="red">'.get_string('saving_failed_because_missing_or_false_values','feedback').'</font></b></p>';
+        }
+
+        //print the items
+        if(is_array($feedbackitems)){
+            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+            echo '<div class="mdl-align"><form name="frm" action="'.$ME.'" method="post" onsubmit=" ">';
+            echo '<table>';
+            echo '<tr><td colspan="3" align="center">
+                    <input type="hidden" name="anonymous" value="0" />
+                    <input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_YES.'" />
+                    <input type="hidden" name="sesskey" value="'.sesskey().'" />
+                    &nbsp;
+                  </td></tr>';
+            //check, if there exists required-elements
+            $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=>1));
+            if($countreq > 0) {
+                echo '<tr><td colspan="3"><font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font></td></tr>';
             }
 
-            //print the items
-            if(is_array($feedbackitems)){
-                echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-                echo '<div class="mdl-align"><form name="frm" action="'.$ME.'" method="post" onsubmit=" ">';
-                echo '<table>';
-                echo '<tr><td colspan="3" align="center">
-                        <input type="hidden" name="anonymous" value="0" />
-                        <input type="hidden" name="anonymous_response" value="'.FEEDBACK_ANONYMOUS_YES.'" />
-                        <input type="hidden" name="sesskey" value="'.sesskey().'" />
-                        &nbsp;
-                      </td></tr>';
-                //check, if there exists required-elements
-                $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=>1));
-                if($countreq > 0) {
-                    echo '<tr><td colspan="3"><font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font></td></tr>';
+            unset($startitem);
+            $itemnr = $DB->count_records_select('feedback_item', 'feedback = ? AND hasvalue = 1 AND position < ?', array($feedback->id, $startposition));
+            foreach($feedbackitems as $feedbackitem){
+                if(!isset($startitem)) {
+                    //avoid showing double pagebreaks
+                    if($feedbackitem->typ == 'pagebreak') continue;
+                    $startitem = $feedbackitem;
                 }
-
-                unset($startitem);
-                $itemnr = $DB->count_records_select('feedback_item', 'feedback = ? AND hasvalue = 1 AND position < ?', array($feedback->id, $startposition));
-                foreach($feedbackitems as $feedbackitem){
-                    if(!isset($startitem)) {
-                        //avoid showing double pagebreaks
-                        if($feedbackitem->typ == 'pagebreak') continue;
-                        $startitem = $feedbackitem;
-                    }
-                    $value = '';
-                    //get the value
-                    $frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
-                    if(isset($savereturn)) {
-                        $value =  isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
-                    }else {
-                        if(isset($feedbackcompletedtmp->id)) {
-                            $value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, sesskey());
-                        }
-                    }
-                    echo '<tr>';
-                    if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                        $itemnr++;
-                        echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-                    } else {
-                        echo '<td>&nbsp;</td>';
-                    }
-                    if($feedbackitem->typ != 'pagebreak') {
-                        feedback_print_item($feedbackitem, $value, false, false, $highlightrequired);
-                    }
-                    echo '</tr>';
-                    echo '<tr><td>&nbsp;</td></tr>';
-
-                    $lastbreakposition = $feedbackitem->position; //last item-pos (item or pagebreak)
-                    if($feedbackitem->typ == 'pagebreak'){
-                        break;
-                    }else {
-                        $lastitem = $feedbackitem;
+                $value = '';
+                //get the value
+                $frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
+                if(isset($savereturn)) {
+                    $value =  isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
+                }else {
+                    if(isset($feedbackcompletedtmp->id)) {
+                        $value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, sesskey());
                     }
                 }
-                echo '</table>';
-                echo '<input type="hidden" name="id" value="'.$id.'" />';
-                echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
-                echo '<input type="hidden" name="lastpage" value="'.$gopage.'" />';
-                echo '<input type="hidden" name="completedid" value="'.(isset($feedbackcompletedtmp->id)?$feedbackcompletedtmp->id:'').'" />';
-                echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
-                echo '<input type="hidden" name="preservevalues" value="1" />';
-                if(isset($startitem)) {
-                    echo '<input type="hidden" name="startitempos" value="'. $startitem->position . '" />';
-                    echo '<input type="hidden" name="lastitempos" value="'. $lastitem->position . '" />';
-                }
-
-                if($ispagebreak AND $lastbreakposition > $firstpagebreak->position) {
-                    echo '<input name="gopreviouspage" type="submit" value="'.get_string('previous_page','feedback').'" />';
+                echo '<tr>';
+                if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+                    $itemnr++;
+                    echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
+                } else {
+                    echo '<td>&nbsp;</td>';
                 }
-                if($lastbreakposition < $maxitemcount){
-                    echo '<input name="gonextpage" type="submit" value="'.get_string('next_page','feedback').'" />';
+                if($feedbackitem->typ != 'pagebreak') {
+                    feedback_print_item($feedbackitem, $value, false, false, $highlightrequired);
                 }
-                if($lastbreakposition >= $maxitemcount) { //last page
-                    echo '<input name="savevalues" type="submit" value="'.get_string('save_entries','feedback').'" />';
+                echo '</tr>';
+                echo '<tr><td>&nbsp;</td></tr>';
+
+                $lastbreakposition = $feedbackitem->position; //last item-pos (item or pagebreak)
+                if($feedbackitem->typ == 'pagebreak'){
+                    break;
+                }else {
+                    $lastitem = $feedbackitem;
                 }
+            }
+            echo '</table>';
+            echo '<input type="hidden" name="id" value="'.$id.'" />';
+            echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
+            echo '<input type="hidden" name="lastpage" value="'.$gopage.'" />';
+            echo '<input type="hidden" name="completedid" value="'.(isset($feedbackcompletedtmp->id)?$feedbackcompletedtmp->id:'').'" />';
+            echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
+            echo '<input type="hidden" name="preservevalues" value="1" />';
+            if(isset($startitem)) {
+                echo '<input type="hidden" name="startitempos" value="'. $startitem->position . '" />';
+                echo '<input type="hidden" name="lastitempos" value="'. $lastitem->position . '" />';
+            }
+
+            if($ispagebreak AND $lastbreakposition > $firstpagebreak->position) {
+                echo '<input name="gopreviouspage" type="submit" value="'.get_string('previous_page','feedback').'" />';
+            }
+            if($lastbreakposition < $maxitemcount){
+                echo '<input name="gonextpage" type="submit" value="'.get_string('next_page','feedback').'" />';
+            }
+            if($lastbreakposition >= $maxitemcount) { //last page
+                echo '<input name="savevalues" type="submit" value="'.get_string('save_entries','feedback').'" />';
+            }
 
-                echo '</form>';
+            echo '</form>';
 
-                if($courseid) {
-                    echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'" method="post" onsubmit=" ">';
-                }else{
-                    if($course->id == SITEID) {
-                        echo '<form name="frm" action="'.$CFG->wwwroot.'" method="post" onsubmit=" ">';
-                    } else {
-                        echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'" method="post" onsubmit=" ">';
-                    }
+            if($courseid) {
+                echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$courseid.'" method="post" onsubmit=" ">';
+            }else{
+                if($course->id == SITEID) {
+                    echo '<form name="frm" action="'.$CFG->wwwroot.'" method="post" onsubmit=" ">';
+                } else {
+                    echo '<form name="frm" action="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'" method="post" onsubmit=" ">';
                 }
-                echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-                echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
-                echo '<button type="submit">'.get_string('cancel').'</button>';
-                echo '</form>';
-                echo '</div>';
-                $SESSION->feedback->is_started = true;
-                echo $OUTPUT->box_end();
             }
+            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+            echo '<input type="hidden" name="courseid" value="'. $courseid . '" />';
+            echo '<button type="submit">'.get_string('cancel').'</button>';
+            echo '</form>';
+            echo '</div>';
+            $SESSION->feedback->is_started = true;
+            echo $OUTPUT->box_end();
         }
-    }else {
-        echo $OUTPUT->box_start('generalbox boxaligncenter');
-            echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
-            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-        echo $OUTPUT->box_end();
     }
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    echo $OUTPUT->footer();
-
-?>
+}else {
+    echo $OUTPUT->box_start('generalbox boxaligncenter');
+        echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
+        echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
+    echo $OUTPUT->box_end();
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+echo $OUTPUT->footer();
+
+?>
\ No newline at end of file
index ac733923207e332eb528eca28617d0de46d20068..d08de50a6fe2f002c105675892b90786032b64e8 100644 (file)
@@ -1,88 +1,89 @@
-<?php // $Id$
+<?php
+
 /**
 * prints the form to confirm the deleting of a completed
 *
-* @version $Id$
 * @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');
-
-    $id = required_param('id', PARAM_INT);
-    $completedid = optional_param('completedid', 0, PARAM_INT);
+require_once("../../config.php");
+require_once("lib.php");
+require_once('delete_completed_form.php');
 
-    if($completedid == 0){
-        print_error('no_complete_to_delete', 'feedback', 'show_entries.php?id='.$id.'&do_show=showentries');
-    }
+$id = required_param('id', PARAM_INT);
+$completedid = optional_param('completedid', 0, PARAM_INT);
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+if($completedid == 0){
+    print_error('no_complete_to_delete', 'feedback', 'show_entries.php?id='.$id.'&do_show=showentries');
+}
 
-        if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
-            print_error('coursemisconf');
-        }
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/delete_completed.php', array('id'=>$id, 'completed'=>$completedid)));
 
-        if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
-            print_error('invalidcoursemodule');
-        }
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    require_login($course->id, true, $cm);
 
-    if(!$capabilities->deletesubmissions){
-        print_error('error');
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    $mform = new mod_feedback_delete_completed_form();
-    $newformdata = array('id'=>$id,
-                        'completedid'=>$completedid,
-                        'confirmdelete'=>'1',
-                        'do_show'=>'edit');
-    $mform->set_data($newformdata);
-    $formdata = $mform->get_data();
-
-    if ($mform->is_cancelled()) {
-        redirect('show_entries.php?id='.$id.'&do_show=showentries');
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    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);
-            redirect('show_entries.php?id='.$id.'&do_show=showentries');
-        }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->deletesubmissions){
+    print_error('error');
+}
+
+$mform = new mod_feedback_delete_completed_form();
+$newformdata = array('id'=>$id,
+                    'completedid'=>$completedid,
+                    'confirmdelete'=>'1',
+                    'do_show'=>'edit');
+$mform->set_data($newformdata);
+$formdata = $mform->get_data();
+
+if ($mform->is_cancelled()) {
+    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);
+        redirect('show_entries.php?id='.$id.'&do_show=showentries');
     }
+}
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
 
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
 
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
 
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    echo $OUTPUT->heading(format_text($feedback->name));
-    echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
-    echo $OUTPUT->heading(get_string('confirmdeleteentry', 'feedback'));
-    $mform->display();
-    echo $OUTPUT->box_end();
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+echo $OUTPUT->heading(format_text($feedback->name));
+echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
+echo $OUTPUT->heading(get_string('confirmdeleteentry', 'feedback'));
+$mform->display();
+echo $OUTPUT->box_end();
 
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
 ?>
index c8727beb19311bc8e4df430ad0a006f9f3d7236b..e45b20cf907509ba588c0ad9cf9cef1375de045d 100644 (file)
@@ -15,6 +15,8 @@
     $id = required_param('id', PARAM_INT);
     $deleteitem = required_param('deleteitem', PARAM_INT);
 
+    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/delete_item.php', array('id'=>$id, 'deleteitem'=>$deleteitem)));
+
     if ($id) {
         if (! $cm = get_coursemodule_from_id('feedback', $id)) {
             print_error('invalidcoursemodule');
     /// Print the page header
     $strfeedbacks = get_string("modulenameplural", "feedback");
     $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
 
     $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
     $PAGE->navbar->add(format_string($feedback->name));
 
     $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
+    $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
     echo $OUTPUT->header();
 
     /// Print the main part of the page
index c7e03f3ae6d1347333f4d02d220d54655d406ce2..739a40c19405d37a338de42f8c17942bbcb914c4 100644 (file)
-<?php // $Id$
+<?php
+
 /**
 * deletes a template
 *
-* @version $Id$
 * @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');
-
-    // $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();
-
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
-    }
-
-    if($canceldelete == 1){
-        redirect(htmlspecialchars('edit.php?id='.$id.'&do_show=templates'));
-    }
-
-    if ($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');
-        }
-    }
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    require_login($course->id, true, $cm);
-
-    if(!$capabilities->deletetemplate){
-        print_error('error');
+require_once("../../config.php");
+require_once("lib.php");
+require_once('delete_template_form.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($CFG->wwwroot.'/mod/feedback/delete_template.php', array('id'=>$id));
+if ($canceldelete !== false) {
+    $url->param('canceldelete', $canceldelete);
+}
+if ($shoulddelete !== false) {
+    $url->param('shoulddelete', $shoulddelete);
+}
+if ($deletetempl !== false) {
+    $url->param('deletetempl', $deletetempl);
+}
+$PAGE->set_url($url);
+
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
+
+if($canceldelete == 1){
+    redirect(htmlspecialchars('edit.php?id='.$id.'&do_show=templates'));
+}
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    $mform = new mod_feedback_delete_template_form();
-    $newformdata = array('id'=>$id,
-                        'deletetempl'=>$deletetempl,
-                        'confirmdelete'=>'1');
-
-    $mform->set_data($newformdata);
-    $formdata = $mform->get_data();
-
-    if ($mform->is_cancelled()) {
-        redirect(htmlspecialchars('delete_template.php?id='.$id));
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
-        feedback_delete_template($formdata->deletetempl);
-        redirect(htmlspecialchars('delete_template.php?id=' . $id));
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// print the tabs
-    include('tabs.php');
-
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    echo $OUTPUT->heading(get_string('delete_template','feedback'));
-    if($shoulddelete == 1) {
-
-        echo $OUTPUT->box_start('generalbox errorboxcontent boxaligncenter boxwidthnormal');
-        echo $OUTPUT->heading(get_string('confirmdeletetemplate', 'feedback'));
-        $mform->display();
-        echo $OUTPUT->box_end();
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->deletetemplate){
+    print_error('error');
+}
+
+$mform = new mod_feedback_delete_template_form();
+$newformdata = array('id'=>$id,
+                    'deletetempl'=>$deletetempl,
+                    'confirmdelete'=>'1');
+
+$mform->set_data($newformdata);
+$formdata = $mform->get_data();
+
+if ($mform->is_cancelled()) {
+    redirect(htmlspecialchars('delete_template.php?id='.$id));
+}
+
+if(isset($formdata->confirmdelete) AND $formdata->confirmdelete == 1){
+    feedback_delete_template($formdata->deletetempl);
+    redirect(htmlspecialchars('delete_template.php?id=' . $id));
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// print the tabs
+include('tabs.php');
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+echo $OUTPUT->heading(get_string('delete_template','feedback'));
+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 {
+    $templates = feedback_get_template_list($course, true);
+    echo '<div class="mdl-align">';
+    if(!is_array($templates)) {
+        echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'), 'generalbox boxaligncenter');
     }else {
-        $templates = feedback_get_template_list($course, true);
-        echo '<div class="mdl-align">';
-        if(!is_array($templates)) {
-            echo $OUTPUT->box(get_string('no_templates_available_yet', 'feedback'), 'generalbox boxaligncenter');
-        }else {
-            echo '<table width="30%">';
-            echo '<tr><th>'.get_string('templates', 'feedback').'</th><th>&nbsp;</th></tr>';
-            foreach($templates as $template) {
-                echo '<tr><td align="center">'.$template->name.'</td>';
-                echo '<td align="center">';
-                echo '<form action="'.$ME.'" method="post">';
-                echo '<input title="'.get_string('delete_template','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/delete') . '" hspace="1" height="11" width="11" border="0" />';
-                echo '<input type="hidden" name="deletetempl" value="'.$template->id.'" />';
-                echo '<input type="hidden" name="shoulddelete" value="1" />';
-                echo '<input type="hidden" name="id" value="'.$id.'" />';
-                echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-                echo '</form>';
-                echo '</td></tr>';
-            }
-            echo '</table>';
+        echo '<table width="30%">';
+        echo '<tr><th>'.get_string('templates', 'feedback').'</th><th>&nbsp;</th></tr>';
+        foreach($templates as $template) {
+            echo '<tr><td align="center">'.$template->name.'</td>';
+            echo '<td align="center">';
+            echo '<form action="'.$ME.'" method="post">';
+            echo '<input title="'.get_string('delete_template','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/delete') . '" hspace="1" height="11" width="11" border="0" />';
+            echo '<input type="hidden" name="deletetempl" value="'.$template->id.'" />';
+            echo '<input type="hidden" name="shoulddelete" value="1" />';
+            echo '<input type="hidden" name="id" value="'.$id.'" />';
+            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+            echo '</form>';
+            echo '</td></tr>';
         }
+        echo '</table>';
+    }
 ?>
         <form name="frm" action="<?php echo $ME;?>" method="post">
             <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
         </form>
         </div>
 <?php
-    }
+}
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index bf933e224518cf9fc2e7eab5499dadbfb41c21be..19a055f7f3de0c2782b1811730a4baaa3716db1c 100644 (file)
@@ -1,8 +1,8 @@
-<?php // $Id$
+<?php
+
 /**
 * makes it easier to use the spreadsheet-functions from pear
 *
-* @version $Id$
 * @author Andreas Grabs
 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
 * @package feedback
@@ -101,22 +101,22 @@ class EasyWorksheet extends Spreadsheet_Excel_Writer_Worksheet {
      *  <f> = Fett
      *  <k> = kursiv
      *  <z> = zentriert
-     *  <l> = linksbündig
-     *  <r> = rechtsbündig
+     *  <l> = linksb�ndig
+     *  <r> = rechtsb�ndig
      *  <vo> = vertikal oben
      *  <vz> = vertikal zentriert
      *  <vu> = vertikal unten
      *  <uX> = unterstrichen X=1-einfach, X=2-doppelt
-     *  <w> = währungsformat
+     *  <w> = w�hrungsformat
      *  <pr> = prozentformat
-     *  <ruX> = Rahmen unten X=Stärke
-     *  <roX> = rahmen oben X=Stärke
-     *  <rrX> = rahmen rechts X=Stärke
-     *  <rlX> = rahmen links X=Stärke
+     *  <ruX> = Rahmen unten X=St�rke
+     *  <roX> = rahmen oben X=St�rke
+     *  <rrX> = rahmen rechts X=St�rke
+     *  <rlX> = rahmen links X=St�rke
      *  <c:XXX> = Schriftfarbe, XXX kann einen der folgenden Farbwerte enthalten:
      *      aqua,cyan,black,blue,brown,magenta,fuchsia,gray,
      *      grey,green,lime,navy,orange,purple,red,silver,white,yellow
-     *      Wichtig: alle Werte müssen klein geschrieben werden.
+     *      Wichtig: alle Werte m�ssen klein geschrieben werden.
      *  @param string $formatString
      *  @param int $size the size of font in pt
      *  @param boolean $textWrap
@@ -184,7 +184,7 @@ class EasyWorksheet extends Spreadsheet_Excel_Writer_Worksheet {
 
             if(preg_match("/<w>/i",$formatString) > 0)
             {
-                $this->m_format->setNumFormat("#,##0.00_)\80;[Red]-#,##0.00_)\80");
+                $this->m_format->setNumFormat("#,##0.00_)�;[Red]-#,##0.00_)�");
             }
 
             if(preg_match("/<pr>/i",$formatString) > 0)
index c778d6b407308d6152ab2b230e397bbdc983ec5e..c0775026e8694bfc4c9d4b984598bf819c598e8d 100644 (file)
-<?php // $Id$
+<?php
+
 /**
 * prints the form to edit the feedback items such moving, deleting and so on
 *
-* @version $Id$
 * @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('edit_form.php');
-
-    feedback_init_feedback_session();
+require_once("../../config.php");
+require_once("lib.php");
+require_once('edit_form.php');
 
-    $id = required_param('id', PARAM_INT);
-
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
-    }
+feedback_init_feedback_session();
 
-    $do_show = optional_param('do_show', 'edit', PARAM_ALPHA);
-    $moveupitem = optional_param('moveupitem', false, PARAM_INT);
-    $movedownitem = optional_param('movedownitem', false, PARAM_INT);
-    $moveitem = optional_param('moveitem', false, PARAM_INT);
-    $movehere = optional_param('movehere', false, PARAM_INT);
-    $switchitemrequired = optional_param('switchitemrequired', false, PARAM_INT);
+$id = required_param('id', PARAM_INT);
 
-    $ME = strip_querystring($FULLME);//sometimes it is not correct set
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
 
-    // $SESSION->feedback->current_tab = $do_show;
-    $current_tab = $do_show;
+$do_show = optional_param('do_show', 'edit', PARAM_ALPHA);
+$moveupitem = optional_param('moveupitem', false, PARAM_INT);
+$movedownitem = optional_param('movedownitem', false, PARAM_INT);
+$moveitem = optional_param('moveitem', false, PARAM_INT);
+$movehere = optional_param('movehere', false, PARAM_INT);
+$switchitemrequired = optional_param('switchitemrequired', false, PARAM_INT);
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+$ME = strip_querystring($FULLME);//sometimes it is not correct set
 
-        if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
-            print_error('coursemisconf');
-        }
+// $SESSION->feedback->current_tab = $do_show;
+$current_tab = $do_show;
 
-        if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
-            print_error('invalidcoursemodule');
-        }
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    require_login($course->id, true, $cm);
 
-    if(!$capabilities->edititems){
-        print_error('error');
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    //move up/down items
-    if($moveupitem){
-        $item = $DB->get_record('feedback_item', array('id'=>$moveupitem));
-        feedback_moveup_item($item);
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-    if($movedownitem){
-        $item = $DB->get_record('feedback_item', array('id'=>$movedownitem));
-        feedback_movedown_item($item);
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->edititems){
+    print_error('error');
+}
+
+//move up/down items
+if($moveupitem){
+    $item = $DB->get_record('feedback_item', array('id'=>$moveupitem));
+    feedback_moveup_item($item);
+}
+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)){
+    $item = $DB->get_record('feedback_item', array('id'=>$SESSION->feedback->moving->movingitem));
+    feedback_move_item($item, intval($movehere));
+    $moveitem = false;
+}
+if($moveitem){
+    $item = $DB->get_record('feedback_item', array('id'=>$moveitem));
+    $SESSION->feedback->moving->shouldmoving = 1;
+    $SESSION->feedback->moving->movingitem = $moveitem;
+} else {
+    unset($SESSION->feedback->moving);
+}
+
+if($switchitemrequired) {
+    $item = $DB->get_record('feedback_item', array('id'=>$switchitemrequired));
+    @feedback_switch_item_required($item);
+    redirect($ME.'?'.feedback_edit_get_default_query($id, $do_show));
+    exit;
+}
+
+//the create_template-form
+$create_template_form = new feedback_edit_create_template_form();
+$create_template_form->set_feedbackdata(array('capabilities' => $capabilities));
+$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) {
+    //check the capabilities to create templates
+    if(!$capabilities->createprivatetemplate AND !$capabilities->createpublictemplate) {
+        print_error('cannotsavetempl', 'feedback');
     }
-
-    //moving of items
-    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){
-        $item = $DB->get_record('feedback_item', array('id'=>$moveitem));
-        $SESSION->feedback->moving->shouldmoving = 1;
-        $SESSION->feedback->moving->movingitem = $moveitem;
-    } else {
-        unset($SESSION->feedback->moving);
-    }
-
-    if($switchitemrequired) {
-        $item = $DB->get_record('feedback_item', array('id'=>$switchitemrequired));
-        @feedback_switch_item_required($item);
-        redirect($ME.'?'.feedback_edit_get_default_query($id, $do_show));
-        exit;
-    }
-
-    //the create_template-form
-    $create_template_form = new feedback_edit_create_template_form();
-    $create_template_form->set_feedbackdata(array('capabilities' => $capabilities));
-    $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) {
-        //check the capabilities to create templates
-        if(!$capabilities->createprivatetemplate AND !$capabilities->createpublictemplate) {
-            print_error('cannotsavetempl', 'feedback');
+    if(trim($create_template_formdata->templatename) == '')
+    {
+        $savereturn = 'notsaved_name';
+    }else {
+        if($capabilities->createpublictemplate) {
+            $create_template_formdata->ispublic = isset($create_template_formdata->ispublic) ? 1 : 0;
+        }else {
+            $create_template_formdata->ispublic = 0;
         }
-        if(trim($create_template_formdata->templatename) == '')
+        if(!feedback_save_as_template($feedback, $create_template_formdata->templatename, $create_template_formdata->ispublic))
         {
-            $savereturn = 'notsaved_name';
+            $savereturn = 'failed';
         }else {
-            if($capabilities->createpublictemplate) {
-                $create_template_formdata->ispublic = isset($create_template_formdata->ispublic) ? 1 : 0;
-            }else {
-                $create_template_formdata->ispublic = 0;
-            }
-            if(!feedback_save_as_template($feedback, $create_template_formdata->templatename, $create_template_formdata->ispublic))
-            {
-                $savereturn = 'failed';
-            }else {
-                $savereturn = 'saved';
-            }
+            $savereturn = 'saved';
         }
     }
-
-    //get the feedbackitems
-    $lastposition = 0;
-    $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
-    if(is_array($feedbackitems)){
-        $feedbackitems = array_values($feedbackitems);
-        if(count($feedbackitems) > 0) {
-            $lastitem = $feedbackitems[count($feedbackitems)-1];
-            $lastposition = $lastitem->position;
-        }else {
-            $lastposition = 0;
-        }
+}
+
+//get the feedbackitems
+$lastposition = 0;
+$feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
+if(is_array($feedbackitems)){
+    $feedbackitems = array_values($feedbackitems);
+    if(count($feedbackitems) > 0) {
+        $lastitem = $feedbackitems[count($feedbackitems)-1];
+        $lastposition = $lastitem->position;
+    }else {
+        $lastposition = 0;
     }
-    $lastposition++;
-
-
-    //the add_item-form
-    $add_item_form = new feedback_edit_add_question_form('edit_item.php');
-    $add_item_form->set_data(array('id'=>$id, 'position'=>$lastposition));
-
-    //the use_template-form
-    $use_template_form = new feedback_edit_use_template_form('use_templ.php');
-    $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");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    if ($do_show == 'edit') {
-        $PAGE->navbar->add(get_string('edit_items', 'feedback'));
-    } else {
-        $PAGE->navbar->add(get_string($do_show, 'feedback'));
+}
+$lastposition++;
+
+
+//the add_item-form
+$add_item_form = new feedback_edit_add_question_form('edit_item.php');
+$add_item_form->set_data(array('id'=>$id, 'position'=>$lastposition));
+
+//the use_template-form
+$use_template_form = new feedback_edit_use_template_form('use_templ.php');
+$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");
+
+if ($do_show == 'edit') {
+    $PAGE->navbar->add(get_string('edit_items', 'feedback'));
+} else {
+    $PAGE->navbar->add(get_string($do_show, 'feedback'));
+}
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/edit.php', array('id'=>$cm->id, 'do_show'=>$do_show)));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// print the tabs
+include('tabs.php');
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+$savereturn=isset($savereturn)?$savereturn:'';
+
+//print the messages
+if($savereturn == 'notsaved_name') {
+    echo '<p align="center"><b><font color="red">'.get_string('name_required','feedback').'</font></b></p>';
+}
+
+if($savereturn == 'saved') {
+    echo '<p align="center"><b><font color="green">'.get_string('template_saved','feedback').'</font></b></p>';
+}
+
+if($savereturn == 'failed') {
+    echo '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
+}
+
+feedback_print_errors();
+
+///////////////////////////////////////////////////////////////////////////
+///print the template-section
+///////////////////////////////////////////////////////////////////////////
+if($do_show == 'templates') {
+    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+    $use_template_form->display();
+
+    if($capabilities->createprivatetemplate OR $capabilities->createpublictemplate) {
+        $create_template_form->display();
+        echo '<p><a href="'.htmlspecialchars('delete_template.php?id='.$id).'">'.get_string('delete_templates', 'feedback').'</a></p>';
+    }else {
+        echo '&nbsp;';
     }
-    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/edit.php', array('id'=>$cm->id, 'do_show'=>$do_show)));
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// print the tabs
-    include('tabs.php');
 
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    $savereturn=isset($savereturn)?$savereturn:'';
-
-    //print the messages
-    if($savereturn == 'notsaved_name') {
-        echo '<p align="center"><b><font color="red">'.get_string('name_required','feedback').'</font></b></p>';
-    }
-
-    if($savereturn == 'saved') {
-        echo '<p align="center"><b><font color="green">'.get_string('template_saved','feedback').'</font></b></p>';
+    if($capabilities->edititems) {
+        echo '<p>
+            <a href="'.htmlspecialchars('export.php?action=exportfile&id='.$id).'">'.get_string('export_questions', 'feedback').'</a>/
+            <a href="'.htmlspecialchars('import.php?id='.$id).'">'.get_string('import_questions', 'feedback').'</a>
+        </p>';
     }
+    echo $OUTPUT->box_end();
+}
+///////////////////////////////////////////////////////////////////////////
+///print the Item-Edit-section
+///////////////////////////////////////////////////////////////////////////
+if($do_show == 'edit') {
 
-    if($savereturn == 'failed') {
-        echo '<p align="center"><b><font color="red">'.get_string('saving_failed','feedback').'</font></b></p>';
-    }
+    $add_item_form->display();
 
-    feedback_print_errors();
+    if(is_array($feedbackitems)){
+        $itemnr = 0;
 
-    ///////////////////////////////////////////////////////////////////////////
-    ///print the template-section
-    ///////////////////////////////////////////////////////////////////////////
-    if($do_show == 'templates') {
-        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-        $use_template_form->display();
+        $helpbutton = $OUTPUT->help_icon(moodle_help_icon::make('preview', get_string('preview','feedback'), 'feedback',true));
 
-        if($capabilities->createprivatetemplate OR $capabilities->createpublictemplate) {
-            $create_template_form->display();
-            echo '<p><a href="'.htmlspecialchars('delete_template.php?id='.$id).'">'.get_string('delete_templates', 'feedback').'</a></p>';
-        }else {
-            echo '&nbsp;';
+        echo $OUTPUT->heading($helpbutton . get_string('preview', 'feedback'));
+        if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
+            echo $OUTPUT->heading('<a href="'.htmlspecialchars($ME.'?id='.$id).'">'.get_string('cancel_moving', 'feedback').'</a>');
         }
+        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
 
-        if($capabilities->edititems) {
-            echo '<p>
-                <a href="'.htmlspecialchars('export.php?action=exportfile&id='.$id).'">'.get_string('export_questions', 'feedback').'</a>/
-                <a href="'.htmlspecialchars('import.php?id='.$id).'">'.get_string('import_questions', 'feedback').'</a>
-            </p>';
+        //check, if there exists required-elements
+        $countreq = $DB->count_records('feedback_item', array('feedback'=>$feedback->id, 'required'=> 1));
+        if($countreq > 0) {
+            // echo '<font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font>';
+            echo '<span class="feedback_required_mark">(*)' . get_string('items_are_required', 'feedback') . '</span>';
         }
-        echo $OUTPUT->box_end();
-    }
-    ///////////////////////////////////////////////////////////////////////////
-    ///print the Item-Edit-section
-    ///////////////////////////////////////////////////////////////////////////
-    if($do_show == 'edit') {
-
-        $add_item_form->display();
 
-        if(is_array($feedbackitems)){
-            $itemnr = 0;
-
-            $helpbutton = $OUTPUT->help_icon(moodle_help_icon::make('preview', get_string('preview','feedback'), 'feedback',true));
+        echo '<table>';
+        if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
+            $moveposition = 1;
+            echo '<tr>'; //only shown if shouldmoving = 1
+                echo '<td>';
+                $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movehere='.$moveposition);
+                echo '<a title="'.get_string('move_here','feedback').'" href="'.$buttonlink.'">
+                        <img class="movetarget" alt="'.get_string('move_here','feedback').'" src="'.$OUTPUT->old_icon_url('movehere') . '" />
+                      </a>';
 
-            echo $OUTPUT->heading($helpbutton . get_string('preview', 'feedback'));
-            if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
-                echo $OUTPUT->heading('<a href="'.htmlspecialchars($ME.'?id='.$id).'">'.get_string('cancel_moving', 'feedback').'</a>');
+                    // echo '<form action="'.$ME.'" method="post"><fieldset>';
+                    // echo '<input title="'.get_string('move_here','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('movehere') . '" hspace="1" height="16" width="80" border="0" />';
+                    // echo '<input type="hidden" name="movehere" value="'.$moveposition.'" />';
+                    // feedback_edit_print_default_form_values($id, $do_show);
+                    // echo '</fieldset></form>';
+                echo '</td>';
+            echo '</tr>';
+        }
+        //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
+                continue;
             }
-            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 '<font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font>';
-                echo '<span class="feedback_required_mark">(*)' . get_string('items_are_required', 'feedback') . '</span>';
+            echo '<tr>';
+            //items without value only are labels
+            if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+                $itemnr++;
+                echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
+            } else {
+                echo '<td>&nbsp;</td>';
             }
-
-            echo '<table>';
+            if($feedbackitem->typ != 'pagebreak') {
+                feedback_print_item($feedbackitem, false, false, true);
+            }else {
+                echo '<td class="feedback_pagebreak"><b>'.get_string('pagebreak', 'feedback').'</b></td><td><hr width="100%" size="8px" noshade="noshade" /></td>';
+            }
+            echo '<td>('.get_string('position', 'feedback').':'.$itempos .')</td>';
+            echo '<td>';
+            if($feedbackitem->position > 1){
+                $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&moveupitem='.$feedbackitem->id);
+                echo '<a class="icon up" title="'.get_string('moveup_item','feedback').'" href="'.$buttonlink.'">
+                        <img alt="'.get_string('moveup_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/up') . '" />
+                      </a>';
+                //print the button to move-up the item
+                // echo '<form action="'.$ME.'" method="post"><fieldset>';
+                // ///////echo '<input title="'.get_string('moveup_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/up') . '" hspace="1" height="11" width="11" border="0" />';
+                // echo '<input class="feedback_moveup_button" title="'.get_string('moveup_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/up') . '" />';
+                // echo '<input type="hidden" name="moveupitem" value="'.$feedbackitem->id.'" />';
+                // feedback_edit_print_default_form_values($id, $do_show);
+                // echo '</fieldset></form>';
+            }else{
+                echo '&nbsp;';
+            }
+            echo '</td>';
+            echo '<td>';
+            if($feedbackitem->position < $lastposition - 1){
+                $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movedownitem='.$feedbackitem->id);
+                echo '<a class="icon down" title="'.get_string('movedown_item','feedback').'" href="'.$buttonlink.'">
+                        <img alt="'.get_string('movedown_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/down') . '" />
+                      </a>';
+                //print the button to move-down the item
+                // echo '<form action="'.$ME.'" method="post"><fieldset>';
+                // echo '<input title="'.get_string('movedown_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/down') . '" hspace="1" height="11" width="11" border="0" />';
+                // echo '<input class="feedback_movedown_button" title="'.get_string('movedown_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/down') . '" />';
+                // echo '<input type="hidden" name="movedownitem" value="'.$feedbackitem->id.'" />';
+                // feedback_edit_print_default_form_values($id, $do_show);
+                // echo '</fieldset></form>';
+            }else{
+                echo '&nbsp;';
+            }
+            echo '</td>';
+            echo '<td>';
+                $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&moveitem='.$feedbackitem->id);
+                echo '<a class="editing_move" title="'.get_string('move_item','feedback').'" href="'.$buttonlink.'">
+                        <img alt="'.get_string('move_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/move') . '" />
+                      </a>';
+                // echo '<form action="'.$ME.'" method="post"><fieldset>';
+                // echo '<input title="'.get_string('move_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/move') . '" hspace="1" height="11" width="11" border="0" />';
+                // echo '<input class="feedback_move_button" title="'.get_string('move_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/move') . '" />';
+                // echo '<input type="hidden" name="moveitem" value="'.$feedbackitem->id.'" />';
+                // feedback_edit_print_default_form_values($id, $do_show);
+                // echo '</fieldset></form>';
+            echo '</td>';
+            echo '<td>';
+            //print the button to edit the item
+            if($feedbackitem->typ != 'pagebreak') {
+                $buttonlink = 'edit_item.php?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&itemid='.$feedbackitem->id.'&typ='.$feedbackitem->typ);
+                echo '<a class="editing_update" title="'.get_string('edit_item','feedback').'" href="'.$buttonlink.'">
+                        <img alt="'.get_string('edit_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/edit') . '" />
+                      </a>';
+                // echo '<form action="edit_item.php" method="post"><fieldset>';
+                // echo '<input title="'.get_string('edit_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/edit') . '" hspace="1" height="11" width="11" border="0" />';
+                // echo '<input class="feedback_edit_button" title="'.get_string('edit_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/edit') . '" />';
+                // echo '<input type="hidden" name="itemid" value="'.$feedbackitem->id.'" />';
+                // echo '<input type="hidden" name="typ" value="'.$feedbackitem->typ.'" />';
+                // feedback_edit_print_default_form_values($id, $do_show);
+                // echo '</fieldset></form>';
+            }else {
+                echo '&nbsp;';
+            }
+            echo '</td>';
+            echo '<td>';
+
+            //print the toggle-button to switch required yes/no
+            if($feedbackitem->hasvalue == 1) {
+                // echo '<form action="'.$ME.'" method="post"><fieldset>';
+                if($feedbackitem->required == 1) {
+                    // echo '<input title="'.get_string('switch_item_to_not_required','feedback').'" type="image" src="pics/required.gif" hspace="1" height="11" width="11" border="0" />';
+                    // echo '<input class="feedback_required_button" title="'.get_string('switch_item_to_not_required','feedback').'" type="image" src="pics/required.gif" />';
+                    $buttontitle = get_string('switch_item_to_not_required','feedback');
+                    $buttonimg = 'pics/required.gif';
+                } else {
+                    // echo '<input title="'.get_string('switch_item_to_required','feedback').'" type="image" src="pics/notrequired.gif" hspace="1" height="11" width="11" border="0" />';
+                    // echo '<input class="feedback_required_button" title="'.get_string('switch_item_to_required','feedback').'" type="image" src="pics/notrequired.gif" />';
+                    $buttontitle = get_string('switch_item_to_required','feedback');
+                    $buttonimg = 'pics/notrequired.gif';
+                }
+                $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&switchitemrequired='.$feedbackitem->id);
+                echo '<a class="icon feedback_switchrequired" title="'.$buttontitle.'" href="'.$buttonlink.'">
+                        <img alt="'.$buttontitle.'" src="'.$buttonimg.'" />
+                      </a>';
+                // echo '<input type="hidden" name="switchitemrequired" value="'.$feedbackitem->id.'" />';
+                // feedback_edit_print_default_form_values($id, $do_show);
+                // echo '</fieldset></form>';
+            }else {
+                echo '&nbsp;';
+            }
+            echo '</td>';
+            echo '<td>';
+                $buttonlink = 'delete_item.php?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&deleteitem='.$feedbackitem->id);
+                echo '<a class="icon delete" title="'.get_string('delete_item','feedback').'" href="'.$buttonlink.'">
+                        <img alt="'.get_string('delete_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/delete') . '" />
+                      </a>';
+            //print the button to drop the item
+            // echo '<form action="delete_item.php" method="post"><fieldset>';
+            // echo '<input class="feedback_delete_button" title="'.get_string('delete_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/delete') . '" />';
+            // echo '<input type="hidden" name="deleteitem" value="'.$feedbackitem->id.'" />';
+            // feedback_edit_print_default_form_values($id, $do_show);
+            // echo '</fieldset></form>';
+            echo '</td>';
+            echo '</tr>';
             if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
-                $moveposition = 1;
+                $moveposition++;
                 echo '<tr>'; //only shown if shouldmoving = 1
                     echo '<td>';
-                    $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movehere='.$moveposition);
-                    echo '<a title="'.get_string('move_here','feedback').'" href="'.$buttonlink.'">
-                            <img class="movetarget" alt="'.get_string('move_here','feedback').'" src="'.$OUTPUT->old_icon_url('movehere') . '" />
-                          </a>';
-
+                        $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movehere='.$moveposition);
+                        echo '<a title="'.get_string('move_here','feedback').'" href="'.$buttonlink.'">
+                                <img class="movetarget" alt="'.get_string('move_here','feedback').'" src="'.$OUTPUT->old_icon_url('movehere') . '" />
+                              </a>';
                         // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                        // echo '<input title="'.get_string('move_here','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('movehere') . '" hspace="1" height="16" width="80" border="0" />';
+                        // echo '<input class="feedback_movehere_button" title="'.get_string('move_here','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('movehere') . '" />';
                         // echo '<input type="hidden" name="movehere" value="'.$moveposition.'" />';
                         // feedback_edit_print_default_form_values($id, $do_show);
                         // echo '</fieldset></form>';
                     echo '</td>';
                 echo '</tr>';
+            }else {
+                echo '<tr><td>&nbsp;</td></tr>';
             }
-            //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
-                    continue;
-                }
-                echo '<tr>';
-                //items without value only are labels
-                if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                    $itemnr++;
-                    echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-                } else {
-                    echo '<td>&nbsp;</td>';
-                }
-                if($feedbackitem->typ != 'pagebreak') {
-                    feedback_print_item($feedbackitem, false, false, true);
-                }else {
-                    echo '<td class="feedback_pagebreak"><b>'.get_string('pagebreak', 'feedback').'</b></td><td><hr width="100%" size="8px" noshade="noshade" /></td>';
-                }
-                echo '<td>('.get_string('position', 'feedback').':'.$itempos .')</td>';
-                echo '<td>';
-                if($feedbackitem->position > 1){
-                    $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&moveupitem='.$feedbackitem->id);
-                    echo '<a class="icon up" title="'.get_string('moveup_item','feedback').'" href="'.$buttonlink.'">
-                            <img alt="'.get_string('moveup_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/up') . '" />
-                          </a>';
-                    //print the button to move-up the item
-                    // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                    // ///////echo '<input title="'.get_string('moveup_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/up') . '" hspace="1" height="11" width="11" border="0" />';
-                    // echo '<input class="feedback_moveup_button" title="'.get_string('moveup_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/up') . '" />';
-                    // echo '<input type="hidden" name="moveupitem" value="'.$feedbackitem->id.'" />';
-                    // feedback_edit_print_default_form_values($id, $do_show);
-                    // echo '</fieldset></form>';
-                }else{
-                    echo '&nbsp;';
-                }
-                echo '</td>';
-                echo '<td>';
-                if($feedbackitem->position < $lastposition - 1){
-                    $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movedownitem='.$feedbackitem->id);
-                    echo '<a class="icon down" title="'.get_string('movedown_item','feedback').'" href="'.$buttonlink.'">
-                            <img alt="'.get_string('movedown_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/down') . '" />
-                          </a>';
-                    //print the button to move-down the item
-                    // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                    // echo '<input title="'.get_string('movedown_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/down') . '" hspace="1" height="11" width="11" border="0" />';
-                    // echo '<input class="feedback_movedown_button" title="'.get_string('movedown_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/down') . '" />';
-                    // echo '<input type="hidden" name="movedownitem" value="'.$feedbackitem->id.'" />';
-                    // feedback_edit_print_default_form_values($id, $do_show);
-                    // echo '</fieldset></form>';
-                }else{
-                    echo '&nbsp;';
-                }
-                echo '</td>';
-                echo '<td>';
-                    $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&moveitem='.$feedbackitem->id);
-                    echo '<a class="editing_move" title="'.get_string('move_item','feedback').'" href="'.$buttonlink.'">
-                            <img alt="'.get_string('move_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/move') . '" />
-                          </a>';
-                    // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                    // echo '<input title="'.get_string('move_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/move') . '" hspace="1" height="11" width="11" border="0" />';
-                    // echo '<input class="feedback_move_button" title="'.get_string('move_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/move') . '" />';
-                    // echo '<input type="hidden" name="moveitem" value="'.$feedbackitem->id.'" />';
-                    // feedback_edit_print_default_form_values($id, $do_show);
-                    // echo '</fieldset></form>';
-                echo '</td>';
-                echo '<td>';
-                //print the button to edit the item
-                if($feedbackitem->typ != 'pagebreak') {
-                    $buttonlink = 'edit_item.php?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&itemid='.$feedbackitem->id.'&typ='.$feedbackitem->typ);
-                    echo '<a class="editing_update" title="'.get_string('edit_item','feedback').'" href="'.$buttonlink.'">
-                            <img alt="'.get_string('edit_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/edit') . '" />
-                          </a>';
-                    // echo '<form action="edit_item.php" method="post"><fieldset>';
-                    // echo '<input title="'.get_string('edit_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/edit') . '" hspace="1" height="11" width="11" border="0" />';
-                    // echo '<input class="feedback_edit_button" title="'.get_string('edit_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/edit') . '" />';
-                    // echo '<input type="hidden" name="itemid" value="'.$feedbackitem->id.'" />';
-                    // echo '<input type="hidden" name="typ" value="'.$feedbackitem->typ.'" />';
-                    // feedback_edit_print_default_form_values($id, $do_show);
-                    // echo '</fieldset></form>';
-                }else {
-                    echo '&nbsp;';
-                }
-                echo '</td>';
-                echo '<td>';
 
-                //print the toggle-button to switch required yes/no
-                if($feedbackitem->hasvalue == 1) {
-                    // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                    if($feedbackitem->required == 1) {
-                        // echo '<input title="'.get_string('switch_item_to_not_required','feedback').'" type="image" src="pics/required.gif" hspace="1" height="11" width="11" border="0" />';
-                        // echo '<input class="feedback_required_button" title="'.get_string('switch_item_to_not_required','feedback').'" type="image" src="pics/required.gif" />';
-                        $buttontitle = get_string('switch_item_to_not_required','feedback');
-                        $buttonimg = 'pics/required.gif';
-                    } else {
-                        // echo '<input title="'.get_string('switch_item_to_required','feedback').'" type="image" src="pics/notrequired.gif" hspace="1" height="11" width="11" border="0" />';
-                        // echo '<input class="feedback_required_button" title="'.get_string('switch_item_to_required','feedback').'" type="image" src="pics/notrequired.gif" />';
-                        $buttontitle = get_string('switch_item_to_required','feedback');
-                        $buttonimg = 'pics/notrequired.gif';
-                    }
-                    $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&switchitemrequired='.$feedbackitem->id);
-                    echo '<a class="icon feedback_switchrequired" title="'.$buttontitle.'" href="'.$buttonlink.'">
-                            <img alt="'.$buttontitle.'" src="'.$buttonimg.'" />
-                          </a>';
-                    // echo '<input type="hidden" name="switchitemrequired" value="'.$feedbackitem->id.'" />';
-                    // feedback_edit_print_default_form_values($id, $do_show);
-                    // echo '</fieldset></form>';
-                }else {
-                    echo '&nbsp;';
-                }
-                echo '</td>';
-                echo '<td>';
-                    $buttonlink = 'delete_item.php?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&deleteitem='.$feedbackitem->id);
-                    echo '<a class="icon delete" title="'.get_string('delete_item','feedback').'" href="'.$buttonlink.'">
-                            <img alt="'.get_string('delete_item','feedback').'" src="'.$OUTPUT->old_icon_url('t/delete') . '" />
-                          </a>';
-                //print the button to drop the item
-                // echo '<form action="delete_item.php" method="post"><fieldset>';
-                // echo '<input class="feedback_delete_button" title="'.get_string('delete_item','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('t/delete') . '" />';
-                // echo '<input type="hidden" name="deleteitem" value="'.$feedbackitem->id.'" />';
-                // feedback_edit_print_default_form_values($id, $do_show);
-                // echo '</fieldset></form>';
-                echo '</td>';
-                echo '</tr>';
-                if(isset($SESSION->feedback->moving) AND $SESSION->feedback->moving->shouldmoving == 1) {
-                    $moveposition++;
-                    echo '<tr>'; //only shown if shouldmoving = 1
-                        echo '<td>';
-                            $buttonlink = $ME.'?'.htmlspecialchars(feedback_edit_get_default_query($id, $do_show).'&movehere='.$moveposition);
-                            echo '<a title="'.get_string('move_here','feedback').'" href="'.$buttonlink.'">
-                                    <img class="movetarget" alt="'.get_string('move_here','feedback').'" src="'.$OUTPUT->old_icon_url('movehere') . '" />
-                                  </a>';
-                            // echo '<form action="'.$ME.'" method="post"><fieldset>';
-                            // echo '<input class="feedback_movehere_button" title="'.get_string('move_here','feedback').'" type="image" src="'.$OUTPUT->old_icon_url('movehere') . '" />';
-                            // echo '<input type="hidden" name="movehere" value="'.$moveposition.'" />';
-                            // feedback_edit_print_default_form_values($id, $do_show);
-                            // echo '</fieldset></form>';
-                        echo '</td>';
-                    echo '</tr>';
-                }else {
-                    echo '<tr><td>&nbsp;</td></tr>';
-                }
-
-            }
-            echo '</table>';
-            echo $OUTPUT->box_end();
-        }else{
-            echo $OUTPUT->box(get_string('no_items_available_yet','feedback'),'generalbox boxaligncenter');
         }
+        echo '</table>';
+        echo $OUTPUT->box_end();
+    }else{
+        echo $OUTPUT->box(get_string('no_items_available_yet','feedback'),'generalbox boxaligncenter');
     }
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-    function feedback_edit_get_default_query($id, $tab) {
-        global $USER;
+function feedback_edit_get_default_query($id, $tab) {
+    global $USER;
 
-        $query = 'id='.$id;
-        $query .= '&do_show='.$tab;
-        //$query .= '&sesskey='.sesskey();
+    $query = 'id='.$id;
+    $query .= '&do_show='.$tab;
+    //$query .= '&sesskey='.sesskey();
 
-        return $query;
-    }
+    return $query;
+}
 
-    function feedback_edit_print_default_form_values($id, $tab) {
-        global $USER;
+function feedback_edit_print_default_form_values($id, $tab) {
+    global $USER;
 
-        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-        echo '<input type="hidden" name="id" value="'.$id.'" />';
-        echo '<input type="hidden" name="do_show" value="'.$tab.'" />';
-    }
-?>
+    echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+    echo '<input type="hidden" name="id" value="'.$id.'" />';
+    echo '<input type="hidden" name="do_show" value="'.$tab.'" />';
+}
+?>
\ No newline at end of file
index 244c7f57be739314d5850165f4ac6ded4458a5df..243ea48b24b77735634e9f0d70c45547b160f7ef 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* prints the form to edit a dedicated item
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * prints the form to edit a dedicated item
+ *
+ * @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 = optional_param('id', NULL, PARAM_INT);
-    $typ = optional_param('typ', false, PARAM_ALPHA);
-    $itemid = optional_param('itemid', false, PARAM_INT);
+$id = optional_param('id', NULL, PARAM_INT);
+$typ = optional_param('typ', false, PARAM_ALPHA);
+$itemid = optional_param('itemid', false, PARAM_INT);
 
-    if(!$typ)redirect(htmlspecialchars('edit.php?id=' . $id));
+if(!$typ)redirect(htmlspecialchars('edit.php?id=' . $id));
 
-    // set up some general variables
-    $usehtmleditor = can_use_html_editor();
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/edit_item.php', array('id'=>$id));
+if ($type !== false) {
+    $url->param('typ', $typ);
+}
+if ($itemid !== false) {
+    $url->param('itemid', $itemid);
+}
+$PAGE->set_url($url);
 
+// set up some general variables
+$usehtmleditor = can_use_html_editor();
 
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
-    }
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
 
-        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 ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
-
-    if(!$capabilities->edititems){
-        print_error('error');
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    //if the typ is pagebreak so the item will be saved directly
-    if($typ == 'pagebreak') {
-        feedback_create_pagebreak($feedback->id);
-        redirect(htmlspecialchars('edit.php?id='.$id));
-        exit;
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    //get the existing item or create it
-    // $formdata->itemid = isset($formdata->itemid) ? $formdata->itemid : NULL;
-    if($itemid and $item = $DB->get_record('feedback_item', array('id'=>$itemid))) {
-        $typ = $item->typ;
-        $position = $item->position;
-    }else {
-        $position = -1;
-        $item = new stdClass();
-        if ($position == '') {
-            $position = 0;
-        }
-        if (!$typ) {
-            print_error('typemissing', 'feedback', $CFG->wwwroot.'/mod/feedback/edit.php?id='.$id);
-        }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->edititems){
+    print_error('error');
+}
+
+//if the typ is pagebreak so the item will be saved directly
+if($typ == 'pagebreak') {
+    feedback_create_pagebreak($feedback->id);
+    redirect(htmlspecialchars('edit.php?id='.$id));
+    exit;
+}
+
+//get the existing item or create it
+// $formdata->itemid = isset($formdata->itemid) ? $formdata->itemid : NULL;
+if($itemid and $item = $DB->get_record('feedback_item', array('id'=>$itemid))) {
+    $typ = $item->typ;
+    $position = $item->position;
+}else {
+    $position = -1;
+    $item = new stdClass();
+    if ($position == '') {
+        $position = 0;
     }
+    if (!$typ) {
+        print_error('typemissing', 'feedback', $CFG->wwwroot.'/mod/feedback/edit.php?id='.$id);
+    }
+}
 
-    require_once($CFG->dirroot.'/mod/feedback/item/'.$typ.'/lib.php');
+require_once($CFG->dirroot.'/mod/feedback/item/'.$typ.'/lib.php');
 
-    ////////////////////////////////////////////////////////////////////////////////////
-    ////////////////////////////////////////////////////////////////////////////////////
-    if(isset($formdata->cancel)){
-        redirect(htmlspecialchars('edit.php?id=' . $id));
-    }
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+if(isset($formdata->cancel)){
+    redirect(htmlspecialchars('edit.php?id=' . $id));
+}
 
-    // if(isset($formdata->editcancel) AND $formdata->editcancel == 1){
-        // redirect(htmlspecialchars('edit.php?id=' . $id));
-    // }
+// if(isset($formdata->editcancel) AND $formdata->editcancel == 1){
+    // redirect(htmlspecialchars('edit.php?id=' . $id));
+// }
 
-    if(isset($formdata->saveitem) AND $formdata->saveitem == 1){
-        $newposition = $formdata->position;
-        $formdata->position = $newposition + 1;
+if(isset($formdata->saveitem) AND $formdata->saveitem == 1){
+    $newposition = $formdata->position;
+    $formdata->position = $newposition + 1;
 
-        if (!$newitemid = feedback_create_item($formdata)) {
+    if (!$newitemid = feedback_create_item($formdata)) {
+        $SESSION->feedback->errors[] = get_string('item_creation_failed', 'feedback');
+    }else {
+        $newitem = $DB->get_record('feedback_item', array('id'=>$newitemid));
+        if (!feedback_move_item($newitem, $newposition)){
             $SESSION->feedback->errors[] = get_string('item_creation_failed', 'feedback');
         }else {
-            $newitem = $DB->get_record('feedback_item', array('id'=>$newitemid));
-            if (!feedback_move_item($newitem, $newposition)){
-                $SESSION->feedback->errors[] = get_string('item_creation_failed', 'feedback');
-            }else {
-                redirect(htmlspecialchars('edit.php?id='.$id));
-            }
+            redirect(htmlspecialchars('edit.php?id='.$id));
         }
     }
-
-    if(isset($formdata->updateitem) AND $formdata->updateitem == 1){
-        //update the item and go back
-        if (!feedback_update_item($item, $formdata)) {
+}
+
+if(isset($formdata->updateitem) AND $formdata->updateitem == 1){
+    //update the item and go back
+    if (!feedback_update_item($item, $formdata)) {
+        $SESSION->feedback->errors[] = get_string('item_update_failed', 'feedback');
+    } else {
+        if (!feedback_move_item($item, $formdata->position)){
             $SESSION->feedback->errors[] = get_string('item_update_failed', 'feedback');
-        } else {
-            if (!feedback_move_item($item, $formdata->position)){
-                $SESSION->feedback->errors[] = get_string('item_update_failed', 'feedback');
-            }else {
-                redirect(htmlspecialchars('edit.php?id='.$id));
-            }
+        }else {
+            redirect(htmlspecialchars('edit.php?id='.$id));
         }
     }
-    ////////////////////////////////////////////////////////////////////////////////////
-    ////////////////////////////////////////////////////////////////////////////////////
-
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
+}
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// print the tabs
+include('tabs.php');
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+echo $OUTPUT->heading(format_text($feedback->name));
+
+
+//print errormsg
+if(isset($error)){echo $error;}
+
+feedback_print_errors();
+
+//new formdefinition
+$itemclass = 'feedback_item_'.$typ;
+$itemobj = new $itemclass();
+$item_form = &$itemobj->show_edit($item);
+
+$i_form = &$item_form->get_item_form();
+// $i_form->addElement('header', 'general', 'Titel');
+$i_form->addElement('hidden', 'id', $id);
+$i_form->addElement('hidden', 'itemid', isset($item->id)?$item->id:'');
+$i_form->addElement('hidden', 'typ', $typ);
+$i_form->addElement('hidden', 'feedbackid', $feedback->id);
+
+
+$lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
+if($position == -1){
+    $i_formselect_last = $lastposition + 1;
+    $i_formselect_value = $lastposition + 1;
+}else {
+    $i_formselect_last = $lastposition;
+    $i_formselect_value = $item->position;
+}
+$i_formselect = $i_form->addElement('select',
+                                    'position',
+                                    get_string('position', 'feedback').'&nbsp;',
+                                    array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true));
+$i_formselect->setValue($i_formselect_value);
+
+$buttonarray = array();
+if(!empty($item->id)){
+    $i_form->addElement('hidden', 'updateitem', '1');
+    // $i_form->addElement('submit', 'update_item', get_string('update_item', 'feedback'));
+    $buttonarray[] = &$i_form->createElement('submit', 'update_item', get_string('update_item', 'feedback'));
+}else{
+    $i_form->addElement('hidden', 'saveitem', '1');
+    // $i_form->addElement('submit', 'save_item', get_string('save_item', 'feedback'));
+    $buttonarray[] = &$i_form->createElement('submit', 'save_item', get_string('save_item', 'feedback'));
+}
+// $i_form->addElement('cancel');
+$buttonarray[] = &$i_form->createElement('cancel');
+$i_form->addGroup($buttonarray, 'buttonar', '', array(' '), false);
+$item_form->display();
 
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// print the tabs
-    include('tabs.php');
-
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    echo $OUTPUT->heading(format_text($feedback->name));
-
-
-    //print errormsg
-    if(isset($error)){echo $error;}
-
-    feedback_print_errors();
-
-    //new formdefinition
-    $itemclass = 'feedback_item_'.$typ;
-    $itemobj = new $itemclass();
-    $item_form = &$itemobj->show_edit($item);
-
-    $i_form = &$item_form->get_item_form();
-    // $i_form->addElement('header', 'general', 'Titel');
-    $i_form->addElement('hidden', 'id', $id);
-    $i_form->addElement('hidden', 'itemid', isset($item->id)?$item->id:'');
-    $i_form->addElement('hidden', 'typ', $typ);
-    $i_form->addElement('hidden', 'feedbackid', $feedback->id);
-
-
-    $lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
+/*
+echo $OUTPUT->box_start('generalbox boxwidthwide boxaligncenter');
+    echo '<form action="'.$ME.'" method="post">';
+    echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+
+//this div makes the buttons stand side by side
+echo '<div>';
+$itemclass = 'feedback_item_'.$typ;
+$itemobj = new $itemclass();
+$itemobj->show_edit($item, $usehtmleditor);
+echo '</div>';
+    echo '<input type="hidden" name="id" value="'.$id.'" />';
+    echo '<input type="hidden" name="itemid" value="'.(isset($item->id)?$item->id:'').'" />';
+    echo '<input type="hidden" name="typ" value="'.$typ.'" />';
+    echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
+
+//choose the position
+$lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
+echo get_string('position', 'feedback').'&nbsp;';
+echo '<select name="position">';
+    //Dropdown-Items for choosing the position
     if($position == -1){
-        $i_formselect_last = $lastposition + 1;
-        $i_formselect_value = $lastposition + 1;
+        feedback_print_numeric_option_list(1, $lastposition + 1, $lastposition + 1);
     }else {
-        $i_formselect_last = $lastposition;
-        $i_formselect_value = $item->position;
-    }
-    $i_formselect = $i_form->addElement('select',
-                                        'position',
-                                        get_string('position', 'feedback').'&nbsp;',
-                                        array_slice(range(0,$i_formselect_last),1,$i_formselect_last,true));
-    $i_formselect->setValue($i_formselect_value);
-
-    $buttonarray = array();
-    if(!empty($item->id)){
-        $i_form->addElement('hidden', 'updateitem', '1');
-        // $i_form->addElement('submit', 'update_item', get_string('update_item', 'feedback'));
-        $buttonarray[] = &$i_form->createElement('submit', 'update_item', get_string('update_item', 'feedback'));
-    }else{
-        $i_form->addElement('hidden', 'saveitem', '1');
-        // $i_form->addElement('submit', 'save_item', get_string('save_item', 'feedback'));
-        $buttonarray[] = &$i_form->createElement('submit', 'save_item', get_string('save_item', 'feedback'));
+        feedback_print_numeric_option_list(1, $lastposition, $item->position);
     }
-    // $i_form->addElement('cancel');
-    $buttonarray[] = &$i_form->createElement('cancel');
-    $i_form->addGroup($buttonarray, 'buttonar', '', array(' '), false);
-    $item_form->display();
-
-/*
-    echo $OUTPUT->box_start('generalbox boxwidthwide boxaligncenter');
-        echo '<form action="'.$ME.'" method="post">';
-        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-
-    //this div makes the buttons stand side by side
-    echo '<div>';
-    $itemclass = 'feedback_item_'.$typ;
-    $itemobj = new $itemclass();
-    $itemobj->show_edit($item, $usehtmleditor);
-    echo '</div>';
-        echo '<input type="hidden" name="id" value="'.$id.'" />';
-        echo '<input type="hidden" name="itemid" value="'.(isset($item->id)?$item->id:'').'" />';
-        echo '<input type="hidden" name="typ" value="'.$typ.'" />';
-        echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'" />';
-
-    //choose the position
-    $lastposition = $DB->count_records('feedback_item', array('feedback'=>$feedback->id));
-    echo get_string('position', 'feedback').'&nbsp;';
-    echo '<select name="position">';
-        //Dropdown-Items for choosing the position
-        if($position == -1){
-            feedback_print_numeric_option_list(1, $lastposition + 1, $lastposition + 1);
-        }else {
-            feedback_print_numeric_option_list(1, $lastposition, $item->position);
-        }
-    echo '</select><hr />';
-
-    //////////////////////////////////////////////////////////////////////////////////////
-    //////////////////////////////////////////////////////////////////////////////////////
-    if(!empty($item->id)){
-        echo '<input type="hidden" id="updateitem" name="updateitem" value="1" />';
-        echo '<input type="submit" value ="'.get_string('update_item', 'feedback').'" />';
-    }else{
-        echo '<input type="hidden" id="saveitem" name="saveitem" value="1" />';
-        echo '<input type="submit" value="'.get_string('save_item', 'feedback').'" />';
-    }
-    echo '<input type="submit" name="cancel" value="'.get_string('cancel').'" />';
-    echo '</form>';
-    //////////////////////////////////////////////////////////////////////////////////////
-    //////////////////////////////////////////////////////////////////////////////////////
+echo '</select><hr />';
+
+//////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////
+if(!empty($item->id)){
+    echo '<input type="hidden" id="updateitem" name="updateitem" value="1" />';
+    echo '<input type="submit" value ="'.get_string('update_item', 'feedback').'" />';
+}else{
+    echo '<input type="hidden" id="saveitem" name="saveitem" value="1" />';
+    echo '<input type="submit" value="'.get_string('save_item', 'feedback').'" />';
+}
+echo '<input type="submit" name="cancel" value="'.get_string('cancel').'" />';
+echo '</form>';
+//////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////
 */
-    // echo $OUTPUT->box_end();
+// 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'));
-    }
+if ($typ!='label') {
+    $PAGE->requires->js('mod/feedback/feedback.js');
+    $PAGE->requires->js_function_call('set_item_focus', Array('id_itemname'));
+}
 
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index ec729b4a1cfdb76aa10b16ee0281fad7910c7956..3f6b234a5a484943468964c09936c194dcda2839 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* prints the form to export the items as xml-file
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
-
-    require_once("../../config.php");
-    require_once("lib.php");
-
-    // get parameters
-    $id = required_param('id', PARAM_INT); 
-    $action = optional_param('action', false, PARAM_ALPHA);
-
-    if ($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');
-        }
+ * 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");
+
+// get parameters
+$id = required_param('id', PARAM_INT); 
+$action = optional_param('action', false, PARAM_ALPHA);
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/export.php', array('id'=>$id));
+if ($action !== false) {
+    $url->param('action', $action);
+}
+$PAGE->set_url($url);
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
-    
-    if(!$capabilities->edititems){
-        print_error('invalidaction');
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
-    
-    if ($action == 'exportfile') {
-        if(!$exportdata = feedback_get_xml_data($feedback->id)) {
-            print_error('nodata');
-        }
-        @feedback_send_xml_data($exportdata, 'feedback_'.$feedback->id.'.xml');
-        exit;
+
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->edititems){
+    print_error('invalidaction');
+}
 
-    redirect('view.php?id='.$id);
+if ($action == 'exportfile') {
+    if(!$exportdata = feedback_get_xml_data($feedback->id)) {
+        print_error('nodata');
+    }
+    @feedback_send_xml_data($exportdata, 'feedback_'.$feedback->id.'.xml');
     exit;
-  
-    function feedback_get_xml_data($feedbackid) {
-        global $DB;
-
-        $space = '     ';
-        //get all items of the feedback
-        if(!$items = $DB->get_records('feedback_item', array('feedback'=>$feedbackid), 'position')) {
-            return false;
-        }
-        
-        //writing the header of the xml file including the charset of the currrent used language
-        $data = '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
-        $data .= '<FEEDBACK VERSION="200701" COMMENT="XML-Importfile for mod/feedback">'."\n";
-        $data .= $space.'<ITEMS>'."\n";
-        
-        //writing all the items
-        foreach($items as $item) {
-            //start of item
-            $data .= $space.$space.'<ITEM TYPE="'.$item->typ.'" REQUIRED="'.$item->required.'">'."\n";
-            
-            //start of itemtext
-            $data .= $space.$space.$space.'<ITEMTEXT>'."\n";
-            //start of CDATA
-            $data .= $space.$space.$space.$space.'<![CDATA[';
-            $data .= $item->name;
-            //end of CDATA
-            $data .= ']]>'."\n";
-            //end of itemtext
-            $data .= $space.$space.$space.'</ITEMTEXT>'."\n";
-            
-            //start of presentation
-            $data .= $space.$space.$space.'<PRESENTATION>'."\n";
-            //start of CDATA
-            $data .= $space.$space.$space.$space.'<![CDATA[';
-            $data .= $item->presentation;
-            //end of CDATA
-            $data .= ']]>'."\n";
-            //end of presentation
-            $data .= $space.$space.$space.'</PRESENTATION>'."\n";
-            
-            //end of item
-            $data .= $space.$space.'</ITEM>'."\n";
-        }
-        
-        //writing the footer of the xml file
-        $data .= $space.'</ITEMS>'."\n";
-        $data .= '</FEEDBACK>'."\n";
-        
-        return $data;
+}
+
+redirect('view.php?id='.$id);
+exit;
+
+function feedback_get_xml_data($feedbackid) {
+    global $DB;
+
+    $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) {
-        $charset = get_string('thischarset');
-        @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 = '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
+    $data .= '<FEEDBACK VERSION="200701" COMMENT="XML-Importfile for mod/feedback">'."\n";
+    $data .= $space.'<ITEMS>'."\n";
+
+    //writing all the items
+    foreach($items as $item) {
+        //start of item
+        $data .= $space.$space.'<ITEM TYPE="'.$item->typ.'" REQUIRED="'.$item->required.'">'."\n";
+
+        //start of itemtext
+        $data .= $space.$space.$space.'<ITEMTEXT>'."\n";
+        //start of CDATA
+        $data .= $space.$space.$space.$space.'<![CDATA[';
+        $data .= $item->name;
+        //end of CDATA
+        $data .= ']]>'."\n";
+        //end of itemtext
+        $data .= $space.$space.$space.'</ITEMTEXT>'."\n";
+
+        //start of presentation
+        $data .= $space.$space.$space.'<PRESENTATION>'."\n";
+        //start of CDATA
+        $data .= $space.$space.$space.$space.'<![CDATA[';
+        $data .= $item->presentation;
+        //end of CDATA
+        $data .= ']]>'."\n";
+        //end of presentation
+        $data .= $space.$space.$space.'</PRESENTATION>'."\n";
+
+        //end of item
+        $data .= $space.$space.'</ITEM>'."\n";
     }
-?>
+
+    //writing the footer of the xml file
+    $data .= $space.'</ITEMS>'."\n";
+    $data .= '</FEEDBACK>'."\n";
+
+    return $data;
+}
+
+function feedback_send_xml_data($data, $filename) {
+    $charset = get_string('thischarset');
+    @header('Content-Type: application/xml; charset=UTF-8');
+    @header('Content-Disposition: attachment; filename='.$filename);
+    print($data);
+}
+?>
\ No newline at end of file
index d6b3e0e00d5c767eceb4ad979f50557db53a03a0..44d3a012aa5b9ca76b2380d1addfc7b4fba5befa 100644 (file)
@@ -1,12 +1,12 @@
-<?php // $Id$
+<?php
+
 /**
-* prints the form to import items from xml-file
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * prints the form to import items from 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");
         print_error('invalidsesskey');
     }
 
+    $url = new moodle_url($CFG->wwwroot.'/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 ($id) {
         if (! $cm = get_coursemodule_from_id('feedback', $id)) {
             print_error('invalidcoursemodule');
     /// Print the page header
     $strfeedbacks = get_string("modulenameplural", "feedback");
     $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
 
     $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
     $PAGE->navbar->add(format_string($feedback->name));
 
     $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
+    $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
     echo $OUTPUT->header();
 
     /// Print the main part of the page
             return $textlib->convert($text, $enc);
         }
     }
-?>
+?>
\ No newline at end of file
index 2c6ce0d33bc2695523215d1c94623aa14908aaa8..dacfd90f91d311feb719efcd2a22e6ca92035459 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* prints the overview of all feedbacks included into the current course
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * prints the overview of all feedbacks included into the current course
+ *
+ * @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");
 
-    $id = required_param('id', PARAM_INT);
+$id = required_param('id', PARAM_INT);
 
-    if (!$course = $DB->get_record('course', array('id'=>$id))) {
-        print_error('invalidcourseid');
-    }
-    $capabilities = feedback_load_course_capabilities($course->id);
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$id)));
+
+if (!$course = $DB->get_record('course', array('id'=>$id))) {
+    print_error('invalidcourseid');
+}
+$capabilities = feedback_load_course_capabilities($course->id);
+
+require_login($course->id);
+
+add_to_log($course->id, 'feedback', 'view all', htmlspecialchars('index.php?id='.$course->id), $course->id);
 
-    require_login($course->id);
 
-    add_to_log($course->id, 'feedback', 'view all', htmlspecialchars('index.php?id='.$course->id), $course->id);
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
 
+$PAGE->navbar->add($strfeedbacks);
+$PAGE->set_title(get_string('modulename', 'feedback').' '.get_string('activities'));
+echo $OUTPUT->header();
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
+/// Get all the appropriate data
 
-    $PAGE->navbar->add($strfeedbacks);
-    $PAGE->set_title(get_string('modulename', 'feedback').' '.get_string('activities'));
-    echo $OUTPUT->header();
+if (! $feedbacks = get_all_instances_in_course("feedback", $course)) {
+    notice("There are no feedbacks", htmlspecialchars('../../course/view.php?id='.$course->id));
+    die;
+}
 
-    /// Get all the appropriate data
+/// Print the list of instances (your module will probably extend this)
 
-    if (! $feedbacks = get_all_instances_in_course("feedback", $course)) {
-        notice("There are no feedbacks", htmlspecialchars('../../course/view.php?id='.$course->id));
-        die;
+$timenow = time();
+$strname  = get_string("name");
+$strweek  = get_string("week");
+$strtopic  = get_string("topic");
+$strresponses = get_string('responses', 'feedback');
+
+$table = new html_table();
+
+if ($course->format == "weeks") {
+    if($capabilities->viewreports) {
+        $table->head  = array ($strweek, $strname, $strresponses);
+        $table->align = array ("center", "left", 'center');
+    }else{
+        $table->head  = array ($strweek, $strname);
+        $table->align = array ("center", "left");
+    }
+} else if ($course->format == "topics") {
+    if($capabilities->viewreports) {
+        $table->head  = array ($strtopic, $strname, $strresponses);
+        $table->align = array ("center", "left", "center");
+    }else{
+        $table->head  = array ($strtopic, $strname);
+        $table->align = array ("center", "left");
+    }
+} else {
+    if($capabilities->viewreports) {
+        $table->head  = array ($strname, $strresponses);
+        $table->align = array ("left", "center");
+    }else{
+        $table->head  = array ($strname);
+        $table->align = array ("left");
     }
+}
 
-    /// Print the list of instances (your module will probably extend this)
-
-    $timenow = time();
-    $strname  = get_string("name");
-    $strweek  = get_string("week");
-    $strtopic  = get_string("topic");
-    $strresponses = get_string('responses', 'feedback');
-
-    $table = new html_table();
-
-    if ($course->format == "weeks") {
-        if($capabilities->viewreports) {
-            $table->head  = array ($strweek, $strname, $strresponses);
-            $table->align = array ("center", "left", 'center');
-        }else{
-            $table->head  = array ($strweek, $strname);
-            $table->align = array ("center", "left");
-        }
-    } else if ($course->format == "topics") {
-        if($capabilities->viewreports) {
-            $table->head  = array ($strtopic, $strname, $strresponses);
-            $table->align = array ("center", "left", "center");
-        }else{
-            $table->head  = array ($strtopic, $strname);
-            $table->align = array ("center", "left");
-        }
+
+foreach ($feedbacks as $feedback) {
+    //get the responses of each feedback
+
+    if($capabilities->viewreports) {
+        $completedFeedbackCount = intval(feedback_get_completeds_group_count($feedback));
+    }
+
+    if (!$feedback->visible) {
+        //Show dimmed if the mod is hidden
+        $link = '<a class="dimmed" href="'.htmlspecialchars('view.php?id='.$feedback->coursemodule).'">'.$feedback->name.'</a>';
     } else {
-        if($capabilities->viewreports) {
-            $table->head  = array ($strname, $strresponses);
-            $table->align = array ("left", "center");
-        }else{
-            $table->head  = array ($strname);
-            $table->align = array ("left");
-        }
+        //Show normal if the mod is visible
+        $link = '<a href="'.htmlspecialchars('view.php?id='.$feedback->coursemodule).'">'.$feedback->name.'</a>';
     }
 
-    
-    foreach ($feedbacks as $feedback) {
-        //get the responses of each feedback
-
-        if($capabilities->viewreports) {
-            $completedFeedbackCount = intval(feedback_get_completeds_group_count($feedback));
-        }
-        
-        if (!$feedback->visible) {
-            //Show dimmed if the mod is hidden
-            $link = '<a class="dimmed" href="'.htmlspecialchars('view.php?id='.$feedback->coursemodule).'">'.$feedback->name.'</a>';
-        } else {
-            //Show normal if the mod is visible
-            $link = '<a href="'.htmlspecialchars('view.php?id='.$feedback->coursemodule).'">'.$feedback->name.'</a>';
-        }
-
-        if ($course->format == "weeks" or $course->format == "topics") {
-            $tabledata = array ($feedback->section, $link);
-        } else {
-            $tabledata = array ($link);
-        }
-        if($capabilities->viewreports) {
-            $tabledata[] = $completedFeedbackCount;
-        }
-        
-        $table->data[] = $tabledata;
-        
+    if ($course->format == "weeks" or $course->format == "topics") {
+        $tabledata = array ($feedback->section, $link);
+    } else {
+        $tabledata = array ($link);
+    }
+    if($capabilities->viewreports) {
+        $tabledata[] = $completedFeedbackCount;
     }
 
-    echo "<br />";
+    $table->data[] = $tabledata;
+
+}
+
+echo "<br />";
 
-    echo $OUTPUT->table($table);
+echo $OUTPUT->table($table);
 
-    /// Finish the page
+/// Finish the page
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 25ee880363c702b0e198fd1414a0748deae6b6ad..b1d44fa1d8f846a3f63d0e0eae9fc8a3e41050be 100644 (file)
 <?php
-    require_once('../../../../config.php');
-    
-    $id = required_param('id', PARAM_INT);
-    
-    if ($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(!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
-    $charwidth = $ttfbox[2];
-
-    $width = $charcount * $charwidth;
-
-    $scale = 0.3;
-    $elipsesize = intval((($width + $height)/2) / 5);
-    $factorX = intval($width * $scale);
-    $factorY = 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);
-    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
-    //if the text is in color_2 so the elipses can be in color_1 or color_3
-    //and so on.
-    $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-
-    }
-    // $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++) {
-            $propobj = null;
-            $propobj->x = intval($x / $scale);
-            $propobj->y = intval($y / $scale);
-            $propobj->red = get_random_color($col_el[0], $col_el[1]);
-            $propobj->green = get_random_color($col_el[0], $col_el[1]);
-            $propobj->blue = get_random_color($col_el[0], $col_el[1]);
-            $properties[] = $propobj;
-        }
+require_once('../../../../config.php');
+
+$id = required_param('id', PARAM_INT);
+
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/item/captcha/print_captcha.php', array('id'=>$id)));
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    shuffle($properties);
-
-    // create a blank image
-    $image = imagecreatetruecolor($width, $height);
-    $bg = imagecolorallocate($image, 0, 0, 0);
-    for($i = 0; $i < ($factorX * $factorY); $i++) {
-        $propobj = $properties[$i];
-        // choose a color for the ellipse
-        $col_ellipse = imagecolorallocate($image, $propobj->red, $propobj->green, $propobj->blue);
-        // draw the white ellipse
-        imagefilledellipse($image, $propobj->x, $propobj->y, $elipsesize, $elipsesize, $col_ellipse);
+
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    $checkchar = '';
-    for($i = 0; $i < $charcount; $i++) {
-        $colnum = rand(1,2);
-        $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]);
-        $textcol->blue = get_random_color(${'col_text'.$colnum}[0], ${'col_text'.$colnum}[1]);
-        $color_text = imagecolorallocate($image, $textcol->red, $textcol->green, $textcol->blue);
-        $angle_text = rand(-20, 20);
-        $left_text = $i * $charwidth;
-        $text = $nums[$i];
-        $checkchar .= $text;
-        ImageTTFText ($image, 30, $angle_text, $left_text, 35, $color_text, $fontfile, $text);
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-    
-    $SESSION->feedback->item->captcha->checkchar = $checkchar;
-    
-    // output the picture
-    header("Content-type: image/png");
-    imagepng($image);
-
-    function get_random_color($val1 = 0, $val2 = 255) {
-        $min = $val1 < $val2 ? $val1 : $val2;
-        $max = $val1 > $val2 ? $val1 : $val2;
-        
-        return rand($min, $max);
+}
+
+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
+$charwidth = $ttfbox[2];
+
+$width = $charcount * $charwidth;
+
+$scale = 0.3;
+$elipsesize = intval((($width + $height)/2) / 5);
+$factorX = intval($width * $scale);
+$factorY = 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);
+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
+//if the text is in color_2 so the elipses can be in color_1 or color_3
+//and so on.
+$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-
+}
+// $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++) {
+        $propobj = null;
+        $propobj->x = intval($x / $scale);
+        $propobj->y = intval($y / $scale);
+        $propobj->red = get_random_color($col_el[0], $col_el[1]);
+        $propobj->green = get_random_color($col_el[0], $col_el[1]);
+        $propobj->blue = get_random_color($col_el[0], $col_el[1]);
+        $properties[] = $propobj;
     }
+}
+shuffle($properties);
+
+// create a blank image
+$image = imagecreatetruecolor($width, $height);
+$bg = imagecolorallocate($image, 0, 0, 0);
+for($i = 0; $i < ($factorX * $factorY); $i++) {
+    $propobj = $properties[$i];
+    // choose a color for the ellipse
+    $col_ellipse = imagecolorallocate($image, $propobj->red, $propobj->green, $propobj->blue);
+    // draw the white ellipse
+    imagefilledellipse($image, $propobj->x, $propobj->y, $elipsesize, $elipsesize, $col_ellipse);
+}
+
+$checkchar = '';
+for($i = 0; $i < $charcount; $i++) {
+    $colnum = rand(1,2);
+    $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]);
+    $textcol->blue = get_random_color(${'col_text'.$colnum}[0], ${'col_text'.$colnum}[1]);
+    $color_text = imagecolorallocate($image, $textcol->red, $textcol->green, $textcol->blue);
+    $angle_text = rand(-20, 20);
+    $left_text = $i * $charwidth;
+    $text = $nums[$i];
+    $checkchar .= $text;
+    ImageTTFText ($image, 30, $angle_text, $left_text, 35, $color_text, $fontfile, $text);
+}
+
+$SESSION->feedback->item->captcha->checkchar = $checkchar;
+
+// output the picture
+header("Content-type: image/png");
+imagepng($image);
+
+function get_random_color($val1 = 0, $val2 = 255) {
+    $min = $val1 < $val2 ? $val1 : $val2;
+    $max = $val1 > $val2 ? $val1 : $val2;
+
+    return rand($min, $max);
+}
 
 ?> 
index 2f6455c418528c2d0beae4c648ea69cb15f50e7f..60b74b6382bb525639301a79be16c4e03a98e13f 100644 (file)
@@ -2133,7 +2133,13 @@ function feedback_send_email($cm, $feedback, $course, $userid) {
 
     $user = $DB->get_record('user', array('id'=>$userid));
 
-    if (groupmode($course, $cm) == SEPARATEGROUPS) {    // Separate groups are being used
+    if (isset($cm->groupmode) && empty($course->groupmodeforce)) {
+        $groupmode =  $cm->groupmode;
+    } else {
+        $groupmode = $course->groupmode;
+    }
+
+    if ($groupmode == SEPARATEGROUPS) {
         $groups = $DB->get_records_sql_menu("SELECT g.name, g.id
                                                FROM {groups} g, {groups_members} m
                                               WHERE g.courseid = ?
index dfe9e3d12e7d3e06c4bb82d3f9262ee03872e3f4..6f9e5bbd90de7184f3a91cf2f4f34eada3f67420 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* print the form to map courses for global feedbacks
-*
-* @version $Id$
-* @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/tablelib.php");
-
-    $id = required_param('id', PARAM_INT); // Course Module ID, or
-    $searchcourse = optional_param('searchcourse', '', PARAM_ALPHANUM);
-    $coursefilter = optional_param('coursefilter', '', PARAM_INT);
-    $courseid = optional_param('courseid', false, PARAM_INT);
-
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
+ * print the form to map courses for global feedbacks
+ *
+ * @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/tablelib.php");
+
+$id = required_param('id', PARAM_INT); // Course Module ID, or
+$searchcourse = optional_param('searchcourse', '', PARAM_ALPHANUM);
+$coursefilter = optional_param('coursefilter', '', PARAM_INT);
+$courseid = optional_param('courseid', false, PARAM_INT);
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/mapcourse.php', array('id'=>$id));
+if ($searchcourse !== '') {
+    $url->param('searchcourse', $searchcourse);
+}
+if ($coursefilter !== '') {
+    $url->param('coursefilter', $coursefilter);
+}
+if ($courseid !== false) {
+    $url->param('courseid', $courseid);
+}
+$PAGE->set_url($url);
+
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
+
+// $SESSION->feedback->current_tab = 'mapcourse';
+$current_tab = 'mapcourse';
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    // $SESSION->feedback->current_tab = 'mapcourse';
-    $current_tab = 'mapcourse';
-
-    if ($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 (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    require_login($course->id, true, $cm);
 
-    if (!$capabilities->mapcourse) {
-        print_error('invalidaccess');
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    if ($coursefilter) {
-        $map->feedbackid = $feedback->id;
-        $map->courseid = $coursefilter;
-        // insert a map only if it does exists yet
-        $sql = "SELECT id, feedbackid
-                  FROM {feedback_sitecourse_map}
-                 WHERE feedbackid = ? AND courseid = ?";
-        if (!$DB->get_records_sql($sql, array($map->feedbackid, $map->courseid))) {
-            $DB->insert_record('feedback_sitecourse_map', $map);
-        }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if (!$capabilities->mapcourse) {
+    print_error('invalidaccess');
+}
+
+if ($coursefilter) {
+    $map->feedbackid = $feedback->id;
+    $map->courseid = $coursefilter;
+    // insert a map only if it does exists yet
+    $sql = "SELECT id, feedbackid
+              FROM {feedback_sitecourse_map}
+             WHERE feedbackid = ? AND courseid = ?";
+    if (!$DB->get_records_sql($sql, array($map->feedbackid, $map->courseid))) {
+        $DB->insert_record('feedback_sitecourse_map', $map);
     }
-
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    include('tabs.php');
-
-    echo $OUTPUT->box(get_string('mapcourseinfo', 'feedback'), 'generalbox boxaligncenter boxwidthwide');
-    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-    echo '<form method="post">';
-    echo '<input type="hidden" name="id" value="'.$id.'" />';
-    echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-
-    $sql = "select c.id, c.shortname
-              from {course} c
-             where c.shortname ".$DB->sql_ilike()." ?
-                   OR c.fullname ".$DB->sql_ilike()." ?";
-    $params = array("%{$searchcourse}%", "%{$searchcourse}%");
-
-    if (($courses = $DB->get_records_sql_menu($sql, $params)) && !empty($searchcourse)) {
-        echo ' ' . get_string('courses') . ': ';
-        echo $OUTPUT->select(html_select::make ($courses, 'coursefilter', $coursefilter));
-        echo '<input type="submit" value="'.get_string('mapcourse', 'feedback').'"/>';
-        echo $OUTPUT->help_icon(moodle_help_icon::make('mapcourses', '', 'feedback', true));
-        echo '<input type="button" value="'.get_string('searchagain').'" onclick="document.location=\'mapcourse.php?id='.$id.'\'"/>';
-        echo '<input type="hidden" name="searchcourse" value="'.$searchcourse.'"/>';
-        echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'"/>';
-        echo $OUTPUT->help_icon(moodle_help_icon::make('searchcourses', '', 'feedback', true));
-    } else {
-        echo '<input type="text" name="searchcourse" value="'.$searchcourse.'"/> <input type="submit" value="'.get_string('searchcourses').'"/>';
-        echo $OUTPUT->help_icon(moodle_help_icon::make('searchcourses', '', 'feedback', true));
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+include('tabs.php');
+
+echo $OUTPUT->box(get_string('mapcourseinfo', 'feedback'), 'generalbox boxaligncenter boxwidthwide');
+echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+echo '<form method="post">';
+echo '<input type="hidden" name="id" value="'.$id.'" />';
+echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+
+$sql = "select c.id, c.shortname
+          from {course} c
+         where c.shortname ".$DB->sql_ilike()." ?
+               OR c.fullname ".$DB->sql_ilike()." ?";
+$params = array("%{$searchcourse}%", "%{$searchcourse}%");
+
+if (($courses = $DB->get_records_sql_menu($sql, $params)) && !empty($searchcourse)) {
+    echo ' ' . get_string('courses') . ': ';
+    echo $OUTPUT->select(html_select::make ($courses, 'coursefilter', $coursefilter));
+    echo '<input type="submit" value="'.get_string('mapcourse', 'feedback').'"/>';
+    echo $OUTPUT->help_icon(moodle_help_icon::make('mapcourses', '', 'feedback', true));
+    echo '<input type="button" value="'.get_string('searchagain').'" onclick="document.location=\'mapcourse.php?id='.$id.'\'"/>';
+    echo '<input type="hidden" name="searchcourse" value="'.$searchcourse.'"/>';
+    echo '<input type="hidden" name="feedbackid" value="'.$feedback->id.'"/>';
+    echo $OUTPUT->help_icon(moodle_help_icon::make('searchcourses', '', 'feedback', true));
+} else {
+    echo '<input type="text" name="searchcourse" value="'.$searchcourse.'"/> <input type="submit" value="'.get_string('searchcourses').'"/>';
+    echo $OUTPUT->help_icon(moodle_help_icon::make('searchcourses', '', 'feedback', true));
+}
+
+echo '</form>';
+
+if($coursemap = feedback_get_courses_from_sitecourse_map($feedback->id)) {
+    $table = new flexible_table('coursemaps');
+    $table->define_columns( array('course'));
+    $table->define_headers( array(get_string('mappedcourses', 'feedback')));
+
+    $table->setup();
+
+    foreach ($coursemap as $cmap) {
+        $table->add_data(array('<a href="'.htmlspecialchars('unmapcourse.php?id='.$id.'&cmapid='.$cmap->id).'"><img src="'.$OUTPUT->old_icon_url('t/delete') . '" alt="Delete" /></a> ('.$cmap->shortname.') '.$cmap->fullname));
     }
 
-    echo '</form>';
-
-    if($coursemap = feedback_get_courses_from_sitecourse_map($feedback->id)) {
-        $table = new flexible_table('coursemaps');
-        $table->define_columns( array('course'));
-        $table->define_headers( array(get_string('mappedcourses', 'feedback')));
-
-        $table->setup();
-
-        foreach ($coursemap as $cmap) {
-            $table->add_data(array('<a href="'.htmlspecialchars('unmapcourse.php?id='.$id.'&cmapid='.$cmap->id).'"><img src="'.$OUTPUT->old_icon_url('t/delete') . '" alt="Delete" /></a> ('.$cmap->shortname.') '.$cmap->fullname));
-        }
-
-        $table->print_html();
-    } else {
-        echo '<h3>'.get_string('mapcoursenone', 'feedback').'</h3>';
-    }
+    $table->print_html();
+} else {
+    echo '<h3>'.get_string('mapcoursenone', 'feedback').'</h3>';
+}
 
 
-    echo $OUTPUT->box_end();
+echo $OUTPUT->box_end();
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 6c8823b27a29f80a662b3b4a76a7f2a095a1702f..7e1557e425e79a6271b8388d8e4b21021cde56a2 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* print a printview of feedback-items
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * print a printview of feedback-items
+ *
+ * @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");
 
-    $id = required_param('id', PARAM_INT);
+$id = required_param('id', PARAM_INT);
 
-    $formdata = data_submitted();
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/print.php', array('id'=>$id)));
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+$formdata = data_submitted();
 
-        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 ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
-
-    if(!$capabilities->edititems){
-        print_error('error');
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    echo $OUTPUT->heading(format_text($feedback->name));
-
-    feedback_print_errors();
-
-    $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
-    if(is_array($feedbackitems)){
-        $itemnr = 0;
-
-        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-        echo '<div class="mdl-align printview"><table>';
-        //print the inserted items
-        $itempos = 0;
-        foreach($feedbackitems as $feedbackitem){
-            $itempos++;
-            echo '<tr>';
-            //Items without value only are labels
-            if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                $itemnr++;
-                echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-            } else {
-                echo '<td>&nbsp;</td>';
-            }
-            if($feedbackitem->typ != 'pagebreak') {
-                feedback_print_item($feedbackitem, false, false, true);
-            }else {
-                echo '<td class="feedback_print_pagebreak" colspan="2">&nbsp;</td>';
-            }
-            echo '</tr>';
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
+    }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->edititems){
+    print_error('error');
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+echo $OUTPUT->heading(format_text($feedback->name));
+
+feedback_print_errors();
+
+$feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
+if(is_array($feedbackitems)){
+    $itemnr = 0;
+
+    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+    echo '<div class="mdl-align printview"><table>';
+    //print the inserted items
+    $itempos = 0;
+    foreach($feedbackitems as $feedbackitem){
+        $itempos++;
+        echo '<tr>';
+        //Items without value only are labels
+        if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+            $itemnr++;
+            echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
+        } else {
+            echo '<td>&nbsp;</td>';
+        }
+        if($feedbackitem->typ != 'pagebreak') {
+            feedback_print_item($feedbackitem, false, false, true);
+        }else {
+            echo '<td class="feedback_print_pagebreak" colspan="2">&nbsp;</td>';
         }
-        echo '</table>';
-        echo '<font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font>';
-        echo '</div>';
-        echo $OUTPUT->box_end();
-    }else{
-        echo $OUTPUT->box(get_string('no_items_available_yet','feedback'),'generalbox boxaligncenter boxwidthwide');
+        echo '</tr>';
     }
-    echo $OUTPUT->continue_button('view.php?id='.$id);
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    echo $OUTPUT->footer();
-
-?>
+    echo '</table>';
+    echo '<font color="red">(*)' . get_string('items_are_required', 'feedback') . '</font>';
+    echo '</div>';
+    echo $OUTPUT->box_end();
+}else{
+    echo $OUTPUT->box(get_string('no_items_available_yet','feedback'),'generalbox boxaligncenter boxwidthwide');
+}
+echo $OUTPUT->continue_button('view.php?id='.$id);
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+echo $OUTPUT->footer();
+
+?>
\ No newline at end of file
index 96025ca1c5277e23f6e910bcee01223081a17f07..b5d5cc84f450dbc4a6faa4a91fa51d1ad4d72486 100644 (file)
-<?php // $Id$
+<?php
+
 /**
-* print the single entries
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
+ * print the single entries
+ *
+ * @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 the params
-    ////////////////////////////////////////////////////////
-    $id = required_param('id', PARAM_INT);
-    $userid = optional_param('userid', false, PARAM_INT);
-    $do_show = required_param('do_show', PARAM_ALPHA);
-    // $SESSION->feedback->current_tab = $do_show;
-    $current_tab = $do_show;
+////////////////////////////////////////////////////////
+//get the params
+////////////////////////////////////////////////////////
+$id = required_param('id', PARAM_INT);
+$userid = optional_param('userid', false, PARAM_INT);
+$do_show = required_param('do_show', PARAM_ALPHA);
+// $SESSION->feedback->current_tab = $do_show;
+$current_tab = $do_show;
 
-    ////////////////////////////////////////////////////////
-    //get the objects
-    ////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////
+//get the objects
+////////////////////////////////////////////////////////
 
-    if($userid) {
-        $formdata->userid = intval($userid);
-    }
+if($userid) {
+    $formdata->userid = intval($userid);
+}
 
-    if ($id) {
-        if (! $cm = get_coursemodule_from_id('feedback', $id)) {
-            print_error('invalidcoursemodule');
-        }
+if ($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 (! $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 (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
+}
 
-    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/edit.php', array('id'=>$cm->id, 'do_show'=>$do_show)));
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/show_entries.php', array('id'=>$cm->id, 'do_show'=>$do_show)));
 
-    $capabilities = feedback_load_capabilities($cm->id);
+$capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
+require_login($course->id, true, $cm);
 
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
-    }
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
 
-    if(!$capabilities->viewreports){
-        print_error('error');
-    }
+if(!$capabilities->viewreports){
+    print_error('error');
+}
 
-    ////////////////////////////////////////////////////////
-    //get the responses of given user
-    ////////////////////////////////////////////////////////
-    if($do_show == 'showoneentry') {
-        //get the feedbackitems
-        $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
-        $feedbackcompleted = $DB->get_record('feedback_completed', array('feedback'=>$feedback->id, 'userid'=>$formdata->userid, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO)); //arb
-    }
+////////////////////////////////////////////////////////
+//get the responses of given user
+////////////////////////////////////////////////////////
+if($do_show == 'showoneentry') {
+    //get the feedbackitems
+    $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
+    $feedbackcompleted = $DB->get_record('feedback_completed', array('feedback'=>$feedback->id, 'userid'=>$formdata->userid, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO)); //arb
+}
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
 
-    $PAGE->navbar->add(get_string('show_entries','feedback'));
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
+$PAGE->navbar->add(get_string('show_entries','feedback'));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
 
-    include('tabs.php');
+include('tabs.php');
 
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    ////////////////////////////////////////////////////////
-    /// Print the links to get responses and analysis
-    ////////////////////////////////////////////////////////
-    if($do_show == 'showentries'){
-        //print the link to analysis
-        if($capabilities->viewreports) {
-            //get the effective groupmode of this course and module
-            $groupmode = groupmode($course, $cm);
+////////////////////////////////////////////////////////
+/// Print the links to get responses and analysis
+////////////////////////////////////////////////////////
+if($do_show == 'showentries'){
+    //print the link to analysis
+    if($capabilities->viewreports) {
+        //get the effective groupmode of this course and module
+        if (isset($cm->groupmode) && empty($course->groupmodeforce)) {
+            $groupmode =  $cm->groupmode;
+        } else {
+            $groupmode = $course->groupmode;
+        }
 
-            $groupselect = groups_print_activity_menu($cm, 'show_entries.php?id=' . $cm->id.'&do_show=showentries', true);
-            $mygroupid = groups_get_activity_group($cm);
+        $groupselect = groups_print_activity_menu($cm, 'show_entries.php?id=' . $cm->id.'&do_show=showentries', true);
+        $mygroupid = groups_get_activity_group($cm);
 
-            //get students in conjunction with groupmode
-            if($groupmode > 0) {
+        //get students in conjunction with groupmode
+        if($groupmode > 0) {
 
-                if($mygroupid > 0) {
-                    $students = feedback_get_complete_users($cm, $mygroupid);
-                } else {
-                    $students = feedback_get_complete_users($cm);
-                }
-            }else {
+            if($mygroupid > 0) {
+                $students = feedback_get_complete_users($cm, $mygroupid);
+            } else {
                 $students = feedback_get_complete_users($cm);
             }
+        }else {
+            $students = feedback_get_complete_users($cm);
+        }
 
-            $completedFeedbackCount = feedback_get_completeds_group_count($feedback, $mygroupid);
-            if($feedback->course == SITEID){
-                echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis_course.php?id=' . $id . '&courseid='.$courseid).'">';
-                echo get_string('course') .' '. get_string('analysis', 'feedback') . ' ('.get_string('completed_feedbacks', 'feedback').': '.intval($completedFeedbackCount).')</a>';
-                echo $OUTPUT->help_icon(moodle_help_icon::make('viewcompleted', '', 'feedback', true));
-                echo '</div>';
-            }else {
-                echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
-                echo get_string('analysis', 'feedback') . ' ('.get_string('completed_feedbacks', 'feedback').': '.intval($completedFeedbackCount).')</a>';
-                echo '</div>';
-            }
+        $completedFeedbackCount = feedback_get_completeds_group_count($feedback, $mygroupid);
+        if($feedback->course == SITEID){
+            echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis_course.php?id=' . $id . '&courseid='.$courseid).'">';
+            echo get_string('course') .' '. get_string('analysis', 'feedback') . ' ('.get_string('completed_feedbacks', 'feedback').': '.intval($completedFeedbackCount).')</a>';
+            echo $OUTPUT->help_icon(moodle_help_icon::make('viewcompleted', '', 'feedback', true));
+            echo '</div>';
+        }else {
+            echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
+            echo get_string('analysis', 'feedback') . ' ('.get_string('completed_feedbacks', 'feedback').': '.intval($completedFeedbackCount).')</a>';
+            echo '</div>';
         }
+    }
 
-        //####### viewreports-start
-        if($capabilities->viewreports) {
-            //print the list of students
-            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-            echo isset($groupselect) ? $groupselect : '';
-            echo '<div class="clearer"></div>';
-            echo '<div class="mdl-align"><table><tr><td width="400">';
-            if (!$students) {
-                if($courseid != SITEID){
-                    echo $OUTPUT->notification(get_string('noexistingstudents'));
-                }
-            } else{
-                echo print_string('non_anonymous_entries', 'feedback');
-                echo ' ('.count($students).')<hr />';
+    //####### viewreports-start
+    if($capabilities->viewreports) {
+        //print the list of students
+        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+        echo isset($groupselect) ? $groupselect : '';
+        echo '<div class="clearer"></div>';
+        echo '<div class="mdl-align"><table><tr><td width="400">';
+        if (!$students) {
+            if($courseid != SITEID){
+                echo $OUTPUT->notification(get_string('noexistingstudents'));
+            }
+        } else{
+            echo print_string('non_anonymous_entries', 'feedback');
+            echo ' ('.count($students).')<hr />';
 
-                foreach ($students as $student){
-                    $completedCount = $DB->count_records('feedback_completed', array('userid'=>$student->id, 'feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO));
-                    if($completedCount > 0) {
-                     // Are we assuming that there is only one response per user? Should westep through a feedbackcompleteds? I added the addition anonymous check to the select so that only non-anonymous submissions are retrieved.
-                        $feedbackcompleted = $DB->get_record('feedback_completed', array('feedback'=>$feedback->id, ' userid'=>$student->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO));
-                    ?>
-                        <table width="100%">
-                            <tr>
-                                <td align="left">
-                                    <?php echo $OUTPUT->user_picture(moodle_user_picture::make($student, $course->id));?>
-                                </td>
-                                <td align="left">
-                                    <?php echo fullname($student);?>
-                                </td>
-                                <td align="right">
-                                <?php
-                                    $show_button_link = $ME;
-                                    $show_button_options = array('sesskey'=>sesskey(), 'userid'=>$student->id, 'do_show'=>'showoneentry', 'id'=>$id);
-                                    $show_button_label = get_string('show_entries', 'feedback');
-                                    echo $OUTPUT->button(html_form::make_button($show_button_link, $show_button_options, $show_button_label));
-                                ?>
-                                </td>
-                    <?php
-                        if($capabilities->deletesubmissions) {
-                    ?>
-                                <td align="right">
-                                <?php
-                                    $delete_button_link = 'delete_completed.php';
-                                    $delete_button_options = array('sesskey'=>sesskey(), 'completedid'=>$feedbackcompleted->id, 'do_show'=>'showoneentry', 'id'=>$id);
-                                    $delete_button_label = get_string('delete_entry', 'feedback');
-                                    echo $OUTPUT->button(html_form::make_button($delete_button_link, $delete_button_options, $delete_button_label));
-                                ?>
-                                </td>
-                    <?php
-                        }
-                    ?>
-                            </tr>
-                        </table>
-                    <?php
+            foreach ($students as $student){
+                $completedCount = $DB->count_records('feedback_completed', array('userid'=>$student->id, 'feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO));
+                if($completedCount > 0) {
+                 // Are we assuming that there is only one response per user? Should westep through a feedbackcompleteds? I added the addition anonymous check to the select so that only non-anonymous submissions are retrieved.
+                    $feedbackcompleted = $DB->get_record('feedback_completed', array('feedback'=>$feedback->id, ' userid'=>$student->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO));
+                ?>
+                    <table width="100%">
+                        <tr>
+                            <td align="left">
+                                <?php echo $OUTPUT->user_picture(moodle_user_picture::make($student, $course->id));?>
+                            </td>
+                            <td align="left">
+                                <?php echo fullname($student);?>
+                            </td>
+                            <td align="right">
+                            <?php
+                                $show_button_link = $ME;
+                                $show_button_options = array('sesskey'=>sesskey(), 'userid'=>$student->id, 'do_show'=>'showoneentry', 'id'=>$id);
+                                $show_button_label = get_string('show_entries', 'feedback');
+                                echo $OUTPUT->button(html_form::make_button($show_button_link, $show_button_options, $show_button_label));
+                            ?>
+                            </td>
+                <?php
+                    if($capabilities->deletesubmissions) {
+                ?>
+                            <td align="right">
+                            <?php
+                                $delete_button_link = 'delete_completed.php';
+                                $delete_button_options = array('sesskey'=>sesskey(), 'completedid'=>$feedbackcompleted->id, 'do_show'=>'showoneentry', 'id'=>$id);
+                                $delete_button_label = get_string('delete_entry', 'feedback');
+                                echo $OUTPUT->button(html_form::make_button($delete_button_link, $delete_button_options, $delete_button_label));
+                            ?>
+                            </td>
+                <?php
                     }
+                ?>
+                        </tr>
+                    </table>
+                <?php
                 }
             }
-    ?>
-            <hr />
-            <table width="100%">
-                <tr>
-                    <td align="left" colspan="2">
-                        <?php print_string('anonymous_entries', 'feedback');?>&nbsp;(<?php echo $DB->count_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES));?>)
-                    </td>
-                    <td align="right">
-                        <?php
-                            $show_anon_button_link = 'show_entries_anonym.php';
-                            $show_anon_button_options = array('sesskey'=>sesskey(), 'userid'=>0, 'do_show'=>'showoneentry', 'id'=>$id);
-                            $show_anon_button_label = get_string('show_entries', 'feedback');
-                            echo $OUTPUT->button(html_form::make_button($show_anon_button_link, $show_anon_button_options, $show_anon_button_label));
-                        ?>
-                    </td>
-                </tr>
-            </table>
-    <?php
-            echo '</td></tr></table></div>';
-            echo $OUTPUT->box_end();
         }
-
+?>
+        <hr />
+        <table width="100%">
+            <tr>
+                <td align="left" colspan="2">
+                    <?php print_string('anonymous_entries', 'feedback');?>&nbsp;(<?php echo $DB->count_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES));?>)
+                </td>
+                <td align="right">
+                    <?php
+                        $show_anon_button_link = 'show_entries_anonym.php';
+                        $show_anon_button_options = array('sesskey'=>sesskey(), 'userid'=>0, 'do_show'=>'showoneentry', 'id'=>$id);
+                        $show_anon_button_label = get_string('show_entries', 'feedback');
+                        echo $OUTPUT->button(html_form::make_button($show_anon_button_link, $show_anon_button_options, $show_anon_button_label));
+                    ?>
+                </td>
+            </tr>
+        </table>
+<?php
+        echo '</td></tr></table></div>';
+        echo $OUTPUT->box_end();
     }
-    ////////////////////////////////////////////////////////
-    /// Print the responses of the given user
-    ////////////////////////////////////////////////////////
-    if($do_show == 'showoneentry') {
-        echo $OUTPUT->heading(format_text($feedback->name));
 
-        //print the items
-        if(is_array($feedbackitems)){
-            $usr = $DB->get_record('user', array('id'=>$formdata->userid));
-            if($feedbackcompleted) {
-                echo '<p align="center">'.UserDate($feedbackcompleted->timemodified).'<br />('.fullname($usr).')</p>';
+}
+////////////////////////////////////////////////////////
+/// Print the responses of the given user
+////////////////////////////////////////////////////////
+if($do_show == 'showoneentry') {
+    echo $OUTPUT->heading(format_text($feedback->name));
+
+    //print the items
+    if(is_array($feedbackitems)){
+        $usr = $DB->get_record('user', array('id'=>$formdata->userid));
+        if($feedbackcompleted) {
+            echo '<p align="center">'.UserDate($feedbackcompleted->timemodified).'<br />('.fullname($usr).')</p>';
+        } else {
+            echo '<p align="center">'.get_string('not_completed_yet','feedback').'</p>';
+        }
+        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
+        echo '<form>';
+        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+        echo '<table width="100%">';
+        $itemnr = 0;
+        foreach($feedbackitems as $feedbackitem){
+            //get the values
+            $value = $DB->get_record('feedback_value', array('completed'=>$feedbackcompleted->id, 'item'=>$feedbackitem->id));
+            echo '<tr>';
+            if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+                $itemnr++;
+                echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
             } else {
-                echo '<p align="center">'.get_string('not_completed_yet','feedback').'</p>';
+                echo '<td>&nbsp;</td>';
             }
-            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
-            echo '<form>';
-            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-            echo '<table width="100%">';
-            $itemnr = 0;
-            foreach($feedbackitems as $feedbackitem){
-                //get the values
-                $value = $DB->get_record('feedback_value', array('completed'=>$feedbackcompleted->id, 'item'=>$feedbackitem->id));
-                echo '<tr>';
-                if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                    $itemnr++;
-                    echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-                } else {
-                    echo '<td>&nbsp;</td>';
-                }
 
-                if($feedbackitem->typ != 'pagebreak') {
-                    if(isset($value->value)) {
-                        feedback_print_item($feedbackitem, $value->value, true);
-                    }else {
-                        feedback_print_item($feedbackitem, false, true);
-                    }
+            if($feedbackitem->typ != 'pagebreak') {
+                if(isset($value->value)) {
+                    feedback_print_item($feedbackitem, $value->value, true);
                 }else {
-                    echo '<td><hr /></td>';
+                    feedback_print_item($feedbackitem, false, true);
                 }
-                echo '</tr>';
+            }else {
+                echo '<td><hr /></td>';
             }
-            echo '<tr><td colspan="2" align="center">';
-            echo '</td></tr>';
-            echo '</table>';
-            echo '</form>';
-            echo $OUTPUT->box_end();
+            echo '</tr>';
         }
-        echo $OUTPUT->continue_button(htmlspecialchars('show_entries.php?id='.$id.'&do_show=showentries'));
+        echo '<tr><td colspan="2" align="center">';
+        echo '</td></tr>';
+        echo '</table>';
+        echo '</form>';
+        echo $OUTPUT->box_end();
     }
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+    echo $OUTPUT->continue_button(htmlspecialchars('show_entries.php?id='.$id.'&do_show=showentries'));
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 6f3de3f904eadf8102bebd1983e74038f31b825e..98257b4b0afcdd5a1a72da86c587305f5bc65e32 100644 (file)
-<?php // $Id$
-/**
-* print the single-values of anonymous completeds
-*
-* @version $Id$
-* @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 = 'showoneentry';
-    $current_tab = 'showentries';
-
-    $id = required_param('id', PARAM_INT);
-    $userid = optional_param('userid', false, PARAM_INT);
+<?php
 
-    if(($formdata = data_submitted()) AND !confirm_sesskey()) {
-        print_error('invalidsesskey');
+/**
+ * print the single-values of anonymous completeds
+ *
+ * @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 = 'showoneentry';
+$current_tab = 'showentries';
+
+$id = required_param('id', PARAM_INT);
+$userid = optional_param('userid', false, PARAM_INT);
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/show_entries_anonym.php', array('id'=>$id));
+if ($userid !== '') {
+    $url->param('userid', $userid);
+}
+$PAGE->set_url($url);
+
+if(($formdata = data_submitted()) AND !confirm_sesskey()) {
+    print_error('invalidsesskey');
+}
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    if ($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 (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
 
-    require_login($course->id, true, $cm);
-
-    if(!$capabilities->viewreports){
-        print_error('error');
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-
-    //get the completeds
-    // if a new anonymous record has not been assigned a random response number
-    if ($feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'random_response'=>0, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'random_response')){ //arb
-        //then get all of the anonymous records and go through them
-        $feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'id'); //arb
-        shuffle($feedbackcompleteds);
-        $num = 1;
-        foreach($feedbackcompleteds as $compl){
-            $compl->random_response = $num;
-            $DB->update_record('feedback_completed', $compl);
-            $num++;
-        }
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->viewreports){
+    print_error('error');
+}
+
+
+//get the completeds
+// if a new anonymous record has not been assigned a random response number
+if ($feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'random_response'=>0, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'random_response')){ //arb
+    //then get all of the anonymous records and go through them
+    $feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'id'); //arb
+    shuffle($feedbackcompleteds);
+    $num = 1;
+    foreach($feedbackcompleteds as $compl){
+        $compl->random_response = $num;
+        $DB->update_record('feedback_completed', $compl);
+        $num++;
     }
-    $feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'random_response'); //arb
+}
+$feedbackcompleteds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_YES), 'random_response'); //arb
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
 
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
 
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
 
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    include('tabs.php');
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+include('tabs.php');
 
-    echo $OUTPUT->heading(format_text($feedback->name));
+echo $OUTPUT->heading(format_text($feedback->name));
 
-    echo $OUTPUT->continue_button(htmlspecialchars('show_entries.php?id='.$id.'&do_show=showentries'));
-    //print the list with anonymous completeds
-    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-    $PAGE->requires->js('mod/feedback/feedback.js');
+echo $OUTPUT->continue_button(htmlspecialchars('show_entries.php?id='.$id.'&do_show=showentries'));
+//print the list with anonymous completeds
+echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+$PAGE->requires->js('mod/feedback/feedback.js');
 ?>
-    <div class="mdl-align">
-    <form name="frm" action="<?php echo me();?>" method="post">
-        <table>
-            <tr>
-                <td>
-                    <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
-                    <select name="completedid" size="<?php echo (sizeof($feedbackcompleteds)>10)?10:5;?>">
+<div class="mdl-align">
+<form name="frm" action="<?php echo me();?>" method="post">
+    <table>
+        <tr>
+            <td>
+                <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
+                <select name="completedid" size="<?php echo (sizeof($feedbackcompleteds)>10)?10:5;?>">
 <?php
-                    if(is_array($feedbackcompleteds)) {
-                        $num = 1;
-                        foreach($feedbackcompleteds as $compl) {
-                            $selected = (isset($formdata->completedid) AND $formdata->completedid == $compl->id)?'selected="selected"':'';
-                            echo '<option value="'.$compl->id.'" '. $selected .'>'.get_string('response_nr', 'feedback').': '. $compl->random_response. '</option>';//arb
-                            $num++;
-                        }
+                if(is_array($feedbackcompleteds)) {
+                    $num = 1;
+                    foreach($feedbackcompleteds as $compl) {
+                        $selected = (isset($formdata->completedid) AND $formdata->completedid == $compl->id)?'selected="selected"':'';
+                        echo '<option value="'.$compl->id.'" '. $selected .'>'.get_string('response_nr', 'feedback').': '. $compl->random_response. '</option>';//arb
+                        $num++;
                     }
+                }
 ?>
-                    </select>
-                    <input type="hidden" name="showanonym" value="<?php echo FEEDBACK_ANONYMOUS_YES;?>" />
-                    <input type="hidden" name="id" value="<?php echo $id;?>" />
-                </td>
-                <td valign="top">
-                    <button type="submit"><?php print_string('show_entry', 'feedback');?></button><br />
-                    <button type="button" onclick="feedbackGo2delete(this.form);"><?php print_string('delete_entry', 'feedback');?></button>
-                </td>
-            </tr>
-        </table>
-    </form>
-    </div>
+                </select>
+                <input type="hidden" name="showanonym" value="<?php echo FEEDBACK_ANONYMOUS_YES;?>" />
+                <input type="hidden" name="id" value="<?php echo $id;?>" />
+            </td>
+            <td valign="top">
+                <button type="submit"><?php print_string('show_entry', 'feedback');?></button><br />
+                <button type="button" onclick="feedbackGo2delete(this.form);"><?php print_string('delete_entry', 'feedback');?></button>
+            </td>
+        </tr>
+    </table>
+</form>
+</div>
 <?php
-    echo $OUTPUT->box_end();
-    if(!isset($formdata->completedid)) {
-        $formdata = null;
-    }
-    //print the items
-    if(isset($formdata->showanonym) && $formdata->showanonym == FEEDBACK_ANONYMOUS_YES) {
-        //get the feedbackitems
-        $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
-        $feedbackcompleted = $DB->get_record('feedback_completed', array('id'=>$formdata->completedid));
-        if(is_array($feedbackitems)){
-            if($feedbackcompleted) {
-                echo '<p align="center">'.get_string('chosen_feedback_response', 'feedback').'<br />('.get_string('anonymous', 'feedback').')</p>';//arb
+echo $OUTPUT->box_end();
+if(!isset($formdata->completedid)) {
+    $formdata = null;
+}
+//print the items
+if(isset($formdata->showanonym) && $formdata->showanonym == FEEDBACK_ANONYMOUS_YES) {
+    //get the feedbackitems
+    $feedbackitems = $DB->get_records('feedback_item', array('feedback'=>$feedback->id), 'position');
+    $feedbackcompleted = $DB->get_record('feedback_completed', array('id'=>$formdata->completedid));
+    if(is_array($feedbackitems)){
+        if($feedbackcompleted) {
+            echo '<p align="center">'.get_string('chosen_feedback_response', 'feedback').'<br />('.get_string('anonymous', 'feedback').')</p>';//arb
+        } else {
+            echo '<p align="center">'.get_string('not_completed_yet','feedback').'</p>';
+        }
+        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
+        echo '<form>';
+        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+        echo '<table width="100%">';
+        $itemnr = 0;
+        foreach($feedbackitems as $feedbackitem){
+            //get the values
+            $value = $DB->get_record('feedback_value', array('completed'=>$feedbackcompleted->id, 'item'=>$feedbackitem->id));
+            echo '<tr>';
+            if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
+                $itemnr++;
+                echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
             } else {
-                echo '<p align="center">'.get_string('not_completed_yet','feedback').'</p>';
+                echo '<td>&nbsp;</td>';
             }
-            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
-            echo '<form>';
-            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-            echo '<table width="100%">';
-            $itemnr = 0;
-            foreach($feedbackitems as $feedbackitem){
-                //get the values
-                $value = $DB->get_record('feedback_value', array('completed'=>$feedbackcompleted->id, 'item'=>$feedbackitem->id));
-                echo '<tr>';
-                if($feedbackitem->hasvalue == 1 AND $feedback->autonumbering) {
-                    $itemnr++;
-                    echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-                } else {
-                    echo '<td>&nbsp;</td>';
-                }
-                if($feedbackitem->typ != 'pagebreak') {
-                    $itemvalue = isset($value->value) ? $value->value : false;
-                    feedback_print_item($feedbackitem, $itemvalue, true);
-                }else {
-                    echo '<td colspan="2"><hr /></td>';
-                }
-                echo '</tr>';
+            if($feedbackitem->typ != 'pagebreak') {
+                $itemvalue = isset($value->value) ? $value->value : false;
+                feedback_print_item($feedbackitem, $itemvalue, true);
+            }else {
+                echo '<td colspan="2"><hr /></td>';
             }
-            echo '<tr><td colspan="2" align="center">';
-            echo '</td></tr>';
-            echo '</table>';
-            echo '</form>';
-            echo $OUTPUT->box_end();
+            echo '</tr>';
         }
+        echo '<tr><td colspan="2" align="center">';
+        echo '</td></tr>';
+        echo '</table>';
+        echo '</form>';
+        echo $OUTPUT->box_end();
     }
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+}
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index 8bad837185ac2671c1b61d0d55224fc834709750..0976b5a052fe2855bf1bc047939c847ea288f0f4 100644 (file)
@@ -1,46 +1,52 @@
-<?php // $Id$
+<?php
+
 /**
-* drops records from feedback_sitecourse_map
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
-
-    require_once("../../config.php");
-    require_once($CFG->dirroot.'/mod/feedback/lib.php');
-
-    $id = required_param('id', PARAM_INT);
-    $cmapid = required_param('cmapid', PARAM_INT);
-    
-    if ($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');
-        }
+ * drops records from feedback_sitecourse_map
+ *
+ * @author Andreas Grabs
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package feedback
+ */
+
+require_once("../../config.php");
+require_once($CFG->dirroot.'/mod/feedback/lib.php');
+
+$id = required_param('id', PARAM_INT);
+$cmapid = required_param('cmapid', PARAM_INT);
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/unmapcourse.php', array('id'=>$id));
+if ($cmapid !== '') {
+    $url->param('cmapid', $cmapid);
+}
+$PAGE->set_url($url);
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
-    $capabilities = feedback_load_capabilities($cm->id);
-    
-    if (!$capabilities->mapcourse) {
-        print_error('invalidaccess');
+
+    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');
+    }
+}
+$capabilities = feedback_load_capabilities($cm->id);
 
-    // cleanup all lost entries after deleting courses or feedbacks
-    feedback_clean_up_sitecourse_map();
+if (!$capabilities->mapcourse) {
+    print_error('invalidaccess');
+}
 
-    if ($DB->delete_records('feedback_sitecourse_map', array('id'=>$cmapid))) {
-        redirect (htmlspecialchars('mapcourse.php?id='.$id));
-    } else {
-        print_error('cannotunmap', 'feedback');
-    }
 
-?>
+// cleanup all lost entries after deleting courses or feedbacks
+feedback_clean_up_sitecourse_map();
+
+if ($DB->delete_records('feedback_sitecourse_map', array('id'=>$cmapid))) {
+    redirect (htmlspecialchars('mapcourse.php?id='.$id));
+} else {
+    print_error('cannotunmap', 'feedback');
+}
+
+?>
\ No newline at end of file
index f648c913672629dcce769489ef0020afa0d7175d..67f4151ea8f4e0508c943571afa1da416d4c6f37 100644 (file)
-<?php // $Id$
-/**
-* print the confirm dialog to use template and create new items from template
-*
-* @version $Id$
-* @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('use_templ_form.php');
-
-    $id = required_param('id', PARAM_INT);
-    $templateid = optional_param('templateid', false, PARAM_INT);
-    $deleteolditems = optional_param('deleteolditems', 0, PARAM_INT);
-
-    if(!$templateid) {
-        redirect('edit.php?id='.$id);
-    }
-
-    if ($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');
-        }
-    }
-    $capabilities = feedback_load_capabilities($cm->id);
-
-    require_login($course->id, true, $cm);
-
-    if(!$capabilities->edititems){
-        print_error('error');
-    }
+<?php
 
-    $mform = new mod_feedback_use_templ_form();
-    $newformdata = array('id'=>$id,
-                        'templateid'=>$templateid,
-                        'confirmadd'=>'1',
-                        'deleteolditems'=>'1',
-                        'do_show'=>'edit');
-    $mform->set_data($newformdata);
-    $formdata = $mform->get_data();
-
-    if ($mform->is_cancelled()) {
-        redirect('edit.php?id='.$id.'&do_show=templates');
+/**
+ * print the confirm dialog to use template and create new items from 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('use_templ_form.php');
+
+$id = required_param('id', PARAM_INT);
+$templateid = optional_param('templateid', false, PARAM_INT);
+$deleteolditems = optional_param('deleteolditems', 0, PARAM_INT);
+
+if(!$templateid) {
+    redirect('edit.php?id='.$id);
+}
+
+$url = new moodle_url($CFG->wwwroot.'/mod/feedback/use_templ.php', array('id'=>$id,'templateid'=>$templateid));
+if ($deleteolditems !== 0) {
+    $url->param('deleteolditems', $deleteolditems);
+}
+$PAGE->set_url($url);
+
+if ($id) {
+    if (! $cm = get_coursemodule_from_id('feedback', $id)) {
+        print_error('invalidcoursemodule');
     }
 
-    if(isset($formdata->confirmadd) AND $formdata->confirmadd == 1){
-        feedback_items_from_template($feedback, $templateid, $deleteolditems);
-        redirect('edit.php?id=' . $id);
+    if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
+        print_error('coursemisconf');
     }
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
-    $PAGE->navbar->add(format_string($feedback->name));
-
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    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('confirmusetemplate', 'feedback'));
-
-    $mform->display();
-
-    echo $OUTPUT->box_end();
-
-    $templateitems = $DB->get_records('feedback_item', array('template'=>$templateid), 'position');
-    if(is_array($templateitems)){
-        $templateitems = array_values($templateitems);
+    if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) {
+        print_error('invalidcoursemodule');
     }
-
-    if(is_array($templateitems)){
-        $itemnr = 0;
-        echo '<p align="center">'.get_string('preview', 'feedback').'</p>';
-        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-        echo '<div class="mdl-align"><table>';
-        foreach($templateitems as $templateitem){
-            echo '<tr>';
-            if($templateitem->hasvalue == 1 AND $feedback->autonumbering) {
-                $itemnr++;
-                echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
-            } else {
-                echo '<td>&nbsp;</td>';
-            }
-            if($templateitem->typ != 'pagebreak') {
-                feedback_print_item($templateitem);
-            }else {
-                echo '<td><hr /></td><td>'.get_string('pagebreak', 'feedback').'</td>';
-            }
-            echo '</tr>';
-            echo '<tr><td>&nbsp;</td></tr>';
+}
+$capabilities = feedback_load_capabilities($cm->id);
+
+require_login($course->id, true, $cm);
+
+if(!$capabilities->edititems){
+    print_error('error');
+}
+
+$mform = new mod_feedback_use_templ_form();
+$newformdata = array('id'=>$id,
+                    'templateid'=>$templateid,
+                    'confirmadd'=>'1',
+                    'deleteolditems'=>'1',
+                    'do_show'=>'edit');
+$mform->set_data($newformdata);
+$formdata = $mform->get_data();
+
+if ($mform->is_cancelled()) {
+    redirect('edit.php?id='.$id.'&do_show=templates');
+}
+
+if(isset($formdata->confirmadd) AND $formdata->confirmadd == 1){
+    feedback_items_from_template($feedback, $templateid, $deleteolditems);
+    redirect('edit.php?id=' . $id);
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->navbar->add($strfeedbacks, new moodle_url($CFG->wwwroot.'/mod/feedback/index.php', array('id'=>$course->id)));
+$PAGE->navbar->add(format_string($feedback->name));
+
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+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('confirmusetemplate', 'feedback'));
+
+$mform->display();
+
+echo $OUTPUT->box_end();
+
+$templateitems = $DB->get_records('feedback_item', array('template'=>$templateid), 'position');
+if(is_array($templateitems)){
+    $templateitems = array_values($templateitems);
+}
+
+if(is_array($templateitems)){
+    $itemnr = 0;
+    echo '<p align="center">'.get_string('preview', 'feedback').'</p>';
+    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+    echo '<div class="mdl-align"><table>';
+    foreach($templateitems as $templateitem){
+        echo '<tr>';
+        if($templateitem->hasvalue == 1 AND $feedback->autonumbering) {
+            $itemnr++;
+            echo '<td valign="top">' . $itemnr . '.&nbsp;</td>';
+        } else {
+            echo '<td>&nbsp;</td>';
+        }
+        if($templateitem->typ != 'pagebreak') {
+            feedback_print_item($templateitem);
+        }else {
+            echo '<td><hr /></td><td>'.get_string('pagebreak', 'feedback').'</td>';
         }
-        echo '</table></div>';
-        echo $OUTPUT->box_end();
-    }else{
-        echo $OUTPUT->box(get_string('no_items_available_at_this_template','feedback'),'generalbox boxaligncenter boxwidthwide');
+        echo '</tr>';
+        echo '<tr><td>&nbsp;</td></tr>';
     }
+    echo '</table></div>';
+    echo $OUTPUT->box_end();
+}else{
+    echo $OUTPUT->box(get_string('no_items_available_at_this_template','feedback'),'generalbox boxaligncenter boxwidthwide');
+}
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file
index d642845d8e330a1dc766653217a2cb8c8f6c0dd7..fe69ea70f891bfeee883c6b32bdb8e9a963894c5 100644 (file)
-<?php // $Id$
-/**
-* the first page to view the feedback
-*
-* @version $Id$
-* @author Andreas Grabs
-* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
-* @package feedback
-*/
-    require_once("../../config.php");
-    require_once("lib.php");
-
-    $id = required_param('id', PARAM_INT);
-    $courseid = optional_param('courseid', false, PARAM_INT);
-
-    // $SESSION->feedback->current_tab = 'view';
-    $current_tab = 'view';
-
-    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');
-    }
-
-    $capabilities = feedback_load_capabilities($cm->id);
+<?php
 
-    if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
-        $capabilities->complete = 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 !$capabilities->edititems) {
-        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('invalidcoursemodule');
-            }
+/**
+ * the first page to view 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");
+
+$id = required_param('id', PARAM_INT);
+$courseid = optional_param('courseid', false, PARAM_INT);
+
+// $SESSION->feedback->current_tab = 'view';
+$current_tab = 'view';
+
+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');
+}
+
+$capabilities = feedback_load_capabilities($cm->id);
+
+if($feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
+    $capabilities->complete = 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 !$capabilities->edititems) {
+    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('invalidcoursemodule');
         }
     }
+}
 
-    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);
-        }
+if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
+    if($course->id == SITEID) {
+        require_login($course->id, true);
+    }else {
+        require_login($course->id, 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');
-        }
+} else {
+    if($course->id == SITEID) {
+        require_course_login($course, true);
+    }else {
+        require_course_login($course, true, $cm);
     }
-
-    if($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
-        add_to_log($course->id, 'feedback', 'view', 'view.php?id='.$cm->id, $feedback->id,$cm->id);
+}
+
+//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_NO) {
+    add_to_log($course->id, 'feedback', 'view', 'view.php?id='.$cm->id, $feedback->id,$cm->id);
+}
+
+/// Print the page header
+$strfeedbacks = get_string("modulenameplural", "feedback");
+$strfeedback  = get_string("modulename", "feedback");
+
+$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/view.php', array('id'=>$cm->id, 'do_show'=>'view')));
+$PAGE->set_title(format_string($feedback->name));
+$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'feedback'));
+echo $OUTPUT->header();
+
+//ishidden check.
+//feedback in courses
+if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
+    notice(get_string("activityiscurrentlyhidden"));
+}
+
+//ishidden check.
+//feedback on mainsite
+if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) {
+    notice(get_string("activityiscurrentlyhidden"));
+}
+
+/// Print the main part of the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+/// print the tabs
+include('tabs.php');
+
+echo $OUTPUT->heading(format_text($feedback->name));
+
+echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+$options = (object)array('noclean'=>true);
+echo format_module_intro('feedback', $feedback, $cm->id);
+echo $OUTPUT->box_end();
+
+if($capabilities->edititems) {
+    echo $OUTPUT->heading(get_string("page_after_submit", "feedback"), 4);
+    echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+    echo format_text($feedback->page_after_submit);
+    echo $OUTPUT->box_end();
+}
 
-    /// Print the page header
-    $strfeedbacks = get_string("modulenameplural", "feedback");
-    $strfeedback  = get_string("modulename", "feedback");
-    $buttontext = update_module_button($cm->id, $course->id, $strfeedback);
-
-    $PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/feedback/view.php', array('id'=>$cm->id, 'do_show'=>'view')));
-    $PAGE->set_title(format_string($feedback->name));
-    $PAGE->set_button($buttontext);
-    echo $OUTPUT->header();
-
-    //ishidden check.
-    //feedback in courses
-    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) {
-        notice(get_string("activityiscurrentlyhidden"));
+if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
+    if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
+        echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
+        echo get_string('completed_feedbacks', 'feedback').'</a>';
+        echo '</div>';
     }
+}
+echo '<p>';
 
-    //ishidden check.
-    //feedback on mainsite
-    if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) {
-        notice(get_string("activityiscurrentlyhidden"));
+//####### mapcourse-start
+if($capabilities->mapcourse) {
+    if($feedback->course == SITEID) {
+        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
+        echo '<div class="mdl-align">';
+        echo '<form action="mapcourse.php" method="get">';
+        echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
+        echo '<input type="hidden" name="id" value="'.$id.'" />';
+        echo '<button type="submit">'.get_string('mapcourses', 'feedback').'</button>';
+        echo $OUTPUT->help_icon(moodle_help_icon::make('mapcourse', '', 'feedback', true));
+        echo '</form>';
+        echo '<br />';
+        echo '</div>';
+        echo $OUTPUT->box_end();
     }
+}
+//####### mapcourse-end
 
-    /// Print the main part of the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    /// print the tabs
-    include('tabs.php');
-
-    echo $OUTPUT->heading(format_text($feedback->name));
-
+//####### completed-start
+if($capabilities->complete) {
     echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-    $options = (object)array('noclean'=>true);
-    echo format_module_intro('feedback', $feedback, $cm->id);
-    echo $OUTPUT->box_end();
-
-    if($capabilities->edititems) {
-        echo $OUTPUT->heading(get_string("page_after_submit", "feedback"), 4);
-        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-        echo format_text($feedback->page_after_submit);
+    //check, whether the feedback is open (timeopen, timeclose)
+    $checktime = time();
+    if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
+        echo $OUTPUT->box_start('generalbox boxaligncenter');
+            echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
+            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
         echo $OUTPUT->box_end();
+        echo $OUTPUT->footer();
+        exit;
     }
 
-    if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
-        if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
-            echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
-            echo get_string('completed_feedbacks', 'feedback').'</a>';
-            echo '</div>';
-        }
-    }
-    echo '<p>';
-
-    //####### mapcourse-start
-    if($capabilities->mapcourse) {
-        if($feedback->course == SITEID) {
-            echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-            echo '<div class="mdl-align">';
-            echo '<form action="mapcourse.php" method="get">';
-            echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
-            echo '<input type="hidden" name="id" value="'.$id.'" />';
-            echo '<button type="submit">'.get_string('mapcourses', 'feedback').'</button>';
-            echo $OUTPUT->help_icon(moodle_help_icon::make('mapcourse', '', 'feedback', true));
-            echo '</form>';
-            echo '<br />';
-            echo '</div>';
-            echo $OUTPUT->box_end();
+    //check multiple Submit
+    $feedback_can_submit = true;
+    if($feedback->multiple_submit == 0 ) {
+        if(feedback_is_already_submitted($feedback->id, $courseid)) {
+            $feedback_can_submit = false;
         }
     }
-    //####### mapcourse-end
-
-    //####### completed-start
-    if($capabilities->complete) {
-        echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');
-        //check, whether the feedback is open (timeopen, timeclose)
-        $checktime = time();
-        if(($feedback->timeopen > $checktime) OR ($feedback->timeclose < $checktime AND $feedback->timeclose > 0)) {
-            echo $OUTPUT->box_start('generalbox boxaligncenter');
-                echo '<h2><font color="red">'.get_string('feedback_is_not_open', 'feedback').'</font></h2>';
-                echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-            echo $OUTPUT->box_end();
-            echo $OUTPUT->footer();
-            exit;
-        }
-
-        //check multiple Submit
-        $feedback_can_submit = true;
-        if($feedback->multiple_submit == 0 ) {
-            if(feedback_is_already_submitted($feedback->id, $courseid)) {
-                $feedback_can_submit = false;
-            }
+    if($feedback_can_submit) {
+        //if the user is not known so we cannot save the values temporarly
+        if(!isset($USER->username) OR $USER->username == 'guest') {
+            $completefile = 'complete_guest.php';
+            $guestid = sesskey();
+        }else {
+            $completefile = 'complete.php';
+            $guestid = false;
         }
-        if($feedback_can_submit) {
-            //if the user is not known so we cannot save the values temporarly
-            if(!isset($USER->username) OR $USER->username == 'guest') {
-                $completefile = 'complete_guest.php';
-                $guestid = sesskey();
-            }else {
-                $completefile = 'complete.php';
-                $guestid = false;
-            }
-            if($feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid, $guestid)) {
-                if($startpage = feedback_get_page_to_continue($feedback->id, $courseid, $guestid)) {
-                    echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage='.$startpage.'&courseid='.$courseid).'">'.get_string('continue_the_form', 'feedback').'</a>';
-                }else {
-                    echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage=0&courseid='.$courseid).'">'.get_string('continue_the_form', 'feedback').'</a>';
-                }
+        if($feedbackcompletedtmp = feedback_get_current_completed($feedback->id, true, $courseid, $guestid)) {
+            if($startpage = feedback_get_page_to_continue($feedback->id, $courseid, $guestid)) {
+                echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage='.$startpage.'&courseid='.$courseid).'">'.get_string('continue_the_form', 'feedback').'</a>';
             }else {
-                echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage=0&courseid='.$courseid).'">'.get_string('complete_the_form', 'feedback').'</a>';
+                echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage=0&courseid='.$courseid).'">'.get_string('continue_the_form', 'feedback').'</a>';
             }
         }else {
-            echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
-            if($courseid) {
-                echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$courseid);
-            }else {
-                echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
-            }
+            echo '<a href="'.htmlspecialchars($completefile.'?id='.$id.'&gopage=0&courseid='.$courseid).'">'.get_string('complete_the_form', 'feedback').'</a>';
+        }
+    }else {
+        echo '<h2><font color="red">'.get_string('this_feedback_is_already_submitted', 'feedback').'</font></h2>';
+        if($courseid) {
+            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$courseid);
+        }else {
+            echo $OUTPUT->continue_button($CFG->wwwroot.'/course/view.php?id='.$course->id);
         }
-        echo $OUTPUT->box_end();
     }
-    //####### completed-end
-    echo "</p>";
+    echo $OUTPUT->box_end();
+}
+//####### completed-end
+echo "</p>";
 
-    /// Finish the page
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
+/// Finish the page
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
 
-    echo $OUTPUT->footer();
+echo $OUTPUT->footer();
 
-?>
+?>
\ No newline at end of file