MDL-30313 plagiarism support for unformated rsults
authorPeter Bulmer <peter.bulmer@catalyst.net.nz>
Thu, 17 Nov 2011 00:21:08 +0000 (13:21 +1300)
committerPeter Bulmer <peter.bulmer@catalyst.net.nz>
Thu, 17 Nov 2011 01:12:03 +0000 (14:12 +1300)
support for obtaining plagiarism detection results without
html formatting

lib/plagiarismlib.php
plagiarism/lib.php

index b8c8546..2ff95ab 100644 (file)
@@ -53,6 +53,31 @@ function plagiarism_get_links($linkarray) {
     return $output;
 }
 
+/**
+ * returns array of plagiarism details about specified file
+ *
+ * @param int $cmid
+ * @param int $userid
+ * @param object $file moodle file object
+ * @return array - sets of details about specified file, one array of details per plagiarism plugin
+ *  - each set contains at least 'analyzed', 'score', 'reporturl'
+ */
+function plagiarism_get_file_results($cmid, $userid, $file) {
+    global $CFG;
+    $allresults = array();
+    if (empty($CFG->enableplagiarism)) {
+        return $allresults;
+    }
+    $plagiarismplugins = plagiarism_load_available_plugins();
+    foreach($plagiarismplugins as $plugin => $dir) {
+        require_once($dir.'/lib.php');
+        $plagiarismclass = "plagiarism_plugin_$plugin";
+        $plagiarismplugin = new $plagiarismclass;
+        $allresults[] = $plagiarismplugin->get_file_results($cmid, $userid, $file);
+    }
+    return $allresults;
+}
+
 /**
  * saves/updates plagiarism settings from a modules config page - called by course/modedit.php
  *
index ea58f52..6f47313 100644 (file)
@@ -40,6 +40,19 @@ class plagiarism_plugin {
     public function get_links($linkarray) {
         return '';
     }
+    /**
+     * hook to allow plagiarism specific information to be returned unformatted
+     * @param int $cmid
+     * @param int $userid
+     * @param object $file moodle file object
+     * @return array containing at least:
+     *   - 'analyzed' - whether the file has been successfully analyzed
+     *   - 'score' - similarity score - ('' if not known)
+     *   - 'reporturl' - url of originality report - '' if unavailable
+     */
+    public function get_file_results($cmid, $userid, $file) {
+        return array('analyzed' => '', 'score' => '', 'reporturl' => '');
+    }
     /**
      * hook to add plagiarism specific settings to a module settings page
      * @param object $mform  - Moodle form