|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 // This file is part of Moodle - http://moodle.org/ 00004 // 00005 // Moodle is free software: you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation, either version 3 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // Moodle is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 00017 00028 00029 00030 if (!defined('MOODLE_INTERNAL')) { 00031 die('Direct access to this script is forbidden.'); 00032 } 00033 00040 function plagiarism_get_links($linkarray) { 00041 global $CFG; 00042 if (empty($CFG->enableplagiarism)) { 00043 return ''; 00044 } 00045 $plagiarismplugins = plagiarism_load_available_plugins(); 00046 $output = ''; 00047 foreach($plagiarismplugins as $plugin => $dir) { 00048 require_once($dir.'/lib.php'); 00049 $plagiarismclass = "plagiarism_plugin_$plugin"; 00050 $plagiarismplugin = new $plagiarismclass; 00051 $output .= $plagiarismplugin->get_links($linkarray); 00052 } 00053 return $output; 00054 } 00055 00065 function plagiarism_get_file_results($cmid, $userid, $file) { 00066 global $CFG; 00067 $allresults = array(); 00068 if (empty($CFG->enableplagiarism)) { 00069 return $allresults; 00070 } 00071 $plagiarismplugins = plagiarism_load_available_plugins(); 00072 foreach($plagiarismplugins as $plugin => $dir) { 00073 require_once($dir.'/lib.php'); 00074 $plagiarismclass = "plagiarism_plugin_$plugin"; 00075 $plagiarismplugin = new $plagiarismclass; 00076 $allresults[] = $plagiarismplugin->get_file_results($cmid, $userid, $file); 00077 } 00078 return $allresults; 00079 } 00080 00086 function plagiarism_save_form_elements($data) { 00087 global $CFG; 00088 if (empty($CFG->enableplagiarism)) { 00089 return ''; 00090 } 00091 $plagiarismplugins = plagiarism_load_available_plugins(); 00092 foreach($plagiarismplugins as $plugin => $dir) { 00093 require_once($dir.'/lib.php'); 00094 $plagiarismclass = "plagiarism_plugin_$plugin"; 00095 $plagiarismplugin = new $plagiarismclass; 00096 $plagiarismplugin->save_form_elements($data); 00097 } 00098 } 00099 00106 function plagiarism_get_form_elements_module($mform, $context) { 00107 global $CFG; 00108 if (empty($CFG->enableplagiarism)) { 00109 return ''; 00110 } 00111 $plagiarismplugins = plagiarism_load_available_plugins(); 00112 foreach($plagiarismplugins as $plugin => $dir) { 00113 require_once($dir.'/lib.php'); 00114 $plagiarismclass = "plagiarism_plugin_$plugin"; 00115 $plagiarismplugin = new $plagiarismclass; 00116 $plagiarismplugin->get_form_elements_module($mform, $context); 00117 } 00118 } 00126 function plagiarism_update_status($course, $cm) { 00127 global $CFG; 00128 if (empty($CFG->enableplagiarism)) { 00129 return ''; 00130 } 00131 $plagiarismplugins = plagiarism_load_available_plugins(); 00132 $output = ''; 00133 foreach($plagiarismplugins as $plugin => $dir) { 00134 require_once($dir.'/lib.php'); 00135 $plagiarismclass = "plagiarism_plugin_$plugin"; 00136 $plagiarismplugin = new $plagiarismclass; 00137 $output .= $plagiarismplugin->update_status($course, $cm); 00138 } 00139 return $output; 00140 } 00141 00147 function plagiarism_print_disclosure($cmid) { 00148 global $CFG; 00149 if (empty($CFG->enableplagiarism)) { 00150 return ''; 00151 } 00152 $plagiarismplugins = plagiarism_load_available_plugins(); 00153 $output = ''; 00154 foreach($plagiarismplugins as $plugin => $dir) { 00155 require_once($dir.'/lib.php'); 00156 $plagiarismclass = "plagiarism_plugin_$plugin"; 00157 $plagiarismplugin = new $plagiarismclass; 00158 $output .= $plagiarismplugin->print_disclosure($cmid); 00159 } 00160 return $output; 00161 } 00166 function plagiarism_cron() { 00167 global $CFG; 00168 if (empty($CFG->enableplagiarism)) { 00169 return ''; 00170 } 00171 $plagiarismplugins = plagiarism_load_available_plugins(); 00172 foreach($plagiarismplugins as $plugin => $dir) { 00173 require_once($dir.'/lib.php'); 00174 $plagiarismclass = "plagiarism_plugin_$plugin"; 00175 $plagiarismplugin = new $plagiarismclass; 00176 $plagiarismplugin->cron(); 00177 } 00178 } 00183 function plagiarism_load_available_plugins() { 00184 global $CFG; 00185 if (empty($CFG->enableplagiarism)) { 00186 return array(); 00187 } 00188 $plagiarismplugins = get_plugin_list('plagiarism'); 00189 $availableplugins = array(); 00190 foreach($plagiarismplugins as $plugin => $dir) { 00191 //check this plugin is enabled and a lib file exists. 00192 if (get_config('plagiarism', $plugin."_use") && file_exists($dir."/lib.php")) { 00193 require_once($dir.'/lib.php'); 00194 $plagiarismclass = "plagiarism_plugin_$plugin"; 00195 if (class_exists($plagiarismclass)) { 00196 $availableplugins[$plugin] = $dir; 00197 } 00198 } 00199 } 00200 return $availableplugins; 00201 }