Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/workshop/view.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 
00030 require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
00031 require_once(dirname(__FILE__).'/locallib.php');
00032 require_once($CFG->libdir.'/completionlib.php');
00033 
00034 $id         = optional_param('id', 0, PARAM_INT); // course_module ID, or
00035 $w          = optional_param('w', 0, PARAM_INT);  // workshop instance ID
00036 $editmode   = optional_param('editmode', null, PARAM_BOOL);
00037 
00038 if ($id) {
00039     $cm         = get_coursemodule_from_id('workshop', $id, 0, false, MUST_EXIST);
00040     $course     = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
00041     $workshop   = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST);
00042 } else {
00043     $workshop   = $DB->get_record('workshop', array('id' => $w), '*', MUST_EXIST);
00044     $course     = $DB->get_record('course', array('id' => $workshop->course), '*', MUST_EXIST);
00045     $cm         = get_coursemodule_from_instance('workshop', $workshop->id, $course->id, false, MUST_EXIST);
00046 }
00047 
00048 require_login($course, true, $cm);
00049 require_capability('mod/workshop:view', $PAGE->context);
00050 
00051 $workshop = new workshop($workshop, $cm, $course);
00052 $workshop->log('view');
00053 
00054 // Mark viewed
00055 $completion = new completion_info($course);
00056 $completion->set_module_viewed($cm);
00057 
00058 if (!is_null($editmode) && $PAGE->user_allowed_editing()) {
00059     $USER->editing = $editmode;
00060 }
00061 
00062 $PAGE->set_url($workshop->view_url());
00063 $PAGE->set_title($workshop->name);
00064 $PAGE->set_heading($course->fullname);
00065 
00066 $output = $PAGE->get_renderer('mod_workshop');
00067 $userplan = new workshop_user_plan($workshop, $USER->id);
00068 
00070 
00071 echo $output->header();
00072 echo $output->heading_with_help(format_string($workshop->name), 'userplan', 'workshop');
00073 echo $output->render($userplan);
00074 
00075 switch ($workshop->phase) {
00076 case workshop::PHASE_SETUP:
00077     if (trim($workshop->intro)) {
00078         print_collapsible_region_start('', 'workshop-viewlet-intro', get_string('introduction', 'workshop'));
00079         echo $output->box(format_module_intro('workshop', $workshop, $workshop->cm->id), 'generalbox');
00080         print_collapsible_region_end();
00081     }
00082     if ($workshop->useexamples and has_capability('mod/workshop:manageexamples', $PAGE->context)) {
00083         print_collapsible_region_start('', 'workshop-viewlet-allexamples', get_string('examplesubmissions', 'workshop'));
00084         echo $output->box_start('generalbox examples');
00085         if ($workshop->grading_strategy_instance()->form_ready()) {
00086             if (! $examples = $workshop->get_examples_for_manager()) {
00087                 echo $output->container(get_string('noexamples', 'workshop'), 'noexamples');
00088             }
00089             foreach ($examples as $example) {
00090                 $summary = $workshop->prepare_example_summary($example);
00091                 $summary->editable = true;
00092                 echo $output->render($summary);
00093             }
00094             $aurl = new moodle_url($workshop->exsubmission_url(0), array('edit' => 'on'));
00095             echo $output->single_button($aurl, get_string('exampleadd', 'workshop'), 'get');
00096         } else {
00097             echo $output->container(get_string('noexamplesformready', 'workshop'));
00098         }
00099         echo $output->box_end();
00100         print_collapsible_region_end();
00101     }
00102     break;
00103 case workshop::PHASE_SUBMISSION:
00104     if (trim($workshop->instructauthors)) {
00105         $instructions = file_rewrite_pluginfile_urls($workshop->instructauthors, 'pluginfile.php', $PAGE->context->id,
00106             'mod_workshop', 'instructauthors', 0, workshop::instruction_editors_options($PAGE->context));
00107         print_collapsible_region_start('', 'workshop-viewlet-instructauthors', get_string('instructauthors', 'workshop'));
00108         echo $output->box(format_text($instructions, $workshop->instructauthorsformat, array('overflowdiv'=>true)), array('generalbox', 'instructions'));
00109         print_collapsible_region_end();
00110     }
00111 
00112     // does the user have to assess examples before submitting their own work?
00113     $examplesmust = ($workshop->useexamples and $workshop->examplesmode == workshop::EXAMPLES_BEFORE_SUBMISSION);
00114 
00115     // is the assessment of example submissions considered finished?
00116     $examplesdone = has_capability('mod/workshop:manageexamples', $workshop->context);
00117     if ($workshop->assessing_examples_allowed()
00118             and has_capability('mod/workshop:submit', $workshop->context)
00119                     and ! has_capability('mod/workshop:manageexamples', $workshop->context)) {
00120         $examples = $userplan->get_examples();
00121         $total = count($examples);
00122         $left = 0;
00123         // make sure the current user has all examples allocated
00124         foreach ($examples as $exampleid => $example) {
00125             if (is_null($example->assessmentid)) {
00126                 $examples[$exampleid]->assessmentid = $workshop->add_allocation($example, $USER->id, 0);
00127             }
00128             if (is_null($example->grade)) {
00129                 $left++;
00130             }
00131         }
00132         if ($left > 0 and $workshop->examplesmode != workshop::EXAMPLES_VOLUNTARY) {
00133             $examplesdone = false;
00134         } else {
00135             $examplesdone = true;
00136         }
00137         print_collapsible_region_start('', 'workshop-viewlet-examples', get_string('exampleassessments', 'workshop'), false, $examplesdone);
00138         echo $output->box_start('generalbox exampleassessments');
00139         if ($total == 0) {
00140             echo $output->heading(get_string('noexamples', 'workshop'), 3);
00141         } else {
00142             foreach ($examples as $example) {
00143                 $summary = $workshop->prepare_example_summary($example);
00144                 echo $output->render($summary);
00145             }
00146         }
00147         echo $output->box_end();
00148         print_collapsible_region_end();
00149     }
00150 
00151     if (has_capability('mod/workshop:submit', $PAGE->context) and (!$examplesmust or $examplesdone)) {
00152         print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'));
00153         echo $output->box_start('generalbox ownsubmission');
00154         if ($submission = $workshop->get_submission_by_author($USER->id)) {
00155             echo $output->render($workshop->prepare_submission_summary($submission, true));
00156             if ($workshop->modifying_submission_allowed($USER->id)) {
00157                 $btnurl = new moodle_url($workshop->submission_url(), array('edit' => 'on'));
00158                 $btntxt = get_string('editsubmission', 'workshop');
00159             }
00160         } else {
00161             echo $output->container(get_string('noyoursubmission', 'workshop'));
00162             if ($workshop->creating_submission_allowed($USER->id)) {
00163                 $btnurl = new moodle_url($workshop->submission_url(), array('edit' => 'on'));
00164                 $btntxt = get_string('createsubmission', 'workshop');
00165             }
00166         }
00167         if (!empty($btnurl)) {
00168             echo $output->single_button($btnurl, $btntxt, 'get');
00169         }
00170         echo $output->box_end();
00171         print_collapsible_region_end();
00172     }
00173 
00174     if (has_capability('mod/workshop:viewallsubmissions', $PAGE->context)) {
00175         $shownames = has_capability('mod/workshop:viewauthornames', $PAGE->context);
00176         print_collapsible_region_start('', 'workshop-viewlet-allsubmissions', get_string('allsubmissions', 'workshop'));
00177         echo $output->box_start('generalbox allsubmissions');
00178         if (! $submissions = $workshop->get_submissions('all')) {
00179             echo $output->container(get_string('nosubmissions', 'workshop'), 'nosubmissions');
00180         }
00181         foreach ($submissions as $submission) {
00182             echo $output->render($workshop->prepare_submission_summary($submission, $shownames));
00183         }
00184         echo $output->box_end();
00185         print_collapsible_region_end();
00186     }
00187 
00188     break;
00189 
00190 case workshop::PHASE_ASSESSMENT:
00191 
00192     $ownsubmissionexists = null;
00193     if (has_capability('mod/workshop:submit', $PAGE->context)) {
00194         if ($ownsubmission = $workshop->get_submission_by_author($USER->id)) {
00195             print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'), false, true);
00196             echo $output->box_start('generalbox ownsubmission');
00197             echo $output->render($workshop->prepare_submission_summary($ownsubmission, true));
00198             $ownsubmissionexists = true;
00199         } else {
00200             print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'));
00201             echo $output->box_start('generalbox ownsubmission');
00202             echo $output->container(get_string('noyoursubmission', 'workshop'));
00203             $ownsubmissionexists = false;
00204             if ($workshop->creating_submission_allowed($USER->id)) {
00205                 $btnurl = new moodle_url($workshop->submission_url(), array('edit' => 'on'));
00206                 $btntxt = get_string('createsubmission', 'workshop');
00207             }
00208         }
00209         if (!empty($btnurl)) {
00210             echo $output->single_button($btnurl, $btntxt, 'get');
00211         }
00212         echo $output->box_end();
00213         print_collapsible_region_end();
00214     }
00215 
00216     if (has_capability('mod/workshop:viewallassessments', $PAGE->context)) {
00217         $page       = optional_param('page', 0, PARAM_INT);
00218         $sortby     = optional_param('sortby', 'lastname', PARAM_ALPHA);
00219         $sorthow    = optional_param('sorthow', 'ASC', PARAM_ALPHA);
00220         $perpage    = 10;           // todo let the user modify this
00221         $groups     = '';           // todo let the user choose the group
00222         $PAGE->set_url($PAGE->url, compact('sortby', 'sorthow', 'page')); // TODO: this is suspicious
00223         $data = $workshop->prepare_grading_report_data($USER->id, $groups, $page, $perpage, $sortby, $sorthow);
00224         if ($data) {
00225             $showauthornames    = has_capability('mod/workshop:viewauthornames', $workshop->context);
00226             $showreviewernames  = has_capability('mod/workshop:viewreviewernames', $workshop->context);
00227 
00228             // prepare paging bar
00229             $pagingbar              = new paging_bar($data->totalcount, $page, $perpage, $PAGE->url, 'page');
00230 
00231             // grading report display options
00232             $reportopts                         = new stdclass();
00233             $reportopts->showauthornames        = $showauthornames;
00234             $reportopts->showreviewernames      = $showreviewernames;
00235             $reportopts->sortby                 = $sortby;
00236             $reportopts->sorthow                = $sorthow;
00237             $reportopts->showsubmissiongrade    = false;
00238             $reportopts->showgradinggrade       = false;
00239 
00240             echo $output->render($pagingbar);
00241             echo $output->render(new workshop_grading_report($data, $reportopts));
00242             echo $output->render($pagingbar);
00243         }
00244     }
00245     if (trim($workshop->instructreviewers)) {
00246         $instructions = file_rewrite_pluginfile_urls($workshop->instructreviewers, 'pluginfile.php', $PAGE->context->id,
00247             'mod_workshop', 'instructreviewers', 0, workshop::instruction_editors_options($PAGE->context));
00248         print_collapsible_region_start('', 'workshop-viewlet-instructreviewers', get_string('instructreviewers', 'workshop'));
00249         echo $output->box(format_text($instructions, $workshop->instructreviewersformat, array('overflowdiv'=>true)), array('generalbox', 'instructions'));
00250         print_collapsible_region_end();
00251     }
00252 
00253     // does the user have to assess examples before assessing other's work?
00254     $examplesmust = ($workshop->useexamples and $workshop->examplesmode == workshop::EXAMPLES_BEFORE_ASSESSMENT);
00255 
00256     // is the assessment of example submissions considered finished?
00257     $examplesdone = has_capability('mod/workshop:manageexamples', $workshop->context);
00258 
00259     // can the examples be assessed?
00260     $examplesavailable = true;
00261 
00262     if (!$examplesdone and $examplesmust and ($ownsubmissionexists === false)) {
00263         print_collapsible_region_start('', 'workshop-viewlet-examplesfail', get_string('exampleassessments', 'workshop'));
00264         echo $output->box(get_string('exampleneedsubmission', 'workshop'));
00265         print_collapsible_region_end();
00266         $examplesavailable = false;
00267     }
00268 
00269     if ($workshop->assessing_examples_allowed()
00270             and has_capability('mod/workshop:submit', $workshop->context)
00271                 and ! has_capability('mod/workshop:manageexamples', $workshop->context)
00272                     and $examplesavailable) {
00273         $examples = $userplan->get_examples();
00274         $total = count($examples);
00275         $left = 0;
00276         // make sure the current user has all examples allocated
00277         foreach ($examples as $exampleid => $example) {
00278             if (is_null($example->assessmentid)) {
00279                 $examples[$exampleid]->assessmentid = $workshop->add_allocation($example, $USER->id, 0);
00280             }
00281             if (is_null($example->grade)) {
00282                 $left++;
00283             }
00284         }
00285         if ($left > 0 and $workshop->examplesmode != workshop::EXAMPLES_VOLUNTARY) {
00286             $examplesdone = false;
00287         } else {
00288             $examplesdone = true;
00289         }
00290         print_collapsible_region_start('', 'workshop-viewlet-examples', get_string('exampleassessments', 'workshop'), false, $examplesdone);
00291         echo $output->box_start('generalbox exampleassessments');
00292         if ($total == 0) {
00293             echo $output->heading(get_string('noexamples', 'workshop'), 3);
00294         } else {
00295             foreach ($examples as $example) {
00296                 $summary = $workshop->prepare_example_summary($example);
00297                 echo $output->render($summary);
00298             }
00299         }
00300         echo $output->box_end();
00301         print_collapsible_region_end();
00302     }
00303     if (!$examplesmust or $examplesdone) {
00304         print_collapsible_region_start('', 'workshop-viewlet-assignedassessments', get_string('assignedassessments', 'workshop'));
00305         if (! $assessments = $workshop->get_assessments_by_reviewer($USER->id)) {
00306             echo $output->box_start('generalbox assessment-none');
00307             echo $output->heading(get_string('assignedassessmentsnone', 'workshop'), 3);
00308             echo $output->box_end();
00309         } else {
00310             $shownames = has_capability('mod/workshop:viewauthornames', $PAGE->context);
00311             foreach ($assessments as $assessment) {
00312                 $submission                     = new stdClass();
00313                 $submission->id                 = $assessment->submissionid;
00314                 $submission->title              = $assessment->submissiontitle;
00315                 $submission->timecreated        = $assessment->submissioncreated;
00316                 $submission->timemodified       = $assessment->submissionmodified;
00317                 $submission->authorid           = $assessment->authorid;
00318                 $submission->authorfirstname    = $assessment->authorfirstname;
00319                 $submission->authorlastname     = $assessment->authorlastname;
00320                 $submission->authorpicture      = $assessment->authorpicture;
00321                 $submission->authorimagealt     = $assessment->authorimagealt;
00322                 $submission->authoremail        = $assessment->authoremail;
00323 
00324                 // transform the submission object into renderable component
00325                 $submission = $workshop->prepare_submission_summary($submission, $shownames);
00326 
00327                 if (is_null($assessment->grade)) {
00328                     $submission->status = 'notgraded';
00329                     $class = ' notgraded';
00330                     $buttontext = get_string('assess', 'workshop');
00331                 } else {
00332                     $submission->status = 'graded';
00333                     $class = ' graded';
00334                     $buttontext = get_string('reassess', 'workshop');
00335                 }
00336 
00337                 echo $output->box_start('generalbox assessment-summary' . $class);
00338                 echo $output->render($submission);
00339                 $aurl = $workshop->assess_url($assessment->id);
00340                 echo $output->single_button($aurl, $buttontext, 'get');
00341                 echo $output->box_end();
00342             }
00343         }
00344         print_collapsible_region_end();
00345     }
00346     break;
00347 case workshop::PHASE_EVALUATION:
00348     if (has_capability('mod/workshop:viewallassessments', $PAGE->context)) {
00349         $page       = optional_param('page', 0, PARAM_INT);
00350         $sortby     = optional_param('sortby', 'lastname', PARAM_ALPHA);
00351         $sorthow    = optional_param('sorthow', 'ASC', PARAM_ALPHA);
00352         $perpage    = 10;           // todo let the user modify this
00353         $groups     = '';           // todo let the user choose the group
00354         $PAGE->set_url($PAGE->url, compact('sortby', 'sorthow', 'page')); // TODO: this is suspicious
00355         $data = $workshop->prepare_grading_report_data($USER->id, $groups, $page, $perpage, $sortby, $sorthow);
00356         if ($data) {
00357             $showauthornames    = has_capability('mod/workshop:viewauthornames', $workshop->context);
00358             $showreviewernames  = has_capability('mod/workshop:viewreviewernames', $workshop->context);
00359 
00360             if (has_capability('mod/workshop:overridegrades', $PAGE->context)) {
00361                 // load the grading evaluator
00362                 $evaluator = $workshop->grading_evaluation_instance();
00363                 $form = $evaluator->get_settings_form(new moodle_url($workshop->aggregate_url(),
00364                         compact('sortby', 'sorthow', 'page')));
00365                 $form->display();
00366             }
00367 
00368             // prepare paging bar
00369             $pagingbar              = new paging_bar($data->totalcount, $page, $perpage, $PAGE->url, 'page');
00370 
00371             // grading report display options
00372             $reportopts                         = new stdclass();
00373             $reportopts->showauthornames        = $showauthornames;
00374             $reportopts->showreviewernames      = $showreviewernames;
00375             $reportopts->sortby                 = $sortby;
00376             $reportopts->sorthow                = $sorthow;
00377             $reportopts->showsubmissiongrade    = true;
00378             $reportopts->showgradinggrade       = true;
00379 
00380             echo $output->render($pagingbar);
00381             echo $output->render(new workshop_grading_report($data, $reportopts));
00382             echo $output->render($pagingbar);
00383         }
00384     }
00385     if (has_capability('mod/workshop:overridegrades', $workshop->context)) {
00386         print_collapsible_region_start('', 'workshop-viewlet-cleargrades', get_string('toolbox', 'workshop'), false, true);
00387         echo $output->box_start('generalbox toolbox');
00388 
00389         // Clear aggregated grades
00390         $url = new moodle_url($workshop->toolbox_url('clearaggregatedgrades'));
00391         $btn = new single_button($url, get_string('clearaggregatedgrades', 'workshop'), 'post');
00392         $btn->add_confirm_action(get_string('clearaggregatedgradesconfirm', 'workshop'));
00393         echo $output->container_start('toolboxaction');
00394         echo $output->render($btn);
00395         echo $output->help_icon('clearaggregatedgrades', 'workshop');
00396         echo $output->container_end();
00397         // Clear assessments
00398         $url = new moodle_url($workshop->toolbox_url('clearassessments'));
00399         $btn = new single_button($url, get_string('clearassessments', 'workshop'), 'post');
00400         $btn->add_confirm_action(get_string('clearassessmentsconfirm', 'workshop'));
00401         echo $output->container_start('toolboxaction');
00402         echo $output->render($btn);
00403         echo $output->help_icon('clearassessments', 'workshop');
00404         echo html_writer::empty_tag('img', array('src' => $output->pix_url('i/risk_dataloss'),
00405                                                  'title' => get_string('riskdatalossshort', 'admin'),
00406                                                  'alt' => get_string('riskdatalossshort', 'admin')));
00407         echo $output->container_end();
00408 
00409         echo $output->box_end();
00410         print_collapsible_region_end();
00411     }
00412     if (has_capability('mod/workshop:submit', $PAGE->context)) {
00413         print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'));
00414         echo $output->box_start('generalbox ownsubmission');
00415         if ($submission = $workshop->get_submission_by_author($USER->id)) {
00416             echo $output->render($workshop->prepare_submission_summary($submission, true));
00417         } else {
00418             echo $output->container(get_string('noyoursubmission', 'workshop'));
00419         }
00420         echo $output->box_end();
00421         print_collapsible_region_end();
00422     }
00423     if ($assessments = $workshop->get_assessments_by_reviewer($USER->id)) {
00424         print_collapsible_region_start('', 'workshop-viewlet-assignedassessments', get_string('assignedassessments', 'workshop'));
00425         $shownames = has_capability('mod/workshop:viewauthornames', $PAGE->context);
00426         foreach ($assessments as $assessment) {
00427             $submission                     = new stdclass();
00428             $submission->id                 = $assessment->submissionid;
00429             $submission->title              = $assessment->submissiontitle;
00430             $submission->timecreated        = $assessment->submissioncreated;
00431             $submission->timemodified       = $assessment->submissionmodified;
00432             $submission->authorid           = $assessment->authorid;
00433             $submission->authorfirstname    = $assessment->authorfirstname;
00434             $submission->authorlastname     = $assessment->authorlastname;
00435             $submission->authorpicture      = $assessment->authorpicture;
00436             $submission->authorimagealt     = $assessment->authorimagealt;
00437             $submission->authoremail        = $assessment->authoremail;
00438 
00439             if (is_null($assessment->grade)) {
00440                 $class = ' notgraded';
00441                 $submission->status = 'notgraded';
00442                 $buttontext = get_string('assess', 'workshop');
00443             } else {
00444                 $class = ' graded';
00445                 $submission->status = 'graded';
00446                 $buttontext = get_string('reassess', 'workshop');
00447             }
00448             echo $output->box_start('generalbox assessment-summary' . $class);
00449             echo $output->render($workshop->prepare_submission_summary($submission, $shownames));
00450             echo $output->box_end();
00451         }
00452         print_collapsible_region_end();
00453     }
00454     break;
00455 case workshop::PHASE_CLOSED:
00456     if (has_capability('mod/workshop:viewallassessments', $PAGE->context)) {
00457         $page       = optional_param('page', 0, PARAM_INT);
00458         $sortby     = optional_param('sortby', 'lastname', PARAM_ALPHA);
00459         $sorthow    = optional_param('sorthow', 'ASC', PARAM_ALPHA);
00460         $perpage    = 10;           // todo let the user modify this
00461         $groups     = '';           // todo let the user choose the group
00462         $PAGE->set_url($PAGE->url, compact('sortby', 'sorthow', 'page')); // TODO: this is suspicious
00463         $data = $workshop->prepare_grading_report_data($USER->id, $groups, $page, $perpage, $sortby, $sorthow);
00464         if ($data) {
00465             $showauthornames    = has_capability('mod/workshop:viewauthornames', $workshop->context);
00466             $showreviewernames  = has_capability('mod/workshop:viewreviewernames', $workshop->context);
00467 
00468             // prepare paging bar
00469             $pagingbar = new paging_bar($data->totalcount, $page, $perpage, $PAGE->url, 'page');
00470 
00471             // grading report display options
00472             $reportopts                         = new stdclass();
00473             $reportopts->showauthornames        = $showauthornames;
00474             $reportopts->showreviewernames      = $showreviewernames;
00475             $reportopts->sortby                 = $sortby;
00476             $reportopts->sorthow                = $sorthow;
00477             $reportopts->showsubmissiongrade    = true;
00478             $reportopts->showgradinggrade       = true;
00479 
00480             print_collapsible_region_start('', 'workshop-viewlet-gradereport', get_string('gradesreport', 'workshop'));
00481             echo $output->render($pagingbar);
00482             echo $output->render(new workshop_grading_report($data, $reportopts));
00483             echo $output->render($pagingbar);
00484             print_collapsible_region_end();
00485         }
00486     }
00487     if (has_capability('mod/workshop:submit', $PAGE->context)) {
00488         print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'));
00489         echo $output->box_start('generalbox ownsubmission');
00490         if ($submission = $workshop->get_submission_by_author($USER->id)) {
00491             echo $output->render($workshop->prepare_submission_summary($submission, true));
00492         } else {
00493             echo $output->container(get_string('noyoursubmission', 'workshop'));
00494         }
00495         echo $output->box_end();
00496 
00497         if (!empty($submission->gradeoverby) and strlen(trim($submission->feedbackauthor)) > 0) {
00498             echo $output->render(new workshop_feedback_author($submission));
00499         }
00500 
00501         print_collapsible_region_end();
00502     }
00503     if (has_capability('mod/workshop:viewpublishedsubmissions', $workshop->context)) {
00504         $shownames = has_capability('mod/workshop:viewauthorpublished', $workshop->context);
00505         if ($submissions = $workshop->get_published_submissions()) {
00506             print_collapsible_region_start('', 'workshop-viewlet-publicsubmissions', get_string('publishedsubmissions', 'workshop'));
00507             foreach ($submissions as $submission) {
00508                 echo $output->box_start('generalbox submission-summary');
00509                 echo $output->render($workshop->prepare_submission_summary($submission, $shownames));
00510                 echo $output->box_end();
00511             }
00512             print_collapsible_region_end();
00513         }
00514     }
00515     if ($assessments = $workshop->get_assessments_by_reviewer($USER->id)) {
00516         print_collapsible_region_start('', 'workshop-viewlet-assignedassessments', get_string('assignedassessments', 'workshop'));
00517         $shownames = has_capability('mod/workshop:viewauthornames', $PAGE->context);
00518         foreach ($assessments as $assessment) {
00519             $submission                     = new stdclass();
00520             $submission->id                 = $assessment->submissionid;
00521             $submission->title              = $assessment->submissiontitle;
00522             $submission->timecreated        = $assessment->submissioncreated;
00523             $submission->timemodified       = $assessment->submissionmodified;
00524             $submission->authorid           = $assessment->authorid;
00525             $submission->authorfirstname    = $assessment->authorfirstname;
00526             $submission->authorlastname     = $assessment->authorlastname;
00527             $submission->authorpicture      = $assessment->authorpicture;
00528             $submission->authorimagealt     = $assessment->authorimagealt;
00529             $submission->authoremail        = $assessment->authoremail;
00530 
00531             if (is_null($assessment->grade)) {
00532                 $class = ' notgraded';
00533                 $submission->status = 'notgraded';
00534                 $buttontext = get_string('assess', 'workshop');
00535             } else {
00536                 $class = ' graded';
00537                 $submission->status = 'graded';
00538                 $buttontext = get_string('reassess', 'workshop');
00539             }
00540             echo $output->box_start('generalbox assessment-summary' . $class);
00541             echo $output->render($workshop->prepare_submission_summary($submission, $shownames));
00542             echo $output->box_end();
00543 
00544             if (strlen(trim($assessment->feedbackreviewer)) > 0) {
00545                 echo $output->render(new workshop_feedback_reviewer($assessment));
00546             }
00547         }
00548         print_collapsible_region_end();
00549     }
00550     break;
00551 default:
00552 }
00553 
00554 echo $output->footer();
 All Data Structures Namespaces Files Functions Variables Enumerations