[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/mod/assign/ -> feedbackplugin.php (source)

   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * This file contains the function for feedback_plugin abstract class
  19   *
  20   * @package   mod_assign
  21   * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  22   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23   */
  24  
  25  defined('MOODLE_INTERNAL') || die();
  26  
  27  require_once($CFG->dirroot.'/mod/assign/assignmentplugin.php');
  28  
  29  /**
  30   * Abstract class for feedback_plugin inherited from assign_plugin abstract class.
  31   *
  32   * @package   mod_assign
  33   * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  34   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  35   */
  36  abstract class assign_feedback_plugin extends assign_plugin {
  37  
  38      /**
  39       * Return subtype name of the plugin.
  40       *
  41       * @return string
  42       */
  43      public function get_subtype() {
  44          return 'assignfeedback';
  45      }
  46  
  47      /**
  48       * If this plugin adds to the gradebook comments field, it must specify the format
  49       * of the comment.
  50       *
  51       * (From weblib.php)
  52       * define('FORMAT_MOODLE',   '0');   // Does all sorts of transformations and filtering
  53       * define('FORMAT_HTML',     '1');   // Plain HTML (with some tags stripped)
  54       * define('FORMAT_PLAIN',    '2');   // Plain text (even tags are printed in full)
  55       * define('FORMAT_WIKI',     '3');   // Wiki-formatted text
  56       * define('FORMAT_MARKDOWN', '4');   // Markdown-formatted
  57       *
  58       * Only one feedback plugin can push comments to the gradebook and that is chosen by the assignment
  59       * settings page.
  60       *
  61       * @param stdClass $grade The grade
  62       * @return int
  63       */
  64      public function format_for_gradebook(stdClass $grade) {
  65          return FORMAT_MOODLE;
  66      }
  67  
  68      /**
  69       * If this plugin adds to the gradebook comments field, it must format the text
  70       * of the comment.
  71       *
  72       * Only one feedback plugin can push comments to the gradebook and that is chosen by the assignment
  73       * settings page.
  74       *
  75       * @param stdClass $grade The grade
  76       * @return string
  77       */
  78      public function text_for_gradebook(stdClass $grade) {
  79          return '';
  80      }
  81  
  82      /**
  83       * Override to indicate a plugin supports quickgrading.
  84       *
  85       * @return boolean - True if the plugin supports quickgrading
  86       */
  87      public function supports_quickgrading() {
  88          return false;
  89      }
  90  
  91      /**
  92       * Get quickgrading form elements as html.
  93       *
  94       * @param int $userid The user id in the table this quickgrading element relates to
  95       * @param mixed $grade grade or null - The grade data.
  96       *                     May be null if there are no grades for this user (yet)
  97       * @return mixed - A html string containing the html form elements required for
  98       *                 quickgrading or false to indicate this plugin does not support quickgrading
  99       */
 100      public function get_quickgrading_html($userid, $grade) {
 101          return false;
 102      }
 103  
 104      /**
 105       * Has the plugin quickgrading form element been modified in the current form submission?
 106       *
 107       * @param int $userid The user id in the table this quickgrading element relates to
 108       * @param stdClass $grade The grade
 109       * @return boolean - true if the quickgrading form element has been modified
 110       */
 111      public function is_quickgrading_modified($userid, $grade) {
 112          return false;
 113      }
 114  
 115      /**
 116       * Has the plugin form element been modified in the current submission?
 117       *
 118       * @param stdClass $grade The grade.
 119       * @param stdClass $data Form data from the feedback form.
 120       * @return boolean - True if the form element has been modified.
 121       */
 122      public function is_feedback_modified(stdClass $grade, stdClass $data) {
 123          debugging('This plugin (' . $this->get_name() . ') has not overwritten the is_feedback_modified() method.
 124                  Please add this method to your plugin', DEBUG_DEVELOPER);
 125          return true;
 126      }
 127  
 128      /**
 129       * Save quickgrading changes.
 130       *
 131       * @param int $userid The user id in the table this quickgrading element relates to
 132       * @param stdClass $grade The grade
 133       * @return boolean - true if the grade changes were saved correctly
 134       */
 135      public function save_quickgrading_changes($userid, $grade) {
 136          return false;
 137      }
 138  
 139      /**
 140       * Return a list of the batch grading operations supported by this plugin.
 141       *
 142       * @return array - An array of action and description strings.
 143       *                 The action will be passed to grading_batch_operation.
 144       */
 145      public function get_grading_batch_operations() {
 146          return array();
 147      }
 148  
 149      /**
 150       * Return a list of the grading actions supported by this plugin.
 151       *
 152       * A grading action is a page that is not specific to a user but to the whole assignment.
 153       * @return array - An array of action and description strings.
 154       *                 The action will be passed to grading_action.
 155       */
 156      public function get_grading_actions() {
 157          return array();
 158      }
 159  
 160      /**
 161       * Show a grading action form
 162       *
 163       * @param string $gradingaction The action chosen from the grading actions menu
 164       * @return string The page containing the form
 165       */
 166      public function grading_action($gradingaction) {
 167          return '';
 168      }
 169  
 170      /**
 171       * Supports injecting content into the review panel of the grading app.
 172       *
 173       * @return bool True if this plugin will add content to the review panel of the grading app.
 174       */
 175      public function supports_review_panel() {
 176          return false;
 177      }
 178  
 179      /**
 180       * Show a batch operations form
 181       *
 182       * @param string $action The action chosen from the batch operations menu
 183       * @param array $users The list of selected userids
 184       * @return string The page containing the form
 185       */
 186      public function grading_batch_operation($action, $users) {
 187          return '';
 188      }
 189  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1