Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/workshop/excompare.php
Go to the documentation of this file.
00001 <?php
00002 
00003 // This file is part of Moodle - http://moodle.org/
00004 //
00005 // Moodle is free software: you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation, either version 3 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // Moodle is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
00017 
00027 require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
00028 require_once(dirname(__FILE__).'/locallib.php');
00029 
00030 $cmid   = required_param('cmid', PARAM_INT);    // course module id
00031 $sid    = required_param('sid', PARAM_INT);     // example submission id
00032 $aid    = required_param('aid', PARAM_INT);     // the user's assessment id
00033 
00034 $cm     = get_coursemodule_from_id('workshop', $cmid, 0, false, MUST_EXIST);
00035 $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
00036 
00037 require_login($course, false, $cm);
00038 if (isguestuser()) {
00039     print_error('guestsarenotallowed');
00040 }
00041 
00042 $workshop = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST);
00043 $workshop = new workshop($workshop, $cm, $course);
00044 $strategy = $workshop->grading_strategy_instance();
00045 
00046 $PAGE->set_url($workshop->excompare_url($sid, $aid));
00047 
00048 $example    = $workshop->get_example_by_id($sid);
00049 $assessment = $workshop->get_assessment_by_id($aid);
00050 if ($assessment->submissionid != $example->id) {
00051    print_error('invalidarguments');
00052 }
00053 $mformassessment = $strategy->get_assessment_form($PAGE->url, 'assessment', $assessment, false);
00054 if ($refasid = $DB->get_field('workshop_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1))) {
00055     $reference = $workshop->get_assessment_by_id($refasid);
00056     $mformreference = $strategy->get_assessment_form($PAGE->url, 'assessment', $reference, false);
00057 }
00058 
00059 $canmanage  = has_capability('mod/workshop:manageexamples', $workshop->context);
00060 $isreviewer = ($USER->id == $assessment->reviewerid);
00061 
00062 if ($canmanage) {
00063     // ok you can go
00064 } elseif ($isreviewer and $workshop->assessing_examples_allowed()) {
00065     // ok you can go
00066 } else {
00067     print_error('nopermissions', 'error', $workshop->view_url(), 'compare example assessment');
00068 }
00069 
00070 $PAGE->set_title($workshop->name);
00071 $PAGE->set_heading($course->fullname);
00072 $PAGE->navbar->add(get_string('examplecomparing', 'workshop'));
00073 
00074 // Output starts here
00075 $output = $PAGE->get_renderer('mod_workshop');
00076 echo $output->header();
00077 echo $output->heading(get_string('assessedexample', 'workshop'), 2);
00078 
00079 echo $output->render($workshop->prepare_example_submission($example));
00080 
00081 // if the reference assessment is available, display it
00082 if (!empty($mformreference)) {
00083     $options = array(
00084         'showreviewer'  => false,
00085         'showauthor'    => false,
00086         'showform'      => true,
00087     );
00088     $reference = $workshop->prepare_example_reference_assessment($reference, $mformreference, $options);
00089     $reference->title = get_string('assessmentreference', 'workshop');
00090     if ($canmanage) {
00091         $reference->url = $workshop->exassess_url($reference->id);
00092     }
00093     echo $output->render($reference);
00094 }
00095 
00096 if ($isreviewer) {
00097     $options = array(
00098         'showreviewer'  => true,
00099         'showauthor'    => false,
00100         'showform'      => true,
00101     );
00102     $assessment = $workshop->prepare_example_assessment($assessment, $mformassessment, $options);
00103     $assessment->title = get_string('assessmentbyyourself', 'workshop');
00104     if ($workshop->assessing_examples_allowed()) {
00105         $assessment->add_action(
00106             new moodle_url($workshop->exsubmission_url($example->id), array('assess' => 'on', 'sesskey' => sesskey())),
00107             get_string('reassess', 'workshop')
00108         );
00109     }
00110     echo $output->render($assessment);
00111 
00112 } elseif ($canmanage) {
00113     $options = array(
00114         'showreviewer'  => true,
00115         'showauthor'    => false,
00116         'showform'      => true,
00117     );
00118     $assessment = $workshop->prepare_example_assessment($assessment, $mformassessment, $options);
00119     echo $output->render($assessment);
00120 }
00121 
00122 echo $output->footer();
 All Data Structures Namespaces Files Functions Variables Enumerations