MDL-65835 plagiarism: Initial deprecation of old functions.
authorAdrian Greeve <abgreeve@gmail.com>
Mon, 16 Dec 2019 06:57:01 +0000 (14:57 +0800)
committerAdrian Greeve <abgreeve@gmail.com>
Thu, 2 Jan 2020 03:38:49 +0000 (11:38 +0800)
This is the initial deprecation of:
* plagiarism_save_form_elements
* plagiarism_get_form_elements_module
* plagiarism_plugin::get_form_elements_module
* plagiarism_plugin::save_form_elements

course/modlib.php
lib/plagiarismlib.php
lib/upgrade.txt
mod/assign/mod_form.php
mod/forum/mod_form.php
mod/workshop/mod_form.php
plagiarism/lib.php
plagiarism/upgrade.txt

index c9e1240..979e6cb 100644 (file)
@@ -363,6 +363,8 @@ function edit_module_post_actions($moduleinfo, $course) {
     if ($hasgrades) {
         grade_regrade_final_grades($course->id);
     }
     if ($hasgrades) {
         grade_regrade_final_grades($course->id);
     }
+
+    // To be removed (deprecated) with MDL-67526 (both lines).
     require_once($CFG->libdir.'/plagiarismlib.php');
     plagiarism_save_form_elements($moduleinfo);
 
     require_once($CFG->libdir.'/plagiarismlib.php');
     plagiarism_save_form_elements($moduleinfo);
 
index 5f6207f..2632250 100644 (file)
@@ -81,6 +81,8 @@ function plagiarism_get_file_results($cmid, $userid, $file) {
 /**
  * saves/updates plagiarism settings from a modules config page - called by course/modedit.php
  *
 /**
  * saves/updates plagiarism settings from a modules config page - called by course/modedit.php
  *
+ * @deprecated Since Moodle 3.9. MDL-65835 Please use {plugin name}_coursemodule_edit_post_actions() instead.
+ * @todo MDL-67526 This is to be moved from here to deprecatedlib.php in Moodle 4.3
  * @param object $data - form data
  */
 function plagiarism_save_form_elements($data) {
  * @param object $data - form data
  */
 function plagiarism_save_form_elements($data) {
@@ -93,6 +95,14 @@ function plagiarism_save_form_elements($data) {
         require_once($dir.'/lib.php');
         $plagiarismclass = "plagiarism_plugin_$plugin";
         $plagiarismplugin = new $plagiarismclass;
         require_once($dir.'/lib.php');
         $plagiarismclass = "plagiarism_plugin_$plugin";
         $plagiarismplugin = new $plagiarismclass;
+
+        $reflectionmethod = new ReflectionMethod($plagiarismplugin, 'save_form_elements');
+        if ($reflectionmethod->getDeclaringClass()->getName() == get_class($plagiarismplugin)) {
+            $text = 'plagiarism_plugin::save_form_elements() is deprecated.';
+            $text .= ' Use plagiarism_' . $plugin . '_coursemodule_edit_post_actions() instead';
+            debugging($text, DEBUG_DEVELOPER);
+        }
+
         $plagiarismplugin->save_form_elements($data);
     }
 }
         $plagiarismplugin->save_form_elements($data);
     }
 }
@@ -100,6 +110,8 @@ function plagiarism_save_form_elements($data) {
 /**
  * adds the list of plagiarism settings to a form - called inside modules that have enabled plagiarism
  *
 /**
  * adds the list of plagiarism settings to a form - called inside modules that have enabled plagiarism
  *
+ * @deprecated Since Moodle 3.9. MDL-65835 Please use {plugin name}_coursemodule_standard_elements() instead.
+ * @todo MDL-67526 This is to be moved from here to deprecatedlib.php in Moodle 4.3
  * @param object $mform - Moodle form object
  * @param object $context - context object
  * @param string $modulename - Name of the module
  * @param object $mform - Moodle form object
  * @param object $context - context object
  * @param string $modulename - Name of the module
@@ -114,6 +126,14 @@ function plagiarism_get_form_elements_module($mform, $context, $modulename = "")
         require_once($dir.'/lib.php');
         $plagiarismclass = "plagiarism_plugin_$plugin";
         $plagiarismplugin = new $plagiarismclass;
         require_once($dir.'/lib.php');
         $plagiarismclass = "plagiarism_plugin_$plugin";
         $plagiarismplugin = new $plagiarismclass;
+
+        $reflectionmethod = new ReflectionMethod($plagiarismplugin, 'get_form_elements_module');
+        if ($reflectionmethod->getDeclaringClass()->getName() == get_class($plagiarismplugin)) {
+            $text = 'plagiarism_plugin::get_form_elements_module() is deprecated.';
+            $text .= ' Use plagiarism_' . $plugin . '_coursemodule_standard_elements() instead';
+            debugging($text, DEBUG_DEVELOPER);
+        }
+
         $plagiarismplugin->get_form_elements_module($mform, $context, $modulename);
     }
 }
         $plagiarismplugin->get_form_elements_module($mform, $context, $modulename);
     }
 }
index 533b6c5..65cac74 100644 (file)
@@ -9,6 +9,8 @@ information provided here is intended especially for developers.
   - question_is_only_toplevel_category_in_context
 * format_float() now accepts a special value (-1) as the $decimalpoints parameter
   which means auto-detecting number of decimal points.
   - question_is_only_toplevel_category_in_context
 * format_float() now accepts a special value (-1) as the $decimalpoints parameter
   which means auto-detecting number of decimal points.
+* plagiarism_save_form_elements() has been deprecated. Please use {plugin name}_coursemodule_edit_post_actions() instead.
+* plagiarism_get_form_elements_module() has been deprecated. Please use {plugin name}_coursemodule_standard_elements() instead.
 
 === 3.8 ===
 * Add CLI option to notify all cron tasks to stop: admin/cli/cron.php --stop
 
 === 3.8 ===
 * Add CLI option to notify all cron tasks to stop: admin/cli/cron.php --stop
index bb20b26..5494366 100644 (file)
@@ -186,7 +186,7 @@ class mod_assign_mod_form extends moodleform_mod {
         $mform->addElement('selectyesno', 'sendstudentnotifications', $name);
         $mform->addHelpButton('sendstudentnotifications', 'sendstudentnotificationsdefault', 'assign');
 
         $mform->addElement('selectyesno', 'sendstudentnotifications', $name);
         $mform->addHelpButton('sendstudentnotifications', 'sendstudentnotificationsdefault', 'assign');
 
-        // Plagiarism enabling form.
+        // Plagiarism enabling form. To be removed (deprecated) with MDL-67526.
         if (!empty($CFG->enableplagiarism)) {
             require_once($CFG->libdir . '/plagiarismlib.php');
             plagiarism_get_form_elements_module($mform, $ctx->get_course_context(), 'mod_assign');
         if (!empty($CFG->enableplagiarism)) {
             require_once($CFG->libdir . '/plagiarismlib.php');
             plagiarism_get_form_elements_module($mform, $ctx->get_course_context(), 'mod_assign');
index 9f66da4..935f95a 100644 (file)
@@ -206,6 +206,7 @@ class mod_forum_mod_form extends moodleform_mod {
         $mform->hideIf('warnafter', 'blockperiod', 'eq', 0);
 
         $coursecontext = context_course::instance($COURSE->id);
         $mform->hideIf('warnafter', 'blockperiod', 'eq', 0);
 
         $coursecontext = context_course::instance($COURSE->id);
+        // To be removed (deprecated) with MDL-67526.
         plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_forum');
 
 //-------------------------------------------------------------------------------
         plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_forum');
 
 //-------------------------------------------------------------------------------
index a13766c..db9a52e 100644 (file)
@@ -249,6 +249,7 @@ class mod_workshop_mod_form extends moodleform_mod {
         $mform->addElement('date_time_selector', 'assessmentend', $label, array('optional' => true));
 
         $coursecontext = context_course::instance($this->course->id);
         $mform->addElement('date_time_selector', 'assessmentend', $label, array('optional' => true));
 
         $coursecontext = context_course::instance($this->course->id);
+        // To be removed (deprecated) with MDL-67526.
         plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_workshop');
 
         // Common module settings, Restrict availability, Activity completion etc. ----
         plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_workshop');
 
         // Common module settings, Restrict availability, Activity completion etc. ----
index c86c5da..364b05e 100644 (file)
@@ -71,13 +71,18 @@ abstract class plagiarism_plugin {
     }
     /**
      * hook to add plagiarism specific settings to a module settings page
     }
     /**
      * hook to add plagiarism specific settings to a module settings page
+     * @deprecated Since Moodle 3.9. MDL-65835 Please use {plugin name}_coursemodule_edit_post_actions() instead.
+     * @todo MDL-67526 Remove this method.
      * @param object $mform  - Moodle form
      * @param object $context - current context
      * @param string $modulename - Name of the module
      */
     public function get_form_elements_module($mform, $context, $modulename = "") {
     }
      * @param object $mform  - Moodle form
      * @param object $context - current context
      * @param string $modulename - Name of the module
      */
     public function get_form_elements_module($mform, $context, $modulename = "") {
     }
-    /* hook to save plagiarism specific settings on a module settings page
+    /**
+     * hook to save plagiarism specific settings on a module settings page
+     * @deprecated Since Moodle 3.9. MDL-65835 Please use {plugin name}_coursemodule_standard_elements() instead.
+     * @todo MDL-67526 Remove this method.
      * @param object $data - data from an mform submission.
      */
     public function save_form_elements($data) {
      * @param object $data - data from an mform submission.
      */
     public function save_form_elements($data) {
index e43b510..1a664b8 100644 (file)
@@ -1,4 +1,10 @@
 This files describes API changes for code that uses the plagiarism API.
 This files describes API changes for code that uses the plagiarism API.
+
+=== 3.9 ===
+
+* The method get_form_elements_module has been deprecated. Please use {plugin name}_coursemodule_edit_post_actions() instead.
+* The method save_form_elements has been deprecated. Please use {plugin name}_coursemodule_standard_elements() instead.
+
 === 3.7 ===
 
 * The plagiarism_cron() function has been deleted, plugins should implement their own scheduled tasks.
 === 3.7 ===
 
 * The plagiarism_cron() function has been deleted, plugins should implement their own scheduled tasks.