MDL-36904 Assignment: Fix all errors and warnings from codechecker
authorDamyon Wiese <damyon@moodle.com>
Thu, 29 Nov 2012 03:15:37 +0000 (11:15 +0800)
committerDamyon Wiese <damyon@moodle.com>
Fri, 4 Jan 2013 07:46:15 +0000 (15:46 +0800)
69 files changed:
admin/tool/assignmentupgrade/batchupgrade.php
admin/tool/assignmentupgrade/index.php
admin/tool/assignmentupgrade/listnotupgraded.php
admin/tool/assignmentupgrade/locallib.php
admin/tool/assignmentupgrade/module.js
admin/tool/assignmentupgrade/paginationform.php
admin/tool/assignmentupgrade/renderer.php
admin/tool/assignmentupgrade/settings.php
admin/tool/assignmentupgrade/upgradableassignmentsbatchform.php
admin/tool/assignmentupgrade/upgradableassignmentstable.php
admin/tool/assignmentupgrade/upgradesingle.php
admin/tool/assignmentupgrade/upgradesingleconfirm.php
mod/assign/adminlib.php
mod/assign/adminmanageplugins.php
mod/assign/assignmentplugin.php
mod/assign/backup/moodle2/backup_assign_activity_task.class.php
mod/assign/backup/moodle2/backup_assign_stepslib.php
mod/assign/backup/moodle2/restore_assign_activity_task.class.php
mod/assign/backup/moodle2/restore_assign_stepslib.php
mod/assign/db/messages.php
mod/assign/db/upgrade.php
mod/assign/feedback/comments/backup/moodle2/backup_assignfeedback_comments_subplugin.class.php
mod/assign/feedback/comments/backup/moodle2/restore_assignfeedback_comments_subplugin.class.php
mod/assign/feedback/comments/db/install.php
mod/assign/feedback/comments/db/upgrade.php
mod/assign/feedback/comments/locallib.php
mod/assign/feedback/file/backup/moodle2/backup_assignfeedback_file_subplugin.class.php
mod/assign/feedback/file/backup/moodle2/restore_assignfeedback_file_subplugin.class.php
mod/assign/feedback/file/db/install.php
mod/assign/feedback/file/db/upgrade.php
mod/assign/feedback/file/importzipform.php
mod/assign/feedback/file/lib.php
mod/assign/feedback/file/locallib.php
mod/assign/feedbackplugin.php
mod/assign/gradeform.php
mod/assign/gradingbatchoperationsform.php
mod/assign/gradingoptionsform.php
mod/assign/gradingtable.php
mod/assign/index.php
mod/assign/lib.php
mod/assign/locallib.php
mod/assign/mod_form.php
mod/assign/module.js
mod/assign/quickgradingform.php
mod/assign/renderable.php
mod/assign/renderer.php
mod/assign/settings.php
mod/assign/submission/comments/db/install.php
mod/assign/submission/comments/db/upgrade.php
mod/assign/submission/comments/locallib.php
mod/assign/submission/file/backup/moodle2/backup_assignsubmission_file_subplugin.class.php
mod/assign/submission/file/backup/moodle2/restore_assignsubmission_file_subplugin.class.php
mod/assign/submission/file/db/upgrade.php
mod/assign/submission/file/lang/en/assignsubmission_file.php
mod/assign/submission/file/lib.php
mod/assign/submission/file/locallib.php
mod/assign/submission/file/settings.php
mod/assign/submission/onlinetext/backup/moodle2/backup_assignsubmission_onlinetext_subplugin.class.php
mod/assign/submission/onlinetext/backup/moodle2/restore_assignsubmission_onlinetext_subplugin.class.php
mod/assign/submission/onlinetext/db/install.php
mod/assign/submission/onlinetext/db/upgrade.php
mod/assign/submission/onlinetext/lib.php
mod/assign/submission/onlinetext/locallib.php
mod/assign/submission_form.php
mod/assign/submissionconfirmform.php
mod/assign/submissionplugin.php
mod/assign/upgradelib.php
mod/assign/version.php
mod/assign/view.php

index a654f6e..bab7a94 100644 (file)
@@ -32,7 +32,7 @@ require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradable
 
 require_sesskey();
 
-// admin_externalpage_setup calls require_login and checks moodle/site:config
+// This calls require_login and checks moodle/site:config.
 admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('batchupgrade'));
 
 $PAGE->set_pagelayout('maintenance');
@@ -46,7 +46,8 @@ if (!$confirm) {
     die();
 }
 raise_memory_limit(MEMORY_EXTRA);
-session_get_instance()->write_close(); // release session
+// Release session.
+session_get_instance()->write_close();
 
 echo $renderer->header();
 echo $renderer->heading(get_string('batchupgrade', 'tool_assignmentupgrade'));
@@ -62,7 +63,8 @@ $total = count($assignmentids);
 foreach ($assignmentids as $assignmentid) {
     list($summary, $success, $log) = tool_assignmentupgrade_upgrade_assignment($assignmentid);
     $current += 1;
-    echo $renderer->heading(get_string('upgradeprogress', 'tool_assignmentupgrade', array('current'=>$current, 'total'=>$total)), 3);
+    $params = array('current'=>$current, 'total'=>$total);
+    echo $renderer->heading(get_string('upgradeprogress', 'tool_assignmentupgrade', $params), 3);
     echo $renderer->convert_assignment_result($summary, $success, $log);
 }
 
index 71ed56f..d9e554d 100644 (file)
@@ -37,7 +37,7 @@ require_once(dirname(__FILE__) . '/../../../config.php');
 require_once($CFG->libdir . '/adminlib.php');
 require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/locallib.php');
 
-// admin_externalpage_setup calls require_login and checks moodle/site:config
+// This calls require_login and checks moodle/site:config.
 admin_externalpage_setup('assignmentupgrade');
 
 $renderer = $PAGE->get_renderer('tool_assignmentupgrade');
index 9d68c26..048ded5 100644 (file)
@@ -29,7 +29,7 @@ require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradable
 require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradableassignmentsbatchform.php');
 require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/paginationform.php');
 
-// admin_externalpage_setup calls require_login and checks moodle/site:config
+// This calls require_login and checks moodle/site:config.
 admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('listnotupgraded'));
 $PAGE->navbar->add(get_string('listnotupgraded', 'tool_assignmentupgrade'));
 
@@ -57,4 +57,3 @@ if ($data && $data->selectedassignments != '' || $data && isset($data->upgradeal
     echo $renderer->assignment_list_page($assignments, $batchform, $paginationform);
 }
 
-
index 6ea1883..27db509 100644 (file)
@@ -51,17 +51,24 @@ class tool_assignmentupgrade_batchoperationconfirm implements renderable {
      * Constructor for this class
      * @param stdClass $data - The data from the previous batch form
      */
-    function __construct($data) {
+    public function __construct($data) {
         if (isset($data->upgradeselected)) {
-            $this->continuemessage = get_string('upgradeselectedcount', 'tool_assignmentupgrade', count(explode(',', $data->selectedassignments)));
-            $this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', array('upgradeselected'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey(), 'selected'=>$data->selectedassignments));
+            $this->continuemessage = get_string('upgradeselectedcount',
+                                                'tool_assignmentupgrade',
+                                                count(explode(',', $data->selectedassignments)));
+            $urlparams = array('upgradeselected'=>'1',
+                               'confirm'=>'1',
+                               'sesskey'=>sesskey(),
+                               'selected'=>$data->selectedassignments);
+            $this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', $urlparams);
         } else if (isset($data->upgradeall)) {
             if (!tool_assignmentupgrade_any_upgradable_assignments()) {
                 $this->continuemessage = get_string('noassignmentstoupgrade', 'tool_assignmentupgrade');
                 $this->continueurl = '';
             } else {
                 $this->continuemessage = get_string('upgradeallconfirm', 'tool_assignmentupgrade');
-                $this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', array('upgradeall'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey()));
+                $urlparams = array('upgradeall'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey());
+                $this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', $urlparams);
             }
         }
     }
@@ -86,7 +93,8 @@ class tool_assignmentupgrade_action {
     /**
      * Constructor to set the fields.
      *
-     * In order to create a new tool_assignmentupgrade_action instance you must use the tool_assignmentupgrade_action::make
+     * In order to create a new tool_assignmentupgrade_action instance you must use
+     * the tool_assignmentupgrade_action::make
      * method.
      *
      * @param string $name the name of this action.
@@ -120,8 +128,13 @@ class tool_assignmentupgrade_action {
 function tool_assignmentupgrade_any_upgradable_assignments() {
     global $DB, $CFG;
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
-    // first find all the unique assignment types
-    $types = $DB->get_records_sql('SELECT plugin AS assignmenttype, value AS version FROM {config_plugins} WHERE name = ? AND plugin LIKE ?', array('version', 'assignment_%'));
+    // First find all the unique assignment types.
+    $types = $DB->get_records_sql('SELECT plugin AS assignmenttype,
+                                          value AS version
+                                   FROM {config_plugins}
+                                   WHERE
+                                       name = ? AND
+                                       plugin LIKE ?', array('version', 'assignment_%'));
 
     $upgradabletypes = array();
 
@@ -133,7 +146,7 @@ function tool_assignmentupgrade_any_upgradable_assignments() {
     }
     list($sql, $params) = $DB->get_in_or_equal($upgradabletypes);
 
-    $count = $DB->count_records_sql('SELECT COUNT(id) from {assignment} where assignmenttype ' . $sql, $params);
+    $count = $DB->count_records_sql('SELECT COUNT(id) FROM {assignment} WHERE assignmenttype ' . $sql, $params);
 
     return $count > 0;
 }
@@ -145,8 +158,14 @@ function tool_assignmentupgrade_any_upgradable_assignments() {
 function tool_assignmentupgrade_load_all_upgradable_assignmentids() {
     global $DB, $CFG;
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
-    // first find all the unique assignment types
-    $types = $DB->get_records_sql('SELECT plugin AS assignmenttype, value AS version FROM {config_plugins} WHERE name = ? AND plugin LIKE ?', array('version', 'assignment_%'));
+    // First find all the unique assignment types.
+    $types = $DB->get_records_sql('SELECT
+                                       plugin AS assignmenttype,
+                                       value AS version
+                                   FROM {config_plugins}
+                                   WHERE
+                                       name = ? AND
+                                       plugin LIKE ?', array('version', 'assignment_%'));
 
     $upgradabletypes = array();
 
index 7c170f1..933408a 100644 (file)
@@ -1,4 +1,3 @@
-
 M.tool_assignmentupgrade = {
     init_upgrade_table: function(Y) {
 
index 3efb8d4..e4c9028 100644 (file)
@@ -24,9 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
 
-
-/** Include formslib.php */
-require_once ($CFG->libdir.'/formslib.php');
+require_once($CFG->libdir.'/formslib.php');
 
 /**
  * Assignment upgrade table display options
@@ -39,20 +37,20 @@ class tool_assignmentupgrade_pagination_form extends moodleform {
     /**
      * Define this form - called from the parent constructor
      */
-    function definition() {
+    public function definition() {
         $mform = $this->_form;
         $instance = $this->_customdata;
 
         $mform->addElement('header', 'general', get_string('assignmentsperpage', 'tool_assignmentupgrade'));
-        // visible elements
+        // Visible elements.
         $options = array(10=>'10', 20=>'20', 50=>'50', 100=>'100');
         $mform->addElement('select', 'perpage', get_string('assignmentsperpage', 'assign'), $options);
 
-        // hidden params
+        // Hidden params.
         $mform->addElement('hidden', 'action', 'saveoptions');
         $mform->setType('action', PARAM_ALPHA);
 
-        // buttons
+        // Buttons.
         $this->add_action_buttons(false, get_string('updatetable', 'tool_assignmentupgrade'));
     }
 }
index 29192d7..2811232 100644 (file)
@@ -100,7 +100,9 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
         $output = '';
 
         if ($confirm->continueurl) {
-            $output .= $this->output->confirm($confirm->continuemessage, $confirm->continueurl, tool_assignmentupgrade_url('listnotupgraded'));
+            $output .= $this->output->confirm($confirm->continuemessage,
+                                              $confirm->continueurl,
+                                              tool_assignmentupgrade_url('listnotupgraded'));
         } else {
             $output .= $this->output->box($confirm->continuemessage);
             $output .= $this->output->continue_button(tool_assignmentupgrade_url('listnotupgraded'));
@@ -115,7 +117,9 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
      * @param tool_assignmentupgrade_pagination_form $paginationform Form which contains the preferences for paginating the table
      * @return string html to output.
      */
-    public function assignment_list_page(tool_assignmentupgrade_assignments_table $assignments, tool_assignmentupgrade_batchoperations_form $batchform, tool_assignmentupgrade_pagination_form $paginationform) {
+    public function assignment_list_page(tool_assignmentupgrade_assignments_table $assignments,
+                                         tool_assignmentupgrade_batchoperations_form $batchform,
+                                         tool_assignmentupgrade_pagination_form $paginationform) {
         $output = '';
         $output .= $this->header();
         $this->page->requires->js_init_call('M.tool_assignmentupgrade.init_upgrade_table', array());
@@ -161,7 +165,8 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
             $output .= $this->container(get_string('conversionfailed', 'tool_assignmentupgrade', $log));
         } else {
             $output .= $this->container(get_string('upgradeassignmentsuccess', 'tool_assignmentupgrade'));
-            $output .= $this->container(html_writer::link(new moodle_url('/course/view.php', array('id'=>$assignmentsummary->courseid)) ,get_string('viewcourse', 'tool_assignmentupgrade')));
+            $url = new moodle_url('/course/view.php', array('id'=>$assignmentsummary->courseid));
+            $output .= $this->container(html_writer::link($url, get_string('viewcourse', 'tool_assignmentupgrade')));
         }
         $output .= $this->container_end();
 
index a637e38..1a91922 100644 (file)
@@ -24,8 +24,9 @@
 
 defined('MOODLE_INTERNAL') || die;
 
-if ($hassiteconfig) { // needs this condition or there is error on login page
+if ($hassiteconfig) {
+    // Needs this condition or there is error on login page.
     $ADMIN->add('root', new admin_externalpage('assignmentupgrade',
             get_string('pluginname', 'tool_assignmentupgrade'),
             new moodle_url('/admin/tool/assignmentupgrade/index.php')));
-}
\ No newline at end of file
+}
index 105530a..a9aeb58 100644 (file)
 
 defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
 
-
-/** Include formslib.php */
-require_once ($CFG->libdir.'/formslib.php');
+require_once($CFG->libdir.'/formslib.php');
 
 /**
- * Assignment upgrade batch operations form
+ * Assignment upgrade batch operations form.
  *
  * @package   tool_assignmentupgrade
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -37,14 +35,14 @@ require_once ($CFG->libdir.'/formslib.php');
  */
 class tool_assignmentupgrade_batchoperations_form extends moodleform {
     /**
-     * Define this form - is called from parent constructor
+     * Define this form - is called from parent constructor.
      */
-    function definition() {
+    public function definition() {
         $mform = $this->_form;
         $instance = $this->_customdata;
 
         $mform->addElement('header', 'general', get_string('batchoperations', 'tool_assignmentupgrade'));
-        // visible elements
+        // Visible elements.
         $mform->addElement('hidden', 'selectedassignments', '', array('class'=>'selectedassignments'));
 
         $mform->addElement('submit', 'upgradeselected', get_string('upgradeselected', 'tool_assignmentupgrade'));
index 307a8c9..a7851b9 100644 (file)
@@ -36,6 +36,7 @@ require_once($CFG->dirroot.'/mod/assign/locallib.php');
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 class tool_assignmentupgrade_assignments_table extends table_sql implements renderable {
+
     /** @var int $perpage */
     private $perpage = 10;
     /** @var int $rownum (global index of current row in table) */
@@ -46,12 +47,13 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
     public $anyupgradableassignments = false;
 
     /**
-     * This table loads a list of the old assignment instances and tests them to see if they can be upgraded
+     * This table loads a list of the old assignment instances and tests them to see
+     * if they can be upgraded
      *
      * @param int $perpage How many per page
      * @param int $rowoffset The starting row for pagination
      */
-    function __construct($perpage, $rowoffset=0) {
+    public function __construct($perpage, $rowoffset=0) {
         global $PAGE;
         parent::__construct('tool_assignmentupgrade_assignments');
         $this->perpage = $perpage;
@@ -61,12 +63,17 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
 
         $this->anyupgradableassignments = tool_assignmentupgrade_any_upgradable_assignments();
 
-        // do some business - then set the sql
+        // Do some business - then set the sql.
         if ($rowoffset) {
             $this->rownum = $rowoffset - 1;
         }
 
-        $fields = 'a.id as id, a.name as name, a.assignmenttype as type, c.shortname as courseshortname, c.id as courseid, COUNT(s.id) as submissioncount';
+        $fields = 'a.id as id,
+                   a.name as name,
+                   a.assignmenttype as type,
+                   c.shortname as courseshortname,
+                   c.id as courseid,
+                   COUNT(s.id) as submissioncount';
         $from = '{assignment} a JOIN {course} c ON a.course = c.id ' .
                         ' LEFT JOIN {assignment_submissions} s ON a.id = s.assignment';
 
@@ -80,7 +87,10 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
         $headers = array();
 
         $columns[] = 'select';
-        $headers[] = get_string('select', 'tool_assignmentupgrade') . '<div class="selectall"><input type="checkbox" name="selectall" title="' . get_string('selectall') . '"/></div>';
+        $headers[] = get_string('select', 'tool_assignmentupgrade') .
+                     '<div class="selectall">' .
+                     '<input type="checkbox" name="selectall" title="' . get_string('selectall') . '"/>' .
+                     '</div>';
         $columns[] = 'upgradable';
         $headers[] = get_string('upgradable', 'tool_assignmentupgrade');
         $columns[] = 'id';
@@ -94,7 +104,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
         $columns[] = 'submissioncount';
         $headers[] = get_string('submissions', 'tool_assignmentupgrade');
 
-        // set the columns
+        // Set the columns.
         $this->define_columns($columns);
         $this->define_headers($headers);
         $this->no_sorting('upgradable');
@@ -106,7 +116,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
      *
      * @return int The number of rows per page
      */
-    function get_rows_per_page() {
+    public function get_rows_per_page() {
         return $this->perpage;
     }
 
@@ -116,9 +126,9 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
      * @param stdClass $row
      * @return string
      */
-    function col_name(stdClass $row) {
-        return html_writer::link(new moodle_url('/mod/assignment/view.php',
-                array('a' => $row->id)), $row->name);
+    public function col_name(stdClass $row) {
+        $url = new moodle_url('/mod/assignment/view.php', array('a' => $row->id));
+        return html_writer::link($url, $row->name);
     }
 
 
@@ -128,10 +138,11 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
      * @param stdClass $row (contains cached result from previous upgradable check)
      * @return string
      */
-    function col_upgradable(stdClass $row) {
+    public function col_upgradable(stdClass $row) {
         if ($row->upgradable) {
-            return html_writer::link(new moodle_url('/admin/tool/assignmentupgrade/upgradesingleconfirm.php',
-                    array('id' => $row->id, 'sesskey' => sesskey())), get_string('supported', 'tool_assignmentupgrade'));
+            $urlparams = array('id' => $row->id, 'sesskey' => sesskey());
+            $url = new moodle_url('/admin/tool/assignmentupgrade/upgradesingleconfirm.php', $urlparams);
+            return html_writer::link($url, get_string('supported', 'tool_assignmentupgrade'));
         } else {
             return get_string('notsupported', 'tool_assignmentupgrade');
         }
@@ -143,7 +154,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
      * @param stdClass $row
      * @return string
      */
-    function col_select(stdClass $row) {
+    public function col_select(stdClass $row) {
         global $CFG;
         $version = get_config('assignment_' . $row->type, 'version');
         require_once($CFG->dirroot . '/mod/assign/locallib.php');
index 67f24b0..5a5679a 100644 (file)
@@ -30,8 +30,11 @@ require_sesskey();
 
 $assignmentid = required_param('id', PARAM_INT);
 
-// admin_externalpage_setup calls require_login and checks moodle/site:config
-admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
+// This calls require_login and checks moodle/site:config.
+admin_externalpage_setup('assignmentupgrade',
+                         '',
+                         array(),
+                         tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
 
 $PAGE->navbar->add(get_string('upgradesingle', 'tool_assignmentupgrade'));
 $renderer = $PAGE->get_renderer('tool_assignmentupgrade');
index 143ebf1..88be9a5 100644 (file)
@@ -30,8 +30,11 @@ require_sesskey();
 
 $assignmentid = required_param('id', PARAM_INT);
 
-// admin_externalpage_setup calls require_login and checks moodle/site:config
-admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
+// This calls require_login and checks moodle/site:config.
+admin_externalpage_setup('assignmentupgrade',
+                         '',
+                         array(),
+                         tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
 
 $PAGE->navbar->add(get_string('upgradesingle', 'tool_assignmentupgrade'));
 $renderer = $PAGE->get_renderer('tool_assignmentupgrade');
index a84c4cb..2a78c0a 100644 (file)
@@ -24,7 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-/** Include adminlib.php */
 require_once($CFG->libdir . '/adminlib.php');
 
 /**
@@ -46,8 +45,10 @@ class assign_admin_page_manage_assign_plugins extends admin_externalpage {
      */
     public function __construct($subtype) {
         $this->subtype = $subtype;
-        parent::__construct('manage' . $subtype . 'plugins', get_string('manage' . $subtype . 'plugins', 'assign'),
-                new moodle_url('/mod/assign/adminmanageplugins.php', array('subtype'=>$subtype)));
+        $url = new moodle_url('/mod/assign/adminmanageplugins.php', array('subtype'=>$subtype));
+        parent::__construct('manage' . $subtype . 'plugins',
+                            get_string('manage' . $subtype . 'plugins', 'assign'),
+                            $url);
     }
 
     /**
@@ -124,7 +125,9 @@ class assign_plugin_manager {
             if (!$idx) {
                 $idx = 0;
             }
-            while (array_key_exists($idx, $result)) $idx +=1;
+            while (array_key_exists($idx, $result)) {
+                $idx +=1;
+            }
             $result[$idx] = $name;
         }
         ksort($result);
@@ -158,7 +161,6 @@ class assign_plugin_manager {
      */
     private function view_plugins_table() {
         global $OUTPUT, $CFG;
-        /** Include tablelib.php */
         require_once($CFG->libdir . '/tablelib.php');
 
         // Set up the table.
@@ -174,7 +176,6 @@ class assign_plugin_manager {
         $table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
         $table->setup();
 
-
         $plugins = $this->get_sorted_plugins_list();
         $shortsubtype = substr($this->subtype, strlen('assign'));
 
@@ -208,7 +209,8 @@ class assign_plugin_manager {
             } else {
                 $row[] = '&nbsp;';
             }
-            if ($row[1] != '' && file_exists($CFG->dirroot . '/mod/assign/' . $shortsubtype . '/' . $plugin . '/settings.php')) {
+            $exists = file_exists($CFG->dirroot . '/mod/assign/' . $shortsubtype . '/' . $plugin . '/settings.php');
+            if ($row[1] != '' && $exists) {
                 $row[] = html_writer::link(new moodle_url('/admin/settings.php',
                         array('section' => $this->subtype . '_' . $plugin)), get_string('settings'));
             } else {
@@ -217,7 +219,6 @@ class assign_plugin_manager {
             $table->add_data($row);
         }
 
-
         $table->finish_output();
         $this->view_footer();
     }
@@ -273,32 +274,34 @@ class assign_plugin_manager {
                 $this->error = $OUTPUT->notification(get_string('errordeletingconfig', 'admin', $this->subtype . '_' . $plugin));
             }
 
-
-            // Should be covered by the previous function - but just in case
+            // Should be covered by the previous function - but just in case.
             unset_config('disabled', $this->subtype . '_' . $plugin);
             unset_config('sortorder', $this->subtype . '_' . $plugin);
 
-            // delete the plugin specific config settings
+            // Delete the plugin specific config settings.
             $DB->delete_records('assign_plugin_config', array('plugin'=>$plugin, 'subtype'=>$this->subtype));
 
-            // Then the tables themselves
+            // Then the tables themselves.
             $shortsubtype = substr($this->subtype, strlen('assign'));
-            drop_plugin_tables($this->subtype . '_' . $plugin, $CFG->dirroot . '/mod/assign/' . $shortsubtype . '/' .$plugin. '/db/install.xml', false);
+            $installxml = $CFG->dirroot . '/mod/assign/' . $shortsubtype . '/' . $plugin . '/db/install.xml';
+            drop_plugin_tables($this->subtype . '_' . $plugin,
+                               $installxml,
+                               false);
 
-            // Remove event handlers and dequeue pending events
+            // Remove event handlers and dequeue pending events.
             events_uninstall($this->subtype . '_' . $plugin);
 
-            // the page to display
+            // The page to display.
             return 'plugindeleted';
         } else {
-            // the page to display
+            // The page to display.
             return 'confirmdelete';
         }
 
     }
 
     /**
-     * Show the page that gives the details of the plugin that was just deleted
+     * Show the page that gives the details of the plugin that was just deleted.
      *
      * @param string $plugin - The plugin that was just deleted
      * @return None
@@ -306,15 +309,18 @@ class assign_plugin_manager {
     private function view_plugin_deleted($plugin) {
         global $OUTPUT;
         $this->view_header();
-        echo $OUTPUT->heading(get_string('deletingplugin', 'assign', get_string('pluginname', $this->subtype . '_' . $plugin)));
+        $pluginname = get_string('pluginname', $this->subtype . '_' . $plugin);
+        echo $OUTPUT->heading(get_string('deletingplugin', 'assign', $pluginname));
         echo $this->error;
-        echo $OUTPUT->notification(get_string('plugindeletefiles', 'moodle', array('name'=>get_string('pluginname', $this->subtype . '_' . $plugin), 'directory'=>('/mod/assign/' . $this->subtype . '/'.$plugin))));
+        $messageparams = array('name'=>$pluginname,
+                               'directory'=>('/mod/assign/' . $this->subtype . '/'.$plugin));
+        echo $OUTPUT->notification(get_string('plugindeletefiles', 'moodle', $messageparams));
         echo $OUTPUT->continue_button($this->pageurl);
         $this->view_footer();
     }
 
     /**
-     * Show the page that asks the user to confirm they want to delete a plugin
+     * Show the page that asks the user to confirm they want to delete a plugin.
      *
      * @param string $plugin - The plugin that will be deleted
      * @return None
@@ -322,9 +328,12 @@ class assign_plugin_manager {
     private function view_confirm_delete($plugin) {
         global $OUTPUT;
         $this->view_header();
-        echo $OUTPUT->heading(get_string('deletepluginareyousure', 'assign', get_string('pluginname', $this->subtype . '_' . $plugin)));
-        echo $OUTPUT->confirm(get_string('deletepluginareyousuremessage', 'assign', get_string('pluginname', $this->subtype . '_' . $plugin)),
-                new moodle_url($this->pageurl, array('action' => 'delete', 'plugin'=>$plugin, 'confirm' => 1)),
+        $pluginname = get_string('pluginname', $this->subtype . '_' . $plugin);
+        echo $OUTPUT->heading(get_string('deletepluginareyousure', 'assign', $pluginname));
+        $urlparams = array('action' => 'delete', 'plugin'=>$plugin, 'confirm' => 1);
+        $confirmurl = new moodle_url($this->pageurl, $urlparams);
+        echo $OUTPUT->confirm(get_string('deletepluginareyousuremessage', 'assign', $pluginname),
+                $confirmurl,
                 $this->pageurl);
         $this->view_footer();
     }
@@ -332,7 +341,7 @@ class assign_plugin_manager {
 
 
     /**
-     * Hide this plugin
+     * Hide this plugin.
      *
      * @param string $plugin - The plugin to hide
      * @return string The next page to display
@@ -343,23 +352,22 @@ class assign_plugin_manager {
     }
 
     /**
-     * Change the order of this plugin
+     * Change the order of this plugin.
      *
      * @param string $plugintomove - The plugin to move
      * @param string $dir - up or down
      * @return string The next page to display
      */
     public function move_plugin($plugintomove, $dir) {
-        // get a list of the current plugins
+        // Get a list of the current plugins.
         $plugins = $this->get_sorted_plugins_list();
 
         $currentindex = 0;
 
-        // throw away the keys
-
+        // Throw away the keys.
         $plugins = array_values($plugins);
 
-        // find this plugin in the list
+        // Find this plugin in the list.
         foreach ($plugins as $key => $plugin) {
             if ($plugin == $plugintomove) {
                 $currentindex = $key;
@@ -367,7 +375,7 @@ class assign_plugin_manager {
             }
         }
 
-        // make the switch
+        // Make the switch.
         if ($dir == 'up') {
             if ($currentindex > 0) {
                 $tempplugin = $plugins[$currentindex - 1];
@@ -382,7 +390,7 @@ class assign_plugin_manager {
             }
         }
 
-        // save the new normal order
+        // Save the new normal order.
         foreach ($plugins as $key => $plugin) {
             set_config('sortorder', $key, $this->subtype . '_' . $plugin);
         }
@@ -391,7 +399,7 @@ class assign_plugin_manager {
 
 
     /**
-     * Show this plugin
+     * Show this plugin.
      *
      * @param string $plugin - The plugin to show
      * @return string The next page to display
@@ -403,7 +411,7 @@ class assign_plugin_manager {
 
 
     /**
-     * This is the entry point for this controller class
+     * This is the entry point for this controller class.
      *
      * @param string $action - The action to perform
      * @param string $plugin - Optional name of a plugin type to perform the action on
@@ -416,7 +424,7 @@ class assign_plugin_manager {
 
         $this->check_permissions();
 
-        // process
+        // Process.
         if ($action == 'delete' && $plugin != null) {
             $action = $this->delete_plugin($plugin);
         } else if ($action == 'hide' && $plugin != null) {
@@ -429,8 +437,7 @@ class assign_plugin_manager {
             $action = $this->move_plugin($plugin, 'down');
         }
 
-
-        // view
+        // View.
         if ($action == 'confirmdelete' && $plugin != null) {
             $this->view_confirm_delete($plugin);
         } else if ($action == 'plugindeleted' && $plugin != null) {
@@ -441,7 +448,7 @@ class assign_plugin_manager {
     }
 
     /**
-     * This function adds plugin pages to the navigation menu
+     * This function adds plugin pages to the navigation menu.
      *
      * @static
      * @param string $subtype - The type of plugin (submission or feedback)
@@ -450,7 +457,10 @@ class assign_plugin_manager {
      * @param stdClass|plugininfo_mod $module - The handle to the current module
      * @return None
      */
-    static function add_admin_assign_plugin_settings($subtype, part_of_admin_tree $admin, admin_settingpage $settings, $module) {
+    public static function add_admin_assign_plugin_settings($subtype,
+                                                            part_of_admin_tree $admin,
+                                                            admin_settingpage $settings,
+                                                            $module) {
         global $CFG;
 
         $plugins = get_plugin_list_with_file($subtype, 'settings.php', false);
@@ -462,8 +472,10 @@ class assign_plugin_manager {
         ksort($pluginsbyname);
 
         foreach ($pluginsbyname as $pluginname => $plugin) {
-            $settings = new admin_settingpage($subtype . '_'.$plugin,
-                    $pluginname, 'moodle/site:config', $module->is_enabled() === false);
+            $settings = new admin_settingpage($subtype . '_' . $plugin,
+                                              $pluginname,
+                                              'moodle/site:config',
+                                              $module->is_enabled() === false);
             if ($admin->fulltree) {
                 $shortsubtype = substr($subtype, strlen('assign'));
                 include($CFG->dirroot . "/mod/assign/$shortsubtype/$plugin/settings.php");
index 54a6ef3..7ddcd71 100644 (file)
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-/** Include config.php */
 require_once(dirname(__FILE__) . '/../../config.php');
-/** Include adminlib.php */
 require_once($CFG->dirroot.'/mod/assign/adminlib.php');
 
-// create the class for this controller
+// Create the class for this controller.
 $pluginmanager = new assign_plugin_manager(required_param('subtype', PARAM_PLUGIN));
 
 $PAGE->set_context(get_system_context());
 
-// execute the controller
-$pluginmanager->execute(optional_param('action', null, PARAM_PLUGIN), optional_param('plugin', null, PARAM_PLUGIN));
+// Execute the controller.
+$pluginmanager->execute(optional_param('action', null, PARAM_PLUGIN),
+                        optional_param('plugin', null, PARAM_PLUGIN));
index 686bf0a..264ddb0 100644 (file)
@@ -34,7 +34,9 @@ defined('MOODLE_INTERNAL') || die();
  */
 abstract class assign_plugin {
 
-    /** @var assign $assignment the assignment record that contains the global settings for this assign instance */
+    /** @var assign $assignment the assignment record that contains the global
+     *              settings for this assign instance
+     */
     protected $assignment;
     /** @var string $type assignment plugin type */
     private $type = '';
@@ -73,7 +75,9 @@ abstract class assign_plugin {
      * @return bool
      */
     public final function is_last() {
-        if ((count(get_plugin_list($this->get_subtype()))-1) == get_config($this->get_subtype() . '_' . $this->get_type(), 'sortorder')) {
+        $lastindex = count(get_plugin_list($this->get_subtype()))-1;
+        $currentindex = get_config($this->get_subtype() . '_' . $this->get_type(), 'sortorder');
+        if ($lastindex == $currentindex) {
             return true;
         }
 
@@ -123,7 +127,6 @@ abstract class assign_plugin {
     /**
      * What was the last error?
      *
-     *
      * @return string
      */
     public final function get_error() {
@@ -184,8 +187,9 @@ abstract class assign_plugin {
     /**
      * Save any custom data for this form submission
      *
-     * @param stdClass $submissionorgrade - assign_submission or assign_grade
-     *              For submission plugins this is the submission data, for feedback plugins it is the grade data
+     * @param stdClass $submissionorgrade - assign_submission or assign_grade.
+     *              For submission plugins this is the submission data,
+     *              for feedback plugins it is the grade data
      * @param stdClass $data - the data submitted from the form
      * @return bool - on error the subtype should call set_error and return false.
      */
@@ -240,7 +244,8 @@ abstract class assign_plugin {
      * Get any additional fields for the submission/grading form for this assignment.
      * This function is retained for backwards compatibility - new plugins should override {@link get_form_elements_for_user()}.
      *
-     * @param mixed $submissionorgrade submission|grade - For submission plugins this is the submission data, for feedback plugins it is the grade data
+     * @param mixed $submissionorgrade submission|grade - For submission plugins this is the submission data, 
+     *                                                    for feedback plugins it is the grade data
      * @param MoodleQuickForm $mform - This is the form
      * @param stdClass $data - This is the form data that can be modified for example by a filemanager element
      * @return boolean - true if we added anything to the form
@@ -253,7 +258,8 @@ abstract class assign_plugin {
      * Should not output anything - return the result as a string so it can be consumed by webservices.
      *
      * @param stdClass $submissionorgrade assign_submission or assign_grade
-     *                 For submission plugins this is the submission data, for feedback plugins it is the grade data
+     *                 For submission plugins this is the submission data,
+     *                 for feedback plugins it is the grade data
      * @return string - return a string representation of the submission in full
      */
     public function view(stdClass $submissionorgrade) {
@@ -289,7 +295,9 @@ abstract class assign_plugin {
     public final function has_admin_settings() {
         global $CFG;
 
-        return file_exists($CFG->dirroot . '/mod/assign/' . substr($this->get_subtype(), strlen('assign')) . '/' . $this->get_type() . '/settings.php');
+        $pluginroot = $CFG->dirroot . '/mod/assign/' . substr($this->get_subtype(), strlen('assign')) . '/' . $this->get_type();
+        $settingsfile = $pluginroot . '/settings.php';
+        return file_exists($settingsfile);
     }
 
     /**
@@ -302,7 +310,11 @@ abstract class assign_plugin {
     public final function set_config($name, $value) {
         global $DB;
 
-        $current = $DB->get_record('assign_plugin_config', array('assignment'=>$this->assignment->get_instance()->id, 'subtype'=>$this->get_subtype(), 'plugin'=>$this->get_type(), 'name'=>$name), '*', IGNORE_MISSING);
+        $dbparams = array('assignment'=>$this->assignment->get_instance()->id,
+                          'subtype'=>$this->get_subtype(),
+                          'plugin'=>$this->get_type(),
+                          'name'=>$name);
+        $current = $DB->get_record('assign_plugin_config', $dbparams, '*', IGNORE_MISSING);
 
         if ($current) {
             $current->value = $value;
@@ -334,14 +346,21 @@ abstract class assign_plugin {
             }
             $assignment = $this->assignment->get_instance();
             if ($assignment) {
-                $result = $DB->get_record('assign_plugin_config', array('assignment'=>$assignment->id, 'subtype'=>$this->get_subtype(), 'plugin'=>$this->get_type(), 'name'=>$setting), '*', IGNORE_MISSING);
+                $dbparams = array('assignment'=>$assignment->id,
+                                  'subtype'=>$this->get_subtype(),
+                                  'plugin'=>$this->get_type(),
+                                  'name'=>$setting);
+                $result = $DB->get_record('assign_plugin_config', $dbparams, '*', IGNORE_MISSING);
                 if ($result) {
                     return $result->value;
                 }
             }
             return false;
         }
-        $results = $DB->get_records('assign_plugin_config', array('assignment'=>$this->assignment->get_instance()->id, 'subtype'=>$this->get_subtype(), 'plugin'=>$this->get_type()));
+        $dbparams = array('assignment'=>$this->assignment->get_instance()->id,
+                          'subtype'=>$this->get_subtype(),
+                           'plugin'=>$this->get_type());
+        $results = $DB->get_records('assign_plugin_config', $dbparams);
 
         $config = new stdClass();
         if (is_array($results)) {
@@ -454,7 +473,8 @@ abstract class assign_plugin {
      * @return bool true or false - false will trigger a rollback
      */
     public function upgrade_settings(context $oldcontext, stdClass $oldassignment, & $log) {
-        $log = $log . ' ' . get_string('upgradenotimplemented', 'mod_assign', array('type'=>$this->type, 'subtype'=>$this->get_subtype()));
+        $params = array('type'=>$this->type, 'subtype'=>$this->get_subtype());
+        $log .= ' ' . get_string('upgradenotimplemented', 'mod_assign', $params);
         return false;
     }
 
@@ -468,8 +488,13 @@ abstract class assign_plugin {
      * @param string $log Record upgrade messages in the log
      * @return boolean true or false - false will trigger a rollback
      */
-    public function upgrade(context $oldcontext, stdClass $oldassignment, stdClass $oldsubmissionorgrade, stdClass $submissionorgrade, & $log) {
-        $log = $log . ' ' . get_string('upgradenotimplemented', 'mod_assign', array('type'=>$this->type, 'subtype'=>$this->get_subtype()));
+    public function upgrade(context $oldcontext,
+                            stdClass $oldassignment,
+                            stdClass $oldsubmissionorgrade,
+                            stdClass $submissionorgrade,
+                            & $log) {
+        $params = array('type'=>$this->type, 'subtype'=>$this->get_subtype());
+        $log = $log . ' ' . get_string('upgradenotimplemented', 'mod_assign', $params);
         return false;
     }
 
@@ -480,7 +505,7 @@ abstract class assign_plugin {
      * @return string
      */
     public function format_for_log(stdClass $submissionorgrade) {
-        // format the info for each submission plugin add_to_log
+        // Format the info for each submission plugin add_to_log.
         return '';
     }
 
@@ -533,7 +558,7 @@ abstract class assign_plugin {
         global $CFG, $DB, $USER;
         $urlbase = $CFG->wwwroot.'/pluginfile.php';
 
-        // permission check on the itemid
+        // Permission check on the itemid.
 
         if ($this->get_subtype() == 'assignsubmission') {
             if ($itemid) {
@@ -546,7 +571,7 @@ abstract class assign_plugin {
                 }
             }
         } else {
-            // not supported for feedback plugins
+            // Not supported for feedback plugins.
             return null;
         }
 
index 9f09426..9c3c967 100644 (file)
@@ -25,7 +25,6 @@
 defined('MOODLE_INTERNAL') || die();
 
 require_once($CFG->dirroot . '/mod/assign/backup/moodle2/backup_assign_stepslib.php');
-//require_once($CFG->dirroot . '/mod/assign/backup/moodle2/backup_assign_settingslib.php');
 
 /**
  * assign backup task that provides all the settings and steps to perform one complete backup of the activity
@@ -40,7 +39,7 @@ class backup_assign_activity_task extends backup_activity_task {
      * Define (add) particular settings this activity can have
      */
     protected function define_my_settings() {
-        // No particular settings for this activity
+        // No particular settings for this activity.
     }
 
     /**
@@ -59,13 +58,11 @@ class backup_assign_activity_task extends backup_activity_task {
     static public function encode_content_links($content) {
         global $CFG;
 
-        $base = preg_quote($CFG->wwwroot,"/");
+        $base = preg_quote($CFG->wwwroot, "/");
 
-        // Link to the list of choices
         $search="/(".$base."\/mod\/assign\/index.php\?id\=)([0-9]+)/";
         $content= preg_replace($search, '$@ASSIGNINDEX*$2@$', $content);
 
-        // Link to choice view by moduleid
         $search="/(".$base."\/mod\/assign\/view.php\?id\=)([0-9]+)/";
         $content= preg_replace($search, '$@ASSIGNVIEWBYID*$2@$', $content);
 
index cb4dd39..088e5fa 100644 (file)
@@ -39,10 +39,10 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st
      */
     protected function define_structure() {
 
-        // To know if we are including userinfo
+        // To know if we are including userinfo.
         $userinfo = $this->get_setting_value('userinfo');
 
-        // Define each element separated
+        // Define each element separated.
         $assign = new backup_nested_element('assign', array('id'),
                                             array('name',
                                                   'intro',
@@ -93,7 +93,7 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st
                                                          'name',
                                                          'value'));
 
-        // Build the tree
+        // Build the tree.
 
         $assign->add_child($submissions);
         $submissions->add_child($submission);
@@ -102,10 +102,10 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st
         $assign->add_child($pluginconfigs);
         $pluginconfigs->add_child($pluginconfig);
 
-
         // Define sources.
         $assign->set_source_table('assign', array('id' => backup::VAR_ACTIVITYID));
-        $pluginconfig->set_source_table('assign_plugin_config', array('assignment' => backup::VAR_PARENTID));
+        $pluginconfig->set_source_table('assign_plugin_config',
+                                        array('assignment' => backup::VAR_PARENTID));
 
         if ($userinfo) {
             $submission->set_source_table('assign_submission',
@@ -119,17 +119,18 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st
             $this->add_subplugin_structure('assignfeedback', $grade, true);
         }
 
-        // Define id annotations
+        // Define id annotations.
         $submission->annotate_ids('user', 'userid');
         $submission->annotate_ids('group', 'groupid');
         $grade->annotate_ids('user', 'userid');
         $grade->annotate_ids('user', 'grader');
         $assign->annotate_ids('grouping', 'teamsubmissiongroupingid');
 
-        // Define file annotations
-        $assign->annotate_files('mod_assign', 'intro', null); // This file area hasn't itemid
+        // Define file annotations.
+        // This file area hasn't itemid.
+        $assign->annotate_files('mod_assign', 'intro', null);
 
-        // Return the root element (choice), wrapped into standard activity structure
+        // Return the root element (choice), wrapped into standard activity structure.
 
         return $this->prepare_activity_structure($assign);
     }
index 900b1b8..d1080aa 100644 (file)
@@ -36,23 +36,23 @@ require_once($CFG->dirroot . '/mod/assign/backup/moodle2/restore_assign_stepslib
 class restore_assign_activity_task extends restore_activity_task {
 
     /**
-     * Define (add) particular settings this activity can have
+     * Define (add) particular settings this activity can have.
      */
     protected function define_my_settings() {
-        // No particular settings for this activity
+        // No particular settings for this activity.
     }
 
     /**
-     * Define (add) particular steps this activity can have
+     * Define (add) particular steps this activity can have.
      */
     protected function define_my_steps() {
-        // Assign only has one structure step
+        // Assignment only has one structure step.
         $this->add_step(new restore_assign_activity_structure_step('assign_structure', 'assign.xml'));
     }
 
     /**
      * Define the contents in the activity that must be
-     * processed by the link decoder
+     * processed by the link decoder.
      *
      * @return array
      */
@@ -66,15 +66,19 @@ class restore_assign_activity_task extends restore_activity_task {
 
     /**
      * Define the decoding rules for links belonging
-     * to the activity to be executed by the link decoder
+     * to the activity to be executed by the link decoder.
      *
      * @return array of restore_decode_rule
      */
     static public function define_decode_rules() {
         $rules = array();
 
-        $rules[] = new restore_decode_rule('ASSIGNVIEWBYID', '/mod/assign/view.php?id=$1', 'course_module');
-        $rules[] = new restore_decode_rule('ASSIGNINDEX', '/mod/assign/index.php?id=$1', 'course_module');
+        $rules[] = new restore_decode_rule('ASSIGNVIEWBYID',
+                                           '/mod/assign/view.php?id=$1',
+                                           'course_module');
+        $rules[] = new restore_decode_rule('ASSIGNINDEX',
+                                           '/mod/assign/index.php?id=$1',
+                                           'course_module');
 
         return $rules;
 
@@ -84,7 +88,7 @@ class restore_assign_activity_task extends restore_activity_task {
      * Define the restore log rules that will be applied
      * by the {@link restore_logs_processor} when restoring
      * assign logs. It must return one array
-     * of {@link restore_log_rule} objects
+     * of {@link restore_log_rule} objects.
      *
      * @return array of restore_log_rule
      */
@@ -94,7 +98,6 @@ class restore_assign_activity_task extends restore_activity_task {
         $rules[] = new restore_log_rule('assign', 'add', 'view.php?id={course_module}', '{assign}');
         $rules[] = new restore_log_rule('assign', 'update', 'view.php?id={course_module}', '{assign}');
         $rules[] = new restore_log_rule('assign', 'view', 'view.php?id={course_module}', '{assign}');
-        // more...
 
         return $rules;
     }
index 6053447..2a265db 100644 (file)
@@ -34,32 +34,36 @@ defined('MOODLE_INTERNAL') || die();
 class restore_assign_activity_structure_step extends restore_activity_structure_step {
 
     /**
-     * Define the structure of the restore workflow
+     * Define the structure of the restore workflow.
+     *
      * @return restore_path_element $structure
      */
     protected function define_structure() {
 
         $paths = array();
-        // To know if we are including userinfo
+        // To know if we are including userinfo.
         $userinfo = $this->get_setting_value('userinfo');
 
-        // Define each element separated
+        // Define each element separated.
         $paths[] = new restore_path_element('assign', '/activity/assign');
         if ($userinfo) {
-            $submission = new restore_path_element('assign_submission', '/activity/assign/submissions/submission');
+            $submission = new restore_path_element('assign_submission',
+                                                   '/activity/assign/submissions/submission');
             $paths[] = $submission;
             $this->add_subplugin_structure('assignsubmission', $submission);
             $grade = new restore_path_element('assign_grade', '/activity/assign/grades/grade');
             $paths[] = $grade;
             $this->add_subplugin_structure('assignfeedback', $grade);
         }
-        $paths[] = new restore_path_element('assign_plugin_config', '/activity/assign/plugin_configs/plugin_config');
+        $paths[] = new restore_path_element('assign_plugin_config',
+                                            '/activity/assign/plugin_configs/plugin_config');
 
         return $this->prepare_activity_structure($paths);
     }
 
     /**
-     * Process an assign restore
+     * Process an assign restore.
+     *
      * @param object $data The data in object form
      * @return void
      */
@@ -74,7 +78,8 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
         $data->allowsubmissionsfromdate = $this->apply_date_offset($data->allowsubmissionsfromdate);
         $data->duedate = $this->apply_date_offset($data->duedate);
         if (!empty($data->teamsubmissiongroupingid)) {
-            $data->teamsubmissiongroupingid = $this->get_mappingid('grouping', $data->teamsubmissiongroupingid);
+            $data->teamsubmissiongroupingid = $this->get_mappingid('grouping',
+                                                                   $data->teamsubmissiongroupingid);
         } else {
             $data->teamsubmissiongroupingid = 0;
         }
@@ -89,7 +94,6 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
             $data->cutoffdate = $this->apply_date_offset($data->cutoffdate);
         }
 
-
         $newitemid = $DB->insert_record('assign', $data);
 
         $this->apply_activity_instance($newitemid);
@@ -122,7 +126,7 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
         $newitemid = $DB->insert_record('assign_submission', $data);
 
         // Note - the old contextid is required in order to be able to restore files stored in
-        // sub plugin file areas attached to the submissionid
+        // sub plugin file areas attached to the submissionid.
         $this->set_mapping('submission', $oldid, $newitemid, false, null, $this->task->get_old_contextid());
     }
 
@@ -152,7 +156,7 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
         $newitemid = $DB->insert_record('assign_grades', $data);
 
         // Note - the old contextid is required in order to be able to restore files stored in
-        // sub plugin file areas attached to the gradeid
+        // sub plugin file areas attached to the gradeid.
         $this->set_mapping('grade', $oldid, $newitemid, false, null, $this->task->get_old_contextid());
     }
 
@@ -170,7 +174,6 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
         $data->assignment = $this->get_new_parentid('assign');
 
         $newitemid = $DB->insert_record('assign_plugin_config', $data);
-
     }
 
     /**
index a611f5f..04e66a1 100644 (file)
@@ -24,7 +24,7 @@
 
 $messageproviders = array (
 
-    // Ordinary assignment submissions
+    // Ordinary assignment submissions.
     'assign_notification' => array(
     )
 
index 9b5405e..f642279 100644 (file)
@@ -36,7 +36,8 @@ function xmldb_assign_upgrade($oldversion) {
 
         // Define field to be added to assign.
         $table = new xmldb_table('assign');
-        $field = new xmldb_field('sendlatenotifications', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'sendnotifications');
+        $field = new xmldb_field('sendlatenotifications', XMLDB_TYPE_INTEGER, '2', null,
+                                 XMLDB_NOTNULL, null, '0', 'sendnotifications');
 
         // Conditionally launch add field.
         if (!$dbman->field_exists($table, $field)) {
@@ -54,7 +55,8 @@ function xmldb_assign_upgrade($oldversion) {
 
         // Define field requiresubmissionstatement to be added to assign.
         $table = new xmldb_table('assign');
-        $field = new xmldb_field('requiresubmissionstatement', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'timemodified');
+        $field = new xmldb_field('requiresubmissionstatement', XMLDB_TYPE_INTEGER, '2', null,
+                                 XMLDB_NOTNULL, null, '0', 'timemodified');
 
         // Conditionally launch add field requiresubmissionstatement.
 
@@ -70,7 +72,8 @@ function xmldb_assign_upgrade($oldversion) {
 
         // Define field to be added to assign.
         $table = new xmldb_table('assign');
-        $field = new xmldb_field('completionsubmit', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'timemodified');
+        $field = new xmldb_field('completionsubmit', XMLDB_TYPE_INTEGER, '2', null,
+                                 XMLDB_NOTNULL, null, '0', 'timemodified');
 
         // Conditionally launch add field.
         if (!$dbman->field_exists($table, $field)) {
@@ -106,11 +109,12 @@ function xmldb_assign_upgrade($oldversion) {
             $dbman->drop_field($table, $field);
         }
 
-        // Define field extensionduedate to be added to assign_grades
+        // Define field extensionduedate to be added to assign_grades.
         $table = new xmldb_table('assign_grades');
-        $field = new xmldb_field('extensionduedate', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'mailed');
+        $field = new xmldb_field('extensionduedate', XMLDB_TYPE_INTEGER, '10', null,
+                                 XMLDB_NOTNULL, null, '0', 'mailed');
 
-        // Conditionally launch add field extensionduedate
+        // Conditionally launch add field extensionduedate.
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
@@ -143,13 +147,16 @@ function xmldb_assign_upgrade($oldversion) {
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
-        $index = new xmldb_index('teamsubmissiongroupingid', XMLDB_INDEX_NOTUNIQUE, array('teamsubmissiongroupingid'));
+        $index = new xmldb_index('teamsubmissiongroupingid',
+                                 XMLDB_INDEX_NOTUNIQUE,
+                                 array('teamsubmissiongroupingid'));
         // Conditionally launch add index.
         if (!$dbman->index_exists($table, $index)) {
             $dbman->add_index($table, $index);
         }
         $table = new xmldb_table('assign_submission');
-        $field = new xmldb_field('groupid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'status');
+        $field = new xmldb_field('groupid', XMLDB_TYPE_INTEGER, '10', null,
+                                 XMLDB_NOTNULL, null, '0', 'status');
         // Conditionally launch add field.
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
@@ -158,48 +165,48 @@ function xmldb_assign_upgrade($oldversion) {
     }
     if ($oldversion < 2012082400) {
 
-        // Define table assign_user_mapping to be created
+        // Define table assign_user_mapping to be created.
         $table = new xmldb_table('assign_user_mapping');
 
-        // Adding fields to table assign_user_mapping
+        // Adding fields to table assign_user_mapping.
         $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
         $table->add_field('assignment', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0');
         $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0');
 
-        // Adding keys to table assign_user_mapping
+        // Adding keys to table assign_user_mapping.
         $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));
         $table->add_key('assignment', XMLDB_KEY_FOREIGN, array('assignment'), 'assign', array('id'));
         $table->add_key('user', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id'));
 
-        // Conditionally launch create table for assign_user_mapping
+        // Conditionally launch create table for assign_user_mapping.
         if (!$dbman->table_exists($table)) {
             $dbman->create_table($table);
         }
 
-        // Define field blindmarking to be added to assign
+        // Define field blindmarking to be added to assign.
         $table = new xmldb_table('assign');
-        $field = new xmldb_field('blindmarking', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'teamsubmissiongroupingid');
+        $field = new xmldb_field('blindmarking', XMLDB_TYPE_INTEGER, '2', null,
+                                 XMLDB_NOTNULL, null, '0', 'teamsubmissiongroupingid');
 
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
 
-        // Define field revealidentities to be added to assign
+        // Define field revealidentities to be added to assign.
         $table = new xmldb_table('assign');
-        $field = new xmldb_field('revealidentities', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0', 'blindmarking');
+        $field = new xmldb_field('revealidentities', XMLDB_TYPE_INTEGER, '2', null,
+                                 XMLDB_NOTNULL, null, '0', 'blindmarking');
 
         if (!$dbman->field_exists($table, $field)) {
             $dbman->add_field($table, $field);
         }
 
-        // assign savepoint reached
+        // Assignment savepoint reached.
         upgrade_mod_savepoint(true, 2012082400, 'assign');
     }
 
-
-    // Moodle v2.4.0 release upgrade line
-    // Put any upgrade step following this
-
+    // Moodle v2.4.0 release upgrade line.
+    // Put any upgrade step following this.
 
     return true;
 }
index 3faff44..d885b34 100644 (file)
@@ -25,9 +25,9 @@
 defined('MOODLE_INTERNAL') || die();
 
 /**
- * Provides the information to backup comments feedback
+ * Provides the information to backup comments feedback.
  *
- * This just records the text and format
+ * This just records the text and format.
  *
  * @package   assignfeedback_comments
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -36,22 +36,25 @@ defined('MOODLE_INTERNAL') || die();
 class backup_assignfeedback_comments_subplugin extends backup_subplugin {
 
     /**
-     * Returns the subplugin information to attach to submission element
+     * Returns the subplugin information to attach to submission element.
      * @return backup_subplugin_element
      */
     protected function define_grade_subplugin_structure() {
 
-        // create XML elements
-        $subplugin = $this->get_subplugin_element(); // virtual optigroup element
+        // Create XML elements.
+        $subplugin = $this->get_subplugin_element();
         $subpluginwrapper = new backup_nested_element($this->get_recommended_name());
-        $subpluginelement = new backup_nested_element('feedback_comments', null, array('commenttext', 'commentformat', 'grade'));
+        $subpluginelement = new backup_nested_element('feedback_comments',
+                                                      null,
+                                                      array('commenttext', 'commentformat', 'grade'));
 
-        // connect XML elements into the tree
+        // Connect XML elements into the tree.
         $subplugin->add_child($subpluginwrapper);
         $subpluginwrapper->add_child($subpluginelement);
 
-        // set source to populate the data
-        $subpluginelement->set_source_table('assignfeedback_comments', array('grade' => backup::VAR_PARENTID));
+        // Set source to populate the data.
+        $subpluginelement->set_source_table('assignfeedback_comments',
+                                            array('grade' => backup::VAR_PARENTID));
 
         return $subplugin;
     }
index 7e38515..1efd24e 100644 (file)
@@ -15,7 +15,8 @@
 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 
 /**
- * restore subplugin class that provides the necessary information needed to restore one assign_submission subplugin.
+ * Restore subplugin class that provides the necessary information needed to restore
+ * one assign_submission subplugin.
  *
  * @package   assignfeedback_comments
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -25,7 +26,8 @@
 defined('MOODLE_INTERNAL') || die();
 
 /**
- * restore subplugin class that provides the necessary information needed to restore one assignfeedback subplugin.
+ * Restore subplugin class that provides the necessary information needed to restore
+ * one assignfeedback subplugin.
  *
  * @package   assignfeedback_comments
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -42,14 +44,16 @@ class restore_assignfeedback_comments_subplugin extends restore_subplugin {
         $paths = array();
 
         $elename = $this->get_namefor('grade');
-        $elepath = $this->get_pathfor('/feedback_comments'); // we used get_recommended_name() so this works
+        // We used get_recommended_name() so this works.
+        $elepath = $this->get_pathfor('/feedback_comments');
+
         $paths[] = new restore_path_element($elename, $elepath);
 
-        return $paths; // And we return the interesting paths
+        return $paths;
     }
 
     /**
-     * Processes one feedback_comments element
+     * Processes one feedback_comments element.
      * @param mixed $data
      */
     public function process_assignfeedback_comments_grade($data) {
@@ -58,7 +62,8 @@ class restore_assignfeedback_comments_subplugin extends restore_subplugin {
         $data = (object)$data;
         $data->assignment = $this->get_new_parentid('assign');
         $oldgradeid = $data->grade;
-        // the mapping is set in the restore for the core assign activity. When a grade node is processed
+        // The mapping is set in the restore for the core assign activity
+        // when a grade node is processed.
         $data->grade = $this->get_mappingid('grade', $data->grade);
 
         $DB->insert_record('assignfeedback_comments', $data);
index f8c093b..0376340 100644 (file)
@@ -31,13 +31,11 @@ defined('MOODLE_INTERNAL') || die();
 function xmldb_assignfeedback_comments_install() {
     global $CFG;
 
-    // do the install
     require_once($CFG->dirroot . '/mod/assign/adminlib.php');
 
-    // set the correct initial order for the plugins
+    // Set the correct initial order for the plugins.
     $pluginmanager = new assign_plugin_manager('assignfeedback');
     $pluginmanager->move_plugin('comments', 'up');
 
-    // do the upgrades
     return true;
 }
index d9ec10a..ee433e4 100644 (file)
  * @return bool
  */
 function xmldb_assignfeedback_comments_upgrade($oldversion) {
-    // do the upgrades
-    // Moodle v2.3.0 release upgrade line
-    // Put any upgrade step following this
-
-
-    // Moodle v2.4.0 release upgrade line
-    // Put any upgrade step following this
+    // Do the upgrades.
+    // Moodle v2.3.0 release upgrade line.
+    // Put any upgrade step following this.
 
+    // Moodle v2.4.0 release upgrade line.
+    // Put any upgrade step following this.
 
     return true;
 }
index 7dcff1e..2c56aa7 100644 (file)
 /**
  * This file contains the definition for the library class for comment feedback plugin
  *
- *
  * @package   assignfeedback_comments
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
- defined('MOODLE_INTERNAL') || die();
+defined('MOODLE_INTERNAL') || die();
 
 /**
- * library class for comment feedback plugin extending feedback plugin base class
+ * Library class for comment feedback plugin extending feedback plugin base class.
  *
  * @package   assignfeedback_comments
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  */
 class assign_feedback_comments extends assign_feedback_plugin {
 
-   /**
-    * Get the name of the online comment feedback plugin
-    * @return string
-    */
+    /**
+     * Get the name of the online comment feedback plugin.
+     * @return string
+     */
     public function get_name() {
         return get_string('pluginname', 'assignfeedback_comments');
     }
 
     /**
-     * Get the feedback comment from the database
+     * Get the feedback comment from the database.
      *
      * @param int $gradeid
-     * @return stdClass|false The feedback comments for the given grade if it exists. False if it doesn't.
+     * @return stdClass|false The feedback comments for the given grade if it exists.
+     *                        False if it doesn't.
      */
     public function get_feedback_comments($gradeid) {
         global $DB;
@@ -54,7 +54,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Get quickgrading form elements as html
+     * Get quickgrading form elements as html.
      *
      * @param int $userid The user id in the table this quickgrading element relates to
      * @param mixed $grade - The grade data - may be null if there are no grades for this user (yet)
@@ -69,10 +69,14 @@ class assign_feedback_comments extends assign_feedback_plugin {
             }
         }
 
-        return html_writer::tag('label', get_string('pluginname', 'assignfeedback_comments'),
-                array('for'=>'quickgrade_comments_' . $userid, 'class'=>'accesshide'))
-                . html_writer::tag('textarea', $commenttext,
-                array('name'=>'quickgrade_comments_' . $userid, 'id'=>'quickgrade_comments_' . $userid, 'class'=>'quickgrade'));
+        $pluginname = get_string('pluginname', 'assignfeedback_comments');
+        $labeloptions = array('for'=>'quickgrade_comments_' . $userid,
+                              'class'=>'accesshide');
+        $textareaoptions = array('name'=>'quickgrade_comments_' . $userid,
+                                 'id'=>'quickgrade_comments_' . $userid,
+                                 'class'=>'quickgrade');
+        return html_writer::tag('label', $pluginname, $labeloptions) .
+               html_writer::tag('textarea', $commenttext, $textareaoptions);
     }
 
     /**
@@ -95,7 +99,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
 
 
     /**
-     * Override to indicate a plugin supports quickgrading
+     * Override to indicate a plugin supports quickgrading.
      *
      * @return boolean - True if the plugin supports quickgrading
      */
@@ -104,7 +108,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Return a list of the text fields that can be imported/exported by this plugin
+     * Return a list of the text fields that can be imported/exported by this plugin.
      *
      * @return array An array of field names and descriptions. (name=>description, ...)
      */
@@ -113,7 +117,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Get the saved text content from the editor
+     * Get the saved text content from the editor.
      *
      * @param string $name
      * @param int $gradeid
@@ -131,7 +135,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Get the saved text content from the editor
+     * Get the saved text content from the editor.
      *
      * @param string $name
      * @param string $value
@@ -160,7 +164,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Save quickgrading changes
+     * Save quickgrading changes.
      *
      * @param int $userid The user id in the table this quickgrading element relates to
      * @param stdClass $grade The grade
@@ -204,7 +208,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * Saving the comment content into dtabase
+     * Saving the comment content into database.
      *
      * @param stdClass $grade
      * @param stdClass $data
@@ -228,7 +232,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * display the comment in the feedback table
+     * Display the comment in the feedback table.
      *
      * @param stdClass $grade
      * @param bool $showviewlink Set to true to show a link to view the full feedback
@@ -237,10 +241,12 @@ class assign_feedback_comments extends assign_feedback_plugin {
     public function view_summary(stdClass $grade, & $showviewlink) {
         $feedbackcomments = $this->get_feedback_comments($grade->id);
         if ($feedbackcomments) {
-            $text = format_text($feedbackcomments->commenttext, $feedbackcomments->commentformat, array('context' => $this->assignment->get_context()));
+            $text = format_text($feedbackcomments->commenttext,
+                                $feedbackcomments->commentformat,
+                                array('context' => $this->assignment->get_context()));
             $short = shorten_text($text, 140);
 
-            // show the view all link if the text has been shortened
+            // Show the view all link if the text has been shortened.
             $showviewlink = $short != $text;
             return $short;
         }
@@ -248,7 +254,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
     }
 
     /**
-     * display the comment in the feedback table
+     * Display the comment in the feedback table.
      *
      * @param stdClass $grade
      * @return string
@@ -256,7 +262,9 @@ class assign_feedback_comments extends assign_feedback_plugin {
     public function view(stdClass $grade) {
         $feedbackcomments = $this->get_feedback_comments($grade->id);
         if ($feedbackcomments) {
-            return format_text($feedbackcomments->commenttext, $feedbackcomments->commentformat, array('context' => $this->assignment->get_context()));
+            return format_text($feedbackcomments->commenttext,
+                               $feedbackcomments->commentformat,
+                               array('context' => $this->assignment->get_context()));
         }
         return '';
     }
@@ -287,7 +295,6 @@ class assign_feedback_comments extends assign_feedback_plugin {
      * @return bool was it a success? (false will trigger a rollback)
      */
     public function upgrade_settings(context $oldcontext, stdClass $oldassignment, & $log) {
-        // first upgrade settings (nothing to do)
         return true;
     }
 
@@ -301,7 +308,11 @@ class assign_feedback_comments extends assign_feedback_plugin {
      * @param string $log Record upgrade messages in the log
      * @return bool true or false - false will trigger a rollback
      */
-    public function upgrade(context $oldcontext, stdClass $oldassignment, stdClass $oldsubmission, stdClass $grade, & $log) {
+    public function upgrade(context $oldcontext,
+                            stdClass $oldassignment,
+                            stdClass $oldsubmission,
+                            stdClass $grade,
+                            & $log) {
         global $DB;
 
         $feedbackcomments = new stdClass();
@@ -361,13 +372,14 @@ class assign_feedback_comments extends assign_feedback_plugin {
      */
     public function delete_instance() {
         global $DB;
-        // will throw exception on failure
-        $DB->delete_records('assignfeedback_comments', array('assignment'=>$this->assignment->get_instance()->id));
+        // Will throw exception on failure.
+        $DB->delete_records('assignfeedback_comments',
+                            array('assignment'=>$this->assignment->get_instance()->id));
         return true;
     }
 
     /**
-     * Returns true if there are no feedback comments for the given grade
+     * Returns true if there are no feedback comments for the given grade.
      *
      * @param stdClass $grade
      * @return bool
index 497a7c1..04bfafe 100644 (file)
@@ -24,9 +24,9 @@
 defined('MOODLE_INTERNAL') || die();
 
 /**
- * Provides the information to backup feedback files
+ * Provides the information to backup feedback files.
  *
- * This just adds its filearea to the annotations and records the number of files
+ * This just adds its filearea to the annotations and records the number of files.
  *
  * @package   assignfeedback_file
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -40,19 +40,19 @@ class backup_assignfeedback_file_subplugin extends backup_subplugin {
      */
     protected function define_grade_subplugin_structure() {
 
-        // create XML elements
-        $subplugin = $this->get_subplugin_element(); // virtual optigroup element
+        // Create XML elements.
+        $subplugin = $this->get_subplugin_element();
         $subpluginwrapper = new backup_nested_element($this->get_recommended_name());
         $subpluginelement = new backup_nested_element('feedback_file', null, array('numfiles', 'grade'));
 
-        // connect XML elements into the tree
+        // Connect XML elements into the tree.
         $subplugin->add_child($subpluginwrapper);
         $subpluginwrapper->add_child($subpluginelement);
 
-        // set source to populate the data
+        // Set source to populate the data.
         $subpluginelement->set_source_table('assignfeedback_file', array('grade' => backup::VAR_PARENTID));
-
-        $subpluginelement->annotate_files('assignfeedback_file', 'feedback_files', 'grade');// The parent is the grade
+        // The parent is the grade.
+        $subpluginelement->annotate_files('assignfeedback_file', 'feedback_files', 'grade');
         return $subplugin;
     }
 
index 3ce98ed..df258d3 100644 (file)
@@ -24,7 +24,8 @@
 defined('MOODLE_INTERNAL') || die();
 
 /**
- * restore subplugin class that provides the necessary information needed to restore one assign_feedback subplugin.
+ * Restore subplugin class that provides the necessary information needed
+ * to restore one assign_feedback subplugin.
  *
  * @package   assignfeedback_file
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -41,10 +42,11 @@ class restore_assignfeedback_file_subplugin extends restore_subplugin {
         $paths = array();
 
         $elename = $this->get_namefor('grade');
-        $elepath = $this->get_pathfor('/feedback_file'); // we used get_recommended_name() so this works
+        // We used get_recommended_name() so this works.
+        $elepath = $this->get_pathfor('/feedback_file');
         $paths[] = new restore_path_element($elename, $elepath);
 
-        return $paths; // And we return the interesting paths
+        return $paths;
     }
 
     /**
@@ -57,7 +59,8 @@ class restore_assignfeedback_file_subplugin extends restore_subplugin {
         $data = (object)$data;
         $data->assignment = $this->get_new_parentid('assign');
         $oldgradeid = $data->grade;
-        // the mapping is set in the restore for the core assign activity. When a grade node is processed
+        // The mapping is set in the restore for the core assign activity
+        // when a grade node is processed.
         $data->grade = $this->get_mappingid('grade', $data->grade);
 
         $DB->insert_record('assignfeedback_file', $data);
index 65c302f..929c378 100644 (file)
@@ -25,7 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-
 /**
  * Code run after the assignfeedback_file module database tables have been created.
  * Moves the feedback file plugin down
@@ -35,15 +34,12 @@ defined('MOODLE_INTERNAL') || die();
 function xmldb_assignfeedback_file_install() {
     global $CFG;
 
-    // do the install
-
     require_once($CFG->dirroot . '/mod/assign/adminlib.php');
-    // set the correct initial order for the plugins
-    $pluginmanager = new assign_plugin_manager('assignfeedback');
 
+    // Set the correct initial order for the plugins.
+    $pluginmanager = new assign_plugin_manager('assignfeedback');
     $pluginmanager->move_plugin('file', 'down');
 
-    // do the upgrades
     return true;
 }
 
index 4aa3a27..88945d8 100644 (file)
  * @return bool
  */
 function xmldb_assignfeedback_file_upgrade($oldversion) {
-    // do the upgrades
-    // Moodle v2.3.0 release upgrade line
-    // Put any upgrade step following this
-
-
-    // Moodle v2.4.0 release upgrade line
-    // Put any upgrade step following this
+    // Do the upgrades.
+    // Moodle v2.3.0 release upgrade line.
+    // Put any upgrade step following this.
 
+    // Moodle v2.4.0 release upgrade line.
+    // Put any upgrade step following this.
 
     return true;
 }
index a5aad69..33e7502 100644 (file)
@@ -39,7 +39,7 @@ class assignfeedback_file_import_zip_form extends moodleform implements renderab
     /**
      * Create this grade import form
      */
-    function definition() {
+    public function definition() {
         global $CFG, $PAGE;
 
         $mform = $this->_form;
index 87ba684..6ae9635 100644 (file)
@@ -34,7 +34,12 @@ defined('MOODLE_INTERNAL') || die();
  * @param bool $forcedownload
  * @return bool false if file not found, does not return if found - just send the file
  */
-function assignfeedback_file_pluginfile($course, $cm, context $context, $filearea, $args, $forcedownload) {
+function assignfeedback_file_pluginfile($course,
+                                        $cm,
+                                        context $context,
+                                        $filearea,
+                                        $args,
+                                        $forcedownload) {
     global $USER, $DB;
 
     if ($context->contextlevel != CONTEXT_MODULE) {
@@ -46,7 +51,6 @@ function assignfeedback_file_pluginfile($course, $cm, context $context, $fileare
     $record = $DB->get_record('assign_grades', array('id'=>$itemid), 'userid,assignment', MUST_EXIST);
     $userid = $record->userid;
 
-
     if (!$assign = $DB->get_record('assign', array('id'=>$cm->instance))) {
         return false;
     }
@@ -55,8 +59,7 @@ function assignfeedback_file_pluginfile($course, $cm, context $context, $fileare
         return false;
     }
 
-
-    // check is users feedback or has grading permission
+    // Check is users feedback or has grading permission.
     if ($USER->id != $userid and !has_capability('mod/assign:grade', $context)) {
         return false;
     }
@@ -69,5 +72,6 @@ function assignfeedback_file_pluginfile($course, $cm, context $context, $fileare
     if (!$file = $fs->get_file_by_hash(sha1($fullpath)) or $file->is_directory()) {
         return false;
     }
-    send_stored_file($file, 0, 0, true); // download MUST be forced - security!
+    // Download MUST be forced - security!
+    send_stored_file($file, 0, 0, true);
 }
index 6ed295e..d9f1c47 100644 (file)
@@ -24,9 +24,8 @@
  */
 
 defined('MOODLE_INTERNAL') || die();
-/**
- * File areas for file feedback assignment
- */
+
+// File areas for file feedback assignment.
 define('ASSIGNFEEDBACK_FILE_FILEAREA', 'feedback_files');
 define('ASSIGNFEEDBACK_FILE_BATCH_FILEAREA', 'feedback_files_batch');
 define('ASSIGNFEEDBACK_FILE_IMPORT_FILEAREA', 'feedback_files_import');
@@ -35,7 +34,7 @@ define('ASSIGNFEEDBACK_FILE_MAXSUMMARYUSERS', 5);
 define('ASSIGNFEEDBACK_FILE_MAXFILEUNZIPTIME', 120);
 
 /**
- * library class for file feedback plugin extending feedback plugin base class
+ * Library class for file feedback plugin extending feedback plugin base class.
  *
  * @package   asignfeedback_file
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -44,7 +43,8 @@ define('ASSIGNFEEDBACK_FILE_MAXFILEUNZIPTIME', 120);
 class assign_feedback_file extends assign_feedback_plugin {
 
     /**
-     * Get the name of the file feedback plugin
+     * Get the name of the file feedback plugin.
+     *
      * @return string
      */
     public function get_name() {
@@ -52,7 +52,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Get file feedback information from the database
+     * Get file feedback information from the database.
      *
      * @param int $gradeid
      * @return mixed
@@ -63,21 +63,22 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * File format options
+     * File format options.
+     *
      * @return array
      */
     private function get_file_options() {
         global $COURSE;
 
         $fileoptions = array('subdirs'=>1,
-                                'maxbytes'=>$COURSE->maxbytes,
-                                'accepted_types'=>'*',
-                                'return_types'=>FILE_INTERNAL);
+                             'maxbytes'=>$COURSE->maxbytes,
+                             'accepted_types'=>'*',
+                             'return_types'=>FILE_INTERNAL);
         return $fileoptions;
     }
 
     /**
-     * Copy all the files from one file area to another
+     * Copy all the files from one file area to another.
      *
      * @param file_storage $fs - The source context id
      * @param int $fromcontextid - The source context id
@@ -110,7 +111,8 @@ class assign_feedback_file extends assign_feedback_plugin {
             foreach ($files as $file) {
                 if ($file->is_directory() and $file->get_filepath() === '/') {
                     // We need a way to mark the age of each draft area.
-                    // By not copying the root dir we force it to be created automatically with current timestamp.
+                    // By not copying the root dir we force it to be created
+                    // automatically with current timestamp.
                     continue;
                 }
                 $newfile = $fs->create_file_from_storedfile($newfilerecord, $file);
@@ -120,7 +122,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Get form elements for grading form
+     * Get form elements for grading form.
      *
      * @param stdClass $grade
      * @param MoodleQuickForm $mform
@@ -148,7 +150,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Count the number of files
+     * Count the number of files.
      *
      * @param int $gradeid
      * @param string $area
@@ -157,13 +159,18 @@ class assign_feedback_file extends assign_feedback_plugin {
     private function count_files($gradeid, $area) {
 
         $fs = get_file_storage();
-        $files = $fs->get_area_files($this->assignment->get_context()->id, 'assignfeedback_file', $area, $gradeid, "id", false);
+        $files = $fs->get_area_files($this->assignment->get_context()->id,
+                                     'assignfeedback_file',
+                                     $area,
+                                     $gradeid,
+                                     'id',
+                                     false);
 
         return count($files);
     }
 
     /**
-     * Update the number of files in the file area
+     * Update the number of files in the file area.
      *
      * @param stdClass $grade The grade record
      * @return bool - true if the value was saved
@@ -185,7 +192,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Save the feedback files
+     * Save the feedback files.
      *
      * @param stdClass $grade
      * @param stdClass $data
@@ -213,48 +220,57 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Display the list of files  in the feedback status table
+     * Display the list of files in the feedback status table.
      *
      * @param stdClass $grade
      * @param bool $showviewlink - Set to true to show a link to see the full list of files
      * @return string
      */
     public function view_summary(stdClass $grade, & $showviewlink) {
+
         $count = $this->count_files($grade->id, ASSIGNFEEDBACK_FILE_FILEAREA);
-        // show a view all link if the number of files is over this limit
+
+        // Show a view all link if the number of files is over this limit.
         $showviewlink = $count > ASSIGNFEEDBACK_FILE_MAXSUMMARYFILES;
 
         if ($count <= ASSIGNFEEDBACK_FILE_MAXSUMMARYFILES) {
-            return $this->assignment->render_area_files('assignfeedback_file', ASSIGNFEEDBACK_FILE_FILEAREA, $grade->id);
+            return $this->assignment->render_area_files('assignfeedback_file',
+                                                        ASSIGNFEEDBACK_FILE_FILEAREA,
+                                                        $grade->id);
         } else {
             return get_string('countfiles', 'assignfeedback_file', $count);
         }
     }
 
     /**
-     * Display the list of files  in the feedback status table
+     * Display the list of files in the feedback status table.
+     *
      * @param stdClass $grade
      * @return string
      */
     public function view(stdClass $grade) {
-        return $this->assignment->render_area_files('assignfeedback_file', ASSIGNFEEDBACK_FILE_FILEAREA, $grade->id);
+        return $this->assignment->render_area_files('assignfeedback_file',
+                                                    ASSIGNFEEDBACK_FILE_FILEAREA,
+                                                    $grade->id);
     }
 
     /**
-     * The assignment has been deleted - cleanup
+     * The assignment has been deleted - cleanup.
      *
      * @return bool
      */
     public function delete_instance() {
         global $DB;
-        // will throw exception on failure
-        $DB->delete_records('assignfeedback_file', array('assignment'=>$this->assignment->get_instance()->id));
+        // Will throw exception on failure.
+        $DB->delete_records('assignfeedback_file',
+                            array('assignment'=>$this->assignment->get_instance()->id));
 
         return true;
     }
 
     /**
-     * Return true if there are no feedback files
+     * Return true if there are no feedback files.
+     *
      * @param stdClass $grade
      */
     public function is_empty(stdClass $grade) {
@@ -262,7 +278,8 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Get file areas returns a list of areas this plugin stores files
+     * Get file areas returns a list of areas this plugin stores files.
+     *
      * @return array - An array of fileareas (keys) and descriptions (values)
      */
     public function get_file_areas() {
@@ -278,7 +295,6 @@ class assign_feedback_file extends assign_feedback_plugin {
      * @return bool True if upgrade is possible
      */
     public function can_upgrade($type, $version) {
-
         if (($type == 'upload' || $type == 'uploadsingle') && $version >= 2011112900) {
             return true;
         }
@@ -286,7 +302,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Upgrade the settings from the old assignment to the new plugin based one
+     * Upgrade the settings from the old assignment to the new plugin based one.
      *
      * @param context $oldcontext - the context for the old assignment
      * @param stdClass $oldassignment - the data for the old assignment
@@ -294,12 +310,12 @@ class assign_feedback_file extends assign_feedback_plugin {
      * @return bool was it a success? (false will trigger a rollback)
      */
     public function upgrade_settings(context $oldcontext, stdClass $oldassignment, & $log) {
-        // first upgrade settings (nothing to do)
+        // First upgrade settings (nothing to do).
         return true;
     }
 
     /**
-     * Upgrade the feedback from the old assignment to the new one
+     * Upgrade the feedback from the old assignment to the new one.
      *
      * @param context $oldcontext - the database for the old assignment context
      * @param stdClass $oldassignment The data record for the old assignment
@@ -308,21 +324,24 @@ class assign_feedback_file extends assign_feedback_plugin {
      * @param string $log Record upgrade messages in the log
      * @return bool true or false - false will trigger a rollback
      */
-    public function upgrade(context $oldcontext, stdClass $oldassignment, stdClass $oldsubmission, stdClass $grade, & $log) {
+    public function upgrade(context $oldcontext,
+                            stdClass $oldassignment,
+                            stdClass $oldsubmission,
+                            stdClass $grade,
+                            & $log) {
         global $DB;
 
-        // now copy the area files
+        // Now copy the area files.
         $this->assignment->copy_area_files_for_upgrade($oldcontext->id,
                                                         'mod_assignment',
                                                         'response',
                                                         $oldsubmission->id,
-                                                        // New file area
                                                         $this->assignment->get_context()->id,
                                                         'assignfeedback_file',
                                                         ASSIGNFEEDBACK_FILE_FILEAREA,
                                                         $grade->id);
 
-        // now count them!
+        // Now count them!
         $filefeedback = new stdClass();
         $filefeedback->numfiles = $this->count_files($grade->id, ASSIGNFEEDBACK_FILE_FILEAREA);
         $filefeedback->grade = $grade->id;
@@ -335,8 +354,8 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Return a list of the batch grading operations performed by this plugin
-     * This plugin supports batch upload files and upload zip
+     * Return a list of the batch grading operations performed by this plugin.
+     * This plugin supports batch upload files and upload zip.
      *
      * @return array The list of batch grading operations
      */
@@ -345,7 +364,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Upload files and send them to multiple users
+     * Upload files and send them to multiple users.
      *
      * @param array $users - An array of user ids
      * @return string - The response html
@@ -366,17 +385,19 @@ class assign_feedback_file extends assign_feedback_plugin {
         $usercount = 0;
         foreach ($users as $userid) {
             if ($usercount >= ASSIGNFEEDBACK_FILE_MAXSUMMARYUSERS) {
-                $usershtml .= get_string('moreusers', 'assignfeedback_file', count($users) - ASSIGNFEEDBACK_FILE_MAXSUMMARYUSERS);
+                $moreuserscount = count($users) - ASSIGNFEEDBACK_FILE_MAXSUMMARYUSERS;
+                $usershtml .= get_string('moreusers', 'assignfeedback_file', $moreuserscount);
                 break;
             }
             $user = $DB->get_record('user', array('id'=>$userid), '*', MUST_EXIST);
 
-            $usershtml .= $this->assignment->get_renderer()->render(new assign_user_summary($user,
-                                                                $this->assignment->get_course()->id,
-                                                                has_capability('moodle/site:viewfullnames',
-                                                                $this->assignment->get_course_context()),
-                                                                $this->assignment->is_blind_marking(),
-                                                                $this->assignment->get_uniqueid_for_user($user->id)));
+            $usersummary = new assign_user_summary($user,
+                                                   $this->assignment->get_course()->id,
+                                                   has_capability('moodle/site:viewfullnames',
+                                                   $this->assignment->get_course_context()),
+                                                   $this->assignment->is_blind_marking(),
+                                                   $this->assignment->get_uniqueid_for_user($user->id));
+            $usershtml .= $this->assignment->get_renderer()->render($usersummary);
             $usercount += 1;
         }
 
@@ -416,11 +437,13 @@ class assign_feedback_file extends assign_feedback_plugin {
 
                 $filefeedback = $this->get_file_feedback($grade->id);
                 if ($filefeedback) {
-                    $filefeedback->numfiles = $this->count_files($grade->id, ASSIGNFEEDBACK_FILE_FILEAREA);
+                    $filefeedback->numfiles = $this->count_files($grade->id,
+                                                                 ASSIGNFEEDBACK_FILE_FILEAREA);
                     $DB->update_record('assignfeedback_file', $filefeedback);
                 } else {
                     $filefeedback = new stdClass();
-                    $filefeedback->numfiles = $this->count_files($grade->id, ASSIGNFEEDBACK_FILE_FILEAREA);
+                    $filefeedback->numfiles = $this->count_files($grade->id,
+                                                                 ASSIGNFEEDBACK_FILE_FILEAREA);
                     $filefeedback->grade = $grade->id;
                     $filefeedback->assignment = $this->assignment->get_instance()->id;
                     $DB->insert_record('assignfeedback_file', $filefeedback);
@@ -439,12 +462,13 @@ class assign_feedback_file extends assign_feedback_plugin {
             return;
         } else {
 
+            $header = new assign_header($this->assignment->get_instance(),
+                                        $this->assignment->get_context(),
+                                        false,
+                                        $this->assignment->get_course_module()->id,
+                                        get_string('batchuploadfiles', 'assignfeedback_file'));
             $o = '';
-            $o .= $this->assignment->get_renderer()->render(new assign_header($this->assignment->get_instance(),
-                                                          $this->assignment->get_context(),
-                                                          false,
-                                                          $this->assignment->get_course_module()->id,
-                                                          get_string('batchuploadfiles', 'assignfeedback_file')));
+            $o .= $this->assignment->get_renderer()->render($header);
             $o .= $this->assignment->get_renderer()->render(new assign_form('batchuploadfiles', $mform));
             $o .= $this->assignment->get_renderer()->render_footer();
         }
@@ -453,7 +477,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * User has chosen a custom grading batch operation and selected some users
+     * User has chosen a custom grading batch operation and selected some users.
      *
      * @param string $action - The chosen action
      * @param array $users - An array of user ids
@@ -468,7 +492,7 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * View the upload zip form
+     * View the upload zip form.
      *
      * @return string - The html response
      */
@@ -480,23 +504,25 @@ class assign_feedback_file extends assign_feedback_plugin {
         require_once($CFG->dirroot . '/mod/assign/feedback/file/importziplib.php');
         require_once($CFG->dirroot . '/mod/assign/feedback/file/importzipform.php');
 
-        $mform = new assignfeedback_file_upload_zip_form(null,
-                                                          array('context'=>$this->assignment->get_context(),
-                                                                'cm'=>$this->assignment->get_course_module()->id));
+        $formparams = array('context'=>$this->assignment->get_context(),
+                            'cm'=>$this->assignment->get_course_module()->id);
+        $mform = new assignfeedback_file_upload_zip_form(null, $formparams);
 
         $o = '';
 
         $confirm = optional_param('confirm', 0, PARAM_BOOL);
         $renderer = $this->assignment->get_renderer();
+
         // Delete any existing files.
         $importer = new assignfeedback_file_zip_importer();
         $contextid = $this->assignment->get_context()->id;
 
         if ($mform->is_cancelled()) {
             $importer->delete_import_files($contextid);
-            redirect(new moodle_url('view.php',
-                                    array('id'=>$this->assignment->get_course_module()->id,
-                                          'action'=>'grading')));
+            $urlparams = array('id'=>$this->assignment->get_course_module()->id,
+                               'action'=>'grading');
+            $url = new moodle_url('view.php', $urlparams);
+            redirect($url);
             return;
         } else if ($confirm) {
             $params = array('assignment'=>$this->assignment, 'importer'=>$importer);
@@ -504,9 +530,10 @@ class assign_feedback_file extends assign_feedback_plugin {
             $mform = new assignfeedback_file_import_zip_form(null, $params);
             if ($mform->is_cancelled()) {
                 $importer->delete_import_files($contextid);
-                redirect(new moodle_url('view.php',
-                                        array('id'=>$this->assignment->get_course_module()->id,
-                                          'action'=>'grading')));
+                $urlparams = array('id'=>$this->assignment->get_course_module()->id,
+                                   'action'=>'grading');
+                $url = new moodle_url('view.php', $urlparams);
+                redirect($url);
                 return;
             }
 
@@ -528,21 +555,23 @@ class assign_feedback_file extends assign_feedback_plugin {
 
             $mform = new assignfeedback_file_import_zip_form(null, $params);
 
-            $o .= $renderer->render(new assign_header($this->assignment->get_instance(),
-                                                            $this->assignment->get_context(),
-                                                            false,
-                                                            $this->assignment->get_course_module()->id,
-                                                            get_string('confirmuploadzip', 'assignfeedback_file')));
+            $header = new assign_header($this->assignment->get_instance(),
+                                        $this->assignment->get_context(),
+                                        false,
+                                        $this->assignment->get_course_module()->id,
+                                        get_string('confirmuploadzip', 'assignfeedback_file'));
+            $o .= $renderer->render($header);
             $o .= $renderer->render(new assign_form('confirmimportzip', $mform));
             $o .= $renderer->render_footer();
 
         } else {
 
-            $o .= $renderer->render(new assign_header($this->assignment->get_instance(),
-                                                            $this->assignment->get_context(),
-                                                            false,
-                                                            $this->assignment->get_course_module()->id,
-                                                            get_string('uploadzip', 'assignfeedback_file')));
+            $header = new assign_header($this->assignment->get_instance(),
+                                        $this->assignment->get_context(),
+                                        false,
+                                        $this->assignment->get_course_module()->id,
+                                        get_string('uploadzip', 'assignfeedback_file'));
+            $o .= $renderer->render($header);
             $o .= $renderer->render(new assign_form('uploadfeedbackzip', $mform));
             $o .= $renderer->render_footer();
         }
@@ -551,7 +580,8 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Called by the assignment module when someone chooses something from the grading navigation or batch operations list
+     * Called by the assignment module when someone chooses something from the
+     * grading navigation or batch operations list.
      *
      * @param string $action - The page to view
      * @return string - The html response
@@ -569,8 +599,8 @@ class assign_feedback_file extends assign_feedback_plugin {
     }
 
     /**
-     * Return a list of the grading actions performed by this plugin
-     * This plugin supports upload zip
+     * Return a list of the grading actions performed by this plugin.
+     * This plugin supports upload zip.
      *
      * @return array The list of grading actions
      */
index 292f314..6d793f4 100644 (file)
@@ -17,7 +17,6 @@
 /**
  * This file contains the function for feedback_plugin abstract class
  *
- *
  * @package   mod_assign
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
@@ -25,7 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-/** Include assignmentplugin.php */
 require_once($CFG->dirroot.'/mod/assign/assignmentplugin.php');
 
 /**
@@ -38,7 +36,7 @@ require_once($CFG->dirroot.'/mod/assign/assignmentplugin.php');
 abstract class assign_feedback_plugin extends assign_plugin {
 
     /**
-     * return subtype name of the plugin
+     * Return subtype name of the plugin.
      *
      * @return string
      */
@@ -48,7 +46,7 @@ abstract class assign_feedback_plugin extends assign_plugin {
 
     /**
      * If this plugin adds to the gradebook comments field, it must specify the format
-     * of the comment
+     * of the comment.
      *
      * (From weblib.php)
      * define('FORMAT_MOODLE',   '0');   // Does all sorts of transformations and filtering
@@ -69,7 +67,7 @@ abstract class assign_feedback_plugin extends assign_plugin {
 
     /**
      * If this plugin adds to the gradebook comments field, it must format the text
-     * of the comment
+     * of the comment.
      *
      * Only one feedback plugin can push comments to the gradebook and that is chosen by the assignment
      * settings page.
@@ -82,7 +80,7 @@ abstract class assign_feedback_plugin extends assign_plugin {
     }
 
     /**
-     * Override to indicate a plugin supports quickgrading
+     * Override to indicate a plugin supports quickgrading.
      *
      * @return boolean - True if the plugin supports quickgrading
      */
@@ -91,11 +89,13 @@ abstract class assign_feedback_plugin extends assign_plugin {
     }
 
     /**
-     * Get quickgrading form elements as html
+     * Get quickgrading form elements as html.
      *
      * @param int $userid The user id in the table this quickgrading element relates to
-     * @param mixed $grade grade or null - The grade data. May be null if there are no grades for this user (yet)
-     * @return mixed - A html string containing the html form elements required for quickgrading or false to indicate this plugin does not support quickgrading
+     * @param mixed $grade grade or null - The grade data.
+     *                     May be null if there are no grades for this user (yet)
+     * @return mixed - A html string containing the html form elements required for
+     *                 quickgrading or false to indicate this plugin does not support quickgrading
      */
     public function get_quickgrading_html($userid, $grade) {
         return false;
@@ -113,7 +113,7 @@ abstract class assign_feedback_plugin extends assign_plugin {
     }
 
     /**
-     * Save quickgrading changes
+     * Save quickgrading changes.
      *
      * @param int $userid The user id in the table this quickgrading element relates to
      * @param stdClass $grade The grade
@@ -124,19 +124,21 @@ abstract class assign_feedback_plugin extends assign_plugin {
     }
 
     /**
-     * Return a list of the batch grading operations supported by this plugin
+     * Return a list of the batch grading operations supported by this plugin.
      *
-     * @return array - An array of action and description strings. The action will be passed to grading_batch_operation.
+     * @return array - An array of action and description strings.
+     *                 The action will be passed to grading_batch_operation.
      */
     public function get_grading_batch_operations() {
         return array();
     }
 
     /**
-     * Return a list of the grading actions supported by this plugin
+     * Return a list of the grading actions supported by this plugin.
      *
      * A grading action is a page that is not specific to a user but to the whole assignment.
-     * @return array - An array of action and description strings. The action will be passed to grading_action.
+     * @return array - An array of action and description strings.
+     *                 The action will be passed to grading_action.
      */
     public function get_grading_actions() {
         return array();
index 366d5d8..bff82de 100644 (file)
 defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
 
 
-/** Include formslib.php */
-require_once ($CFG->libdir.'/formslib.php');
-/** Include locallib.php */
+require_once($CFG->libdir.'/formslib.php');
 require_once($CFG->dirroot . '/mod/assign/locallib.php');
-/** Required for advanced grading */
 require_once('HTML/QuickForm/input.php');
 
 /**
@@ -44,13 +41,13 @@ class mod_assign_grade_form extends moodleform {
     private $assignment;
 
     /**
-     * Define the form - called by parent constructor
+     * Define the form - called by parent constructor.
      */
-    function definition() {
+    public function definition() {
         $mform = $this->_form;
 
         list($assignment, $data, $params) = $this->_customdata;
-        // visible elements
+        // Visible elements.
         $this->assignment = $assignment;
         $assignment->add_grade_form_elements($mform, $data, $params);
 
@@ -61,7 +58,8 @@ class mod_assign_grade_form extends moodleform {
 
     /**
      * This is required so when using "Save and next", each form is not defaulted to the previous form.
-     * Giving each form a unique identitifer is enough to prevent this (include the rownum in the form name).
+     * Giving each form a unique identitifer is enough to prevent this
+     * (include the rownum in the form name).
      *
      * @return string - The unique identifier for this form.
      */
@@ -75,25 +73,26 @@ class mod_assign_grade_form extends moodleform {
      * @param array $data
      * @param array $files
      */
-    function validation($data, $files) {
+    public function validation($data, $files) {
         global $DB;
         $errors = parent::validation($data, $files);
-        // advanced grading
+        $instance = $this->assignment->get_instance();
+        // Advanced grading.
         if (!array_key_exists('grade', $data)) {
             return $errors;
         }
 
-        if ($this->assignment->get_instance()->grade > 0) {
+        if ($instance->grade > 0) {
             if (unformat_float($data['grade']) === null && (!empty($data['grade']))) {
                 $errors['grade'] = get_string('invalidfloatforgrade', 'assign', $data['grade']);
-            } else if (unformat_float($data['grade']) > $this->assignment->get_instance()->grade) {
-                $errors['grade'] = get_string('gradeabovemaximum', 'assign', $this->assignment->get_instance()->grade);
+            } else if (unformat_float($data['grade']) > $instance->grade) {
+                $errors['grade'] = get_string('gradeabovemaximum', 'assign', $instance->grade);
             } else if (unformat_float($data['grade']) < 0) {
                 $errors['grade'] = get_string('gradebelowzero', 'assign');
             }
         } else {
-            // this is a scale
-            if ($scale = $DB->get_record('scale', array('id'=>-($this->assignment->get_instance()->grade)))) {
+            // This is a scale.
+            if ($scale = $DB->get_record('scale', array('id'=>-($instance->grade)))) {
                 $scaleoptions = make_menu_from_list($scale->scale);
                 if (!array_key_exists((int)$data['grade'], $scaleoptions)) {
                     $errors['grade'] = get_string('invalidgradeforscale', 'assign');
@@ -102,5 +101,4 @@ class mod_assign_grade_form extends moodleform {
         }
         return $errors;
     }
-
 }
index e2a7284..637e003 100644 (file)
 
 defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
 
-
-/** Include formslib.php */
-require_once ($CFG->libdir.'/formslib.php');
-/** Include locallib.php */
+require_once($CFG->libdir.'/formslib.php');
 require_once($CFG->dirroot . '/mod/assign/locallib.php');
 
 /**
@@ -39,13 +36,13 @@ require_once($CFG->dirroot . '/mod/assign/locallib.php');
  */
 class mod_assign_grading_batch_operations_form extends moodleform {
     /**
-     * Define this form - called by the parent constructor
+     * Define this form - called by the parent constructor.
      */
-    function definition() {
+    public function definition() {
         $mform = $this->_form;
         $instance = $this->_customdata;
 
-        // visible elements
+        // Visible elements.
         $options = array();
         $options['lock'] = get_string('locksubmissions', 'assign');
         $options['unlock'] = get_string('unlocksubmissions', 'assign');
@@ -59,7 +56,8 @@ class mod_assign_grading_batch_operations_form extends moodleform {
         foreach ($instance['feedbackplugins'] as $plugin) {
             if ($plugin->is_visible() && $plugin->is_enabled()) {
                 foreach ($plugin->get_grading_batch_operations() as $action => $description) {
-                    $options['plugingradingbatchoperation_' . $plugin->get_type() . '_' . $action] = $description;
+                    $operationkey = 'plugingradingbatchoperation_' . $plugin->get_type() . '_' . $action;
+                    $options[$operationkey] = $description;
                 }
             }
         }
@@ -72,9 +70,8 @@ class mod_assign_grading_batch_operations_form extends moodleform {
         $objs = array();
         $objs[] =& $mform->createElement('select', 'operation', get_string('chooseoperation', 'assign'), $options);
         $objs[] =& $mform->createElement('submit', 'submit', get_string('go'));
-        $mform->addElement('group', 'actionsgrp', get_string('batchoperationsdescription', 'assign'), $objs, ' ', false);
-
+        $batchdescription = get_string('batchoperationsdescription', 'assign');
+        $mform->addElement('group', 'actionsgrp', $batchdescription, $objs, ' ', false);
     }
-
 }
 
index 8eb7ce3..b8c38e6 100644 (file)
@@ -25,9 +25,7 @@
 defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
 
 
-/** Include formslib.php */
-require_once ($CFG->libdir.'/formslib.php');
-/** Include locallib.php */
+require_once($CFG->libdir.'/formslib.php');
 require_once($CFG->dirroot . '/mod/assign/locallib.php');
 
 /**
@@ -39,16 +37,16 @@ require_once($CFG->dirroot . '/mod/assign/locallib.php');
  */
 class mod_assign_grading_options_form extends moodleform {
     /**
-     * Define this form - called from the parent constructor
+     * Define this form - called from the parent constructor.
      */
-    function definition() {
+    public function definition() {
         $mform = $this->_form;
         $instance = $this->_customdata;
         $dirtyclass = array('class'=>'ignoredirty');
 
         $mform->addElement('header', 'general', get_string('gradingoptions', 'assign'));
-        // visible elements
-        $options = array(-1=>get_string('all'),10=>'10', 20=>'20', 50=>'50', 100=>'100');
+        // Visible elements.
+        $options = array(-1=>get_string('all'), 10=>'10', 20=>'20', 50=>'50', 100=>'100');
         $mform->addElement('select', 'perpage', get_string('assignmentsperpage', 'assign'), $options, $dirtyclass);
         $options = array('' => get_string('filternone', 'assign'),
                          ASSIGN_FILTER_SUBMITTED => get_string('filtersubmitted', 'assign'),
@@ -57,14 +55,14 @@ class mod_assign_grading_options_form extends moodleform {
             $mform->addElement('select', 'filter', get_string('filter', 'assign'), $options, $dirtyclass);
         }
 
-        // quickgrading
+        // Quickgrading.
         if ($instance['showquickgrading']) {
             $mform->addElement('checkbox', 'quickgrading', get_string('quickgrading', 'assign'), '', $dirtyclass);
             $mform->addHelpButton('quickgrading', 'quickgrading', 'assign');
             $mform->setDefault('quickgrading', $instance['quickgrading']);
         }
 
-        // hidden params
+        // Hidden params.
         $mform->addElement('hidden', 'contextid', $instance['contextid']);
         $mform->setType('contextid', PARAM_INT);
         $mform->addElement('hidden', 'id', $instance['cm']);
@@ -74,7 +72,7 @@ class mod_assign_grading_options_form extends moodleform {
         $mform->addElement('hidden', 'action', 'saveoptions');
         $mform->setType('action', PARAM_ALPHA);
 
-        // buttons
+        // Buttons.
         $this->add_action_buttons(false, get_string('updatetable', 'assign'));
     }
 }
index c565d7b..5cf6cc4 100644 (file)
@@ -72,7 +72,12 @@ class assign_grading_table extends table_sql implements renderable {
      * @param int $rowoffset For showing a subsequent page of results
      * @param bool $quickgrading Is this table wrapped in a quickgrading form?
      */
-    public function __construct(assign $assignment, $perpage, $filter, $rowoffset, $quickgrading, $downloadfilename = null) {
+    public function __construct(assign $assignment,
+                                $perpage,
+                                $filter,
+                                $rowoffset,
+                                $quickgrading,
+                                $downloadfilename = null) {
         global $CFG, $PAGE, $DB;
         parent::__construct('mod_assign_grading');
         $this->assignment = $assignment;
@@ -91,10 +96,11 @@ class assign_grading_table extends table_sql implements renderable {
         $this->quickgrading = $quickgrading;
         $this->output = $PAGE->get_renderer('mod_assign');
 
-        $this->define_baseurl(new moodle_url($CFG->wwwroot . '/mod/assign/view.php', array('action'=>'grading', 'id'=>$assignment->get_course_module()->id)));
-
-        // do some business - then set the sql
+        $urlparams = array('action'=>'grading', 'id'=>$assignment->get_course_module()->id);
+        $url = new moodle_url($CFG->wwwroot . '/mod/assign/view.php', $urlparams);
+        $this->define_baseurl($url);
 
+        // Do some business - then set the sql.
         $currentgroup = groups_get_activity_group($assignment->get_course_module(), true);
 
         if ($rowoffset) {
@@ -103,7 +109,7 @@ class assign_grading_table extends table_sql implements renderable {
 
         $users = array_keys( $assignment->list_participants($currentgroup, true));
         if (count($users) == 0) {
-            // insert a record that will never match to the sql is still valid.
+            // Insert a record that will never match to the sql is still valid.
             $users[] = -1;
         }
 
@@ -138,7 +144,8 @@ class assign_grading_table extends table_sql implements renderable {
             $where .= ' AND s.timecreated > 0 ';
         }
         if ($filter == ASSIGN_FILTER_REQUIRE_GRADING) {
-            $where .= ' AND (s.timemodified > g.timemodified OR (s.timemodified IS NOT NULL AND g.timemodified IS NULL))';
+            $where .= ' AND (s.timemodified > g.timemodified OR
+                            (s.timemodified IS NOT NULL AND g.timemodified IS NULL))';
         }
         if (strpos($filter, ASSIGN_FILTER_SINGLE_USER) === 0) {
             $userfilter = (int) array_pop(explode('=', $filter));
@@ -181,13 +188,13 @@ class assign_grading_table extends table_sql implements renderable {
             $headers[] = get_string('recordid', 'assign');
         }
 
-        // Submission status
+        // Submission status.
         if ($assignment->is_any_submission_plugin_enabled()) {
             $columns[] = 'status';
             $headers[] = get_string('status');
         }
 
-        // Team submission columns
+        // Team submission columns.
         if ($assignment->get_instance()->teamsubmission) {
             $columns[] = 'team';
             $headers[] = get_string('submissionteam', 'assign');
@@ -196,7 +203,7 @@ class assign_grading_table extends table_sql implements renderable {
             $headers[] = get_string('teamsubmissionstatus', 'assign');
         }
 
-        // Grade
+        // Grade.
         $columns[] = 'grade';
         $headers[] = get_string('grade');
         if ($this->is_downloading()) {
@@ -215,7 +222,7 @@ class assign_grading_table extends table_sql implements renderable {
             $headers[] = get_string('edit');
         }
 
-        // Submission plugins
+        // Submission plugins.
         if ($assignment->is_any_submission_plugin_enabled()) {
             $columns[] = 'timesubmitted';
             $headers[] = get_string('lastmodifiedsubmission', 'assign');
@@ -241,11 +248,11 @@ class assign_grading_table extends table_sql implements renderable {
             }
         }
 
-        // time marked
+        // Time marked.
         $columns[] = 'timemarked';
         $headers[] = get_string('lastmodifiedgrade', 'assign');
 
-        // Feedback plugins
+        // Feedback plugins.
         foreach ($this->assignment->get_feedback_plugins() as $plugin) {
             if ($this->is_downloading()) {
                 if ($plugin->is_visible() && $plugin->is_enabled()) {
@@ -271,17 +278,21 @@ class assign_grading_table extends table_sql implements renderable {
             $headers[] = get_string('finalgrade', 'grades');
         }
 
-        // load the grading info for all users
-        $this->gradinginfo = grade_get_grades($this->assignment->get_course()->id, 'mod', 'assign', $this->assignment->get_instance()->id, $users);
-        $this->hasgrantextension = has_capability('mod/assign:grantextension', $this->assignment->get_context());
+        // Load the grading info for all users.
+        $this->gradinginfo = grade_get_grades($this->assignment->get_course()->id,
+                                              'mod',
+                                              'assign',
+                                              $this->assignment->get_instance()->id,
+                                              $users);
+        $this->hasgrantextension = has_capability('mod/assign:grantextension',
+                                                  $this->assignment->get_context());
 
         if (!empty($CFG->enableoutcomes) && !empty($this->gradinginfo->outcomes)) {
             $columns[] = 'outcomes';
             $headers[] = get_string('outcomes', 'grades');
         }
 
-
-        // set the columns
+        // Set the columns.
         $this->define_columns($columns);
         $this->define_headers($headers);
         // We require at least one unique column for the sort.
@@ -318,12 +329,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Before adding each row to the table make sure rownum is incremented
+     * Before adding each row to the table make sure rownum is incremented.
      *
      * @param array $row row of data from db used to make one row of the table.
      * @return array one row for the table
      */
-    function format_row($row) {
+    public function format_row($row) {
         if ($this->rownum < 0) {
             $this->rownum = $this->currpage * $this->pagesize;
         } else {
@@ -334,31 +345,32 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Add a column with an ID that uniquely identifies this user in this assignment
+     * Add a column with an ID that uniquely identifies this user in this assignment.
      *
      * @return string
      */
-     function col_recordid(stdClass $row) {
-         return get_string('hiddenuser', 'assign') . $this->assignment->get_uniqueid_for_user($row->userid);
-     }
+    public function col_recordid(stdClass $row) {
+        return get_string('hiddenuser', 'assign') .
+               $this->assignment->get_uniqueid_for_user($row->userid);
+    }
 
 
     /**
-     * Add the userid to the row class so it can be updated via ajax
+     * Add the userid to the row class so it can be updated via ajax.
      *
      * @param stdClass $row The row of data
      * @return string The row class
      */
-    function get_row_class($row) {
+    public function get_row_class($row) {
         return 'user' . $row->userid;
     }
 
     /**
-     * Return the number of rows to display on a single page
+     * Return the number of rows to display on a single page.
      *
      * @return int The number of rows per page
      */
-    function get_rows_per_page() {
+    public function get_rows_per_page() {
         return $this->perpage;
     }
 
@@ -372,7 +384,8 @@ class assign_grading_table extends table_sql implements renderable {
         global $DB;
 
         if (empty($this->scale)) {
-            $this->scale = $DB->get_record('scale', array('id'=>-($this->assignment->get_instance()->grade)));
+            $dbparams = array('id'=>-($this->assignment->get_instance()->grade));
+            $this->scale = $DB->get_record('scale', $dbparams);
         }
 
         if (!empty($this->scale->scale)) {
@@ -390,7 +403,7 @@ class assign_grading_table extends table_sql implements renderable {
      * @param int $modified Timestamp showing when the grade was last modified
      * @return string The formatted grade
      */
-    function display_grade($grade, $editable, $userid, $modified) {
+    public function display_grade($grade, $editable, $userid, $modified) {
         if ($this->is_downloading()) {
             if ($this->assignment->get_instance()->grade >= 0) {
                 if ($grade == -1 || $grade === null) {
@@ -410,12 +423,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Get the team info for this user
+     * Get the team info for this user.
      *
      * @param stdClass $row
      * @return string The team name
      */
-    function col_team(stdClass $row) {
+    public function col_team(stdClass $row) {
         $submission = false;
         $group = false;
         $this->get_group_and_submission($row->id, $group, $submission);
@@ -432,7 +445,7 @@ class assign_grading_table extends table_sql implements renderable {
      * @param int $groupid The groupid (returned)
      * @param mixed $submission The stdClass submission or false (returned)
      */
-    function get_group_and_submission($userid, &$group, &$submission) {
+    public function get_group_and_submission($userid, &$group, &$submission) {
         $group = false;
         if (isset($this->submissiongroups[$userid])) {
             $group = $this->submissiongroups[$userid];
@@ -456,12 +469,12 @@ class assign_grading_table extends table_sql implements renderable {
 
 
     /**
-     * Get the team status for this user
+     * Get the team status for this user.
      *
      * @param stdClass $row
      * @return string The team name
      */
-    function col_teamstatus(stdClass $row) {
+    public function col_teamstatus(stdClass $row) {
         $submission = false;
         $group = false;
         $this->get_group_and_submission($row->id, $group, $submission);
@@ -475,14 +488,14 @@ class assign_grading_table extends table_sql implements renderable {
 
 
     /**
-     * Format a list of outcomes
+     * Format a list of outcomes.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_outcomes(stdClass $row) {
+    public function col_outcomes(stdClass $row) {
         $outcomes = '';
-        foreach($this->gradinginfo->outcomes as $index=>$outcome) {
+        foreach ($this->gradinginfo->outcomes as $index => $outcome) {
             $options = make_grades_menu(-$outcome->scaleid);
 
             $options[0] = get_string('nooutcome', 'grades');
@@ -498,7 +511,8 @@ class assign_grading_table extends table_sql implements renderable {
                 $select .= '</select>';
                 $outcomes .= $this->output->container($outcome->name . ': ' . $select, 'outcome');
             } else {
-                $outcomes .= $this->output->container($outcome->name . ': ' . $options[$outcome->grades[$row->userid]->grade], 'outcome');
+                $name = $outcome->name . ': ' . $options[$outcome->grades[$row->userid]->grade];
+                $outcomes .= $this->output->container($name, 'outcome');
             }
         }
 
@@ -507,12 +521,12 @@ class assign_grading_table extends table_sql implements renderable {
 
 
     /**
-     * Format a user picture for display
+     * Format a user picture for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_picture(stdClass $row) {
+    public function col_picture(stdClass $row) {
         if ($row->picture) {
             return $this->output->user_picture($row);
         }
@@ -520,12 +534,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a user record for display (link to profile)
+     * Format a user record for display (link to profile).
      *
      * @param stdClass $row
      * @return string
      */
-    function col_fullname($row) {
+    public function col_fullname($row) {
         if (!$this->is_downloading()) {
             $courseid = $this->assignment->get_course()->id;
             $link= new moodle_url('/user/view.php', array('id' =>$row->id, 'course'=>$courseid));
@@ -536,19 +550,24 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Insert a checkbox for selecting the current row for batch operations
+     * Insert a checkbox for selecting the current row for batch operations.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_select(stdClass $row) {
-        return '<label class="accesshide" for="selectuser_' . $row->userid . '">' .
-            get_string('selectuser', 'assign', fullname($row)) . '</label>
-            <input type="checkbox" id="selectuser_' . $row->userid . '" name="selectedusers" value="' . $row->userid . '"/>';
+    public function col_select(stdClass $row) {
+        $selectcol = '<label class="accesshide" for="selectuser_' . $row->userid . '">';
+        $selectcol .= get_string('selectuser', 'assign', fullname($row));
+        $selectcol .= '</label>';
+        $selectcol .= '<input type="checkbox"
+                              id="selectuser_' . $row->userid . '"
+                              name="selectedusers"
+                              value="' . $row->userid . '"/>';
+        return $selectcol;
     }
 
     /**
-     * Return a users grades from the listing of all grade data for this assignment
+     * Return a users grades from the listing of all grade data for this assignment.
      *
      * @param int $userid
      * @return mixed stdClass or false
@@ -561,7 +580,7 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
@@ -571,12 +590,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_grade(stdClass $row) {
+    public function col_grade(stdClass $row) {
         $o = '';
 
         $link = '';
@@ -587,27 +606,34 @@ class assign_grading_table extends table_sql implements renderable {
         if (!$this->is_downloading()) {
             $name = fullname($row);
             if ($this->assignment->is_blind_marking()) {
-                $name = get_string('hiddenuser', 'assign') . $this->assignment->get_uniqueid_for_user($row->userid);
+                $name = get_string('hiddenuser', 'assign') .
+                        $this->assignment->get_uniqueid_for_user($row->userid);
             }
-            $icon = $this->output->pix_icon('gradefeedback', get_string('gradeuser', 'assign', $name), 'mod_assign');
-            $url = new moodle_url('/mod/assign/view.php',
-                                            array('id' => $this->assignment->get_course_module()->id,
-                                                  'rownum'=>$this->rownum,'action'=>'grade'));
+            $icon = $this->output->pix_icon('gradefeedback',
+                                            get_string('gradeuser', 'assign', $name),
+                                            'mod_assign');
+            $urlparams = array('id' => $this->assignment->get_course_module()->id,
+                               'rownum'=>$this->rownum,
+                               'action'=>'grade');
+            $url = new moodle_url('/mod/assign/view.php', $urlparams);
             $link = $this->output->action_link($url, $icon);
             $separator = $this->output->spacer(array(), true);
         }
-        $grade = $this->display_grade($row->grade, $this->quickgrading && !$gradingdisabled, $row->userid, $row->timemarked);
+        $grade = $this->display_grade($row->grade,
+                                      $this->quickgrading && !$gradingdisabled,
+                                      $row->userid,
+                                      $row->timemarked);
 
         return $link . $separator . $grade;
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_finalgrade(stdClass $row) {
+    public function col_finalgrade(stdClass $row) {
         $o = '';
 
         $grade = $this->get_gradebook_data_for_user($row->userid);
@@ -619,15 +645,15 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_timemarked(stdClass $row) {
+    public function col_timemarked(stdClass $row) {
         $o = '-';
 
-        if ($row->timemarked && $row->grade !== NULL && $row->grade >= 0) {
+        if ($row->timemarked && $row->grade !== null && $row->grade >= 0) {
             $o = userdate($row->timemarked);
         }
 
@@ -635,12 +661,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_timesubmitted(stdClass $row) {
+    public function col_timesubmitted(stdClass $row) {
         $o = '-';
 
         if ($row->timesubmitted) {
@@ -656,38 +682,48 @@ class assign_grading_table extends table_sql implements renderable {
      * @param stdClass $row
      * @return string
      */
-    function col_status(stdClass $row) {
+    public function col_status(stdClass $row) {
         $o = '';
 
+        $instance = $this->assignment->get_instance();
+
         if ($this->assignment->is_any_submission_plugin_enabled()) {
 
             $o .= $this->output->container(get_string('submissionstatus_' . $row->status, 'assign'),
                                            array('class'=>'submissionstatus' .$row->status));
-            if ($this->assignment->get_instance()->duedate && $row->timesubmitted > $this->assignment->get_instance()->duedate) {
-                if (!$row->extensionduedate || $row->timesubmitted > $row->extensionduedate) {
-                    $latemessage = get_string('submittedlateshort', 'assign',
-                                              format_time($row->timesubmitted - $this->assignment->get_instance()->duedate));
+            if ($instance->duedate &&
+                    $row->timesubmitted > $instance->duedate) {
+                if (!$row->extensionduedate ||
+                        $row->timesubmitted > $row->extensionduedate) {
+                    $usertime = format_time($row->timesubmitted - $instance->duedate);
+                    $latemessage = get_string('submittedlateshort',
+                                              'assign',
+                                              $usertime);
                     $o .= $this->output->container($latemessage, 'latesubmission');
                 }
             }
             if ($row->locked) {
-                $o .= $this->output->container(get_string('submissionslockedshort', 'assign'), 'lockedsubmission');
+                $lockedstr = get_string('submissionslockedshort', 'assign');
+                $o .= $this->output->container($lockedstr, 'lockedsubmission');
             }
-            if ($row->grade !== NULL && $row->grade >= 0) {
+            if ($row->grade !== null && $row->grade >= 0) {
                 $o .= $this->output->container(get_string('graded', 'assign'), 'submissiongraded');
             }
             if (!$row->timesubmitted) {
                 $now = time();
-                $due = $this->assignment->get_instance()->duedate;
+                $due = $instance->duedate;
                 if ($row->extensionduedate) {
                     $due = $row->extensionduedate;
                 }
                 if ($due && ($now > $due)) {
-                    $o .= $this->output->container(get_string('overdue', 'assign', format_time($now - $due)), 'overduesubmission');
+                    $overduestr = get_string('overdue', 'assign', format_time($now - $due));
+                    $o .= $this->output->container($overduestr, 'overduesubmission');
                 }
             }
             if ($row->extensionduedate) {
-                $o .= $this->output->container(get_string('userextensiondate', 'assign', userdate($row->extensionduedate)), 'extensiondate');
+                $userdate = userdate($row->extensionduedate);
+                $extensionstr = get_string('userextensiondate', 'assign', $userdate);
+                $o .= $this->output->container($extensionstr, 'extensiondate');
             }
         }
 
@@ -699,23 +735,25 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Format a column of data for display
+     * Format a column of data for display.
      *
      * @param stdClass $row
      * @return string
      */
-    function col_userid(stdClass $row) {
+    public function col_userid(stdClass $row) {
         $edit = '';
 
         $actions = array();
 
-        $url = new moodle_url('/mod/assign/view.php',
-                                            array('id' => $this->assignment->get_course_module()->id,
-                                                  'rownum'=>$this->rownum,'action'=>'grade'));
+        $urlparams = array('id'=>$this->assignment->get_course_module()->id,
+                           'rownum'=>$this->rownum,
+                           'action'=>'grade');
+        $url = new moodle_url('/mod/assign/view.php', $urlparams);
+
         if (!$row->grade) {
-           $description = get_string('grade');
-        }else{
-           $description = get_string('updategrade','assign');
+            $description = get_string('grade');
+        } else {
+            $description = get_string('updategrade', 'assign');
         }
         $actions[$url->out(false)] = $description;
 
@@ -726,43 +764,48 @@ class assign_grading_table extends table_sql implements renderable {
                     !$this->assignment->get_instance()->submissiondrafts) {
 
                 if (!$row->locked) {
-                    $url = new moodle_url('/mod/assign/view.php', array('id' => $this->assignment->get_course_module()->id,
-                                                                        'userid'=>$row->id,
-                                                                        'action'=>'lock',
-                                                                        'sesskey'=>sesskey(),
-                                                                        'page'=>$this->currpage));
+                    $urlparams = array('id' => $this->assignment->get_course_module()->id,
+                                       'userid'=>$row->id,
+                                       'action'=>'lock',
+                                       'sesskey'=>sesskey(),
+                                       'page'=>$this->currpage);
+                    $url = new moodle_url('/mod/assign/view.php', $urlparams);
+
                     $description = get_string('preventsubmissionsshort', 'assign');
                     $actions[$url->out(false)] = $description;
                 } else {
-                    $url = new moodle_url('/mod/assign/view.php', array('id' => $this->assignment->get_course_module()->id,
-                                                                        'userid'=>$row->id,
-                                                                        'action'=>'unlock',
-                                                                        'sesskey'=>sesskey(),
-                                                                        'page'=>$this->currpage));
+                    $urlparams = array('id' => $this->assignment->get_course_module()->id,
+                                       'userid'=>$row->id,
+                                       'action'=>'unlock',
+                                       'sesskey'=>sesskey(),
+                                       'page'=>$this->currpage);
+                    $url = new moodle_url('/mod/assign/view.php', $urlparams);
                     $description = get_string('allowsubmissionsshort', 'assign');
-                        $actions[$url->out(false)] = $description;
+                    $actions[$url->out(false)] = $description;
                 }
             }
 
             if (($this->assignment->get_instance()->duedate ||
                    $this->assignment->get_instance()->cutoffdate) &&
                    $this->hasgrantextension) {
-                $url = new moodle_url('/mod/assign/view.php', array('id' => $this->assignment->get_course_module()->id,
-                                                                    'userid'=>$row->id,
-                                                                    'action'=>'grantextension',
-                                                                    'sesskey'=>sesskey(),
-                                                                    'page'=>$this->currpage));
+                $urlparams = array('id' => $this->assignment->get_course_module()->id,
+                                   'userid'=>$row->id,
+                                   'action'=>'grantextension',
+                                   'sesskey'=>sesskey(),
+                                   'page'=>$this->currpage);
+                $url = new moodle_url('/mod/assign/view.php', $urlparams);
                 $description = get_string('grantextension', 'assign');
                 $actions[$url->out(false)] = $description;
-
             }
         }
-        if ($row->status == ASSIGN_SUBMISSION_STATUS_SUBMITTED && $this->assignment->get_instance()->submissiondrafts) {
-            $url = new moodle_url('/mod/assign/view.php', array('id' => $this->assignment->get_course_module()->id,
-                                                                'userid'=>$row->id,
-                                                                'action'=>'reverttodraft',
-                                                                'sesskey'=>sesskey(),
-                                                                'page'=>$this->currpage));
+        if ($row->status == ASSIGN_SUBMISSION_STATUS_SUBMITTED &&
+                $this->assignment->get_instance()->submissiondrafts) {
+            $urlparams = array('id' => $this->assignment->get_course_module()->id,
+                               'userid'=>$row->id,
+                               'action'=>'reverttodraft',
+                               'sesskey'=>sesskey(),
+                               'page'=>$this->currpage);
+            $url = new moodle_url('/mod/assign/view.php', $urlparams);
             $description = get_string('reverttodraftshort', 'assign');
             $actions[$url->out(false)] = $description;
         }
@@ -802,28 +845,33 @@ class assign_grading_table extends table_sql implements renderable {
      *
      * @param assign_plugin $plugin Submission plugin or feedback plugin
      * @param stdClass $item Submission or grade
-     * @param string $returnaction The return action to pass to the view_submission page (the current page)
-     * @param string $returnparams The return params to pass to the view_submission page (the current page)
+     * @param string $returnaction The return action to pass to the
+     *                             view_submission page (the current page)
+     * @param string $returnparams The return params to pass to the view_submission
+     *                             page (the current page)
      * @return string The summary with an optional link
      */
-    private function format_plugin_summary_with_link(assign_plugin $plugin, stdClass $item, $returnaction, $returnparams) {
+    private function format_plugin_summary_with_link(assign_plugin $plugin,
+                                                     stdClass $item,
+                                                     $returnaction,
+                                                     $returnparams) {
         $link = '';
         $showviewlink = false;
 
         $summary = $plugin->view_summary($item, $showviewlink);
         $separator = '';
         if ($showviewlink) {
-            $icon = $this->output->pix_icon('t/preview', get_string('view' . substr($plugin->get_subtype(), strlen('assign')), 'mod_assign'));
-            $link = $this->output->action_link(
-                                new moodle_url('/mod/assign/view.php',
-                                               array('id' => $this->assignment->get_course_module()->id,
+            $viewstr = get_string('view' . substr($plugin->get_subtype(), strlen('assign')), 'assign');
+            $icon = $this->output->pix_icon('t/preview', $viewstr);
+            $urlparams = array('id' => $this->assignment->get_course_module()->id,
                                                      'sid'=>$item->id,
                                                      'gid'=>$item->id,
                                                      'plugin'=>$plugin->get_type(),
                                                      'action'=>'viewplugin' . $plugin->get_subtype(),
                                                      'returnaction'=>$returnaction,
-                                                     'returnparams'=>http_build_query($returnparams))),
-                                $icon);
+                                                     'returnparams'=>http_build_query($returnparams));
+            $url = new moodle_url('/mod/assign/view.php', $urlparams);
+            $link = $this->output->action_link($url, $icon);
             $separator = $this->output->spacer(array(), true);
         }
 
@@ -832,13 +880,13 @@ class assign_grading_table extends table_sql implements renderable {
 
 
     /**
-     * Format the submission and feedback columns
+     * Format the submission and feedback columns.
      *
      * @param string $colname The column name
      * @param stdClass $row The submission row
      * @return mixed string or NULL
      */
-    function other_cols($colname, $row){
+    public function other_cols($colname, $row) {
         $plugincache = $this->plugincache[$colname];
 
         $plugin = $plugincache[0];
@@ -858,7 +906,10 @@ class assign_grading_table extends table_sql implements renderable {
                         if (isset($field)) {
                             return $plugin->get_editor_text($field, $submission->id);
                         }
-                        return $this->format_plugin_summary_with_link($plugin, $submission, 'grading', array());
+                        return $this->format_plugin_summary_with_link($plugin,
+                                                                      $submission,
+                                                                      'grading',
+                                                                      array());
                     }
                 } else if ($row->submissionid) {
                     if (isset($field)) {
@@ -870,7 +921,10 @@ class assign_grading_table extends table_sql implements renderable {
                     $submission->timemodified = $row->timesubmitted;
                     $submission->assignment = $this->assignment->get_instance()->id;
                     $submission->userid = $row->userid;
-                    return $this->format_plugin_summary_with_link($plugin, $submission, 'grading', array());
+                    return $this->format_plugin_summary_with_link($plugin,
+                                                                  $submission,
+                                                                  'grading',
+                                                                  array());
                 }
             } else {
                 $grade = null;
@@ -891,7 +945,10 @@ class assign_grading_table extends table_sql implements renderable {
                 if ($this->quickgrading && $plugin->supports_quickgrading()) {
                     return $plugin->get_quickgrading_html($row->userid, $grade);
                 } else if ($grade) {
-                    return $this->format_plugin_summary_with_link($plugin, $grade, 'grading', array());
+                    return $this->format_plugin_summary_with_link($plugin,
+                                                                  $grade,
+                                                                  'grading',
+                                                                  array());
                 }
             }
         }
@@ -899,12 +956,12 @@ class assign_grading_table extends table_sql implements renderable {
     }
 
     /**
-     * Using the current filtering and sorting - load all rows and return a single column from them
+     * Using the current filtering and sorting - load all rows and return a single column from them.
      *
      * @param string $columnname The name of the raw column data
      * @return array of data
      */
-    function get_column_data($columnname) {
+    public function get_column_data($columnname) {
         $this->setup();
         $this->currpage = 0;
         $this->query_db($this->tablemaxrows);
@@ -914,83 +971,65 @@ class assign_grading_table extends table_sql implements renderable {
         }
         return $result;
     }
-    /**
-     * Using the current filtering and sorting - load a single row and return a single column from it
-     *
-     * @param int $rownumber The rownumber to load
-     * @param string $columnname The name of the raw column data
-     * @param bool $lastrow Set to true if this is the last row in the table
-     * @return mixed string or false
-     */
-    function get_cell_data($rownumber, $columnname, $lastrow) {
-        $this->setup();
-        $this->currpage = $rownumber;
-        $this->query_db(1);
-        if ($rownumber == $this->totalrows-1) {
-            $lastrow = true;
-        }
-        foreach ($this->rawdata as $row) {
-            return $row->$columnname;
-        }
-        return false;
-    }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return string the assignment name
      */
-    function get_assignment_name() {
+    public function get_assignment_name() {
         return $this->assignment->get_instance()->name;
     }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return int the course module id
      */
-    function get_course_module_id() {
+    public function get_course_module_id() {
         return $this->assignment->get_course_module()->id;
     }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return int the course id
      */
-    function get_course_id() {
+    public function get_course_id() {
         return $this->assignment->get_course()->id;
     }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return stdClass The course context
      */
-    function get_course_context() {
+    public function get_course_context() {
         return $this->assignment->get_course_context();
     }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return bool Does this assignment accept submissions
      */
-    function submissions_enabled() {
+    public function submissions_enabled() {
         return $this->assignment->is_any_submission_plugin_enabled();
     }
 
     /**
-     * Return things to the renderer
+     * Return things to the renderer.
      *
      * @return bool Can this user view all grades (the gradebook)
      */
-    function can_view_all_grades() {
-        return has_capability('gradereport/grader:view', $this->assignment->get_course_context()) && has_capability('moodle/grade:viewall', $this->assignment->get_course_context());
+    public function can_view_all_grades() {
+        $context = $this->assignment->get_course_context();
+        return has_capability('gradereport/grader:view', $context) &&
+               has_capability('moodle/grade:viewall', $context);
     }
 
     /**
-     * Override the table show_hide_link to not show for select column
+     * Override the table show_hide_link to not show for select column.
      *
      * @param string $column the column name, index into various names.
      * @param int $index numerical index of the column.
index 3b40740..f072009 100644 (file)
@@ -32,9 +32,9 @@ require_login($course);
 $PAGE->set_url('/mod/assign/index.php', array('id' => $id));
 $PAGE->set_pagelayout('incourse');
 
-add_to_log($course->id, "assign", "view all", "index.php?id=$course->id", "");
+add_to_log($course->id, 'assign', 'view all', 'index.php?id=$course->id', '');
 
-// Print the header
+// Print the header.
 $strplural = get_string("modulenameplural", "assign");
 $PAGE->navbar->add($strplural);
 $PAGE->set_title($strplural);
index ae53088..e2d7e01 100644 (file)
@@ -15,7 +15,8 @@
 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 
 /**
- * This file contains the moodle hooks for the assign module. It delegates most functions to the assignment class.
+ * This file contains the moodle hooks for the assign module.
+ * It delegates most functions to the assignment class.
  *
  * @package   mod_assign
  * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -68,10 +69,14 @@ function assign_reset_userdata($data) {
     $status = array();
     $params = array('courseid'=>$data->courseid);
     $sql = "SELECT a.id FROM {assign} a WHERE a.course=:courseid";
-    $course = $DB->get_record('course', array('id'=> $data->courseid), '*', MUST_EXIST);
-    if ($assigns = $DB->get_records_sql($sql,$params)) {
+    $course = $DB->get_record('course', array('id'=>$data->courseid), '*', MUST_EXIST);
+    if ($assigns = $DB->get_records_sql($sql, $params)) {
         foreach ($assigns as $assign) {
-            $cm = get_coursemodule_from_instance('assign', $assign->id, $data->courseid, false, MUST_EXIST);
+            $cm = get_coursemodule_from_instance('assign',
+                                                 $assign->id,
+                                                 $data->courseid,
+                                                 false,
+                                                 MUST_EXIST);
             $context = context_module::instance($cm->id);
             $assignment = new assign($context, $cm, $course);
             $status = array_merge($status, $assignment->reset_userdata($data));
@@ -89,12 +94,12 @@ function assign_reset_userdata($data) {
 function assign_reset_gradebook($courseid, $type='') {
     global $CFG, $DB;
 
-    $params = array('moduletype'=>'assign','courseid'=>$courseid);
+    $params = array('moduletype'=>'assign', 'courseid'=>$courseid);
     $sql = 'SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid
             FROM {assign} a, {course_modules} cm, {modules} m
             WHERE m.name=:moduletype AND m.id=cm.module AND cm.instance=a.id AND a.course=:courseid';
 
-    if ($assignments = $DB->get_records_sql($sql,$params)) {
+    if ($assignments = $DB->get_records_sql($sql, $params)) {
         foreach ($assignments as $assignment) {
             assign_grade_item_update($assignment, 'reset');
         }
@@ -108,7 +113,8 @@ function assign_reset_gradebook($courseid, $type='') {
  */
 function assign_reset_course_form_definition(&$mform) {
     $mform->addElement('header', 'assignheader', get_string('modulenameplural', 'assign'));
-    $mform->addElement('advcheckbox', 'reset_assign_submissions', get_string('deleteallsubmissions','assign'));
+    $name = get_string('deleteallsubmissions', 'assign');
+    $mform->addElement('advcheckbox', 'reset_assign_submissions', $name);
 }
 
 /**
@@ -189,38 +195,40 @@ function assign_extend_settings_navigation(settings_navigation $settings, naviga
     $context = $cm->context;
     $course = $PAGE->course;
 
-
     if (!$course) {
         return;
     }
 
+    // Link to gradebook.
+    if (has_capability('gradereport/grader:view', $cm->context) &&
+            has_capability('moodle/grade:viewall', $cm->context)) {
+        $link = new moodle_url('/grade/report/grader/index.php', array('id' => $course->id));
+        $linkname = get_string('viewgradebook', 'assign');
+        $node = $navref->add($linkname, $link, navigation_node::TYPE_SETTING);
+    }
 
-   // Link to gradebook
-   if (has_capability('gradereport/grader:view', $cm->context) && has_capability('moodle/grade:viewall', $cm->context)) {
-       $link = new moodle_url('/grade/report/grader/index.php', array('id' => $course->id));
-       $node = $navref->add(get_string('viewgradebook', 'assign'), $link, navigation_node::TYPE_SETTING);
-   }
-
-   // Link to download all submissions
-   if (has_capability('mod/assign:grade', $context)) {
-       $link = new moodle_url('/mod/assign/view.php', array('id' => $cm->id,'action'=>'grading'));
-       $node = $navref->add(get_string('viewgrading', 'assign'), $link, navigation_node::TYPE_SETTING);
+    // Link to download all submissions.
+    if (has_capability('mod/assign:grade', $context)) {
+        $link = new moodle_url('/mod/assign/view.php', array('id' => $cm->id, 'action'=>'grading'));
+        $node = $navref->add(get_string('viewgrading', 'assign'), $link, navigation_node::TYPE_SETTING);
 
-       $link = new moodle_url('/mod/assign/view.php', array('id' => $cm->id,'action'=>'downloadall'));
-       $node = $navref->add(get_string('downloadall', 'assign'), $link, navigation_node::TYPE_SETTING);
-   }
+        $link = new moodle_url('/mod/assign/view.php', array('id' => $cm->id, 'action'=>'downloadall'));
+        $node = $navref->add(get_string('downloadall', 'assign'), $link, navigation_node::TYPE_SETTING);
+    }
 
-   if (has_capability('mod/assign:revealidentities', $context)) {
-       $assignment = $DB->get_record('assign', array('id'=>$cm->instance), 'blindmarking, revealidentities');
+    if (has_capability('mod/assign:revealidentities', $context)) {
+        $dbparams = array('id'=>$cm->instance);
+        $assignment = $DB->get_record('assign', $dbparams, 'blindmarking, revealidentities');
 
-       if ($assignment && $assignment->blindmarking && !$assignment->revealidentities) {
-           $link = new moodle_url('/mod/assign/view.php', array('id' => $cm->id,'action'=>'revealidentities'));
-           $node = $navref->add(get_string('revealidentities', 'assign'), $link, navigation_node::TYPE_SETTING);
-       }
-   }
+        if ($assignment && $assignment->blindmarking && !$assignment->revealidentities) {
+            $urlparams = array('id' => $cm->id, 'action'=>'revealidentities');
+            $url = new moodle_url('/mod/assign/view.php', $urlparams);
+            $linkname = get_string('revealidentities', 'assign');
+            $node = $navref->add($linkname, $url, navigation_node::TYPE_SETTING);
+        }
+    }
 }
 
-
 /**
  * Add a get_coursemodule_info function in case any assignment type wants to add 'extra' information
  * for the course (see resource).
@@ -229,13 +237,15 @@ function assign_extend_settings_navigation(settings_navigation $settings, naviga
  * when printing this activity in a course listing.  See get_array_of_activities() in course/lib.php.
  *
  * @param stdClass $coursemodule The coursemodule object (record).
- * @return cached_cm_info An object on information that the courses will know about (most noticeably, an icon).
+ * @return cached_cm_info An object on information that the courses
+ *                        will know about (most noticeably, an icon).
  */
 function assign_get_coursemodule_info($coursemodule) {
     global $CFG, $DB;
 
-    if (! $assignment = $DB->get_record('assign', array('id'=>$coursemodule->instance),
-            'id, name, alwaysshowdescription, allowsubmissionsfromdate, intro, introformat')) {
+    $dbparams = array('id'=>$coursemodule->instance);
+    $fields = 'id, name, alwaysshowdescription, allowsubmissionsfromdate, intro, introformat';
+    if (! $assignment = $DB->get_record('assign', $dbparams, $fields)) {
         return false;
     }
 
@@ -250,7 +260,6 @@ function assign_get_coursemodule_info($coursemodule) {
     return $result;
 }
 
-
 /**
  * Return a list of page types
  * @param string $pagetype current page type
@@ -279,13 +288,13 @@ function assign_print_overview($courses, &$htmlarray) {
         return array();
     }
 
-    if (!$assignments = get_all_instances_in_courses('assign',$courses)) {
+    if (!$assignments = get_all_instances_in_courses('assign', $courses)) {
         return;
     }
 
     $assignmentids = array();
 
-    // Do assignment_base::isopen() here without loading the whole thing for speed
+    // Do assignment_base::isopen() here without loading the whole thing for speed.
     foreach ($assignments as $key => $assignment) {
         $time = time();
         $isopen = false;
@@ -305,8 +314,8 @@ function assign_print_overview($courses, &$htmlarray) {
         }
     }
 
-    if (empty($assignmentids)){
-        // no assignments to look at - we're done
+    if (empty($assignmentids)) {
+        // No assignments to look at - we're done.
         return true;
     }
 
@@ -320,19 +329,27 @@ function assign_print_overview($courses, &$htmlarray) {
     $strnotsubmittedyet = get_string('notsubmittedyet', 'assign');
     $strsubmitted = get_string('submitted', 'assign');
     $strassignment = get_string('modulename', 'assign');
-    $strreviewed = get_string('reviewed','assign');
-
+    $strreviewed = get_string('reviewed', 'assign');
 
-    // NOTE: we do all possible database work here *outside* of the loop to ensure this scales
-    //
+    // We do all possible database work here *outside* of the loop to ensure this scales.
     list($sqlassignmentids, $assignmentidparams) = $DB->get_in_or_equal($assignmentids);
 
-    // build up and array of unmarked submissions indexed by assignment id/ userid
-    // for use where the user has grading rights on assignment
-    $rs = $DB->get_recordset_sql("SELECT s.assignment as assignment, s.userid as userid, s.id as id, s.status as status, g.timemodified as timegraded
-                            FROM {assign_submission} s LEFT JOIN {assign_grades} g ON s.userid = g.userid and s.assignment = g.assignment
-                            WHERE g.timemodified = 0 OR s.timemodified > g.timemodified
-                            AND s.assignment $sqlassignmentids", $assignmentidparams);
+    // Build up and array of unmarked submissions indexed by assignment id/ userid
+    // for use where the user has grading rights on assignment.
+    $rs = $DB->get_recordset_sql('SELECT
+                                      s.assignment as assignment,
+                                      s.userid as userid,
+                                      s.id as id,
+                                      s.status as status,
+                                      g.timemodified as timegraded
+                                  FROM {assign_submission} s
+                                  LEFT JOIN {assign_grades} g ON
+                                      s.userid = g.userid AND
+                                      s.assignment = g.assignment
+                                  WHERE
+                                      g.timemodified = 0 OR
+                                      s.timemodified > g.timemodified AND
+                                      s.assignment ' . $sqlassignmentids, $assignmentidparams);
 
     $unmarkedsubmissions = array();
     foreach ($rs as $rd) {
@@ -340,39 +357,60 @@ function assign_print_overview($courses, &$htmlarray) {
     }
     $rs->close();
 
-
-    // get all user submissions, indexed by assignment id
-    $mysubmissions = $DB->get_records_sql("SELECT a.id AS assignment, a.nosubmissions AS nosubmissions, g.timemodified AS timemarked, g.grader AS grader, g.grade AS grade, s.status AS status
-                            FROM {assign} a LEFT JOIN {assign_grades} g ON g.assignment = a.id AND g.userid = ? LEFT JOIN {assign_submission} s ON s.assignment = a.id AND s.userid = ?
-                            AND a.id $sqlassignmentids", array_merge(array($USER->id, $USER->id), $assignmentidparams));
+    // Get all user submissions, indexed by assignment id.
+    $dbparams = array_merge(array($USER->id, $USER->id), $assignmentidparams);
+    $mysubmissions = $DB->get_records_sql('SELECT
+                                               a.id AS assignment,
+                                               a.nosubmissions AS nosubmissions,
+                                               g.timemodified AS timemarked,
+                                               g.grader AS grader,
+                                               g.grade AS grade,
+                                               s.status AS status
+                                           FROM {assign} a
+                                           LEFT JOIN {assign_grades} g ON
+                                               g.assignment = a.id AND
+                                               g.userid = ?
+                                           LEFT JOIN {assign_submission} s ON
+                                               s.assignment = a.id AND
+                                               s.userid = ? AND
+                                               a.id ' . $sqlassignmentids, $dbparams);
 
     foreach ($assignments as $assignment) {
-        // Do not show assignments that are not open
+        // Do not show assignments that are not open.
         if (!in_array($assignment->id, $assignmentids)) {
             continue;
         }
-        $str = '<div class="assign overview"><div class="name">'.$strassignment. ': '.
-               '<a '.($assignment->visible ? '':' class="dimmed"').
-               'title="'.$strassignment.'" href="'.$CFG->wwwroot.
-               '/mod/assign/view.php?id='.$assignment->coursemodule.'">'.
-               format_string($assignment->name).'</a></div>';
+        $dimmedclass = '';
+        if (!$assignment->visible) {
+            $dimmedclass = ' class="dimmed"';
+        }
+        $href = $CFG->wwwroot . '/mod/assign/view.php?id=' . $assignment->coursemodule;
+        $str = '<div class="assign overview">' .
+               '<div class="name">' .
+               $strassignment . ': '.
+               '<a ' . $dimmedclass .
+                   'title="' . $strassignment . '" ' .
+                   'href="' . $href . '">' .
+               format_string($assignment->name) .
+               '</a></div>';
         if ($assignment->duedate) {
-            $str .= '<div class="info">'.$strduedate.': '.userdate($assignment->duedate).'</div>';
+            $userdate = userdate($assignment->duedate);
+            $str .= '<div class="info">' . $strduedate . ': ' . $userdate . '</div>';
         } else {
-            $str .= '<div class="info">'.$strduedateno.'</div>';
+            $str .= '<div class="info">' . $strduedateno . '</div>';
         }
         if ($assignment->cutoffdate) {
             if ($assignment->cutoffdate == $assignment->duedate) {
-                $str .= '<div class="info">'.$strnolatesubmissions.'</div>';
+                $str .= '<div class="info">' . $strnolatesubmissions . '</div>';
             } else {
-                $str .= '<div class="info">'.$strcutoffdate.': '.userdate($assignment->cutoffdate).'</div>';
+                $userdate = userdate($assignment->cutoffdate);
+                $str .= '<div class="info">' . $strcutoffdate . ': ' . $userdate . '</div>';
             }
         }
         $context = context_module::instance($assignment->coursemodule);
         if (has_capability('mod/assign:grade', $context)) {
-
-            // count how many people can submit
-            $submissions = 0; // init
+            // Count how many people can submit.
+            $submissions = 0;
             if ($students = get_enrolled_users($context, 'mod/assign:view', 0, 'u.id')) {
                 foreach ($students as $student) {
                     if (isset($unmarkedsubmissions[$assignment->id][$student->id])) {
@@ -382,18 +420,23 @@ function assign_print_overview($courses, &$htmlarray) {
             }
 
             if ($submissions) {
-                $link = new moodle_url('/mod/assign/view.php', array('id'=>$assignment->coursemodule, 'action'=>'grading'));
-                $str .= '<div class="details"><a href="'.$link.'">'.get_string('submissionsnotgraded', 'assign', $submissions).'</a></div>';
+                $urlparams = array('id'=>$assignment->coursemodule, 'action'=>'grading');
+                $url = new moodle_url('/mod/assign/view.php', $urlparams);
+                $str .= '<div class="details">' .
+                        '<a href="' . $url . '">' .
+                        get_string('submissionsnotgraded', 'assign', $submissions) .
+                        '</a></div>';
             }
-        } if (has_capability('mod/assign:submit', $context)) {
+        }
+        if (has_capability('mod/assign:submit', $context)) {
             $str .= '<div class="details">';
             $str .= get_string('mysubmission', 'assign');
             $submission = $mysubmissions[$assignment->id];
             if ($submission->nosubmissions) {
-                 $str .= get_string('offline', 'assign');
-            } else if(!$submission->status || $submission->status == 'draft'){
-                 $str .= $strnotsubmittedyet;
-            }else {
+                $str .= get_string('offline', 'assign');
+            } else if (!$submission->status || $submission->status == 'draft') {
+                $str .= $strnotsubmittedyet;
+            } else {
                 $str .= get_string('submissionstatus_' . $submission->status, 'assign');
             }
             if (!$submission->grade || $submission->grade < 0) {
@@ -403,7 +446,7 @@ function assign_print_overview($courses, &$htmlarray) {
             }
             $str .= '</div>';
         }
-       $str .= '</div>';
+        $str .= '</div>';
         if (empty($htmlarray[$assignment->course]['assign'])) {
             $htmlarray[$assignment->course]['assign'] = $str;
         } else {
@@ -423,9 +466,10 @@ function assign_print_overview($courses, &$htmlarray) {
 function assign_print_recent_activity($course, $viewfullnames, $timestart) {
     global $CFG, $USER, $DB, $OUTPUT;
 
-    // do not use log table if possible, it may be huge
+    // Do not use log table if possible, it may be huge.
 
-    if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid, asb.userid,
+    $dbparams = array($timestart, $course->id, 'assign');
+    if (!$submissions = $DB->get_records_sql('SELECT asb.id, asb.timemodified, cm.id AS cmid, asb.userid,
                                                      u.firstname, u.lastname, u.email, u.picture
                                                 FROM {assign_submission} asb
                                                      JOIN {assign} a      ON a.id = asb.assignment
@@ -434,18 +478,18 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
                                                      JOIN {user} u            ON u.id = asb.userid
                                                WHERE asb.timemodified > ? AND
                                                      a.course = ? AND
-                                                     md.name = 'assign'
-                                            ORDER BY asb.timemodified ASC", array($timestart, $course->id))) {
+                                                     md.name = ?
+                                            ORDER BY asb.timemodified ASC', $dbparams)) {
          return false;
     }
 
-    $modinfo = get_fast_modinfo($course); // no need pass this by reference as the return object already being cached
+    $modinfo = get_fast_modinfo($course);
     $show    = array();
     $grader  = array();
 
     $showrecentsubmissions = get_config('mod_assign', 'showrecentsubmissions');
 
-    foreach($submissions as $submission) {
+    foreach ($submissions as $submission) {
         if (!array_key_exists($submission->cmid, $modinfo->get_cms())) {
             continue;
         }
@@ -459,10 +503,11 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
         }
 
         $context = context_module::instance($submission->cmid);
-        // the act of sumbitting of assignment may be considered private - only graders will see it if specified
+        // The act of submitting of assignment may be considered private -
+        // only graders will see it if specified.
         if (empty($showrecentsubmissions)) {
             if (!array_key_exists($cm->id, $grader)) {
-                $grader[$cm->id] = has_capability('moodle/grade:viewall',$context);
+                $grader[$cm->id] = has_capability('moodle/grade:viewall', $context);
             }
             if (!$grader[$cm->id]) {
                 continue;
@@ -471,17 +516,19 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
 
         $groupmode = groups_get_activity_groupmode($cm, $course);
 
-        if ($groupmode == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups',  $context)) {
+        if ($groupmode == SEPARATEGROUPS &&
+                !has_capability('moodle/site:accessallgroups',  $context)) {
             if (isguestuser()) {
-                // shortcut - guest user does not belong into any group
+                // Shortcut - guest user does not belong into any group.
                 continue;
             }
 
             if (is_null($modinfo->get_groups())) {
-                $modinfo->groups = groups_get_user_groups($course->id); // load all my groups and cache it in modinfo
+                // Load all my groups and cache it in modinfo.
+                $modinfo->groups = groups_get_user_groups($course->id);
             }
 
-            // this will be slow - show only users that share group with me in this cm
+            // This will be slow - show only users that share group with me in this cm.
             if (empty($modinfo->groups[$cm->id])) {
                 continue;
             }
@@ -506,14 +553,19 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
     foreach ($show as $submission) {
         $cm = $modinfo->get_cm($submission->cmid);
         $link = $CFG->wwwroot.'/mod/assign/view.php?id='.$cm->id;
-        print_recent_activity_note($submission->timemodified, $submission, $cm->name, $link, false, $viewfullnames);
+        print_recent_activity_note($submission->timemodified,
+                                   $submission,
+                                   $cm->name,
+                                   $link,
+                                   false,
+                                   $viewfullnames);
     }
 
     return true;
 }
 
 /**
- * Returns all assignments since a given time
+ * Returns all assignments since a given time.
  *
  * @param array $activities The activity information is returned in this array
  * @param int $index The current index in the activities array
@@ -524,7 +576,13 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
  * @param int $groupid Optional group id
  * @return void
  */
-function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $courseid, $cmid, $userid=0, $groupid=0)  {
+function assign_get_recent_mod_activity(&$activities,
+                                        &$index,
+                                        $timestart,
+                                        $courseid,
+                                        $cmid,
+                                        $userid=0,
+                                        $groupid=0) {
     global $CFG, $COURSE, $USER, $DB;
 
     if ($COURSE->id == $courseid) {
@@ -533,24 +591,24 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
         $course = $DB->get_record('course', array('id'=>$courseid));
     }
 
-    $modinfo = get_fast_modinfo($course); // no need pass this by reference as the return object already being cached
+    $modinfo = get_fast_modinfo($course);
 
     $cm = $modinfo->get_cm($cmid);
     $params = array();
     if ($userid) {
-        $userselect = "AND u.id = :userid";
+        $userselect = 'AND u.id = :userid';
         $params['userid'] = $userid;
     } else {
-        $userselect = "";
+        $userselect = '';
     }
 
     if ($groupid) {
-        $groupselect = "AND gm.groupid = :groupid";
-        $groupjoin   = "JOIN {groups_members} gm ON  gm.userid=u.id";
+        $groupselect = 'AND gm.groupid = :groupid';
+        $groupjoin   = 'JOIN {groups_members} gm ON  gm.userid=u.id';
         $params['groupid'] = $groupid;
     } else {
-        $groupselect = "";
-        $groupjoin   = "";
+        $groupselect = '';
+        $groupjoin   = '';
     }
 
     $params['cminstance'] = $cm->instance;
@@ -558,15 +616,16 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
 
     $userfields = user_picture::fields('u', null, 'userid');
 
-    if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified,
+    if (!$submissions = $DB->get_records_sql('SELECT asb.id, asb.timemodified,
                                                      $userfields
                                                 FROM {assign_submission} asb
                                                 JOIN {assign} a      ON a.id = asb.assignment
                                                 JOIN {user} u            ON u.id = asb.userid
                                           $groupjoin
-                                               WHERE asb.timemodified > :timestart AND a.id = :cminstance
-                                                     $userselect $groupselect
-                                            ORDER BY asb.timemodified ASC", $params)) {
+                                               WHERE asb.timemodified > :timestart AND
+                                                     a.id = :cminstance
+                                                     ' . $userselect . ' ' . $groupselect .
+                                            ' ORDER BY asb.timemodified ASC', $params)) {
          return;
     }
 
@@ -577,7 +636,8 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
     $viewfullnames   = has_capability('moodle/site:viewfullnames', $cm_context);
 
     if (is_null($modinfo->get_groups())) {
-        $modinfo->groups = groups_get_user_groups($course->id); // load all my groups and cache it in modinfo
+        // Load all my groups and cache it in modinfo.
+        $modinfo->groups = groups_get_user_groups($course->id);
     }
 
     $showrecentsubmissions = get_config('mod_assign', 'showrecentsubmissions');
@@ -586,12 +646,13 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
     if (is_array($usersgroups)) {
         $usersgroups = array_keys($usersgroups);
     }
-    foreach($submissions as $submission) {
+    foreach ($submissions as $submission) {
         if ($submission->userid == $USER->id) {
             $show[] = $submission;
             continue;
         }
-        // the act of submitting of assignment may be considered private - only graders will see it if specified
+        // The act of submitting of assignment may be considered private -
+        // only graders will see it if specified.
         if (empty($showrecentsubmissions)) {
             if (!$grader) {
                 continue;
@@ -600,11 +661,11 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
 
         if ($groupmode == SEPARATEGROUPS and !$accessallgroups) {
             if (isguestuser()) {
-                // shortcut - guest user does not belong into any group
+                // Shortcut - guest user does not belong into any group.
                 continue;
             }
 
-            // this will be slow - show only users that share group with me in this cm
+            // This will be slow - show only users that share group with me in this cm.
             if (empty($modinfo->groups[$cm->id])) {
                 continue;
             }
@@ -625,14 +686,13 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
     if ($grader) {
         require_once($CFG->libdir.'/gradelib.php');
         $userids = array();
-        foreach ($show as $id=>$submission) {
+        foreach ($show as $id => $submission) {
             $userids[] = $submission->userid;
-
         }
         $grades = grade_get_grades($courseid, 'mod', 'assign', $cm->instance, $userids);
     }
 
-    $aname = format_string($cm->name,true);
+    $aname = format_string($cm->name, true);
     foreach ($show as $submission) {
         $activity = new stdClass();
 
@@ -649,7 +709,8 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
         $userfields = explode(',', user_picture::fields());
         foreach ($userfields as $userfield) {
             if ($userfield == 'id') {
-                $activity->user->{$userfield} = $submission->userid; // aliased in SQL above
+                // Aliased in SQL above.
+                $activity->user->{$userfield} = $submission->userid;
             } else {
                 $activity->user->{$userfield} = $submission->{$userfield};
             }
@@ -671,21 +732,23 @@ function assign_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
  * @param bool $detail
  * @param array $modnames
  */
-function assign_print_recent_mod_activity($activity, $courseid, $detail, $modnames)  {
+function assign_print_recent_mod_activity($activity, $courseid, $detail, $modnames) {
     global $CFG, $OUTPUT;
 
     echo '<table border="0" cellpadding="3" cellspacing="0" class="assignment-recent">';
 
-    echo "<tr><td class=\"userpicture\" valign=\"top\">";
+    echo '<tr><td class="userpicture" valign="top">';
     echo $OUTPUT->user_picture($activity->user);
-    echo "</td><td>";
+    echo '</td><td>';
 
     if ($detail) {
         $modname = $modnames[$activity->type];
         echo '<div class="title">';
-        echo "<img src=\"" . $OUTPUT->pix_url('icon', 'assign') . "\" ".
-             "class=\"icon\" alt=\"$modname\">";
-        echo "<a href=\"$CFG->wwwroot/mod/assign/view.php?id={$activity->cmid}\">{$activity->name}</a>";
+        echo '<img src="' . $OUTPUT->pix_url('icon', 'assign') . '" '.
+             'class="icon" alt="' . $modname . '">';
+        echo '<a href="' . $CFG->wwwroot . '/mod/assign/view.php?id=' . $activity->cmid . '">';
+        echo $activity->name;
+        echo '</a>';
         echo '</div>';
     }
 
@@ -697,15 +760,15 @@ function assign_print_recent_mod_activity($activity, $courseid, $detail, $modnam
     }
 
     echo '<div class="user">';
-    echo "<a href=\"$CFG->wwwroot/user/view.php?id={$activity->user->id}&amp;course=$courseid\">"
-         ."{$activity->user->fullname}</a>  - ".userdate($activity->timestamp);
+    echo "<a href=\"$CFG->wwwroot/user/view.php?id={$activity->user->id}&amp;course=$courseid\">";
+    echo "{$activity->user->fullname}</a>  - " . userdate($activity->timestamp);
     echo '</div>';
 
-    echo "</td></tr></table>";
+    echo '</td></tr></table>';
 }
 
 /**
- * Checks if a scale is being used by an assignment
+ * Checks if a scale is being used by an assignment.
  *
  * This is used by the backup code to decide whether to back up a scale
  * @param int $assignmentid
@@ -716,7 +779,7 @@ function assign_scale_used($assignmentid, $scaleid) {
     global $DB;
 
     $return = false;
-    $rec = $DB->get_record('assign', array('id'=>$assignmentid,'grade'=>-$scaleid));
+    $rec = $DB->get_record('assign', array('id'=>$assignmentid, 'grade'=>-$scaleid));
 
     if (!empty($rec) && !empty($scaleid)) {
         $return = true;
@@ -743,8 +806,8 @@ function assign_scale_used_anywhere($scaleid) {
 }
 
 /**
- * function to list the actions that correspond to a view of this module
- * This is used by the participation report
+ * List the actions that correspond to a view of this module.
+ * This is used by the participation report.
  * @return array
  */
 function assign_get_view_actions() {
@@ -752,8 +815,8 @@ function assign_get_view_actions() {
 }
 
 /**
- * function to list the actions that correspond to a post of this module
- * This is used by the participation report
+ * List the actions that correspond to a post of this module.
+ * This is used by the participation report.
  * @return array
  */
 function assign_get_post_actions() {
@@ -761,7 +824,7 @@ function assign_get_post_actions() {
 }
 
 /**
- * Call cron on the assign module
+ * Call cron on the assign module.
  */
 function assign_cron() {
     global $CFG;
@@ -796,17 +859,20 @@ function assign_cron() {
  * @return array Array of capability strings
  */
 function assign_get_extra_capabilities() {
-    return array('gradereport/grader:view', 'moodle/grade:viewall', 'moodle/site:viewfullnames', 'moodle/site:config');
+    return array('gradereport/grader:view',
+                 'moodle/grade:viewall',
+                 'moodle/site:viewfullnames',
+                 'moodle/site:config');
 }
 
 /**
- * Create grade item for given assignment
+ * Create grade item for given assignment.
  *
  * @param stdClass $assign record with extra cmidnumber
  * @param array $grades optional array/object of grade(s); 'reset' means reset grades in gradebook
  * @return int 0 if ok, error code otherwise
  */
-function assign_grade_item_update($assign, $grades=NULL) {
+function assign_grade_item_update($assign, $grades=null) {
     global $CFG;
     require_once($CFG->libdir.'/gradelib.php');
 
@@ -826,15 +892,23 @@ function assign_grade_item_update($assign, $grades=NULL) {
         $params['scaleid']   = -$assign->grade;
 
     } else {
-        $params['gradetype'] = GRADE_TYPE_TEXT; // allow text comments only
+        // Allow text comments only.
+        $params['gradetype'] = GRADE_TYPE_TEXT;
     }
 
     if ($grades  === 'reset') {
         $params['reset'] = true;
-        $grades = NULL;
+        $grades = null;
     }
 
-    return grade_update('mod/assign', $assign->courseid, 'mod', 'assign', $assign->id, 0, $grades, $params);
+    return grade_update('mod/assign',
+                        $assign->courseid,
+                        'mod',
+                        'assign',
+                        $assign->id,
+                        0,
+                        $grades,
+                        $params);
 }
 
 /**
@@ -846,6 +920,7 @@ function assign_grade_item_update($assign, $grades=NULL) {
  */
 function assign_get_user_grades($assign, $userid=0) {
     global $CFG;
+
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
 
     $cm = get_coursemodule_from_instance('assign', $assign->id, 0, false, MUST_EXIST);
@@ -856,7 +931,7 @@ function assign_get_user_grades($assign, $userid=0) {
 }
 
 /**
- * Update activity grades
+ * Update activity grades.
  *
  * @param stdClass $assign database record
  * @param int $userid specific user only, 0 means all
@@ -870,7 +945,7 @@ function assign_update_grades($assign, $userid=0, $nullifnone=true) {
         assign_grade_item_update($assign);
 
     } else if ($grades = assign_get_user_grades($assign, $userid)) {
-        foreach($grades as $k=>$v) {
+        foreach ($grades as $k => $v) {
             if ($v->rawgrade == -1) {
                 $grades[$k]->rawgrade = null;
             }
@@ -883,7 +958,7 @@ function assign_update_grades($assign, $userid=0, $nullifnone=true) {
 }
 
 /**
- * List the file areas that can be browsed
+ * List the file areas that can be browsed.
  *
  * @param stdClass $course
  * @param stdClass $cm
@@ -932,7 +1007,15 @@ function assign_get_file_areas($course, $cm, $context) {
  * @param string $filename
  * @return object file_info instance or null if not found
  */
-function assign_get_file_info($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename) {
+function assign_get_file_info($browser,
+                              $areas,
+                              $course,
+                              $cm,
+                              $context,
+                              $filearea,
+                              $itemid,
+                              $filepath,
+                              $filename) {
     global $CFG;
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
 
@@ -944,7 +1027,7 @@ function assign_get_file_info($browser, $areas, $course, $cm, $context, $fileare
     $filepath = is_null($filepath) ? '/' : $filepath;
     $filename = is_null($filename) ? '.' : $filename;
 
-    // need to find the plugin this belongs to
+    // Need to find the plugin this belongs to.
     $assignment = new assign($context, $cm, $course);
     $pluginowner = null;
     foreach ($assignment->get_submission_plugins() as $plugin) {
@@ -979,18 +1062,19 @@ function assign_get_file_info($browser, $areas, $course, $cm, $context, $fileare
 }
 
 /**
- * Prints the complete info about a user's interaction with an assignment
+ * Prints the complete info about a user's interaction with an assignment.
  *
  * @param stdClass $course
  * @param stdClass $user
  * @param stdClass $coursemodule
  * @param stdClass $assign the database assign record
  *
- * This prints the submission summary and feedback summary for this student
+ * This prints the submission summary and feedback summary for this student.
  */
 function assign_user_complete($course, $user, $coursemodule, $assign) {
     global $CFG;
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
+
     $context = context_module::instance($coursemodule->id);
 
     $assignment = new assign($context, $coursemodule, $course);
@@ -999,7 +1083,7 @@ function assign_user_complete($course, $user, $coursemodule, $assign) {
 }
 
 /**
- * Print the grade information for the assignment for this user
+ * Print the grade information for the assignment for this user.
  *
  * @param stdClass $course
  * @param stdClass $user
@@ -1041,14 +1125,15 @@ function assign_user_outline($course, $user, $coursemodule, $assignment) {
  * @return bool True if completed, false if not, $type if conditions not set.
  */
 function assign_get_completion_state($course, $cm, $userid, $type) {
-    global $CFG,$DB;
+    global $CFG, $DB;
     require_once($CFG->dirroot . '/mod/assign/locallib.php');
 
     $assign = new assign(null, $cm, $course);
 
     // If completion option is enabled, evaluate it and return true/false.
     if ($assign->get_instance()->completionsubmit) {
-        $submission = $DB->get_record('assign_submission', array('assignment'=>$assign->get_instance()->id, 'userid'=>$userid), '*', IGNORE_MISSING);
+        $dbparams = array('assignment'=>$assign->get_instance()->id, 'userid'=>$userid);
+        $submission = $DB->get_record('assign_submission', $dbparams, '*', IGNORE_MISSING);
         return $submission && $submission->status == ASSIGN_SUBMISSION_STATUS_SUBMITTED;
     } else {
         // Completion option is not enabled so just return $type.
index 9971cd0..aa1a8d8 100644 (file)
 
 defined('MOODLE_INTERNAL') || die();
 
-/**
- * Assignment submission statuses
- */
-define('ASSIGN_SUBMISSION_STATUS_DRAFT', 'draft'); // student thinks it is a draft
-define('ASSIGN_SUBMISSION_STATUS_SUBMITTED', 'submitted'); // student thinks it is finished
+// Assignment submission statuses.
+define('ASSIGN_SUBMISSION_STATUS_DRAFT', 'draft');
+define('ASSIGN_SUBMISSION_STATUS_SUBMITTED', 'submitted');
 
-/**
- * Search filters for grading page
- */
+// Search filters for grading page.
 define('ASSIGN_FILTER_SUBMITTED', 'submitted');
 define('ASSIGN_FILTER_SINGLE_USER', 'singleuser');
 define('ASSIGN_FILTER_REQUIRE_GRADING', 'require_grading');
 
-/** Include accesslib.php */
-require_once($CFG->libdir.'/accesslib.php');
-/** Include formslib.php */
-require_once($CFG->libdir.'/formslib.php');
-/** Include repository/lib.php */
+require_once($CFG->libdir . '/accesslib.php');
+require_once($CFG->libdir . '/formslib.php');
 require_once($CFG->dirroot . '/repository/lib.php');
-/** Include local mod_form.php */
-require_once($CFG->dirroot.'/mod/assign/mod_form.php');
-/** gradelib.php */
-require_once($CFG->libdir.'/gradelib.php');
-/** grading lib.php */
-require_once($CFG->dirroot.'/grade/grading/lib.php');
-/** Include feedbackplugin.php */
-require_once($CFG->dirroot.'/mod/assign/feedbackplugin.php');
-/** Include submissionplugin.php */
-require_once($CFG->dirroot.'/mod/assign/submissionplugin.php');
-/** Include renderable.php */
-require_once($CFG->dirroot.'/mod/assign/renderable.php');
-/** Include gradingtable.php */
-require_once($CFG->dirroot.'/mod/assign/gradingtable.php');
-/** Include eventslib.php */
-require_once($CFG->libdir.'/eventslib.php');
-/** Include portfolio caller.php */
+require_once($CFG->dirroot . '/mod/assign/mod_form.php');
+require_once($CFG->libdir . '/gradelib.php');
+require_once($CFG->dirroot . '/grade/grading/lib.php');
+require_once($CFG->dirroot . '/mod/assign/feedbackplugin.php');
+require_once($CFG->dirroot . '/mod/assign/submissionplugin.php');
+require_once($CFG->dirroot . '/mod/assign/renderable.php');
+require_once($CFG->dirroot . '/mod/assign/gradingtable.php');
+require_once($CFG->libdir . '/eventslib.php');
 require_once($CFG->libdir . '/portfolio/caller.php');
 
 /**
@@ -73,12 +57,12 @@ require_once($CFG->libdir . '/portfolio/caller.php');
  */
 class assign {
 
-
     /** @var stdClass the assignment record that contains the global settings for this assign instance */
     private $instance;
 
-    /** @var context the context of the course module for this assign instance (or just the course if we are
-        creating a new one) */
+    /** @var context the context of the course module for this assign instance
+     *               (or just the course if we are creating a new one)
+     */
     private $context;
 
     /** @var stdClass the course this assign instance belongs to */
@@ -87,15 +71,15 @@ class assign {
     /** @var stdClass the admin config for all assign instances  */
     private $adminconfig;
 
-
     /** @var assign_renderer the custom renderer for this module */
     private $output;
 
     /** @var stdClass the course module for this assign instance */
     private $coursemodule;
 
-    /** @var array cache for things like the coursemodule name or the scale menu - only lives for a single
-        request */
+    /** @var array cache for things like the coursemodule name or the scale menu -
+     *             only lives for a single request.
+     */
     private $cache;
 
     /** @var array list of the installed submission plugins */
@@ -104,7 +88,9 @@ class assign {
     /** @var array list of the installed feedback plugins */
     private $feedbackplugins;
 
-    /** @var string action to be used to return to this page (without repeating any form submissions etc.) */
+    /** @var string action to be used to return to this page
+     *              (without repeating any form submissions etc).
+     */
     private $returnaction = 'view';
 
     /** @var array params to be used to return to this page */
@@ -117,11 +103,15 @@ class assign {
     private static $modulenameplural = null;
 
     /**
-     * Constructor for the base assign class
+     * Constructor for the base assign class.
      *
-     * @param mixed $coursemodulecontext context|null the course module context (or the course context if the coursemodule has not been created yet)
-     * @param mixed $coursemodule the current course module if it was already loaded - otherwise this class will load one from the context as required
-     * @param mixed $course the current course  if it was already loaded - otherwise this class will load one from the context as required
+     * @param mixed $coursemodulecontext context|null the course module context
+     *                                   (or the course context if the coursemodule has not been
+     *                                   created yet).
+     * @param mixed $coursemodule the current course module if it was already loaded,
+     *                            otherwise this class will load one from the context as required.
+     * @param mixed $course the current course  if it was already loaded,
+     *                      otherwise this class will load one from the context as required.
      */
     public function __construct($coursemodulecontext, $coursemodule, $course) {
         global $PAGE;
@@ -129,17 +119,20 @@ class assign {
         $this->context = $coursemodulecontext;
         $this->coursemodule = $coursemodule;
         $this->course = $course;
-        $this->cache = array(); // temporary cache only lives for a single request - used to reduce db lookups
+
+        // Temporary cache only lives for a single request - used to reduce db lookups.
+        $this->cache = array();
 
         $this->submissionplugins = $this->load_plugins('assignsubmission');
         $this->feedbackplugins = $this->load_plugins('assignfeedback');
     }
 
     /**
-     * Set the action and parameters that can be used to return to the current page
+     * Set the action and parameters that can be used to return to the current page.
      *
      * @param string $action The action for the current page
-     * @param array $params An array of name value pairs which form the parameters to return to the current page
+     * @param array $params An array of name value pairs which form the parameters
+     *                      to return to the current page.
      * @return void
      */
     public function register_return_link($action, $params) {
@@ -148,7 +141,8 @@ class assign {
     }
 
     /**
-     * Return an action that can be used to get back to the current page
+     * Return an action that can be used to get back to the current page.
+     *
      * @return string action
      */
     public function get_return_action() {
@@ -156,7 +150,8 @@ class assign {
     }
 
     /**
-     * Based on the current assignment settings should we display the intro
+     * Based on the current assignment settings should we display the intro.
+     *
      * @return bool showintro
      */
     private function show_intro() {
@@ -168,7 +163,8 @@ class assign {
     }
 
     /**
-     * Return a list of parameters that can be used to get back to the current page
+     * Return a list of parameters that can be used to get back to the current page.
+     *
      * @return array params
      */
     public function get_return_params() {
@@ -176,7 +172,8 @@ class assign {
     }
 
     /**
-     * Set the submitted form data
+     * Set the submitted form data.
+     *
      * @param stdClass $data The form data (instance)
      */
     public function set_instance(stdClass $data) {
@@ -184,7 +181,8 @@ class assign {
     }
 
     /**
-     * Set the context
+     * Set the context.
+     *
      * @param context $context The new context
      */
     public function set_context(context $context) {
@@ -192,7 +190,8 @@ class assign {
     }
 
     /**
-     * Set the course data
+     * Set the course data.
+     *
      * @param stdClass $course The course data
      */
     public function set_course(stdClass $course) {
@@ -200,7 +199,8 @@ class assign {
     }
 
     /**
-     * get list of feedback plugins installed
+     * Get list of feedback plugins installed.
+     *
      * @return array
      */
     public function get_feedback_plugins() {
@@ -208,7 +208,8 @@ class assign {
     }
 
     /**
-     * get list of submission plugins installed
+     * Get list of submission plugins installed.
+     *
      * @return array
      */
     public function get_submission_plugins() {
@@ -239,7 +240,8 @@ class assign {
     }
 
     /**
-     * get a specific submission plugin by its type
+     * Get a specific submission plugin by its type.
+     *
      * @param string $subtype assignsubmission | assignfeedback
      * @param string $type
      * @return mixed assign_plugin|null
@@ -260,7 +262,8 @@ class assign {
     }
 
     /**
-     * Get a feedback plugin by type
+     * Get a feedback plugin by type.
+     *
      * @param string $type - The type of plugin e.g comments
      * @return mixed assign_feedback_plugin|null
      */
@@ -269,7 +272,8 @@ class assign {
     }
 
     /**
-     * Get a submission plugin by type
+     * Get a submission plugin by type.
+     *
      * @param string $type - The type of plugin e.g comments
      * @return mixed assign_submission_plugin|null
      */
@@ -278,7 +282,8 @@ class assign {
     }
 
     /**
-     * Load the plugins from the sub folders under subtype
+     * Load the plugins from the sub folders under subtype.
+     *
      * @param string $subtype - either submission or feedback
      * @return array - The sorted list of plugins
      */
@@ -299,7 +304,9 @@ class assign {
 
                 if ($plugin instanceof assign_plugin) {
                     $idx = $plugin->get_sort_order();
-                    while (array_key_exists($idx, $result)) $idx +=1;
+                    while (array_key_exists($idx, $result)) {
+                        $idx +=1;
+                    }
                     $result[$idx] = $plugin;
                 }
             }
@@ -313,6 +320,7 @@ class assign {
      *
      * The assignment is displayed differently depending on your role,
      * the settings for the assignment and the status of the assignment.
+     *
      * @param string $action The current action if any.
      * @return void
      */
@@ -346,7 +354,7 @@ class assign {
             $action = $this->process_grading_batch_operation($mform);
         } else if ($action == 'submitgrade') {
             if (optional_param('saveandshownext', null, PARAM_RAW)) {
-                //save and show next
+                // Save and show next.
                 $action = 'grade';
                 if ($this->process_save_grade($mform)) {
                     $action = 'nextgrade';
@@ -354,16 +362,16 @@ class assign {
             } else if (optional_param('nosaveandprevious', null, PARAM_RAW)) {
                 $action = 'previousgrade';
             } else if (optional_param('nosaveandnext', null, PARAM_RAW)) {
-                //show next button
+                // Show next button.
                 $action = 'nextgrade';
             } else if (optional_param('savegrade', null, PARAM_RAW)) {
-                //save changes button
+                // Save changes button.
                 $action = 'grade';
                 if ($this->process_save_grade($mform)) {
                     $action = 'grading';
                 }
             } else {
-                //cancel button
+                // Cancel button.
                 $action = 'grading';
             }
         } else if ($action == 'quickgrade') {
@@ -426,9 +434,8 @@ class assign {
         return $o;
     }
 
-
     /**
-     * Add this instance to the database
+     * Add this instance to the database.
      *
      * @param stdClass $formdata The data submitted from the form
      * @param bool $callplugins This is used to skip the plugin code
@@ -440,7 +447,7 @@ class assign {
 
         $err = '';
 
-        // add the database record
+        // Add the database record.
         $update = new stdClass();
         $update->name = $formdata->name;
         $update->timemodified = time();
@@ -466,11 +473,11 @@ class assign {
 
         $returnid = $DB->insert_record('assign', $update);
         $this->instance = $DB->get_record('assign', array('id'=>$returnid), '*', MUST_EXIST);
-        // cache the course record
+        // Cache the course record.
         $this->course = $DB->get_record('course', array('id'=>$formdata->course), '*', MUST_EXIST);
 
         if ($callplugins) {
-            // call save_settings hook for submission plugins
+            // Call save_settings hook for submission plugins.
             foreach ($this->submissionplugins as $plugin) {
                 if (!$this->update_plugin_instance($plugin, $formdata)) {
                     print_error($plugin->get_error());
@@ -484,10 +491,9 @@ class assign {
                 }
             }
 
-            // in the case of upgrades the coursemodule has not been set so we need to wait before calling these two
-            // TODO: add event to the calendar
+            // In the case of upgrades the coursemodule has not been set,
+            // so we need to wait before calling these two.
             $this->update_calendar($formdata->coursemodule);
-            // TODO: add the item in the gradebook
             $this->update_gradebook(false, $formdata->coursemodule);
 
         }
@@ -501,18 +507,26 @@ class assign {
     }
 
     /**
-     * Delete all grades from the gradebook for this assignment
+     * Delete all grades from the gradebook for this assignment.
      *
      * @return bool
      */
     private function delete_grades() {
         global $CFG;
 
-        return grade_update('mod/assign', $this->get_course()->id, 'mod', 'assign', $this->get_instance()->id, 0, NULL, array('deleted'=>1)) == GRADE_UPDATE_OK;
+        $result = grade_update('mod/assign',
+                               $this->get_course()->id,
+                               'mod',
+                               'assign',
+                               $this->get_instance()->id,
+                               0,
+                               null,
+                               array('deleted'=>1));
+        return $result == GRADE_UPDATE_OK;
     }
 
     /**
-     * Delete this instance from the database
+     * Delete this instance from the database.
      *
      * @return bool false if an error occurs
      */
@@ -533,38 +547,37 @@ class assign {
             }
         }
 
-        // delete files associated with this assignment
+        // Delete files associated with this assignment.
         $fs = get_file_storage();
         if (! $fs->delete_area_files($this->context->id) ) {
             $result = false;
         }
 
-        // delete_records will throw an exception if it fails - so no need for error checking here
-
+        // Delete_records will throw an exception if it fails - so no need for error checking here.
         $DB->delete_records('assign_submission', array('assignment'=>$this->get_instance()->id));
         $DB->delete_records('assign_grades', array('assignment'=>$this->get_instance()->id));
         $DB->delete_records('assign_plugin_config', array('assignment'=>$this->get_instance()->id));
 
-        // delete items from the gradebook
+        // Delete items from the gradebook.
         if (! $this->delete_grades()) {
             $result = false;
         }
 
-        // delete the instance
+        // Delete the instance.
         $DB->delete_records('assign', array('id'=>$this->get_instance()->id));
 
         return $result;
     }
 
     /**
-    * Actual implementation of the reset course functionality, delete all the
-    * assignment submissions for course $data->courseid.
-    *
-    * @param $data the data submitted from the reset course.
-    * @return array status array
-    */
+     * Actual implementation of the reset course functionality, delete all the
+     * assignment submissions for course $data->courseid.
+     *
+     * @param $data the data submitted from the reset course.
+     * @return array status array
+     */
     public function reset_userdata($data) {
-        global $CFG,$DB;
+        global $CFG, $DB;
 
         $componentstr = get_string('modulenameplural', 'assign');
         $status = array();
@@ -582,7 +595,7 @@ class assign {
 
                 if (!$plugin->delete_instance()) {
                     $status[] = array('component'=>$componentstr,
-                                      'item'=>get_string('deleteallsubmissions','assign'),
+                                      'item'=>get_string('deleteallsubmissions', 'assign'),
                                       'error'=>$plugin->get_error());
                 }
             }
@@ -597,22 +610,24 @@ class assign {
 
                 if (!$plugin->delete_instance()) {
                     $status[] = array('component'=>$componentstr,
-                                      'item'=>get_string('deleteallsubmissions','assign'),
+                                      'item'=>get_string('deleteallsubmissions', 'assign'),
                                       'error'=>$plugin->get_error());
                 }
             }
 
-            $assignssql = "SELECT a.id
+            $assignssql = 'SELECT a.id
                              FROM {assign} a
-                           WHERE a.course=:course";
-            $params = array ("course" => $data->courseid);
+                           WHERE a.course=:course';
+            $params = array('course'=>$data->courseid);
 
             $DB->delete_records_select('assign_submission', "assignment IN ($assignssql)", $params);
+
             $status[] = array('component'=>$componentstr,
-                              'item'=>get_string('deleteallsubmissions','assign'),
+                              'item'=>get_string('deleteallsubmissions', 'assign'),
                               'error'=>false);
 
-            if (empty($data->reset_gradebook_grades)) {
+            if (!empty($data->reset_gradebook_grades)) {
+                $DB->delete_records_select('assign_grades', "assignment IN ($assignssql)", $params);
                 // Remove all grades from gradebook.
                 require_once($CFG->dirroot.'/mod/assign/lib.php');
                 assign_reset_gradebook($data->courseid);
@@ -621,7 +636,7 @@ class assign {
         // Updating dates - shift may be negative too.
         if ($data->timeshift) {
             shift_course_mod_dates('assign',
-                                    array('duedate', 'allowsubmissionsfromdate','cutoffdate'),
+                                    array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'),
                                     $data->timeshift,
                                     $data->courseid);
             $status[] = array('component'=>$componentstr,
@@ -633,7 +648,7 @@ class assign {
     }
 
     /**
-     * Update the settings for a single plugin
+     * Update the settings for a single plugin.
      *
      * @param assign_plugin $plugin The plugin to update
      * @param stdClass $formdata The form data
@@ -656,15 +671,15 @@ class assign {
     }
 
     /**
-     * Update the gradebook information for this assignment
+     * Update the gradebook information for this assignment.
      *
      * @param bool $reset If true, will reset all grades in the gradbook for this assignment
      * @param int $coursemoduleid This is required because it might not exist in the database yet
      * @return bool
      */
     public function update_gradebook($reset, $coursemoduleid) {
-         global $CFG;
-        /** Include lib.php */
+        global $CFG;
+
         require_once($CFG->dirroot.'/mod/assign/lib.php');
         $assign = clone $this->get_instance();
         $assign->cmidnumber = $coursemoduleid;
@@ -676,7 +691,8 @@ class assign {
         return assign_grade_item_update($assign, $param);
     }
 
-    /** Load and cache the admin config for this module
+    /**
+     * Load and cache the admin config for this module.
      *
      * @return stdClass the plugin config
      */
@@ -688,54 +704,58 @@ class assign {
         return $this->adminconfig;
     }
 
-
     /**
-     * Update the calendar entries for this assignment
+     * Update the calendar entries for this assignment.
      *
-     * @param int $coursemoduleid - Required to pass this in because it might not exist in the database yet
+     * @param int $coursemoduleid - Required to pass this in because it might
+     *                              not exist in the database yet.
      * @return bool
      */
     public function update_calendar($coursemoduleid) {
         global $DB, $CFG;
         require_once($CFG->dirroot.'/calendar/lib.php');
 
-        // special case for add_instance as the coursemodule has not been set yet.
+        // Special case for add_instance as the coursemodule has not been set yet.
+        $instance = $this->get_instance();
 
-        if ($this->get_instance()->duedate) {
+        if ($instance->duedate) {
             $event = new stdClass();
 
-            if ($event->id = $DB->get_field('event', 'id', array('modulename'=>'assign', 'instance'=>$this->get_instance()->id))) {
+            $params = array('modulename'=>'assign', 'instance'=>$instance->id);
+            $event->id = $DB->get_field('event',
+                                        'id',
+                                        $params);
 
-                $event->name        = $this->get_instance()->name;
-
-                $event->description = format_module_intro('assign', $this->get_instance(), $coursemoduleid);
-                $event->timestart   = $this->get_instance()->duedate;
+            if ($event->id) {
+                $event->name        = $instance->name;
+                $event->description = format_module_intro('assign', $instance, $coursemoduleid);
+                $event->timestart   = $instance->duedate;
 
                 $calendarevent = calendar_event::load($event->id);
                 $calendarevent->update($event);
             } else {
                 $event = new stdClass();
-                $event->name        = $this->get_instance()->name;
-                $event->description = format_module_intro('assign', $this->get_instance(), $coursemoduleid);
-                $event->courseid    = $this->get_instance()->course;
+                $event->name        = $instance->name;
+                $event->description = format_module_intro('assign', $instance, $coursemoduleid);
+                $event->courseid    = $instance->course;
                 $event->groupid     = 0;
                 $event->userid      = 0;
                 $event->modulename  = 'assign';
-                $event->instance    = $this->get_instance()->id;
+                $event->instance    = $instance->id;
                 $event->eventtype   = 'due';
-                $event->timestart   = $this->get_instance()->duedate;
+                $event->timestart   = $instance->duedate;
                 $event->timeduration = 0;
 
                 calendar_event::create($event);
             }
         } else {
-            $DB->delete_records('event', array('modulename'=>'assign', 'instance'=>$this->get_instance()->id));
+            $DB->delete_records('event', array('modulename'=>'assign', 'instance'=>$instance->id));
         }
     }
 
 
     /**
-     * Update this instance in the database
+     * Update this instance in the database.
      *
      * @param stdClass $formdata - the data submitted from the form
      * @return bool false if an error occurs
@@ -768,9 +788,9 @@ class assign {
         $result = $DB->update_record('assign', $update);
         $this->instance = $DB->get_record('assign', array('id'=>$update->id), '*', MUST_EXIST);
 
-        // load the assignment so the plugins have access to it
+        // Load the assignment so the plugins have access to it.
 
-        // call save_settings hook for submission plugins
+        // Call save_settings hook for submission plugins.
         foreach ($this->submissionplugins as $plugin) {
             if (!$this->update_plugin_instance($plugin, $formdata)) {
                 print_error($plugin->get_error());
@@ -784,13 +804,7 @@ class assign {
             }
         }
 
-
-        // update the database record
-
-
-        // update all the calendar events
         $this->update_calendar($this->get_course_module()->id);
-
         $this->update_gradebook(false, $this->get_course_module()->id);
 
         $update = new stdClass();
@@ -798,15 +812,11 @@ class assign {
         $update->nosubmissions = (!$this->is_any_submission_plugin_enabled()) ? 1: 0;
         $DB->update_record('assign', $update);
 
-
-
-
-
         return $result;
     }
 
     /**
-     * add elements in grading plugin form
+     * Add elements in grading plugin form.
      *
      * @param mixed $grade stdClass|null
      * @param MoodleQuickForm $mform
@@ -828,20 +838,22 @@ class assign {
 
 
     /**
-     * Add one plugins settings to edit plugin form
+     * Add one plugins settings to edit plugin form.
      *
      * @param assign_plugin $plugin The plugin to add the settings from
-     * @param MoodleQuickForm $mform The form to add the configuration settings to. This form is modified directly (not returned)
+     * @param MoodleQuickForm $mform The form to add the configuration settings to.
+     *                               This form is modified directly (not returned).
      * @return void
      */
     private function add_plugin_settings(assign_plugin $plugin, MoodleQuickForm $mform) {
         global $CFG;
         if ($plugin->is_visible()) {
-            // enabled
-            //tied disableIf rule to this select element
-            $mform->addElement('selectyesno', $plugin->get_subtype() . '_' . $plugin->get_type() . '_enabled', $plugin->get_name());
-            $mform->addHelpButton($plugin->get_subtype() . '_' . $plugin->get_type() . '_enabled', 'enabled', $plugin->get_subtype() . '_' . $plugin->get_type());
-
+            $mform->addElement('selectyesno',
+                               $plugin->get_subtype() . '_' . $plugin->get_type() . '_enabled',
+                               $plugin->get_name());
+            $mform->addHelpButton($plugin->get_subtype() . '_' . $plugin->get_type() . '_enabled',
+                                  'enabled',
+                                  $plugin->get_subtype() . '_' . $plugin->get_type());
 
             $default = get_config($plugin->get_subtype() . '_' . $plugin->get_type(), 'default');
             if ($plugin->get_config('enabled') !== false) {
@@ -852,14 +864,13 @@ class assign {
             $plugin->get_settings($mform);
 
         }
-
     }
 
-
     /**
-     * Add settings to edit plugin form
+     * Add settings to edit plugin form.
      *
-     * @param MoodleQuickForm $mform The form to add the configuration settings to. This form is modified directly (not returned)
+     * @param MoodleQuickForm $mform The form to add the configuration settings to.
+     *                               This form is modified directly (not returned).
      * @return void
      */
     public function add_all_plugin_settings(MoodleQuickForm $mform) {
@@ -879,6 +890,7 @@ class assign {
      * Allow each plugin an opportunity to update the defaultvalues
      * passed in to the settings form (needed to set up draft areas for
      * editor and filemanager elements)
+     *
      * @param array $defaultvalues
      */
     public function plugin_data_preprocessing(&$defaultvalues) {
@@ -940,21 +952,25 @@ class assign {
             return $this->instance;
         }
         if ($this->get_course_module()) {
-            $this->instance = $DB->get_record('assign', array('id' => $this->get_course_module()->instance), '*', MUST_EXIST);
+            $params = array('id' => $this->get_course_module()->instance);
+            $this->instance = $DB->get_record('assign', $params, '*', MUST_EXIST);
         }
         if (!$this->instance) {
-            throw new coding_exception('Improper use of the assignment class. Cannot load the assignment record.');
+            throw new coding_exception('Improper use of the assignment class. ' .
+                                       'Cannot load the assignment record.');
         }
         return $this->instance;
     }
 
     /**
-     * Get the context of the current course
+     * Get the context of the current course.
+     *
      * @return mixed context|null The course context
      */
     public function get_course_context() {
         if (!$this->context && !$this->course) {
-            throw new coding_exception('Improper use of the assignment class. Cannot load the course context.');
+            throw new coding_exception('Improper use of the assignment class. ' .
+                                       'Cannot load the course context.');
         }
         if ($this->context) {
             return $this->context->get_course_context();
@@ -965,7 +981,7 @@ class assign {
 
 
     /**
-     * Get the current course module
+     * Get the current course module.
      *
      * @return mixed stdClass|null The course module
      */
@@ -978,14 +994,18 @@ class assign {
         }
 
         if ($this->context->contextlevel == CONTEXT_MODULE) {
-            $this->coursemodule = get_coursemodule_from_id('assign', $this->context->instanceid, 0, false, MUST_EXIST);
+            $this->coursemodule = get_coursemodule_from_id('assign',
+                                                           $this->context->instanceid,
+                                                           0,
+                                                           false,
+                                                           MUST_EXIST);
             return $this->coursemodule;
         }
         return null;
     }
 
     /**
-     * Get context module
+     * Get context module.
      *
      * @return context
      */
@@ -994,11 +1014,13 @@ class assign {
     }
 
     /**
-     * Get the current course
+     * Get the current course.
+     *
      * @return mixed stdClass|null The course
      */
     public function get_course() {
         global $DB;
+
         if ($this->course) {
             return $this->course;
         }
@@ -1006,12 +1028,14 @@ class assign {
         if (!$this->context) {
             return null;
         }
-        $this->course = $DB->get_record('course', array('id' => $this->get_course_context()->instanceid), '*', MUST_EXIST);
+        $params = array('id' => $this->get_course_context()->instanceid);
+        $this->course = $DB->get_record('course', $params, '*', MUST_EXIST);
+
         return $this->course;
     }
 
     /**
-     * Return a grade in user-friendly form, whether it's a scale or not
+     * Return a grade in user-friendly form, whether it's a scale or not.
      *
      * @param mixed $grade int|null
      * @param boolean $editing Are we allowing changes to this grade?
@@ -1027,18 +1051,27 @@ class assign {
         $o = '';
 
         if ($this->get_instance()->grade >= 0) {
-            // Normal number
+            // Normal number.
             if ($editing && $this->get_instance()->grade > 0) {
                 if ($grade < 0) {
                     $displaygrade = '';
                 } else {
                     $displaygrade = format_float($grade);
                 }
-                $o .= '<label class="accesshide" for="quickgrade_' . $userid . '">' . get_string('usergrade', 'assign') . '</label>';
-                $o .= '<input type="text" id="quickgrade_' . $userid . '" name="quickgrade_' . $userid . '" value="' .
-                      $displaygrade . '" size="6" maxlength="10" class="quickgrade"/>';
-                $o .= '&nbsp;/&nbsp;' . format_float($this->get_instance()->grade,2);
-                $o .= '<input type="hidden" name="grademodified_' . $userid . '" value="' . $modified . '"/>';
+                $o .= '<label class="accesshide" for="quickgrade_' . $userid . '">' .
+                       get_string('usergrade', 'assign') .
+                       '</label>';
+                $o .= '<input type="text"
+                              id="quickgrade_' . $userid . '"
+                              name="quickgrade_' . $userid . '"
+                              value="' .  $displaygrade . '"
+                              size="6"
+                              maxlength="10"
+                              class="quickgrade"/>';
+                $o .= '&nbsp;/&nbsp;' . format_float($this->get_instance()->grade, 2);
+                $o .= '<input type="hidden"
+                              name="grademodified_' . $userid . '"
+                              value="' . $modified . '"/>';
                 return $o;
             } else {
                 $o .= '<input type="hidden" name="grademodified_' . $userid . '" value="' . $modified . '"/>';
@@ -1046,13 +1079,15 @@ class assign {
                     $o .= '-';
                     return $o;
                 } else {
-                    $o .= format_float(($grade),2) .'&nbsp;/&nbsp;'. format_float($this->get_instance()->grade,2);
+                    $o .= format_float($grade, 2) .
+                          '&nbsp;/&nbsp;' .
+                          format_float($this->get_instance()->grade, 2);
                     return $o;
                 }
             }
 
         } else {
-            // Scale
+            // Scale.
             if (empty($this->cache['scale'])) {
                 if ($scale = $DB->get_record('scale', array('id'=>-($this->get_instance()->grade)))) {
                     $this->cache['scale'] = make_menu_from_list($scale->scale);
@@ -1062,7 +1097,10 @@ class assign {
                 }
             }
             if ($editing) {
-                $o .= '<label class="accesshide" for="quickgrade_' . $userid . '">' . get_string('usergrade', 'assign') . '</label>';
+                $o .= '<label class="accesshide"
+                              for="quickgrade_' . $userid . '">' .
+                      get_string('usergrade', 'assign') .
+                      '</label>';
                 $o .= '<select name="quickgrade_' . $userid . '" class="quickgrade">';
                 $o .= '<option value="-1">' . get_string('nograde') . '</option>';
                 foreach ($this->cache['scale'] as $optionid => $option) {
@@ -1073,7 +1111,9 @@ class assign {
                     $o .= '<option value="' . $optionid . '" ' . $selected . '>' . $option . '</option>';
                 }
                 $o .= '</select>';
-                $o .= '<input type="hidden" name="grademodified_' . $userid . '" value="' . $modified . '"/>';
+                $o .= '<input type="hidden" ' .
+                             'name="grademodified_' . $userid . '" ' .
+                             'value="' . $modified . '"/>';
                 return $o;
             } else {
                 $scaleid = (int)$grade;
@@ -1088,7 +1128,8 @@ class assign {
     }
 
     /**
-     * Load a list of users enrolled in the current course with the specified permission and group (0 for no group)
+     * Load a list of users enrolled in the current course with the specified permission and group.
+     * 0 for no group.
      *
      * @param int $currentgroup
      * @param bool $idsonly
@@ -1096,20 +1137,23 @@ class assign {
      */
     public function list_participants($currentgroup, $idsonly) {
         if ($idsonly) {
-            return get_enrolled_users($this->context, "mod/assign:submit", $currentgroup, 'u.id');
+            return get_enrolled_users($this->context, 'mod/assign:submit', $currentgroup, 'u.id');
         } else {
-            return get_enrolled_users($this->context, "mod/assign:submit", $currentgroup);
+            return get_enrolled_users($this->context, 'mod/assign:submit', $currentgroup);
         }
     }
 
     /**
-     * Load a count of valid teams for this assignment
+     * Load a count of valid teams for this assignment.
      *
      * @return int number of valid teams
      */
     public function count_teams() {
 
-        $groups = groups_get_all_groups($this->get_course()->id, 0, $this->get_instance()->teamsubmissiongroupingid, 'g.id');
+        $groups = groups_get_all_groups($this->get_course()->id,
+                                        0,
+                                        $this->get_instance()->teamsubmissiongroupingid,
+                                        'g.id');
         $count = count($groups);
 
         // See if there are any users in the default group.
@@ -1121,13 +1165,14 @@ class assign {
     }
 
     /**
-     * Load a count of users enrolled in the current course with the specified permission and group (0 for no group)
+     * Load a count of users enrolled in the current course with the specified permission and group.
+     * 0 for no group.
      *
      * @param int $currentgroup
      * @return int number of matching users
      */
     public function count_participants($currentgroup) {
-        return count_enrolled_users($this->context, "mod/assign:submit", $currentgroup);
+        return count_enrolled_users($this->context, 'mod/assign:submit', $currentgroup);
     }
 
     /**
@@ -1167,7 +1212,7 @@ class assign {
     }
 
     /**
-     * Load a count of grades
+     * Load a count of grades.
      *
      * @return int number of grades
      */
@@ -1192,7 +1237,7 @@ class assign {
     }
 
     /**
-     * Load a count of submissions
+     * Load a count of submissions.
      *
      * @return int number of submissions
      */
@@ -1234,7 +1279,7 @@ class assign {
     }
 
     /**
-     * Load a count of submissions with a specified status
+     * Load a count of submissions with a specified status.
      *
      * @param string $status The submission status - should match one of the constants
      * @return int number of matching submissions
@@ -1272,7 +1317,7 @@ class assign {
 
     /**
      * Utility function to get the userid for every row in the grading table
-     * so the order can be frozen while we iterate it
+     * so the order can be frozen while we iterate it.
      *
      * @return array An array of userids
      */
@@ -1285,74 +1330,51 @@ class assign {
         return $useridlist;
     }
 
-
     /**
-     * Utility function get the userid based on the row number of the grading table.
-     * This takes into account any active filters on the table.
+     * Generate zip file from array of given files.
      *
-     * @param int $num The row number of the user
-     * @param bool $last This is set to true if this is the last user in the table
-     * @return mixed The user id of the matching user or false if there was an error
+     * @param array $filesforzipping - array of files to pass into archive_to_pathname.
+     *                                 This array is indexed by the final file name and each
+     *                                 element in the array is an instance of a stored_file object.
+     * @return path of temp file - note this returned file does
+     *         not have a .zip extension - it is a temp file.
      */
-    private function get_userid_for_row($num, $last) {
-        if (!array_key_exists('userid_for_row', $this->cache)) {
-            $this->cache['userid_for_row'] = array();
-        }
-        if (array_key_exists($num, $this->cache['userid_for_row'])) {
-            list($userid, $last) = $this->cache['userid_for_row'][$num];
-            return $userid;
+    private function pack_files($filesforzipping) {
+        global $CFG;
+        // Create path for new zip file.
+        $tempzip = tempnam($CFG->tempdir . '/', 'assignment_');
+        // Zip files.
+        $zipper = new zip_packer();
+        if ($zipper->archive_to_pathname($filesforzipping, $tempzip)) {
+            return $tempzip;
         }
-
-        $filter = get_user_preferences('assign_filter', '');
-        $table = new assign_grading_table($this, 0, $filter, 0, false);
-
-        $userid = $table->get_cell_data($num, 'userid', $last);
-
-        $this->cache['userid_for_row'][$num] = array($userid, $last);
-        return $userid;
-    }
-
-    /**
-     * Generate zip file from array of given files
-     *
-     * @param array $filesforzipping - array of files to pass into archive_to_pathname - this array is indexed by the final file name and each element in the array is an instance of a stored_file object
-     * @return path of temp file - note this returned file does not have a .zip extension - it is a temp file.
-     */
-     private function pack_files($filesforzipping) {
-         global $CFG;
-         //create path for new zip file.
-         $tempzip = tempnam($CFG->tempdir.'/', 'assignment_');
-         //zip files
-         $zipper = new zip_packer();
-         if ($zipper->archive_to_pathname($filesforzipping, $tempzip)) {
-             return $tempzip;
-         }
-         return false;
+        return false;
     }
 
     /**
      * Finds all assignment notifications that have yet to be mailed out, and mails them.
      *
-     * Cron function to be run periodically according to the moodle cron
+     * Cron function to be run periodically according to the moodle cron.
      *
      * @return bool
      */
-    static function cron() {
+    public static function cron() {
         global $DB;
 
-        // only ever send a max of one days worth of updates
+        // Only ever send a max of one days worth of updates.
         $yesterday = time() - (24 * 3600);
         $timenow   = time();
 
         // Collect all submissions from the past 24 hours that require mailing.
-        $sql = "SELECT s.*, a.course, a.name, a.blindmarking, a.revealidentities,
+        $sql = 'SELECT s.*, a.course, a.name, a.blindmarking, a.revealidentities,
                        g.*, g.id as gradeid, g.timemodified as lastmodified
                  FROM {assign} a
                  JOIN {assign_grades} g ON g.assignment = a.id
             LEFT JOIN {assign_submission} s ON s.assignment = a.id AND s.userid = g.userid
                 WHERE g.timemodified >= :yesterday AND
                       g.timemodified <= :today AND
-                      g.mailed = 0";
+                      g.mailed = 0';
+
         $params = array('yesterday' => $yesterday, 'today' => $timenow);
         $submissions = $DB->get_records_sql($sql, $params);
 
@@ -1368,16 +1390,19 @@ class assign {
         foreach ($submissions as $submission) {
             $courseids[] = $submission->course;
         }
-        // Filter out duplicates
+
+        // Filter out duplicates.
         $courseids = array_unique($courseids);
         $ctxselect = context_helper::get_preload_record_columns_sql('ctx');
         list($courseidsql, $params) = $DB->get_in_or_equal($courseids, SQL_PARAMS_NAMED);
-        $sql = "SELECT c.*, {$ctxselect}
-                  FROM {course} c
+        $sql = 'SELECT c.*, ' . $ctxselect .
+                  FROM {course} c
              LEFT JOIN {context} ctx ON ctx.instanceid = c.id AND ctx.contextlevel = :contextlevel
-                 WHERE c.id {$courseidsql}";
+                 WHERE c.id ' . $courseidsql;
+
         $params['contextlevel'] = CONTEXT_COURSE;
         $courses = $DB->get_records_sql($sql, $params);
+
         // Clean up... this could go on for a while.
         unset($courseids);
         unset($ctxselect);
@@ -1387,20 +1412,20 @@ class assign {
         // Simple array we'll use for caching modules.
         $modcache = array();
 
-        // Message students about new feedback
+        // Message students about new feedback.
         foreach ($submissions as $submission) {
 
             mtrace("Processing assignment submission $submission->id ...");
 
-            // do not cache user lookups - could be too many
-            if (!$user = $DB->get_record("user", array("id"=>$submission->userid))) {
-                mtrace("Could not find user $submission->userid");
+            // Do not cache user lookups - could be too many.
+            if (!$user = $DB->get_record('user', array('id'=>$submission->userid))) {
+                mtrace('Could not find user ' . $submission->userid);
                 continue;
             }
 
-            // use a cache to prevent the same DB queries happening over and over
+            // Use a cache to prevent the same DB queries happening over and over.
             if (!array_key_exists($submission->course, $courses)) {
-                mtrace("Could not find course $submission->course");
+                mtrace('Could not find course ' . $submission->course);
                 continue;
             }
             $course = $courses[$submission->course];
@@ -1413,37 +1438,40 @@ class assign {
             // mail is customised for the receiver.
             cron_setup_user($user, $course);
 
-            // context lookups are already cached
+            // Context lookups are already cached.
             $coursecontext = context_course::instance($course->id);
             if (!is_enrolled($coursecontext, $user->id)) {
-                $courseshortname = format_string($course->shortname, true, array('context' => $coursecontext));
-                mtrace(fullname($user)." not an active participant in " . $courseshortname);
+                $courseshortname = format_string($course->shortname,
+                                                 true,
+                                                 array('context' => $coursecontext));
+                mtrace(fullname($user) . ' not an active participant in ' . $courseshortname);
                 continue;
             }
 
-            if (!$grader = $DB->get_record("user", array("id"=>$submission->grader))) {
-                mtrace("Could not find grader $submission->grader");
+            if (!$grader = $DB->get_record('user', array('id'=>$submission->grader))) {
+                mtrace('Could not find grader ' . $submission->grader);
                 continue;
             }
 
             if (!array_key_exists($submission->assignment, $modcache)) {
-                if (! $mod = get_coursemodule_from_instance("assign", $submission->assignment, $course->id)) {
-                    mtrace("Could not find course module for assignment id $submission->assignment");
+                $mod = get_coursemodule_from_instance('assign', $submission->assignment, $course->id);
+                if (empty($mod)) {
+                    mtrace('Could not find course module for assignment id ' . $submission->assignment);
                     continue;
                 }
                 $modcache[$submission->assignment] = $mod;
             } else {
                 $mod = $modcache[$submission->assignment];
             }
-            // context lookups are already cached
+            // Context lookups are already cached.
             $contextmodule = context_module::instance($mod->id);
 
             if (!$mod->visible) {
-                // Hold mail notification for hidden assignments until later
+                // Hold mail notification for hidden assignments until later.
                 continue;
             }
 
-            // need to send this to the student
+            // Need to send this to the student.
             $messagetype = 'feedbackavailable';
             $eventtype = 'assign_notification';
             $updatetime = $submission->lastmodified;
@@ -1453,9 +1481,18 @@ class assign {
             if ($submission->blindmarking && !$submission->revealidentities) {
                 $uniqueid = self::get_uniqueid_for_user_static($submission->assignment, $user->id);
             }
-            self::send_assignment_notification($grader, $user, $messagetype, $eventtype, $updatetime,
-                                               $mod, $contextmodule, $course, $modulename, $submission->name,
-                                               $submission->blindmarking && !$submission->revealidentities,
+            $showusers = $submission->blindmarking && !$submission->revealidentities;
+            self::send_assignment_notification($grader,
+                                               $user,
+                                               $messagetype,
+                                               $eventtype,
+                                               $updatetime,
+                                               $mod,
+                                               $contextmodule,
+                                               $course,
+                                               $modulename,
+                                               $submission->name,
+                                               $showusers,
                                                $uniqueid);
 
             $grade = new stdClass();
@@ -1469,7 +1506,7 @@ class assign {
 
         cron_setup_user();
 
-        // Free up memory just to be sure
+        // Free up memory just to be sure.
         unset($courses);
         unset($modcache);
 
@@ -1477,7 +1514,7 @@ class assign {
     }
 
     /**
-     * Update a grade in the grade table for the assignment and in the gradebook
+     * Update a grade in the grade table for the assignment and in the gradebook.
      *
      * @param stdClass $grade a grade record keyed on id
      * @return bool true for success
@@ -1497,7 +1534,7 @@ class assign {
                     return false;
                 }
             } else {
-                // this is a scale
+                // This is a scale.
                 if ($scale = $DB->get_record('scale', array('id' => -($this->get_instance()->grade)))) {
                     $scaleoptions = make_menu_from_list($scale->scale);
                     if (!array_key_exists((int) $grade->grade, $scaleoptions)) {
@@ -1515,10 +1552,11 @@ class assign {
     }
 
     /**
-     * View the grant extension date page
+     * View the grant extension date page.
      *
      * Uses url parameters 'userid'
      * or from parameter 'selectedusers'
+     *
      * @param moodleform $mform - Used for validation of the submitted data
      * @return string
      */
@@ -1545,18 +1583,20 @@ class assign {
         } else {
             $data->batchusers = $batchusers;
         }
-        $o .= $this->get_renderer()->render(new assign_header($this->get_instance(),
-                                                      $this->get_context(),
-                                                      $this->show_intro(),
-                                                      $this->get_course_module()->id,
-                                                      get_string('grantextension', 'assign')));
+        $header = new assign_header($this->get_instance(),
+                                    $this->get_context(),
+                                    $this->show_intro(),
+                                    $this->get_course_module()->id,
+                                    get_string('grantextension', 'assign'));
+        $o .= $this->get_renderer()->render($header);
 
         if (!$mform) {
-            $mform = new mod_assign_extension_form(null, array($this->get_course_module()->id,
-                                                               $userid,
-                                                               $batchusers,
-                                                               $this->get_instance(),
-                                                               $data));
+            $formparams = array($this->get_course_module()->id,
+                                $userid,
+                                $batchusers,
+                                $this->get_instance(),
+                                $data);
+            $mform = new mod_assign_extension_form(null, $formparams);
         }
         $o .= $this->get_renderer()->render(new assign_form('extensionform', $mform));
         $o .= $this->view_footer();
@@ -1564,7 +1604,7 @@ class assign {
     }
 
     /**
-     * Get a list of the users in the same group as this user
+     * Get a list of the users in the same group as this user.
      *
      * @param int $groupid The id of the group whose members we want or 0 for the default group
      * @param bool $onlyids Whether to retrieve only the user id's
@@ -1595,14 +1635,15 @@ class assign {
     }
 
     /**
-     * Get a list of the users in the same group as this user that have not submitted the assignment
+     * Get a list of the users in the same group as this user that have not submitted the assignment.
      *
      * @param int $groupid The id of the group whose members we want or 0 for the default group
      * @param bool $onlyids Whether to retrieve only the user id's
      * @return array The users (possibly id's only)
      */
     public function get_submission_group_members_who_have_not_submitted($groupid, $onlyids) {
-        if (!$this->get_instance()->teamsubmission || !$this->get_instance()->requireallteammemberssubmit) {
+        $instance = $this->get_instance();
+        if (!$instance->teamsubmission || !$instance->requireallteammemberssubmit) {
             return array();
         }
         $members = $this->get_submission_group_members($groupid, $onlyids);
@@ -1613,7 +1654,8 @@ class assign {
                 unset($members[$id]);
             } else {
                 if ($this->is_blind_marking()) {
-                    $members[$id]->alias = get_string('hiddenuser', 'assign') . $this->get_uniqueid_for_user($id);
+                    $members[$id]->alias = get_string('hiddenuser', 'assign') .
+                                           $this->get_uniqueid_for_user($id);
                 }
             }
         }
@@ -1621,12 +1663,11 @@ class assign {
     }
 
     /**
-     * Load the group submission object for a particular user, optionally creating it if required
-     *
-     * This will create the user submission and the group submission if required
+     * Load the group submission object for a particular user, optionally creating it if required.
      *
      * @param int $userid The id of the user whose submission we want
-     * @param int $groupid The id of the group for this user - may be 0 in which case it is determined from the userid
+     * @param int $groupid The id of the group for this user - may be 0 in which
+     *                     case it is determined from the userid.
      * @param bool $create If set to true a new submission object will be created in the database
      * @return stdClass The submission
      */
@@ -1647,10 +1688,10 @@ class assign {
 
             if (!$submission) {
                 $submission = new stdClass();
-                $submission->assignment   = $this->get_instance()->id;
-                $submission->userid       = $userid;
-                $submission->groupid      = 0;
-                $submission->timecreated  = time();
+                $submission->assignment = $this->get_instance()->id;
+                $submission->userid = $userid;
+                $submission->groupid = 0;
+                $submission->timecreated = time();
                 $submission->timemodified = $submission->timecreated;
 
                 if ($this->get_instance()->submissiondrafts) {
@@ -1670,9 +1711,9 @@ class assign {
         }
         if ($create) {
             $submission = new stdClass();
-            $submission->assignment   = $this->get_instance()->id;
-            $submission->userid       = 0;
-            $submission->groupid       = $groupid;
+            $submission->assignment = $this->get_instance()->id;
+            $submission->userid = 0;
+            $submission->groupid = $groupid;
             $submission->timecreated = time();
             $submission->timemodified = $submission->timecreated;
 
@@ -1724,7 +1765,7 @@ class assign {
                 continue;
             }
 
-            $timedue        = $cms[$cm->id]->duedate;
+            $timedue = $cms[$cm->id]->duedate;
 
             $sectionname = '';
             if ($usesections && $cm->sectionnum) {
@@ -1768,7 +1809,7 @@ class assign {
     /**
      * View a page rendered by a plugin.
      *
-     * Uses url parameters 'pluginaction', 'pluginsubtype', 'plugin', and 'id'
+     * Uses url parameters 'pluginaction', 'pluginsubtype', 'plugin', and 'id'.
      *
      * @return string
      */
@@ -1801,7 +1842,8 @@ class assign {
      * @return mixed The group or false
      */
     public function get_submission_group($userid) {
-        $groups = groups_get_all_groups($this->get_course()->id, $userid, $this->get_instance()->teamsubmissiongroupingid);
+        $grouping = $this->get_instance()->teamsubmissiongroupingid;
+        $groups = groups_get_all_groups($this->get_course()->id, $userid, $grouping);
         if (count($groups) != 1) {
             return false;
         }
@@ -1810,8 +1852,10 @@ class assign {
 
 
     /**
-     * display the submission that is used by a plugin
-     * Uses url parameters 'sid', 'gid' and 'plugin'
+     * Display the submission that is used by a plugin.
+     *
+     * Uses url parameters 'sid', 'gid' and 'plugin'.
+     *
      * @param string $pluginsubtype
      * @return string
      */
@@ -1831,7 +1875,7 @@ class assign {
             }
             $item = $this->get_submission($submissionid);
 
-            // permissions
+            // Check permissions.
             if ($item->userid != $USER->id) {
                 require_capability('mod/assign:grade', $this->context);
             }
@@ -1847,14 +1891,15 @@ class assign {
                                                               $this->get_return_action(),
                                                               $this->get_return_params()));
 
-            $this->add_to_log('view submission', get_string('viewsubmissionforuser', 'assign', $item->userid));
+            $logmessage = get_string('viewsubmissionforuser', 'assign', $item->userid);
+            $this->add_to_log('view submission', $logmessage);
         } else {
             $plugin = $this->get_feedback_plugin_by_type($plugintype);
             if ($gradeid <= 0) {
                 throw new coding_exception('Grade id should not be 0');
             }
             $item = $this->get_grade($gradeid);
-            // permissions
+            // Check permissions.
             if ($item->userid != $USER->id) {
                 require_capability('mod/assign:grade', $this->context);
             }
@@ -1869,10 +1914,10 @@ class assign {
                                                               $this->get_course_module()->id,
                                                               $this->get_return_action(),
                                                               $this->get_return_params()));
-            $this->add_to_log('view feedback', get_string('viewfeedbackforuser', 'assign', $item->userid));
+            $logmessage = get_string('viewfeedbackforuser', 'assign', $item->userid);
+            $this->add_to_log('view feedback', $logmessage);
         }
 
-
         $o .= $this->view_return_links();
 
         $o .= $this->view_footer();
@@ -1880,7 +1925,7 @@ class assign {
     }
 
     /**
-     * render the content in editor that is often used by plugin
+     * Render the content in editor that is often used by plugin.
      *
      * @param string $filearea
      * @param int  $submissionid
@@ -1899,21 +1944,33 @@ class assign {
         $text = $plugin->get_editor_text($editor, $submissionid);
         $format = $plugin->get_editor_format($editor, $submissionid);
 
-        $finaltext = file_rewrite_pluginfile_urls($text, 'pluginfile.php', $this->get_context()->id, $component, $filearea, $submissionid);
-        $result .= format_text($finaltext, $format, array('overflowdiv' => true, 'context' => $this->get_context()));
-
-
+        $finaltext = file_rewrite_pluginfile_urls($text,
+                                                  'pluginfile.php',
+                                                  $this->get_context()->id,
+                                                  $component,
+                                                  $filearea,
+                                                  $submissionid);
+        $params = array('overflowdiv' => true, 'context' => $this->get_context());
+        $result .= format_text($finaltext, $format, $params);
 
         if ($CFG->enableportfolios) {
             require_once($CFG->libdir . '/portfoliolib.php');
 
             $button = new portfolio_add_button();
-            $button->set_callback_options('assign_portfolio_caller', array('cmid' => $this->get_course_module()->id,
-                                          'sid' => $submissionid, 'plugin' => $plugintype, 'editor' => $editor, 'area'=>$filearea),
-                                          'mod_assign');
+            $portfolioparams = array('cmid' => $this->get_course_module()->id,
+                                     'sid' => $submissionid,
+                                     'plugin' => $plugintype,
+                                     'editor' => $editor,
+                                     'area'=>$filearea);
+            $button->set_callback_options('assign_portfolio_caller', $portfolioparams, 'mod_assign');
             $fs = get_file_storage();
 
-            if ($files = $fs->get_area_files($this->context->id, $component,$filearea, $submissionid, "timemodified", false)) {
+            if ($files = $fs->get_area_files($this->context->id,
+                                             $component,
+                                             $filearea,
+                                             $submissionid,
+                                             'timemodified',
+                                             false)) {
                 $button->set_formats(PORTFOLIO_FORMAT_RICHHTML);
             } else {
                 $button->set_formats(PORTFOLIO_FORMAT_PLAINHTML);
@@ -1924,7 +1981,7 @@ class assign {
     }
 
     /**
-     * Display a grading error
+     * Display a grading error.
      *
      * @param string $message - The description of the result
      * @return string