ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ.. /** * plagiarismlib.php - Contains core Plagiarism related functions. * * @since Moodle 2.0 * @package core * @subpackage plagiarism * @copyright 2010 Dan Marsden http://danmarsden.com * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); } /** * displays the similarity score and provides a link to the full report if allowed. * * @param object $linkarray contains all relevant information for the plugin to generate a link * @return string - url to allow login/viewing of a similarity report */ function plagiarism_get_links($linkarray) { global $CFG; if (empty($CFG->enableplagiarism)) { return ''; } $plagiarismplugins = plagiarism_load_available_plugins(); $output = ''; foreach ($plagiarismplugins as $plugin => $dir) { require_once($dir.'/lib.php'); $plagiarismclass = "plagiarism_plugin_$plugin"; $plagiarismplugin = new $plagiarismclass; $output .= $plagiarismplugin->get_links($linkarray); } if (!empty($output)) { return html_writer::span($output, 'core_plagiarism_links'); } return ''; } /** * Function that prints the student disclosure notifying that the files will be checked for plagiarism * @param integer $cmid - the cmid of this module * @return string */ function plagiarism_print_disclosure($cmid) { global $CFG; if (empty($CFG->enableplagiarism)) { return ''; } $plagiarismplugins = plagiarism_load_available_plugins(); $output = ''; foreach ($plagiarismplugins as $plugin => $dir) { require_once($dir.'/lib.php'); $plagiarismclass = "plagiarism_plugin_$plugin"; $plagiarismplugin = new $plagiarismclass; $output .= $plagiarismplugin->print_disclosure($cmid); } return $output; } /** * Helper function - also loads lib file of plagiarism plugin * * @return array of available plugins */ function plagiarism_load_available_plugins() { global $CFG; if (empty($CFG->enableplagiarism)) { return array(); } $plagiarismplugins = core_component::get_plugin_list('plagiarism'); $availableplugins = array(); foreach ($plagiarismplugins as $plugin => $dir) { // Check this plugin is enabled and a lib file exists. $pluginenabled = get_config('plagiarism_'.$plugin, 'enabled'); if ($pluginenabled && file_exists($dir."/lib.php")) { require_once($dir.'/lib.php'); $plagiarismclass = "plagiarism_plugin_$plugin"; if (class_exists($plagiarismclass)) { $availableplugins[$plugin] = $dir; } } } return $availableplugins; }