diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..217c9fa3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,46 @@
+language: php
+
+sudo: false
+
+cache:
+ directories:
+ - $HOME/.composer/cache
+
+php:
+ - 5.5
+# - 5.6
+ - 7.0
+
+env:
+ global:
+ - IGNORE_PATHS=sdk/,pix/
+ - IGNORE_NAMES=jquery*,styles.css
+ matrix:
+ # - DB=pgsql MOODLE_BRANCH=MOODLE_31_STABLE
+ # - DB=mysqli MOODLE_BRANCH=MOODLE_31_STABLE
+ - DB=pgsql MOODLE_BRANCH=MOODLE_30_STABLE
+ - DB=mysqli MOODLE_BRANCH=MOODLE_30_STABLE
+ # - DB=pgsql MOODLE_BRANCH=MOODLE_27_STABLE
+ # - DB=mysqli MOODLE_BRANCH=MOODLE_27_STABLE
+
+before_install:
+ - phpenv config-rm xdebug.ini
+ - cd ../..
+ - composer selfupdate
+ - composer create-project -n --no-dev --prefer-dist moodlerooms/moodle-plugin-ci ci ^1
+ - export PATH="$(cd ci/bin; pwd):$(cd ci/vendor/bin; pwd):$PATH"
+
+install:
+ - moodle-plugin-ci install
+
+script:
+ - moodle-plugin-ci phplint
+ - moodle-plugin-ci phpcpd
+ - moodle-plugin-ci phpmd
+ - moodle-plugin-ci codechecker
+ - moodle-plugin-ci csslint
+ - moodle-plugin-ci shifter
+# - moodle-plugin-ci jshint
+ - moodle-plugin-ci validate
+# - moodle-plugin-ci phpunit
+ - moodle-plugin-ci behat
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0c76e8e7..d7862ebb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,22 @@
+### Date: 2017-January-25
+### Release: v2017012501
+
+- The events now use Moodle's new Events 2 API, which is a requirement to support future Moodle versions. Admins should ensure the Events Queue has been cleared for Plagiarism events. Following this change to the Events API this release and future releases will no longer work on Moodle 2.6.
+- The language strings have been updated across all supported languages.
+- The unused database columns legacyteacher, apimd5 and externalstatus have been removed from the plugin's plagiarism_turnitin_files table. These were leftovers from Dan Marsden's version of the plugin that are no longer used.
+- Travis-CI has been aded to the plugin as an extra QA resource to help flag any issues with the code.
+- Fixes:
+ - The assignment edit API call no longer fails if repository settings don't match the plugin settings.
+ - JavaScript error no longer appears when closing the PeerMark manager.
+ - The & character no longer appears in TFS as &.
+ - Default values for submitter and student_read columns are now consistent between upgrade and install. (Thanks to @danmarsden).
+ - The error message when submitting a file >40mb now displays correctly.
+ - Fixed an issue with anonymous marking where grades would appear in the gradebook before the assignment has been unanonymised.
+ - Fixed an issue where the first submission to an assignment would sometimes fail to send to Turnitin.
+ - Moodle's Behat unit tests will no longer fail. (Thanks to @roperto)
+
+---
+
### Date: 2016-September-14
### Release: v2016091401
diff --git a/ajax.php b/ajax.php
index bf8509b1..03652719 100644
--- a/ajax.php
+++ b/ajax.php
@@ -24,7 +24,7 @@
$action = required_param('action', PARAM_ALPHAEXT);
$cmid = optional_param('cmid', 0, PARAM_INT);
$itemid = optional_param('itemid', 0, PARAM_INT);
-if( !empty( $cmid ) ){
+if ( !empty( $cmid ) ) {
$cm = get_coursemodule_from_id('', $cmid);
$context = context_course::instance($cm->course);
@@ -66,7 +66,7 @@
if ($syncassignment['success']) {
$turnitintooltwoview = new turnitintooltwo_view();
$return = html_writer::tag("div",
- $turnitintooltwoview->output_dv_launch_form($dvtype, $submissionid, $user->tii_user_id,
+ $turnitintooltwoview->output_dv_launch_form($dvtype, $submissionid, $user->tiiuserid,
$userrole, ''), array('style' => 'display: none'));
}
break;
@@ -115,8 +115,8 @@
case "peermarkmanager":
if ($userrole == 'Instructor') {
- $plagiarism_plugin_turnitin = new plagiarism_plugin_turnitin();
- $coursedata = $plagiarism_plugin_turnitin->get_course_data($cm->id, $cm->course);
+ $plagiarismpluginturnitin = new plagiarism_plugin_turnitin();
+ $coursedata = $plagiarismpluginturnitin->get_course_data($cm->id, $cm->course);
$tiiassignment = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cm->id, 'name' => 'turnitin_assignid'));
@@ -141,8 +141,10 @@
break;
case "rubricview":
- $isstudent = ($cm->modname == "forum") ? has_capability('mod/'.$cm->modname.':replypost', $context) :
- has_capability('mod/'.$cm->modname.':submit', $context);
+ $replypost = 'mod/'.$cm->modname.':replypost';
+ $submit = 'mod/'.$cm->modname.':submit';
+ $isstudent = ($cm->modname == "forum") ? has_capability($replypost, $context) : has_capability($submit, $context);
+
if ($isstudent) {
$tiiassignment = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cm->id, 'name' => 'turnitin_assignid'));
@@ -160,9 +162,9 @@
break;
case "peermarkreviews":
-
- $isstudent = ($cm->modname == "forum") ? has_capability('mod/'.$cm->modname.':replypost', $context) :
- has_capability('mod/'.$cm->modname.':submit', $context);
+ $replypost = 'mod/'.$cm->modname.':replypost';
+ $submit = 'mod/'.$cm->modname.':submit';
+ $isstudent = ($cm->modname == "forum") ? has_capability($replypost, $context) : has_capability($submit, $context);
if ($userrole == 'Instructor' || $isstudent) {
$tiiassignment = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cm->id, 'name' => 'turnitin_assignid'));
@@ -187,23 +189,23 @@
$message = optional_param('message', '', PARAM_ALPHAEXT);
- // Get the id from the turnitintooltwo_users table so we can update
- $turnitin_user = $DB->get_record('turnitintooltwo_users', array('userid' => $USER->id));
+ // Get the id from the turnitintooltwo_users table so we can update.
+ $turnitinuser = $DB->get_record('turnitintooltwo_users', array('userid' => $USER->id));
- // Build user object for update
- $eula_user = new stdClass();
- $eula_user->id = $turnitin_user->id;
- $eula_user->user_agreement_accepted = 0;
+ // Build user object for update.
+ $eulauser = new stdClass();
+ $eulauser->id = $turnitinuser->id;
+ $eulauser->user_agreement_accepted = 0;
if ($message == 'turnitin_eula_accepted') {
- $eula_user->user_agreement_accepted = 1;
- turnitintooltwo_activitylog("User ".$USER->id." (".$turnitin_user->turnitin_uid.") accepted the EULA.", "PP_EULA_ACCEPTANCE");
+ $eulauser->user_agreement_accepted = 1;
+ turnitintooltwo_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") accepted the EULA.", "PP_EULA_ACCEPTANCE");
} else if ($message == 'turnitin_eula_declined') {
- $eula_user->user_agreement_accepted = -1;
- turnitintooltwo_activitylog("User ".$USER->id." (".$turnitin_user->turnitin_uid.") declined the EULA.", "PP_EULA_ACCEPTANCE");
+ $eulauser->user_agreement_accepted = -1;
+ turnitintooltwo_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") declined the EULA.", "PP_EULA_ACCEPTANCE");
}
- // Update the user using the above object
- $DB->update_record('turnitintooltwo_users', $eula_user, $bulk=false);
+ // Update the user using the above object.
+ $DB->update_record('turnitintooltwo_users', $eulauser, $bulk = false);
break;
case "resubmit_event":
diff --git a/backup/moodle2/backup_plagiarism_turnitin_plugin.class.php b/backup/moodle2/backup_plagiarism_turnitin_plugin.class.php
index a246950b..4ea6cb4f 100644
--- a/backup/moodle2/backup_plagiarism_turnitin_plugin.class.php
+++ b/backup/moodle2/backup_plagiarism_turnitin_plugin.class.php
@@ -22,25 +22,26 @@ class backup_plagiarism_turnitin_plugin extends backup_plagiarism_plugin {
protected function define_module_plugin_structure() {
$plugin = $this->get_plugin_element();
- $plugin_element = new backup_nested_element($this->get_recommended_name());
- $plugin->add_child($plugin_element);
+ $pluginelement = new backup_nested_element($this->get_recommended_name());
+ $plugin->add_child($pluginelement);
- // Add module config elements
- $turnitin_configs = new backup_nested_element('turnitin_configs');
- $turnitin_config = new backup_nested_element('turnitin_config', array('id'), array('name', 'value'));
- $plugin_element->add_child($turnitin_configs);
- $turnitin_configs->add_child($turnitin_config);
- $turnitin_config->set_source_table('plagiarism_turnitin_config', array('cm' => backup::VAR_PARENTID));
+ // Add module config elements.
+ $turnitinconfigs = new backup_nested_element('turnitin_configs');
+ $turnitinconfig = new backup_nested_element('turnitin_config', array('id'), array('name', 'value'));
+ $pluginelement->add_child($turnitinconfigs);
+ $turnitinconfigs->add_child($turnitinconfig);
+ $turnitinconfig->set_source_table('plagiarism_turnitin_config', array('cm' => backup::VAR_PARENTID));
- // Add file elements if required
+ // Add file elements if required.
if ($this->get_setting_value('userinfo')) {
- $turnitin_files = new backup_nested_element('turnitin_files');
- $turnitin_file = new backup_nested_element('turnitin_file', array('id'),
- array('userid', 'identifier', 'externalid', 'externalstatus', 'statuscode', 'similarityscore', 'transmatch', 'lastmodified', 'grade', 'submissiontype'));
- $plugin_element->add_child($turnitin_files);
- $turnitin_files->add_child($turnitin_file);
+ $turnitinfiles = new backup_nested_element('turnitin_files');
+ $turnitinfile = new backup_nested_element('turnitin_file', array('id'),
+ array('userid', 'identifier', 'externalid', 'externalstatus',
+ 'statuscode', 'similarityscore', 'transmatch', 'lastmodified', 'grade', 'submissiontype'));
+ $pluginelement->add_child($turnitinfiles);
+ $turnitinfiles->add_child($turnitinfile);
- $turnitin_file->set_source_table('plagiarism_turnitin_files', array('cm' => backup::VAR_PARENTID));
+ $turnitinfile->set_source_table('plagiarism_turnitin_files', array('cm' => backup::VAR_PARENTID));
}
return $plugin;
}
@@ -48,16 +49,18 @@ protected function define_module_plugin_structure() {
protected function define_course_plugin_structure() {
$plugin = $this->get_plugin_element();
- $plugin_element = new backup_nested_element($this->get_recommended_name());
- $plugin->add_child($plugin_element);
+ $pluginelement = new backup_nested_element($this->get_recommended_name());
+ $plugin->add_child($pluginelement);
- // Add courses from Turnitintool table
- $turnitin_courses = new backup_nested_element('turnitin_courses');
- $turnitin_course = new backup_nested_element('turnitin_course', array('id'), array('courseid', 'ownerid', 'turnitin_ctl', 'turnitin_cid', 'course_type'));
- $plugin_element->add_child($turnitin_courses);
- $turnitin_courses->add_child($turnitin_course);
+ // Add courses from Turnitintool table.
+ $turnitincourses = new backup_nested_element('turnitin_courses');
+ $turnitincourse = new backup_nested_element('turnitin_course', array('id'),
+ array('courseid', 'ownerid', 'turnitin_ctl', 'turnitin_cid', 'course_type'));
+ $pluginelement->add_child($turnitincourses);
+ $turnitincourses->add_child($turnitincourse);
- $turnitin_course->set_source_table('turnitintooltwo_courses', array('courseid'=> backup::VAR_COURSEID, 'course_type' => backup_helper::is_sqlparam('PP')));
+ $turnitincourse->set_source_table('turnitintooltwo_courses', array('courseid' => backup::VAR_COURSEID,
+ 'course_type' => backup_helper::is_sqlparam('PP')));
return $plugin;
}
}
\ No newline at end of file
diff --git a/backup/moodle2/restore_plagiarism_turnitin_plugin.class.php b/backup/moodle2/restore_plagiarism_turnitin_plugin.class.php
index 46762631..7b217ad4 100644
--- a/backup/moodle2/restore_plagiarism_turnitin_plugin.class.php
+++ b/backup/moodle2/restore_plagiarism_turnitin_plugin.class.php
@@ -39,9 +39,10 @@ public function process_turnitin_course($data) {
if ($this->task->is_samesite()) {
$data = (object)$data;
- $record_exists = $DB->record_exists('turnitintooltwo_courses', array('turnitin_cid' => $data->turnitin_cid, 'course_type' => 'PP'));
+ $recordexists = $DB->record_exists('turnitintooltwo_courses',
+ array('turnitin_cid' => $data->turnitin_cid, 'course_type' => 'PP'));
- if (!$record_exists) {
+ if (!$recordexists) {
$data = (object)$data;
$data->courseid = $this->task->get_courseid();
@@ -71,10 +72,12 @@ public function process_turnitin_config($data) {
if ($this->task->is_samesite()) {
$data = (object)$data;
- $record_exists = ($data->name == 'turnitin_assign') ? $DB->record_exists('plagiarism_turnitin_config', array('name' => 'turnitin_assign', 'value' => $data->value)) : false;
- $record_exists = ($data->name == 'turnitin_assignid') ? $DB->record_exists('plagiarism_turnitin_config', array('name' => 'turnitin_assignid', 'value' => $data->value)) : $record_exists;
+ $recordexists = ($data->name == 'turnitin_assign') ? $DB->record_exists('plagiarism_turnitin_config',
+ array('name' => 'turnitin_assign', 'value' => $data->value)) : false;
+ $recordexists = ($data->name == 'turnitin_assignid') ? $DB->record_exists('plagiarism_turnitin_config',
+ array('name' => 'turnitin_assignid', 'value' => $data->value)) : $recordexists;
- if (!$record_exists) {
+ if (!$recordexists) {
$data = (object)$data;
$data->name = ($data->name == 'turnitin_assign') ? 'turnitin_assignid' : $data->name;
$data->cm = $this->task->get_moduleid();
@@ -94,9 +97,10 @@ public function process_turnitin_files($data) {
if ($this->task->is_samesite()) {
$data = (object)$data;
- $record_exists = (!empty($data->externalid)) ? $DB->record_exists('plagiarism_turnitin_files', array('externalid'=>$data->externalid)) : false;
+ $recordexists = (!empty($data->externalid)) ? $DB->record_exists('plagiarism_turnitin_files',
+ array('externalid' => $data->externalid)) : false;
- if (!$record_exists) {
+ if (!$recordexists) {
$data->cm = $this->task->get_moduleid();
$data->userid = $this->get_mappingid('user', $data->userid);
diff --git a/classes/digitalreceipt/pp_receipt_message.php b/classes/digitalreceipt/pp_receipt_message.php
index 4f0d1d08..f2fdea52 100644
--- a/classes/digitalreceipt/pp_receipt_message.php
+++ b/classes/digitalreceipt/pp_receipt_message.php
@@ -1,4 +1,27 @@
.
+
+/**
+ * @package moodlecore
+ * @subpackage backup-moodle2
+ * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com}
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
class pp_receipt_message {
@@ -13,8 +36,8 @@ public function send_message($userid, $message) {
$subject = get_string('digital_receipt_subject', 'plagiarism_turnitin');
$eventdata = new stdClass();
- $eventdata->component = 'plagiarism_turnitin'; //your component name
- $eventdata->name = 'submission'; //this is the message name from messages.php
+ $eventdata->component = 'plagiarism_turnitin'; // Your component name.
+ $eventdata->name = 'submission'; // This is the message name from messages.php.
$eventdata->userfrom = \core_user::get_noreply_user();
$eventdata->userto = $userid;
$eventdata->subject = $subject;
@@ -22,7 +45,7 @@ public function send_message($userid, $message) {
$eventdata->fullmessageformat = FORMAT_HTML;
$eventdata->fullmessagehtml = $message;
$eventdata->smallmessage = '';
- $eventdata->notification = 1; //this is only set to 0 for personal messages between users
+ $eventdata->notification = 1; // This is only set to 0 for personal messages between users.
message_send($eventdata);
}
@@ -58,8 +81,7 @@ public function build_message($input) {
* @param array $input - used tob uild message
* @return string
*/
- public function build_instructor_message($input)
- {
+ public function build_instructor_message($input) {
$message->submission_title = $input['submission_title'];
$message->assignment_name = $input['assignment_name'];
if ( isset($input['assignment_part']) ) {
@@ -81,20 +103,19 @@ public function build_instructor_message($input)
* @param string $message
* @return void
*/
- public function send_instructor_message($instructors, $message)
- {
+ public function send_instructor_message($instructors, $message) {
$subject = get_string('receipt_instructor_copy_subject', 'plagiarism_turnitin');
$eventdata = new stdClass();
- $eventdata->component = 'plagiarism_turnitin'; //your component name
- $eventdata->name = 'submission'; //this is the message name from messages.php
+ $eventdata->component = 'plagiarism_turnitin'; // Your component name.
+ $eventdata->name = 'submission'; // This is the message name from messages.php.
$eventdata->userfrom = \core_user::get_noreply_user();
$eventdata->subject = $subject;
$eventdata->fullmessage = $message;
$eventdata->fullmessageformat = FORMAT_HTML;
$eventdata->fullmessagehtml = $message;
$eventdata->smallmessage = '';
- $eventdata->notification = 1; //this is only set to 0 for personal messages between users
+ $eventdata->notification = 1; // This is only set to 0 for personal messages between users.
foreach ($instructors as $instructor) {
$eventdata->userto = $instructor;
diff --git a/classes/modules/turnitin_assign.class.php b/classes/modules/turnitin_assign.class.php
index a9a57613..6e7a98e3 100644
--- a/classes/modules/turnitin_assign.class.php
+++ b/classes/modules/turnitin_assign.class.php
@@ -19,86 +19,86 @@
* @copyright 2012 iParadigms LLC *
*/
-// TODO: Split out all module specific code from plagiarism/turnitin/lib.php
-class turnitin_assign {
-
- private $modname;
- public $grades_table;
- public $filecomponent;
-
- public function __construct() {
- $this->modname = 'assign';
- $this->grades_table = $this->modname.'_grades';
- $this->filecomponent = $this->modname.'submission_file';
- }
-
- public function is_tutor($context) {
- return has_capability($this->get_tutor_capability(), $context);
- }
-
- public function get_tutor_capability() {
- return 'mod/'.$this->modname.':grade';
- }
-
- public function user_enrolled_on_course($context, $userid) {
- return has_capability('mod/'.$this->modname.':submit', $context, $userid);
- }
-
- public function get_author($itemid) {
- global $DB;
-
- if ($submission = $DB->get_record('assign_submission', array('id' => $itemid), 'userid')) {
- return $submission->userid;
- } else {
- return 0;
- }
- }
-
- public function set_content($linkarray, $cm) {
- global $DB;
+defined('MOODLE_INTERNAL') || die();
- $onlinetextdata = $this->get_onlinetext($linkarray["userid"], $cm);
-
- return (empty($onlinetextdata->onlinetext)) ? '' : $onlinetextdata->onlinetext;
- }
-
- public function get_onlinetext($userid, $cm) {
- global $DB;
-
- // Get latest text content submitted as we do not have submission id.
- $submissions = $DB->get_records_select('assign_submission', ' userid = ? AND assignment = ? ',
- array($userid, $cm->instance), 'id DESC', 'id', 0, 1);
- $submission = end($submissions);
- $moodletextsubmission = $DB->get_record('assignsubmission_onlinetext',
- array('submission' => $submission->id), 'onlinetext, onlineformat');
-
- $onlinetextdata = new stdClass();
- $onlinetextdata->itemid = $submission->id;
- $onlinetextdata->onlinetext = $moodletextsubmission->onlinetext;
- $onlinetextdata->onlineformat = $moodletextsubmission->onlineformat;
-
- return $onlinetextdata;
- }
-
- public function create_file_event($params) {
- return \assignsubmission_file\event\assessable_uploaded::create($params);
- }
-
- public function create_text_event($params) {
- return \assignsubmission_onlinetext\event\assessable_uploaded::create($params);
- }
-
- public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
- global $DB;
+// TODO: Split out all module specific code from plagiarism/turnitin/lib.php.
+class turnitin_assign {
- $currentgradesquery = $DB->get_records('assign_grades',
- array('userid' => $userid, 'assignment' => $moduleid),
- 'id DESC'
- );
+ private $modname;
+ public $gradestable;
+ public $filecomponent;
+
+ public function __construct() {
+ $this->modname = 'assign';
+ $this->gradestable = $this->modname.'_grades';
+ $this->filecomponent = $this->modname.'submission_file';
+ }
+
+ public function is_tutor($context) {
+ return has_capability($this->get_tutor_capability(), $context);
+ }
+
+ public function get_tutor_capability() {
+ return 'mod/'.$this->modname.':grade';
+ }
+
+ public function user_enrolled_on_course($context, $userid) {
+ return has_capability('mod/'.$this->modname.':submit', $context, $userid);
+ }
+
+ public function get_author($itemid) {
+ global $DB;
+
+ if ($submission = $DB->get_record('assign_submission', array('id' => $itemid), 'userid')) {
+ return $submission->userid;
+ } else {
+ return 0;
+ }
+ }
+
+ public function set_content($linkarray, $cm) {
+ $onlinetextdata = $this->get_onlinetext($linkarray["userid"], $cm);
+
+ return (empty($onlinetextdata->onlinetext)) ? '' : $onlinetextdata->onlinetext;
+ }
+
+ public function get_onlinetext($userid, $cm) {
+ global $DB;
+
+ // Get latest text content submitted as we do not have submission id.
+ $submissions = $DB->get_records_select('assign_submission', ' userid = ? AND assignment = ? ',
+ array($userid, $cm->instance), 'id DESC', 'id', 0, 1);
+ $submission = end($submissions);
+ $moodletextsubmission = $DB->get_record('assignsubmission_onlinetext',
+ array('submission' => $submission->id), 'onlinetext, onlineformat');
+
+ $onlinetextdata = new stdClass();
+ $onlinetextdata->itemid = $submission->id;
+ $onlinetextdata->onlinetext = $moodletextsubmission->onlinetext;
+ $onlinetextdata->onlineformat = $moodletextsubmission->onlineformat;
+
+ return $onlinetextdata;
+ }
+
+ public function create_file_event($params) {
+ return \assignsubmission_file\event\assessable_uploaded::create($params);
+ }
+
+ public function create_text_event($params) {
+ return \assignsubmission_onlinetext\event\assessable_uploaded::create($params);
+ }
+
+ public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
+ global $DB;
+
+ $currentgradesquery = $DB->get_records('assign_grades',
+ array('userid' => $userid, 'assignment' => $moduleid),
+ 'id DESC'
+ );
return current($currentgradesquery);
- }
+ }
- public function initialise_post_date($moduledata) {
- return 0;
- }
+ public function initialise_post_date($moduledata) {
+ return 0;
+ }
}
\ No newline at end of file
diff --git a/classes/modules/turnitin_coursework.class.php b/classes/modules/turnitin_coursework.class.php
index f69b223c..60c4b621 100644
--- a/classes/modules/turnitin_coursework.class.php
+++ b/classes/modules/turnitin_coursework.class.php
@@ -19,69 +19,73 @@
* @copyright 2012 iParadigms LLC *
*/
-// TODO: Split out all module specific code from plagiarism/turnitin/lib.php
+defined('MOODLE_INTERNAL') || die();
+
+// TODO: Split out all module specific code from plagiarism/turnitin/lib.php.
class turnitin_coursework {
- private $modname;
- public $grades_table;
- public $filecomponent;
+ private $modname;
+ public $gradestable;
+ public $filecomponent;
- public function __construct() {
- $this->modname = 'coursework';
- $this->grades_table = $this->modname.'_feedbacks';
- $this->filecomponent = 'mod_'.$this->modname;
- }
+ public function __construct() {
+ $this->modname = 'coursework';
+ $this->gradestable = $this->modname.'_feedbacks';
+ $this->filecomponent = 'mod_'.$this->modname;
+ }
- public function is_tutor($context) {
- $capabilities = array($this->get_tutor_capability(),'mod/coursework:addagreedgrade', 'mod/coursework:addallocatedagreedgrade', 'mod/coursework:administergrades');
- return has_any_capability($capabilities,$context);
- }
+ public function is_tutor($context) {
+ $capabilities = array($this->get_tutor_capability(), 'mod/coursework:addagreedgrade',
+ 'mod/coursework:addallocatedagreedgrade', 'mod/coursework:administergrades');
+ return has_any_capability($capabilities, $context);
+ }
- public function get_tutor_capability() {
- return 'mod/'.$this->modname.':addinitialgrade';
- }
+ public function get_tutor_capability() {
+ return 'mod/'.$this->modname.':addinitialgrade';
+ }
- public function user_enrolled_on_course($context, $userid) {
- return has_capability('mod/'.$this->modname.':submit', $context, $userid);
- }
+ public function user_enrolled_on_course($context, $userid) {
+ return has_capability('mod/'.$this->modname.':submit', $context, $userid);
+ }
- public function get_author($itemid) {
- global $DB;
+ public function get_author($itemid) {
+ global $DB;
- $id = 0;
+ $id = 0;
- if ($submission = $DB->get_record('coursework_submissions', array('id' => $itemid)))
- $id = $submission->authorid;
+ if ($submission = $DB->get_record('coursework_submissions', array('id' => $itemid))) {
+ $id = $submission->authorid;
+ }
- return $id;
- }
+ return $id;
+ }
- public function create_file_event($params) {
- return \mod_coursework\event\assessable_uploaded::create($params);
- }
+ public function create_file_event($params) {
+ return \mod_coursework\event\assessable_uploaded::create($params);
+ }
- public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
- global $DB;
+ public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
+ global $DB;
- $sql = "SELECT *
- FROM {coursework_submissions} cs,
- {coursework_feedbacks} cf
- WHERE cs.id = cf.submissionid
- AND cs.authorid = :authorid
- AND cs.courseworkid = :courseworkid
- AND cf.stage_identifier = :stage";
+ $sql = "SELECT *
+ FROM {coursework_submissions} cs,
+ {coursework_feedbacks} cf
+ WHERE cs.id = cf.submissionid
+ AND cs.authorid = :authorid
+ AND cs.courseworkid = :courseworkid
+ AND cf.stage_identifier = :stage";
- $params = array('stage'=>'final_agreed_1','authorid'=>$userid,'courseworkid'=>$moduleid);
+ $params = array('stage' => 'final_agreed_1', 'authorid' => $userid, 'courseworkid' => $moduleid);
- $currentgradesquery = $DB->get_record_sql($sql, $params);
+ $currentgradesquery = $DB->get_record_sql($sql, $params);
- return $currentgradesquery;
- }
+ return $currentgradesquery;
+ }
- public function initialise_post_date($moduledata) {
- return 0;
- }
+ public function initialise_post_date($moduledata) {
+ return 0;
+ }
}
\ No newline at end of file
diff --git a/classes/modules/turnitin_forum.class.php b/classes/modules/turnitin_forum.class.php
index d0240880..86a0043a 100644
--- a/classes/modules/turnitin_forum.class.php
+++ b/classes/modules/turnitin_forum.class.php
@@ -19,74 +19,76 @@
* @copyright 2012 iParadigms LLC *
*/
-// TODO: Split out all module specific code from plagiarism/turnitin/lib.php
+defined('MOODLE_INTERNAL') || die();
+
+// TODO: Split out all module specific code from plagiarism/turnitin/lib.php.
class turnitin_forum {
- private $modname;
- public $grades_table;
- public $filecomponent;
+ private $modname;
+ public $gradestable;
+ public $filecomponent;
- public function __construct() {
- $this->modname = 'forum';
- $this->grades_table = 'grade_grades';
- $this->filecomponent = 'mod_'.$this->modname;
- }
+ public function __construct() {
+ $this->modname = 'forum';
+ $this->gradestable = 'grade_grades';
+ $this->filecomponent = 'mod_'.$this->modname;
+ }
- public function is_tutor($context) {
- return has_capability($this->get_tutor_capability(), $context);
- }
+ public function is_tutor($context) {
+ return has_capability($this->get_tutor_capability(), $context);
+ }
- public function get_tutor_capability() {
- return 'plagiarism/turnitin:viewfullreport';
- }
+ public function get_tutor_capability() {
+ return 'plagiarism/turnitin:viewfullreport';
+ }
- public function user_enrolled_on_course($context, $userid) {
- return has_capability('mod/'.$this->modname.':replypost', $context, $userid);
- }
+ public function user_enrolled_on_course($context, $userid) {
+ return has_capability('mod/'.$this->modname.':replypost', $context, $userid);
+ }
- public function get_author($itemid) {
- return ;
- }
+ public function get_author($itemid) {
+ return;
+ }
- public function set_content($linkarray, $moduleid) {
- return $linkarray["content"];
+ public function set_content($linkarray, $moduleid) {
+ return $linkarray["content"];
}
public function create_file_event($params) {
- return \mod_forum\event\assessable_uploaded::create($params);
- }
+ return \mod_forum\event\assessable_uploaded::create($params);
+ }
- public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
- global $DB;
+ public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
+ global $DB;
- $currentgradequery = $DB->get_record('grade_grades', array('userid' => $userid, 'itemid' => $itemid));
+ $currentgradequery = $DB->get_record('grade_grades', array('userid' => $userid, 'itemid' => $itemid));
return $currentgradequery;
- }
-
- public function initialise_post_date($moduledata) {
- return 0;
- }
-
- // Get the forum submission id - unfortunately this is rather complex as the db tables are strangely organised.
- public function get_discussionid($forumdata) {
-
- list($querystrid, $discussionid, $reply, $edit, $delete) = explode('_', $forumdata);
-
- if (empty($discussionid)) {
- $parent = '';
- if ($reply != 0) {
- $parent = forum_get_post_full($reply);
- } else if ($edit != 0) {
- $parent = forum_get_post_full($edit);
- } else if ($delete != 0) {
- $parent = forum_get_post_full($delete);
- }
-
- if (!empty($parent)) {
- $discussionid = $parent->discussion;
- }
- }
-
- return $discussionid;
- }
+ }
+
+ public function initialise_post_date($moduledata) {
+ return 0;
+ }
+
+ // Get the forum submission id - unfortunately this is rather complex as the db tables are strangely organised.
+ public function get_discussionid($forumdata) {
+
+ list($querystrid, $discussionid, $reply, $edit, $delete) = explode('_', $forumdata);
+
+ if (empty($discussionid)) {
+ $parent = '';
+ if ($reply != 0) {
+ $parent = forum_get_post_full($reply);
+ } else if ($edit != 0) {
+ $parent = forum_get_post_full($edit);
+ } else if ($delete != 0) {
+ $parent = forum_get_post_full($delete);
+ }
+
+ if (!empty($parent)) {
+ $discussionid = $parent->discussion;
+ }
+ }
+
+ return $discussionid;
+ }
}
\ No newline at end of file
diff --git a/classes/modules/turnitin_workshop.class.php b/classes/modules/turnitin_workshop.class.php
index a0dc876e..91a40f68 100644
--- a/classes/modules/turnitin_workshop.class.php
+++ b/classes/modules/turnitin_workshop.class.php
@@ -19,69 +19,71 @@
* @copyright 2012 iParadigms LLC *
*/
-// TODO: Split out all module specific code from plagiarism/turnitin/lib.php
+defined('MOODLE_INTERNAL') || die();
+
+// TODO: Split out all module specific code from plagiarism/turnitin/lib.php.
class turnitin_workshop {
- private $modname;
- public $grades_table;
- public $filecomponent;
+ private $modname;
+ public $gradestable;
+ public $filecomponent;
- public function __construct() {
- $this->modname = 'workshop';
- $this->grades_table = 'grade_grades';
- $this->filecomponent = 'mod_'.$this->modname;
- }
+ public function __construct() {
+ $this->modname = 'workshop';
+ $this->gradestable = 'grade_grades';
+ $this->filecomponent = 'mod_'.$this->modname;
+ }
- public function is_tutor($context) {
- return has_capability($this->get_tutor_capability(), $context);
- }
+ public function is_tutor($context) {
+ return has_capability($this->get_tutor_capability(), $context);
+ }
- public function get_tutor_capability() {
- return 'plagiarism/turnitin:viewfullreport';
- }
+ public function get_tutor_capability() {
+ return 'plagiarism/turnitin:viewfullreport';
+ }
- public function user_enrolled_on_course($context, $userid) {
- return has_capability('mod/'.$this->modname.':submit', $context, $userid);
- }
+ public function user_enrolled_on_course($context, $userid) {
+ return has_capability('mod/'.$this->modname.':submit', $context, $userid);
+ }
- public function get_author($itemid) {
- return ;
- }
+ public function get_author($itemid) {
+ return;
+ }
- public function set_content($linkarray, $moduleid) {
- return $linkarray["content"];
- }
+ public function set_content($linkarray, $moduleid) {
+ return $linkarray["content"];
+ }
- public function get_onlinetext($userid, $cm) {
- global $DB;
+ public function get_onlinetext($userid, $cm) {
+ global $DB;
- $submission = $DB->get_record('workshop_submissions',
- array('authorid' => $userid, 'workshopid' => $cm->instance));
+ $submission = $DB->get_record('workshop_submissions',
+ array('authorid' => $userid, 'workshopid' => $cm->instance));
- $onlinetextdata = new stdClass();
- $onlinetextdata->itemid = $submission->id;
- $onlinetextdata->onlinetext = $submission->content;
- $onlinetextdata->onlineformat = $moodletextsubmission->contentformat;
+ $onlinetextdata = new stdClass();
+ $onlinetextdata->itemid = $submission->id;
+ $onlinetextdata->onlinetext = $submission->content;
+ $onlinetextdata->onlineformat = $submission->contentformat;
- return $onlinetextdata;
- }
+ return $onlinetextdata;
+ }
- public function create_file_event($params) {
- return \mod_workshop\event\assessable_uploaded::create($params);
- }
+ public function create_file_event($params) {
+ return \mod_workshop\event\assessable_uploaded::create($params);
+ }
- public function create_text_event($params) {
- return \mod_workshop\event\assessable_uploaded::create($params);
- }
+ public function create_text_event($params) {
+ return \mod_workshop\event\assessable_uploaded::create($params);
+ }
- public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
- global $DB;
+ public function get_current_gradequery($userid, $moduleid, $itemid = 0) {
+ global $DB;
- $currentgradequery = $DB->get_record('grade_grades', array('userid' => $userid, 'itemid' => $itemid));
+ $currentgradequery = $DB->get_record('grade_grades', array('userid' => $userid, 'itemid' => $itemid));
return $currentgradequery;
- }
+ }
- public function initialise_post_date($moduledata) {
- return $moduledata->assessmentend;
- }
+ public function initialise_post_date($moduledata) {
+ return $moduledata->assessmentend;
+ }
}
\ No newline at end of file
diff --git a/classes/observer.php b/classes/observer.php
new file mode 100644
index 00000000..46ef171d
--- /dev/null
+++ b/classes/observer.php
@@ -0,0 +1,133 @@
+.
+
+if (!defined('MOODLE_INTERNAL')) {
+ die('Direct access to this script is forbidden.'); // It must be included from a Moodle page.
+}
+
+require_once($CFG->dirroot.'/plagiarism/turnitin/lib.php');
+
+class plagiarism_turnitin_observer {
+ /**
+ * Handle the course_module_deleted event.
+ * @param \core\event\course_module_deleted $event
+ */
+ public static function course_module_deleted(
+ \core\event\course_module_deleted $event) {
+ global $DB;
+ $eventdata = $event->get_data();
+
+ $DB->delete_records('plagiarism_turnitin_files', array('cm' => $eventdata['contextinstanceid']));
+ $DB->delete_records('plagiarism_turnitin_config', array('cm' => $eventdata['contextinstanceid']));
+ }
+
+ /**
+ * Handle the course_module_deleted event.
+ * @param \core\event\course_module_deleted $event
+ */
+ public static function course_reset(
+ \core\event\course_reset_ended $event) {
+ $eventdata = $event->get_data();
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->course_reset($eventdata);
+ }
+
+
+ /**
+ * Handle the assignment assessable_uploaded event.
+ * @param \assignsubmission_file\event\assessable_uploaded $event
+ */
+ public static function assignsubmission_file_uploaded(
+ \assignsubmission_file\event\assessable_uploaded $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'file_uploaded';
+ $eventdata['other']['modulename'] = 'assign';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+
+ /**
+ * Handle the forum assessable_uploaded event.
+ * @param \mod_forum\event\assessable_uploaded $event
+ */
+ public static function forum_file_uploaded(
+ \mod_forum\event\assessable_uploaded $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'assessable_submitted';
+ $eventdata['other']['modulename'] = 'forum';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+
+ /**
+ * Handle the workshop assessable_uploaded event.
+ * @param \mod_workshop\event\assessable_uploaded $event
+ */
+ public static function workshop_file_uploaded(
+ \mod_workshop\event\assessable_uploaded $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'assessable_submitted';
+ $eventdata['other']['modulename'] = 'workshop';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+
+ /**
+ * Handle the assignment assessable_uploaded event.
+ * @param \assignsubmission_onlinetext\event\assessable_uploaded $event
+ */
+ public static function assignsubmission_onlinetext_uploaded(
+ \assignsubmission_onlinetext\event\assessable_uploaded $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'content_uploaded';
+ $eventdata['other']['modulename'] = 'assign';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+
+ /**
+ * Handle the assignment assessable_submitted event.
+ * @param \mod_assign\event\assessable_submitted $event
+ */
+ public static function coursework_submitted(
+ \mod_coursework\event\assessable_uploaded $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'assessable_submitted';
+ $eventdata['other']['modulename'] = 'coursework';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+
+ /**
+ * Handle the assignment assessable_submitted event.
+ * @param \mod_assign\event\assessable_submitted $event
+ */
+ public static function assignsubmission_submitted(
+ \mod_assign\event\assessable_submitted $event) {
+ $eventdata = $event->get_data();
+ $eventdata['eventtype'] = 'assessable_submitted';
+ $eventdata['other']['modulename'] = 'assign';
+
+ $plugin = new plagiarism_plugin_turnitin();
+ $plugin->event_handler($eventdata);
+ }
+}
\ No newline at end of file
diff --git a/classes/task/plagiarism_turnitin_task.php b/classes/task/plagiarism_turnitin_task.php
deleted file mode 100644
index bdea43be..00000000
--- a/classes/task/plagiarism_turnitin_task.php
+++ /dev/null
@@ -1,30 +0,0 @@
-dirroot.'/plagiarism/turnitin/lib.php');
- $PLAGIARISM_TURNITIN_TASKCALL = true;
- plagiarism_turnitin_cron();
- }
-}
\ No newline at end of file
diff --git a/classes/task/send_submissions.php b/classes/task/send_submissions.php
new file mode 100644
index 00000000..c3da93d7
--- /dev/null
+++ b/classes/task/send_submissions.php
@@ -0,0 +1,44 @@
+.
+
+/**
+ * Send queued submissions to Turnitin.
+ *
+ * @package plagiarism_turnitin
+ * @author John McGettrick http://www.turnitin.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace plagiarism_turnitin\task;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Send queued submissions to Turnitin.
+ */
+class send_submissions extends \core\task\scheduled_task {
+
+ public function get_name() {
+ return get_string('sendqueuedsubmissions', 'plagiarism_turnitin');
+ }
+
+ public function execute() {
+ global $CFG;
+
+ require_once($CFG->dirroot.'/plagiarism/turnitin/lib.php');
+ plagiarism_turnitin_send_queued_submissions();
+ }
+}
\ No newline at end of file
diff --git a/classes/task/update_reports.php b/classes/task/update_reports.php
new file mode 100644
index 00000000..3d01c83e
--- /dev/null
+++ b/classes/task/update_reports.php
@@ -0,0 +1,46 @@
+.
+
+/**
+ * Update report Scores from Turnitin.
+ *
+ * @package plagiarism_turnitin
+ * @author John McGettrick http://www.turnitin.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace plagiarism_turnitin\task;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Update report Scores from Turnitin.
+ */
+class update_reports extends \core\task\scheduled_task {
+
+ public function get_name() {
+ return get_string('updatereportscores', 'plagiarism_turnitin');
+ }
+
+ public function execute() {
+ global $CFG, $pptaskcall;
+
+ // Call plagiarism turnitin cron function to update report scores.
+ require_once($CFG->dirroot.'/plagiarism/turnitin/lib.php');
+ $pptaskcall = true;
+ plagiarism_turnitin_update_reports();
+ }
+}
\ No newline at end of file
diff --git a/classes/turnitin_class.class.php b/classes/turnitin_class.class.php
index 377f8437..d31c2f68 100644
--- a/classes/turnitin_class.class.php
+++ b/classes/turnitin_class.class.php
@@ -19,6 +19,8 @@
* @copyright 2012 iParadigms LLC *
*/
+defined('MOODLE_INTERNAL') || die();
+
require_once(__DIR__.'/turnitin_comms.class.php');
class turnitin_class {
@@ -30,15 +32,15 @@ class turnitin_class {
public $sharedrubrics;
public function __construct($id) {
- global $DB;
+ global $DB;
- $this->id = $id;
+ $this->id = $id;
- if ($turnitincourse = $DB->get_record('turnitintooltwo_courses',
+ if ($turnitincourse = $DB->get_record('turnitintooltwo_courses',
array("courseid" => $id, "course_type" => "PP"))) {
- $this->turnitinid = $turnitincourse->turnitin_cid;
+ $this->turnitinid = $turnitincourse->turnitin_cid;
$this->turnitintitle = $turnitincourse->turnitin_ctl;
- }
+ }
}
/**
@@ -47,21 +49,22 @@ public function __construct($id) {
* @return
*/
public function read_class_from_tii() {
- // Initialise Comms Object.
+ // Initialise Comms Object.
$turnitincomms = new turnitin_comms();
$turnitincall = $turnitincomms->initialise_api();
$tiiclass = new TiiClass();
try {
- $tiiclass->setClassId($this->turnitinid);
+ $tiiclass->setClassId($this->turnitinid);
$response = $turnitincall->readClass($tiiclass);
$readclass = $response->getClass();
$rubrics = $readclass->getSharedRubrics();
- $rubricarray = array();
- foreach ($rubrics as $rubric) {
- $rubricarray[$rubric->getRubricId()] = $rubric->getRubricName()." [".get_string('sharedrubric', 'plagiarism_turnitin')."]";
+ $rubricarray = array();
+ foreach ($rubrics as $rubric) {
+ $rubricarray[$rubric->getRubricId()] = $rubric->getRubricName()."
+ [".get_string('sharedrubric', 'plagiarism_turnitin')."]";
}
$this->sharedrubrics = $rubricarray;
@@ -70,4 +73,4 @@ public function read_class_from_tii() {
$turnitincomms->handle_exceptions($e, 'coursegeterror', false);
}
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/classes/turnitin_comms.class.php b/classes/turnitin_comms.class.php
index 5f93fb85..ff8b38fc 100644
--- a/classes/turnitin_comms.class.php
+++ b/classes/turnitin_comms.class.php
@@ -19,8 +19,11 @@
* and open the template in the editor.
*/
-// We can't currently use the sdk classes as the class is already declared from mod/turnitintooltwo.
-// require_once(__DIR__.'/../sdk/api.class.php');
+defined('MOODLE_INTERNAL') || die();
+
+/* We can't currently use the sdk classes as the class is already declared from mod/turnitintooltwo.
+ * require_once(__DIR__.'/../sdk/api.class.php');
+ */
require_once($CFG->dirroot.'/mod/turnitintooltwo/turnitintooltwo_perflog.class.php');
class turnitin_comms {
@@ -65,7 +68,7 @@ public function initialise_api( $istestingconnection = false ) {
$api->setLogPath($CFG->tempdir.'/turnitintooltwo/logs/');
}
- // Use Moodle's proxy settings if specified
+ // Use Moodle's proxy settings if specified.
if (!empty($CFG->proxyhost)) {
$api->setProxyHost($CFG->proxyhost);
}
@@ -98,7 +101,7 @@ public function initialise_api( $istestingconnection = false ) {
$api->setSSLCertificate($certificate);
}
- // Offline mode provided by Androgogic
+ // Offline mode provided by Androgogic.
if (!empty($CFG->tiioffline) && !$istestingconnection && empty($tiipp->in_use)) {
turnitintooltwo_print_error('turnitintoolofflineerror', 'plagiarism_turnitin');
}
diff --git a/classes/turnitin_submission.class.php b/classes/turnitin_submission.class.php
index 3a360cda..ec11e51a 100644
--- a/classes/turnitin_submission.class.php
+++ b/classes/turnitin_submission.class.php
@@ -19,177 +19,181 @@
* @copyright 2012 iParadigms LLC *
*/
+if (!defined('MOODLE_INTERNAL')) {
+ die('Direct access to this script is forbidden.'); // It must be included from a Moodle page.
+}
+
class turnitin_submission {
- private $id;
- private $data;
- private $submissiondata;
- private $cm;
+ private $id;
+ private $data;
+ private $submissiondata;
+ private $cm;
- public function __construct($id, $data = array()) {
- global $DB;
+ public function __construct($id, $data = array()) {
+ global $DB;
- $this->id = $id;
- $this->data = $data;
- $this->submissiondata = $DB->get_record('plagiarism_turnitin_files', array('id' => $id));
- $this->cm = get_coursemodule_from_id('', $this->submissiondata->cm);
- }
+ $this->id = $id;
+ $this->data = $data;
+ $this->submissiondata = $DB->get_record('plagiarism_turnitin_files', array('id' => $id));
+ $this->cm = get_coursemodule_from_id('', $this->submissiondata->cm);
+ }
- /**
- * Get all relevant submission data to requeue submission for the cron to process.
- */
- public function recreate_submission_event() {
- global $DB, $CFG;
+ /**
+ * Get all relevant submission data to requeue submission for the cron to process.
+ */
+ public function recreate_submission_event() {
+ global $DB, $CFG;
- // Create module object.
+ // Create module object.
$moduleclass = "turnitin_".$this->cm->modname;
$moduleobject = new $moduleclass;
// Some data depends on submission type.
- switch ($this->submissiondata->submissiontype) {
- case 'file':
- $file = $this->get_file_info();
-
- // Collate data and trigger new event for the cron to process.
- if ($CFG->branch >= 26) {
- $params = array(
- 'context' => context_module::instance($this->cm->id),
- 'courseid' => $this->cm->course,
- 'objectid' => $file->get_itemid(),
- 'userid' => $this->submissiondata->userid,
- 'other' => array(
- 'content' => '',
- 'pathnamehashes' => array($this->submissiondata->identifier)
- )
- );
- // Forum attachments need the discussion id to be set.
- if ($this->cm->modname == "forum") {
- $discussionid = $moduleobject->get_discussionid($this->data['forumdata']);
- $params['other']['discussionid'] = $discussionid;
- $params['other']['triggeredfrom'] = 'turnitin_recreate_submission_event';
- }
-
- $event = $moduleobject->create_file_event($params);
- if ($this->cm->modname != "forum") {
- $event->set_legacy_files(array($this->submissiondata->identifier => $file));
- }
- $event->trigger();
- } else {
- $eventdata = new stdClass();
- $eventdata->modulename = $this->cm->modname;
- $eventdata->cmid = $this->cm->id;
- $eventdata->courseid = $this->cm->course;
- $eventdata->itemid = $file->get_itemid();
- $eventdata->userid = $this->submissiondata->userid;
- $eventdata->pathnamehashes = array($this->submissiondata->identifier);
-
- events_trigger('assessable_file_uploaded', $eventdata);
- }
- break;
-
- case 'text_content':
- // Get the actual text content.
- $onlinetextdata = $moduleobject->get_onlinetext($this->submissiondata->userid, $this->cm);
-
- // Collate data and trigger new event for the cron to process.
- if ($CFG->branch >= 26) {
- $params = array(
- 'context' => context_module::instance($this->cm->id),
- 'courseid' => $this->cm->course,
- 'objectid' => $onlinetextdata->itemid,
- 'userid' => $this->submissiondata->userid,
- 'other' => array(
- 'pathnamehashes' => array(),
- 'content' => trim($onlinetextdata->onlinetext),
- 'format' => $onlinetextdata->onlineformat
- )
- );
-
- $event = $moduleobject->create_text_event($params, $this->cm);
- $event->trigger();
- } else {
- $eventdata = new stdClass();
- $eventdata->modulename = $this->cm->modname;
- $eventdata->cmid = $this->cm->id;
- $eventdata->courseid = $this->cm->course;
- $eventdata->itemid = $onlinetextdata->itemid;
- $eventdata->userid = $this->submissiondata->userid;
- $eventdata->content = trim($onlinetextdata->onlinetext);
-
- events_trigger('assessable_content_uploaded', $eventdata);
- }
- break;
-
- case 'forum_post':
- $discussionid = $moduleobject->get_discussionid($this->data['forumdata']);
-
- $forum = $DB->get_record("forum", array("id" => $this->cm->instance));
-
- // Some forum types don't pass in certain values on main forum page.
- if ((empty($discussionid) || $querystrid != 0) && ($forum->type == 'blog' || $forum->type == 'single')) {
- $discussion = $DB->get_record_sql('SELECT FD.id
- FROM {forum_posts} FP JOIN {forum_discussions} FD
- ON FP.discussion = FD.id
- WHERE FD.forum = ? AND FD.course = ?
- AND FP.userid = ? AND FP.message LIKE ? ',
- array($forum->id, $forum->course,
- $this->submissiondata->userid, $this->data['forumpost'])
- );
- $discussionid = $discussion->id;
- }
-
- $submission = $DB->get_record_select('forum_posts',
- " userid = ? AND message LIKE ? AND discussion = ? ",
- array($this->submissiondata->userid, $this->data['forumpost'], $discussionid));
-
- // Collate data and trigger new event for the cron to process.
- if ($CFG->branch >= 26) {
- $params = array(
- 'context' => context_module::instance($this->cm->id),
- 'courseid' => $this->cm->course,
- 'objectid' => $submission->id,
- 'userid' => $this->submissiondata->userid,
- 'other' => array(
- 'pathnamehashes' => '',
- 'content' => trim($this->data['forumpost']),
- 'discussionid' => $discussionid,
- 'triggeredfrom' => 'turnitin_recreate_submission_event'
- )
- );
- $event = \mod_forum\event\assessable_uploaded::create($params);
- $event->trigger();
- } else {
- $eventdata = new stdClass();
- $eventdata->modulename = $this->cm->modname;
- $eventdata->cmid = $this->cm->id;
- $eventdata->courseid = $this->cm->course;
- $eventdata->itemid = $submission->id;
- $eventdata->userid = $this->submissiondata->userid;
- $eventdata->content = trim($this->data['forumpost']);
-
- events_trigger('assessable_content_uploaded', $eventdata);
- }
- break;
- }
+ switch ($this->submissiondata->submissiontype) {
+ case 'file':
+ $file = $this->get_file_info();
+
+ // Collate data and trigger new event for the cron to process.
+ if ($CFG->branch >= 26) {
+ $params = array(
+ 'context' => context_module::instance($this->cm->id),
+ 'courseid' => $this->cm->course,
+ 'objectid' => $file->get_itemid(),
+ 'userid' => $this->submissiondata->userid,
+ 'other' => array(
+ 'content' => '',
+ 'pathnamehashes' => array($this->submissiondata->identifier)
+ )
+ );
+ // Forum attachments need the discussion id to be set.
+ if ($this->cm->modname == "forum") {
+ $discussionid = $moduleobject->get_discussionid($this->data['forumdata']);
+ $params['other']['discussionid'] = $discussionid;
+ $params['other']['triggeredfrom'] = 'turnitin_recreate_submission_event';
+ }
+
+ $event = $moduleobject->create_file_event($params);
+ if ($this->cm->modname != "forum") {
+ $event->set_legacy_files(array($this->submissiondata->identifier => $file));
+ }
+ $event->trigger();
+ } else {
+ $eventdata = new stdClass();
+ $eventdata->modulename = $this->cm->modname;
+ $eventdata->cmid = $this->cm->id;
+ $eventdata->courseid = $this->cm->course;
+ $eventdata->itemid = $file->get_itemid();
+ $eventdata->userid = $this->submissiondata->userid;
+ $eventdata->pathnamehashes = array($this->submissiondata->identifier);
+
+ events_trigger('assessable_file_uploaded', $eventdata);
+ }
+ break;
+
+ case 'text_content':
+ // Get the actual text content.
+ $onlinetextdata = $moduleobject->get_onlinetext($this->submissiondata->userid, $this->cm);
+
+ // Collate data and trigger new event for the cron to process.
+ if ($CFG->branch >= 26) {
+ $params = array(
+ 'context' => context_module::instance($this->cm->id),
+ 'courseid' => $this->cm->course,
+ 'objectid' => $onlinetextdata->itemid,
+ 'userid' => $this->submissiondata->userid,
+ 'other' => array(
+ 'pathnamehashes' => array(),
+ 'content' => trim($onlinetextdata->onlinetext),
+ 'format' => $onlinetextdata->onlineformat
+ )
+ );
+
+ $event = $moduleobject->create_text_event($params, $this->cm);
+ $event->trigger();
+ } else {
+ $eventdata = new stdClass();
+ $eventdata->modulename = $this->cm->modname;
+ $eventdata->cmid = $this->cm->id;
+ $eventdata->courseid = $this->cm->course;
+ $eventdata->itemid = $onlinetextdata->itemid;
+ $eventdata->userid = $this->submissiondata->userid;
+ $eventdata->content = trim($onlinetextdata->onlinetext);
+
+ events_trigger('assessable_content_uploaded', $eventdata);
+ }
+ break;
+
+ case 'forum_post':
+ $discussionid = $moduleobject->get_discussionid($this->data['forumdata']);
+
+ $forum = $DB->get_record("forum", array("id" => $this->cm->instance));
+
+ // Some forum types don't pass in certain values on main forum page.
+ if ((empty($discussionid) || $querystrid != 0) && ($forum->type == 'blog' || $forum->type == 'single')) {
+ $discussion = $DB->get_record_sql('SELECT FD.id
+ FROM {forum_posts} FP JOIN {forum_discussions} FD
+ ON FP.discussion = FD.id
+ WHERE FD.forum = ? AND FD.course = ?
+ AND FP.userid = ? AND FP.message LIKE ? ',
+ array($forum->id, $forum->course,
+ $this->submissiondata->userid, $this->data['forumpost'])
+ );
+ $discussionid = $discussion->id;
+ }
+
+ $submission = $DB->get_record_select('forum_posts',
+ " userid = ? AND message LIKE ? AND discussion = ? ",
+ array($this->submissiondata->userid, $this->data['forumpost'], $discussionid));
+
+ // Collate data and trigger new event for the cron to process.
+ if ($CFG->branch >= 26) {
+ $params = array(
+ 'context' => context_module::instance($this->cm->id),
+ 'courseid' => $this->cm->course,
+ 'objectid' => $submission->id,
+ 'userid' => $this->submissiondata->userid,
+ 'other' => array(
+ 'pathnamehashes' => '',
+ 'content' => trim($this->data['forumpost']),
+ 'discussionid' => $discussionid,
+ 'triggeredfrom' => 'turnitin_recreate_submission_event'
+ )
+ );
+ $event = \mod_forum\event\assessable_uploaded::create($params);
+ $event->trigger();
+ } else {
+ $eventdata = new stdClass();
+ $eventdata->modulename = $this->cm->modname;
+ $eventdata->cmid = $this->cm->id;
+ $eventdata->courseid = $this->cm->course;
+ $eventdata->itemid = $submission->id;
+ $eventdata->userid = $this->submissiondata->userid;
+ $eventdata->content = trim($this->data['forumpost']);
+
+ events_trigger('assessable_content_uploaded', $eventdata);
+ }
+ break;
+ }
$submissiondata = new stdClass();
$submissiondata->id = $this->id;
- $submissiondata->statuscode = 'pending';
+ $submissiondata->statuscode = 'queued';
return $DB->update_record('plagiarism_turnitin_files', $submissiondata);
- }
+ }
- /**
- * Get the file information from Moodle. We really specifically only need the itemid.
- */
- public function get_file_info() {
- global $DB;
- $fs = get_file_storage();
+ /**
+ * Get the file information from Moodle. We really specifically only need the itemid.
+ */
+ public function get_file_info() {
+ global $DB;
+ $fs = get_file_storage();
- if (!$file = $fs->get_file_by_hash($this->submissiondata->identifier)) {
- return false;
- }
+ if (!$file = $fs->get_file_by_hash($this->submissiondata->identifier)) {
+ return false;
+ }
- return $file;
- }
+ return $file;
+ }
}
\ No newline at end of file
diff --git a/db/access.php b/db/access.php
index 0808fb6a..b8df2c24 100644
--- a/db/access.php
+++ b/db/access.php
@@ -14,6 +14,13 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
$capabilities = array(
'plagiarism/turnitin:enable' => array(
'captype' => 'write',
diff --git a/db/events.php b/db/events.php
index 3e9eccdc..030182ba 100644
--- a/db/events.php
+++ b/db/events.php
@@ -14,48 +14,45 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-$handlers = array(
- 'assessable_file_uploaded' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_file_uploaded',
- 'schedule' => 'cron'
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$observers = array (
+ array(
+ 'eventname' => '\assignsubmission_file\event\assessable_uploaded',
+ 'callback' => 'plagiarism_turnitin_observer::assignsubmission_file_uploaded'
),
- 'assessable_files_done' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_files_done',
- 'schedule' => 'cron'
+ array(
+ 'eventname' => '\assignsubmission_onlinetext\event\assessable_uploaded',
+ 'callback' => 'plagiarism_turnitin_observer::assignsubmission_onlinetext_uploaded'
+ ),
+ array(
+ 'eventname' => '\mod_workshop\event\assessable_uploaded',
+ 'callback' => 'plagiarism_turnitin_observer::workshop_file_uploaded'
),
- 'assessable_content_uploaded' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_content_uploaded',
- 'schedule' => 'cron'
+ array(
+ 'eventname' => '\mod_forum\event\assessable_uploaded',
+ 'callback' => 'plagiarism_turnitin_observer::forum_file_uploaded'
),
- 'assessable_submitted' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_assessable_submitted',
- 'schedule' => 'cron'
+ array(
+ 'eventname' => '\mod_assign\event\assessable_submitted',
+ 'callback' => 'plagiarism_turnitin_observer::assignsubmission_submitted'
),
- 'mod_created' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_mod_created',
- 'schedule' => 'cron'
+ array(
+ 'eventname' => '\mod_coursework\event\assessable_uploaded',
+ 'callback' => 'plagiarism_turnitin_observer::coursework_submitted'
),
- 'mod_updated' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_mod_updated',
- 'schedule' => 'cron'
+ array(
+ 'eventname' => '\core\event\course_module_deleted',
+ 'callback' => 'plagiarism_turnitin_observer::course_module_deleted'
),
- 'mod_deleted' => array(
- 'handlerfile' => '/plagiarism/turnitin/lib.php',
- 'handlerfunction' => 'plagiarism_turnitin_event_mod_deleted',
- 'schedule' => 'cron'
- )
-);
-
-$observers = array(
array(
- 'eventname' => '\core\event\course_reset_ended',
- 'callback' => 'plagiarism_plugin_turnitin::course_reset',
- 'includefile' => '/plagiarism/turnitin/lib.php'
+ 'eventname' => '\core\event\course_reset_ended',
+ 'callback' => 'plagiarism_plugin_turnitin::course_reset',
+ 'includefile' => 'plagiarism/turnitin/lib.php'
)
);
\ No newline at end of file
diff --git a/db/install.xml b/db/install.xml
index 03a2f610..1c9a785a 100644
--- a/db/install.xml
+++ b/db/install.xml
@@ -9,16 +9,14 @@
-
+
-
-
-
+
+
+
-
-
-
-
+
+
diff --git a/db/messages.php b/db/messages.php
index c9005219..a8e2a217 100644
--- a/db/messages.php
+++ b/db/messages.php
@@ -1,14 +1,29 @@
.
+
/**
* @package plagiarismplugin
* @copyright 2010 iParadigms LLC
*/
+defined('MOODLE_INTERNAL') || die();
+
defined('MOODLE_INTERNAL') || die();
$messageproviders = array (
// Notify student with their digital receipt.
'submission' => array (
)
);
-
-?>
\ No newline at end of file
diff --git a/db/tasks.php b/db/tasks.php
index 8287fce0..8c71b76d 100644
--- a/db/tasks.php
+++ b/db/tasks.php
@@ -14,18 +14,34 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
/**
* @package plagiarism_turnitin
*/
+defined('MOODLE_INTERNAL') || die();
+
$tasks = array(
array(
- 'classname' => 'plagiarism_turnitin\task\plagiarism_turnitin_task',
+ 'classname' => 'plagiarism_turnitin\task\update_reports',
+ 'blocking' => 0,
+ 'minute' => '*/5',
+ 'hour' => '*',
+ 'day' => '*',
+ 'dayofweek' => '*',
+ 'month' => '*'
+ ),
+ array(
+ 'classname' => 'plagiarism_turnitin\task\send_submissions',
'blocking' => 0,
'minute' => '*/5',
'hour' => '*',
'day' => '*',
'dayofweek' => '*',
'month' => '*'
- )
+ ),
);
\ No newline at end of file
diff --git a/db/upgrade.php b/db/upgrade.php
index f603bebb..c87cfd36 100644
--- a/db/upgrade.php
+++ b/db/upgrade.php
@@ -14,8 +14,12 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-// This file keeps track of upgrades to
-// the plagiarism Turnitin module
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+defined('MOODLE_INTERNAL') || die();
/**
* @global moodle_database $DB
@@ -74,8 +78,8 @@ function xmldb_plagiarism_turnitin_upgrade($oldversion) {
if ($oldversion < 2014012405) {
if ($turnitinsetting = $DB->get_record('config_plugins', array('name' => 'turnitin_use', 'plugin' => 'plagiarism'))) {
if ($turnitinsetting->value == 1) {
- $supported_mods = array('assign', 'forum', 'workshop');
- foreach ($supported_mods as $mod) {
+ $supportedmods = array('assign', 'forum', 'workshop');
+ foreach ($supportedmods as $mod) {
$configfield = new stdClass();
$configfield->value = 1;
$configfield->plugin = 'plagiarism';
@@ -104,7 +108,7 @@ function xmldb_plagiarism_turnitin_upgrade($oldversion) {
}
if ($oldversion < 2014012413) {
- // Add new indexes to tables
+ // Add new indexes to tables.
$table = new xmldb_table('plagiarism_turnitin_files');
$index = new xmldb_index('externalid', XMLDB_INDEX_NOTUNIQUE, array('externalid'));
if (!$dbman->index_exists($table, $index)) {
@@ -211,6 +215,49 @@ function xmldb_plagiarism_turnitin_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2016011105, 'plagiarism', 'turnitin');
}
+ if ($oldversion < 2016091402) {
+ $table = new xmldb_table('plagiarism_turnitin_files');
+ // Remove fields no longer needed.
+ $field1 = new xmldb_field('externalstatus');
+ $field2 = new xmldb_field('apimd5');
+ $field3 = new xmldb_field('legacyteacher');
+ if ($dbman->field_exists($table, $field1)) {
+ $dbman->drop_field($table, $field1);
+ }
+ if ($dbman->field_exists($table, $field2)) {
+ $dbman->drop_field($table, $field2);
+ }
+ if ($dbman->field_exists($table, $field3)) {
+ $dbman->drop_field($table, $field3);
+ }
+
+ // Add new itemid field.
+ $field = new xmldb_field('itemid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, null, 'externalid');
+ if (!$dbman->field_exists($table, $field)) {
+ $dbman->add_field($table, $field);
+ }
+ }
+
+ if ($oldversion < 2017011801) {
+ $table = new xmldb_table('plagiarism_turnitin_files');
+
+ // Due to an inconsistency with install and upgrade scripts, some users will
+ // have submitter and student_read defaulting to 0 and not allowing null.
+ // Alter submitter to allow null values.
+ $field = new xmldb_field('submitter', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, null, 'userid');
+ $dbman->change_field_notnull($table, $field);
+ // Alter student_read to allow null values.
+ $field = new xmldb_field('student_read', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, null, 'errormsg');
+ $dbman->change_field_notnull($table, $field);
+
+ // Update fields to NULL as per default if necessary.
+ $DB->set_field('plagiarism_turnitin_files', 'submitter', null, array('submitter' => 0));
+ $DB->set_field('plagiarism_turnitin_files', 'student_read', null, array('student_read' => 0));
+
+ // Remove old PP event from the database if it exists.
+ $DB->delete_records('task_scheduled', array('component' => 'plagiarism_turnitin', 'classname' => '\plagiarism_turnitin\task\plagiarism_turnitin_task'));
+ }
+
return $result;
}
@@ -218,11 +265,14 @@ function upgrade_dm_successful_uploads() {
global $DB, $CFG;
// Update successful submissions from Dan Marsden's plugin with incorrect statuscode.
- $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET statuscode = 'success', lastmodified = ".time()." WHERE statuscode = '51'");
+ $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET statuscode = 'success',
+ lastmodified = ".time()." WHERE statuscode = '51'");
// Update the lastmodified timestamp from all successful submissions from Dan Marsden's plugin.
- $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET lastmodified = ".time()." WHERE statuscode = 'success' AND lastmodified = 0");
+ $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET lastmodified = ".time()."
+ WHERE statuscode = 'success' AND lastmodified = 0");
// Update error codes with submissions from Dan Marsden's plugin.
- $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET statuscode = 'error' WHERE statuscode != 'success' AND statuscode != 'pending'");
+ $DB->execute("UPDATE ".$CFG->prefix."plagiarism_turnitin_files SET statuscode = 'error'
+ WHERE statuscode != 'success' AND statuscode != 'pending'");
}
diff --git a/extras.php b/extras.php
index 005ef764..d1d98b70 100644
--- a/extras.php
+++ b/extras.php
@@ -53,7 +53,7 @@
$user = new turnitintooltwo_user($USER->id, "Learner");
$output .= $OUTPUT->box_start('tii_eula_launch');
- $output .= turnitintooltwo_view::output_dv_launch_form("useragreement", 0, $user->tii_user_id, "Learner", '');
+ $output .= turnitintooltwo_view::output_dv_launch_form("useragreement", 0, $user->tiiuserid, "Learner", '');
$output .= $OUTPUT->box_end(true);
echo $output;
@@ -61,7 +61,7 @@
window.document.forms[0].submit();
//-->");
exit;
- break;
+ break;
}
// Build page.
diff --git a/jquery/plugins.php b/jquery/plugins.php
index fbf8dc88..29ed10fe 100644
--- a/jquery/plugins.php
+++ b/jquery/plugins.php
@@ -8,13 +8,20 @@
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
-// along with Moodle. If not, see .
+// along with Moodle. If not, see .
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+defined('MOODLE_INTERNAL') || die();
$plugins = array(
- 'plagiarism-turnitin_module' => array('files' => array('turnitin_module.js')),
- 'plagiarism-turnitin_settings' => array('files' => array('turnitin_settings.js'))
+ 'plagiarism-turnitin_module' => array('files' => array('turnitin_module.js')),
+ 'plagiarism-turnitin_settings' => array('files' => array('turnitin_settings.js'))
);
\ No newline at end of file
diff --git a/jquery/turnitin_module.js b/jquery/turnitin_module.js
index e3e6b54c..eabcbca8 100644
--- a/jquery/turnitin_module.js
+++ b/jquery/turnitin_module.js
@@ -16,9 +16,9 @@ jQuery(document).ready(function($) {
if (classList[i].indexOf('origreport_') !== -1 && classList[i] != 'pp_origreport_open') {
var classStr = classList[i].split("_");
var url = "";
- // URL must be stored in separate div on forums
- if ($('.origreport_forum_launch_'+classStr[1]).length > 0) {
- url = $('.origreport_forum_launch_'+classStr[1]).html();
+ // URL must be stored in separate div on forums.
+ if ($('.origreport_forum_launch_' + classStr[1]).length > 0) {
+ url = $('.origreport_forum_launch_' + classStr[1]).html();
} else {
url = $(this).attr("id");
}
@@ -34,9 +34,9 @@ jQuery(document).ready(function($) {
if (classList[i].indexOf('grademark_') !== -1 && classList[i] != 'pp_grademark_open') {
var classStr = classList[i].split("_");
var url = "";
- // URL must be stored in separate div on forums
- if ($('.grademark_forum_launch_'+classStr[1]).length > 0) {
- url = $('.grademark_forum_launch_'+classStr[1]).html();
+ // URL must be stored in separate div on forums.
+ if ($('.grademark_forum_launch_' + classStr[1]).length > 0) {
+ url = $('.grademark_forum_launch_' + classStr[1]).html();
} else {
url = $(this).attr("id");
}
@@ -45,7 +45,7 @@ jQuery(document).ready(function($) {
}
});
- // Open an iframe light box containing the Peermark Manager
+ // Open an iframe light box containing the Peermark Manager.
if ($('.plagiarism_turnitin_peermark_manager_pp_launch').length > 0) {
$('.plagiarism_turnitin_peermark_manager_pp_launch').colorbox({
iframe:true, width:"802px", height:"772px", opacity: "0.7", className: "peermark_manager",
@@ -57,14 +57,14 @@ jQuery(document).ready(function($) {
});
}
- // Refresh submissions from settings page
+ // Refresh submissions from settings page.
$(document).on('click', '.plagiarism_turnitin_refresh_grades', function() {
$('.plagiarism_turnitin_refresh_grades').hide();
$('.plagiarism_turnitin_refreshing_grades').show();
$.ajax({
type: "POST",
- url: M.cfg.wwwroot+"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "update_grade", cmid: $('input[name="coursemodule"]').val(), sesskey: M.cfg.sesskey},
success: function(data) {
@@ -74,7 +74,7 @@ jQuery(document).ready(function($) {
});
});
- // Open an iframe light box containing the Peermark reviews
+ // Open an iframe light box containing the Peermark reviews.
$(document).on('click', '.peermark_reviews_pp_launch', function() {
$('.peermark_reviews_pp_launch').colorbox({
open:true, iframe:true, width:"802px", height:"772px", opacity: "0.7", className: "peermark_reviews",
@@ -86,7 +86,7 @@ jQuery(document).ready(function($) {
return false;
});
- // Open an iframe light box containing the Rubric View
+ // Open an iframe light box containing the Rubric View.
if ($('.rubric_view_pp_launch').length > 0) {
$('.rubric_view_pp_launch').colorbox({
iframe:true, width:"832px", height:"772px", opacity: "0.7", className: "rubric_view",
@@ -109,15 +109,15 @@ jQuery(document).ready(function($) {
var that = $(this);
var submissionid = $(this).prop('id').split("_")[2];
- var forumpost = $('#content_'+submissionid).html();
- var forumdata = $('#forumdata_'+submissionid).html();
+ var forumpost = $('#content_' + submissionid).html();
+ var forumdata = $('#forumdata_' + submissionid).html();
$.ajax({
type: "POST",
- url: M.cfg.wwwroot +"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "resubmit_event", submissionid: submissionid, forumpost: forumpost,
- forumdata: forumdata, sesskey: M.cfg.sesskey},
+ forumdata: forumdata, sesskey: M.cfg.sesskey},
success: function(data) {
that.siblings('.turnitin_status').removeClass('hidden');
that.siblings('.pp_resubmitting').addClass('hidden');
@@ -131,7 +131,7 @@ jQuery(document).ready(function($) {
return false;
});
- // Open an iframe light box containing the EULA View
+ // Open an iframe light box containing the EULA View.
if ($('.pp_turnitin_eula_link').length > 0) {
$(document).on('click', '.pp_turnitin_eula_link', function(e) {
e.preventDefault();
@@ -144,7 +144,7 @@ jQuery(document).ready(function($) {
$.ajax({
type: "POST",
- url: M.cfg.wwwroot +"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "actionuseragreement", message: message, sesskey: M.cfg.sesskey},
success: function(data) { window.location.reload(); },
@@ -175,18 +175,18 @@ jQuery(document).ready(function($) {
var img = '
';
$('#cboxOverlay').after(img);
var top = $(window).scrollTop() + ($(window).height() / 2);
- $('.loading_gif').css('top', top+'px');
+ $('.loading_gif').css('top', top + 'px');
}
function hideLoadingGif() {
$('.loading_gif').remove();
}
- // Refresh Peermark assignments stored locally for this module
+ // Refresh Peermark assignments stored locally for this module.
function refreshPPPeermarkAssignments() {
$.ajax({
type: "POST",
- url: M.cfg.wwwroot +"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "refresh_peermark_assignments", cmid: $('input[name="coursemodule"]').val(), sesskey: M.cfg.sesskey},
success: function(data) {}
@@ -197,20 +197,20 @@ jQuery(document).ready(function($) {
function openDV(dvtype, submissionid, coursemoduleid, url) {
dvWindow = window.open('', '_blank');
var loading = '';
- loading += '
';
- loading += '
'+M.str.plagiarism_turnitin.loadingdv+'
';
+ loading += '
';
+ loading += '
' + M.str.plagiarism_turnitin.loadingdv + '
';
loading += '
';
$(dvWindow.document.body).html(loading);
- // Get html to launch DV
+ // Get html to launch DV.
$.ajax({
type: "POST",
- url: M.cfg.wwwroot+"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "get_dv_html", submissionid: submissionid, dvtype: dvtype,
- cmid: coursemoduleid, sesskey: M.cfg.sesskey},
+ cmid: coursemoduleid, sesskey: M.cfg.sesskey},
success: function(data) {
- $(dvWindow.document.body).html(loading+data);
+ $(dvWindow.document.body).html(loading + data);
dvWindow.document.forms[0].submit();
dvWindow.document.close();
@@ -226,14 +226,14 @@ jQuery(document).ready(function($) {
} else {
setTimeout( function(){
checkDVClosed(submissionid, coursemoduleid);
- }, 500);
+ }, 500);
}
}
function refreshScores(submission_id, coursemoduleid) {
$.ajax({
type: "POST",
- url: M.cfg.wwwroot+"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: "update_grade", submission: submission_id, cmid: coursemoduleid, sesskey: M.cfg.sesskey},
success: function(data) {
@@ -242,11 +242,11 @@ jQuery(document).ready(function($) {
});
}
- // Update the DB value for EULA accepted
+ // Update the DB value for EULA accepted.
function userAgreementAccepted( user_id ){
$.ajax({
type: "POST",
- url: M.cfg.wwwroot +"/plagiarism/turnitin/ajax.php",
+ url: M.cfg.wwwroot + "/plagiarism/turnitin/ajax.php",
dataType: "json",
data: {action: 'acceptuseragreement', user_id: user_id},
success: function(data) {
@@ -255,7 +255,7 @@ jQuery(document).ready(function($) {
});
}
- // Open an iframe light box containing the Peermark Manager
+ // Open an iframe light box containing the Peermark Manager.
if ($('.peermark_manager_launch').length > 0) {
$('.peermark_manager_launch').colorbox({
iframe:true, width:"802px", height:"772px", opacity: "0.7", className: "peermark_manager", transition: "none",
@@ -269,12 +269,12 @@ jQuery(document).ready(function($) {
},
onClosed:function() {
var idStr = $(this).attr("id").split("_");
- refreshPeermarkAssignments(idStr[2], 1);
+ refreshPPPeermarkAssignments(idStr[2], 1);
}
});
}
- // Open an iframe light box containing the Peermark Reviews
+ // Open an iframe light box containing the Peermark Reviews.
if ($('.peermark_reviews_launch').length > 0) {
$('.tii_peermark_reviews_launch').colorbox({
iframe:true, width:"802px", height:"772px", opacity: "0.7", className: "peermark_reviews", transition: "none",
diff --git a/jquery/turnitin_settings.js b/jquery/turnitin_settings.js
index 480bee56..747b848c 100644
--- a/jquery/turnitin_settings.js
+++ b/jquery/turnitin_settings.js
@@ -1,5 +1,5 @@
jQuery(document).ready(function($) {
- $('input[name="errors_select_all"]').click(function() {
+ $('input[name="errors_select_all"]').click(function() {
if ($(this).prop('checked')) {
$('.errors_checkbox').prop('checked', true);
} else {
@@ -7,27 +7,27 @@ jQuery(document).ready(function($) {
}
});
- $(".pp-resubmit-files").click(function() {
- var submission_ids = [];
+ $(".pp-resubmit-files").click(function() {
+ var submission_ids = [];
$('.errors_checkbox:checked').each(function(i){
submission_ids[i] = $(this).val();
});
- $.ajax({
- type: "POST",
+ $.ajax({
+ type: "POST",
url: "ajax.php",
dataType: "json",
data: {action: "resubmit_events", submission_ids: submission_ids, sesskey: M.cfg.sesskey},
success: function(data) {
- window.location.href = window.location.href+"&resubmitted=success";
+ window.location.href = window.location.href + "&resubmitted=success";
},
error: function(data, response) {
- window.location.href = window.location.href+"&resubmitted=errors";
+ window.location.href = window.location.href + "&resubmitted=errors";
}
});
- })
+ })
- //Disable/enable resubmit selected files when one or more are selected.
+ // Disable/enable resubmit selected files when one or more are selected.
$(document).on('click', '.errors_checkbox, input[name="errors_select_all"]', function() {
if ($('.errors_checkbox:checked').length > 0) {
$('.pp-resubmit-files').removeAttr('disabled');
diff --git a/lang/ar/plagiarism_turnitin.php b/lang/ar/plagiarism_turnitin.php
new file mode 100755
index 00000000..b86848c2
--- /dev/null
+++ b/lang/ar/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'المكون الإضافي الخاص بسرقة محتوى Turnitin';
+$string['turnitintooltwo'] = 'أداة Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'وظيفة المكون الإضافي الخاص بسرقة محتوى Turnitin';
+$string['connecttesterror'] = 'حدث خطأ أثناء الاتصال بـ Turnitin وهذه رسالة الخطأ:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'تمكين Turnitin';
+$string['excludebiblio'] = 'استثناء المراجع';
+$string['excludequoted'] = 'استثناء نصوص الاقتباسات';
+$string['excludevalue'] = 'استبعاد التطابقات الصغيرة';
+$string['excludewords'] = 'كلمات';
+$string['excludepercent'] = 'النسبة المئوية';
+$string['norubric'] = 'لا توجد معايير قياسية';
+$string['otherrubric'] = 'إستخدام المعيار القياسي العائد لمدربين أخرين';
+$string['attachrubric'] = 'إلحاق باب أجوبة قياسية لهذه المهمة';
+$string['launchrubricmanager'] = 'أطلق معالج الأجوبة القياسية';
+$string['attachrubricnote'] = 'ملاحظة: سيكون بمقدور الطلاب مشاهدة المعايير القياسية الملحقة و محتوياتها قبل القيام بالتسليم.';
+$string['erater_handbook_advanced'] = 'متقدم';
+$string['erater_handbook_highschool'] = 'المدرسة الاعداية';
+$string['erater_handbook_middleschool'] = 'المدرسة المتوسطة';
+$string['erater_handbook_elementary'] = 'المدرسة الابتدائية';
+$string['erater_handbook_learners'] = 'المتعلمين الانكليز';
+$string['erater_dictionary_enus'] = 'القواميس الانكليزية الامريكية';
+$string['erater_dictionary_engb'] = 'القواميس الانكليزية البريطانية';
+$string['erater_dictionary_en'] = 'كلا من القواميس الانكليزية الامريكية والبريطانية';
+$string['erater'] = 'تفعيل الفحص النحوي e-rater';
+$string['erater_handbook'] = 'ETS© Handbook';
+$string['erater_dictionary'] = 'قاموس e-rater';
+$string['erater_categories'] = 'فئات e-rater';
+$string['erater_spelling'] = 'الاملاء';
+$string['erater_grammar'] = 'القواعد';
+$string['erater_usage'] = 'الاستخدام';
+$string['erater_mechanics'] = 'الميكانيك';
+$string['erater_style'] = 'الأسلوب';
+$string['anonblindmarkingnote'] = 'ملحوظة: تم إزالة الإعداد المنفصل لوضع العلامات دون إظهار الأسماء بـ Turnitin. ستستخدم Turnitin إعداد وضع العلامات دون معرفة أسماء الطلاب التابع لـ Moodle لتحديد إعداد وضع العلامات دون إظهار الأسماء.';
+$string['transmatch'] = 'تطابق الترجمة';
+$string['genduedate'] = 'قم بإنشاء التقارير في موعد الاستحقاق (يسمح بإعادة الإرسال حتى موعد الإستحقاق)';
+$string['genimmediately1'] = 'قم بتوليد التقارير فورا ( لا يسمح بإعادة التقديم)';
+$string['genimmediately2'] = 'قم بتوليد التقارير فورا ( يسمح بإعادة التقديم حتى تاريخ الاستحقاق)';
+$string['launchquickmarkmanager'] = 'إطلاق معالج Quickmark';
+$string['launchpeermarkmanager'] = 'أطلق معالج Peermark';
+$string['studentreports'] = 'عرض تقارير الاصالة للطلبة';
+$string['studentreports_help'] = 'يسمح لك بعرض تقارير الاصالة للطلبة المستخدين. اذا ما تم تحديد نعم سيكون تقرير الاصالة متوفر للطلبة للعرض';
+$string['submitondraft'] = 'أرسل الملف عند تحميل أول ملف.';
+$string['submitonfinal'] = 'ارسل الملف عندما يقوم الطالب للتقييم';
+$string['draftsubmit'] = 'متى يجب إرسال الملف إلى Turnitin؟';
+$string['allownonor'] = 'السماح إرسال أي نوع من الملفات؟';
+$string['allownonor_help'] = 'هذا الوضع يسمح بإرسال أي نوع من الملفات. مع تعيين هذا الخيار إلى "نعم"، سيتم فحص أصالة الإرسالات حيثما كان ذلك ممكنًا، وسوف تكون متاحة للتنزيل وستتوفر أدوات GradeMark للملاحظات حيثما كان ذلك ممكنًا.';
+$string['norepository'] = 'لا توجد مستودعات';
+$string['standardrepository'] = 'المستودع القياسي';
+$string['submitpapersto'] = 'حفظ مستندات الطلبة';
+$string['institutionalrepository'] = 'المستودعات المؤسسية (عند الاقتضاء)';
+$string['submitpapersto_help'] = 'سيوفر هذا الإعداد للمدرسين القدرة على اختيار ما اذا كانت المستندات ستحفظ في مستودع مستندات الطلبة. تكمن الفائدة من ارسال المستندات إلى مستودع مستندات الطلبة في التحقق من مستندات الطلاب التي تم إرسالها مقابل إرسالات 'الطلاب الآخرين في صفوفك الدراسية الحالية أو السابقة. إذا اخترت "لا مستودعات" فلن يتم تخزين المستندات في مخزن مستندات الطلاب.'';
+$string['checkagainstnote'] = 'ملحوظة: إذا لم تحدد "نعم" لخيار "التحقق مقابل..." واحد على الأقل الموجود أدناه، فلن يتم إنشاء تقرير الأصالة.';
+$string['spapercheck'] = 'قحص مقابل مستندات الطلبة المخزونة';
+$string['internetcheck'] = 'فحص مقابل الإنترنت';
+$string['journalcheck'] = 'فحص مقابل المجلات
والدوريات والمنشورات';
+$string['compareinstitution'] = 'مقارنة الملفات المسلمة مع المستندات المسلمة داخل هذه المؤسسة';
+$string['reportgenspeed'] = 'تقرير سرعة التكوين';
+$string['genspeednote'] = 'ملحوظة: يستغرق إنشاء تقرير الأصالة لعمليات إعادة إرسال أربعة وعشرين ساعة.';
+$string['locked_message'] = 'رسالة الإعدادات المغلقة';
+$string['locked_message_help'] = 'إذا كانت أي من الإعدادات مغلقة، تظهر هذه الرسالة للتعريف بالسبب.';
+$string['locked_message_default'] = 'تم إغلاق هذا الإعداد على مستوى الموقع';
+$string['sharedrubric'] = 'معايير قياسية مشتركة';
+$string['turnitinrefreshsubmissions'] = 'تحديث الإرسالات';
+$string['turnitinrefreshingsubmissions'] = 'جاري تحديث الإرسالات';
+$string['turnitinppulapre'] = 'لإرسال ملف إلى Turnitin، عليك أولاً القبول باتفاقية ترخيص المستخدم النهائي، وباختيارك عدم القبول باتفاقية ترخيص المستخدم النهائي الخاصة بنا سنقوم بإرسال ملفك إلى Moodle فقط. انقر هنا للقبول.';
+$string['noscriptula'] = '"(لأن Javascript غير مفعل لديك سيتوجب عليك تحديث هذه الصفحة يدويًا قبل أن تتمكن من الإرسال و بعد الموافقة على اتفاقية المستخدم لـ Turnitin)"';
+$string['filedoesnotexist'] = 'تم حذف الملف';
+
+// Plugin settings.
+$string['config'] = 'التكوين';
+$string['defaults'] = 'الإعدادات الافتراضية';
+$string['showusage'] = 'إظهار النسخة الاحتياطية للبيانات';
+$string['saveusage'] = 'حفظ النسخة الاحتياطية للبيانات';
+$string['errors'] = 'أخطاء';
+$string['turnitinconfig'] = 'تكوين المكون الإضافي الخاص بسرقة محتوى Turnitin';
+$string['tiiexplain'] = 'Turnitin هو منتج تجاري، ويجب أن يكون لديك اشتراك مدفوع لاستخدام هذه الخدمة، لمزيد من المعلومات راجع http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'تمكين Turnitin';
+$string['useturnitin_mod'] = 'تمكين Turnitin لـ {$a}';
+$string['pp_configuredesc'] = 'يجب عليك تكوين هذه الوحدة داخل وحدة turnitintooltwo . يرجى النقر هنا لتكوين المكون الإضافي هذا';
+$string['turnitindefaults'] = 'الاعدادات الافتراضية لمكون الانتحال في Turnitin';
+$string['defaultsdesc'] = 'الاعدادات التالية هي الاعدادات الإفتراضية التي تم تحديدها حين تم تفعيل Turnitinضمن نموذج فعالية';
+$string['turnitinpluginsettings'] = 'الاعدادات لمكون الانتحال في Turnitin';
+$string['pperrorsdesc'] = 'ظهرت مشكلة ما أثناء المحاولة رفع الملفات أدناه إلى Turnitin. لإعادة الإرسال، قم بتحديد الملفات التي ترغب في إعادة إرسالها واضغط على زر إعادة إرسال. سيتم معالجة هذه الملفات عند تشغيل كرون (cron) المرة القادمة.';
+$string['pperrorssuccess'] = 'تم إعادة إرسال الملفات التي قمت بتحديدها وسيتم معالجتها من خلال كرون (cron).';
+$string['pperrorsfail'] = 'ظهرت مشكلة ببعض الملفات التي قمت بتحديدها، ولم يمكن إنشاء حدث cron جديد.';
+$string['resubmitselected'] = 'إعادة إرسال ملفات محددة';
+$string['deleteconfirm'] = 'هل أنت متأكد من حذف هذا الإرسال؟\n\nلا يمكن الرجوع عن هذا الإجراء.';
+$string['deletesubmission'] = 'حذف الإرسال';
+$string['semptytable'] = 'لا توجد نتائج.';
+$string['configupdated'] = 'تم تحديث التكوين';
+$string['defaultupdated'] = 'تم تحديث الخيارات الافتراضية لـ Turnitin';
+$string['notavailableyet'] = 'غير متوفر';
+$string['resubmittoturnitin'] = 'إعادة الإرسال إلى Turnitin ';
+$string['resubmitting'] = 'جاري إعادة الإرسال';
+$string['id'] = 'معرف';
+$string['student'] = 'طالب';
+$string['course'] = 'الدرس';
+$string['module'] = 'نموذج';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'عرض تقرير الاصالة';
+$string['launchrubricview'] = 'مشاهدة المعيار القياسي المستخدم لتحديد العلامات';
+$string['turnitinppulapost'] = 'لم يتم إرسال ملفك إلى Turnitin. الرجاء النقر هنا لقبول اتفاقية ترخيص المستخدم النهائي.';
+$string['ppsubmissionerrorseelogs'] = 'لم يتم إرسال هذا الملف إلى Turnitin، يُرجى استشارة مسؤول المدرسة لديك.';
+$string['ppsubmissionerrorstudent'] = 'لم يُرسل هذا الملف إلى Turnitin، يُرجى استشارة المدرس للحصول على مزيد من التفاصيل.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'إشعارات الإيصال الرقمي للمكون الإضافي الخاص بسرقة محتوى Turnitin';
+$string['digitalreceipt'] = 'إيصال رقمي';
+$string['digital_receipt_subject'] = 'هذا هو الإيصال الرقمي الخاص بك';
+$string['pp_digital_receipt_message'] = 'عزيزي {$a->firstname} {$a->lastname}،
لقد أرسلت بنجاح ملف {$a->submission_title} إلى مهمة {$a->assignment_name}{$a->assignment_part} في الفصل الدراسي {$a->course_fullname} في {$a->submission_date}. معرف الإرسال هو {$a->submission_id}. يمكن رؤية الإيصال الرقمي الكامل الخاص بك وطباعته من زر الطباعة/التنزيل في عارض الوثائق.
شكرًا لاستخدامك Turnitin،
فريق Turnitin.';
+
+// Paper statuses.
+$string['turnitinid'] = 'معرف Turnitin ';
+$string['turnitinstatus'] = 'حالة Turnitin ';
+$string['pending'] = 'قيد الانتظار';
+$string['similarity'] = 'التشابه';
+$string['notorcapable'] = 'لا يمكن إنشاء تقرير أصالة لهذا الملف.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'قام الطالب بعرض هذا المستند في:';
+$string['student_notread'] = 'لم يقم الطالب بعرض هذا المستند.';
+$string['launchpeermarkreviews'] = 'ابدأ تشغيل مراجعات Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'عدد الأحداث في قائمة أحداث المكون الإضافي الخاص بسرقة المحتوى';
+$string['ppcronsubmissionlimitreached'] = 'لن يتم إرسال إرسالات إضافية إلى Turnitin من خلال تنفيذ هذا الكرون، حيث يتم معالجة {$a} فقط لكل تشغيل.';
+$string['cronsubmittedsuccessfully'] = 'إرسال: تم إرسال{$a->title} (معرف TII: {$a->submissionid}) للمهمة {$a->assignmentname} على الدرس {$a->coursename} بنجاح إلى Turnitin.';
+$string['pp_submission_error'] = 'أعادت Turnitin خطأ يتعلق بإرسالك:';
+$string['turnitindeletionerror'] = 'فشل في حذف ارسال Turnitin. تك حذف نسخة Moodle المحلية لكن الإرسال إلى Turnitin لم يمكن حذفه.';
+$string['ppeventsfailedconnection'] = 'لن يتم معالجة أي أحداث بواسطة المكون الإضافي الخاص بسرقة محتويات Turnitin من خلال تنفيذ هذا الكرون، حيث يتعذر إنشاء اتصال بـ Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'يرجى التشاور مع معلمك أو مسؤول النظام للحصول على مزيد من التفاصيل.';
+$string['faultcode'] = 'رمز الخطأ';
+$string['line'] = 'خط';
+$string['message'] = 'رسالة';
+$string['code'] = 'رمز';
+$string['tiisubmissionsgeterror'] = 'حدث خطأ عند محاولة الحصول على الإرسالات لهذه المهمة من Turnitin';
+$string['errorcode0'] = 'لم يتم إرسال هذا الملف إلى Turnitin، يُرجى استشارة مسؤول المدرسة لديك.';
+$string['errorcode1'] = 'لم يتم إرسال هذا الملف إلى Turnitin، حيث أنه لا يوجد به محتوى كاف لإنتاج تقرير الأصالة.';
+$string['errorcode2'] = 'لن يتم إرسال هذا الملف إلى Turnitin، حيث أنه يتجاوز الحد الأقصى لحجم {$a} المسموح به.';
+$string['errorcode3'] = 'لم يُرسل هذا الملف إلى Turnitin لأن المستخدم لم يوافق على اتفاقية ترخيص المستخدم النهائي.';
+$string['errorcode4'] = 'يجب عليك رفع ملفًا مدعومًا لهذه المهمة. أنواع الملفات المقبولة: doc وdocx وppt وpptx وpps وppsx وpdf وtxt وhtm وhtml وhwp وodt وwpd وps وrtf';
+$string['errorcode5'] = 'لم يتم إرسال هذا الملف إلى Turnitin لوجود مشكلة في إنشاء الوحدة النمطية في Turnitin التي تمنع الإرسالات، الرجاء الرجوع إلى سجلات API للحصول على مزيد من المعلومات.';
+$string['errorcode6'] = 'لم يتم إرسال هذا الملف إلى Turnitin لوجود مشكلة في تحرير إعدادات الوحدة النمطية في Turnitin التي تمنع الإرسالات، الرجاء الرجوع إلى سجلات API للحصول على مزيد من المعلومات.';
+$string['errorcode7'] = 'لم يتم إرسال هذا الملف إلى Turnitin لوجود مشكلة في إنشاء المستخدم في Turnitin التي تمنع الإرسالات، الرجاء الرجوع إلى سجلات API للحصول على مزيد من المعلومات.';
+$string['errorcode8'] = 'لم يتم إرسال هذا الملف إلى Turnitin لوجود مشكلة في إنشاء ملف temp. السبب الأكثر احتمالاً هو أن اسم الملف غير صالح. الرجاء إعادة تسمية الملف إعادة رفعه باستخدام تحرير الإرسال.';
+$string['errorcode9'] = 'يتعذر إرسال الملف بسبب عدم وجود محتوى قابل للوصول في مجموعة الملفات ليتم إرسالها.';
+$string['coursegeterror'] = 'لا يمكن الحصول على بيانات الدورة';
+$string['configureerror'] = 'يجب تكوين هذه الوحدة بالكامل كمسؤول قبل استخدامها في الدورة، يرجى الاتصال بمسؤول Moodle.';
+$string['turnitintoolofflineerror'] = 'نحن نواجه مشكلة في الوقت الحالي. يرجى المحاولة مجددًا بعد قليل.';
+$string['defaultinserterror'] = 'حدث خطأ عند محاولة إدخال قيمة إعداد إفتراضي لقاعدة البيانات';
+$string['defaultupdateerror'] = 'حدث خطأ عند محاولة تحديث قيمة إعداد إفتراضي في قاعدة البيانات';
+$string['tiiassignmentgeterror'] = 'حدث خطأ عند محاولة الحصول على مهمة من Turnitin';
+$string['assigngeterror'] = 'لا يمكن الحصول على بيانات أدوات turnitintooltwo';
+$string['classupdateerror'] = 'لا يمكن تحديث بيانات درس Turnitin';
+$string['pp_createsubmissionerror'] = 'حدث خطأ عند محاولة إنشاء التسليم في Turnitin';
+$string['pp_updatesubmissionerror'] = 'حدث خطأ عند محاولة إعادة تسليم ما قمت بتسليمه الى Turnitin';
+$string['tiisubmissiongeterror'] = 'حدث خطأ عند محاولة خلق المهمة في Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'إغلاق';
+$string['loadingdv'] = 'جاري تحميل عارض وثائق Turnitin ...';
+$string['changerubricwarning'] = 'سيؤدي تغيير أو إزالة أي معيار قياسي إلى إزالة جميع الدرجات القياسية الحالية من المستندات في هذه المهمة، التي تشتمل على بطاقات الدرجات التي تم تعليمها مسبقًا. ستظل الدرجات الإجمالية للمستندات المعلمة مسبقًا كما هي.';
+$string['messageprovider:submission'] = 'إشعارات الإيصال الرقمي للمكون الإضافي الخاص بسرقة محتوى Turnitin ';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'حالة Turnitin';
+$string['deleted'] = 'تم حذف';
+$string['pending'] = 'قيد الانتظار';
+$string['because'] = 'هذا بسبب قيام أحد المسؤولين بحذف مهمة معلقة من قائمة المعالجة وإيقاف الإرسال إلى Turnitin.
ما زال الملف موجودًا في Moodle، الرجاء الاتصال بمعلمك.
الرجاء الاطلاع أدناه على أي رموز خطأ:';
diff --git a/lang/cs/plagiarism_turnitin.php b/lang/cs/plagiarism_turnitin.php
new file mode 100755
index 00000000..7dd540d5
--- /dev/null
+++ b/lang/cs/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin plagiátorství Turnitin';
+$string['turnitintooltwo'] = 'Nástroj Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Úloha pluginu plagiátorství Turnitin';
+$string['connecttesterror'] = 'Došlo k chybě během připojení k Turnitin. Následuje chybové hlášení níže:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Povolit Turnitin';
+$string['excludebiblio'] = 'Nezahrnout bibliografii';
+$string['excludequoted'] = 'Nezahrnout citovaný materiál';
+$string['excludevalue'] = 'Nezahrnout malé shody';
+$string['excludewords'] = 'Slova';
+$string['excludepercent'] = 'Procento';
+$string['norubric'] = 'Žádná rubrika';
+$string['otherrubric'] = 'Použít rubriku patřící jinému instruktorovi';
+$string['attachrubric'] = 'Přiložit rubriku k zadání';
+$string['launchrubricmanager'] = 'Spustit Správce rubrik';
+$string['attachrubricnote'] = 'Poznámka: studenti si budou moci před odevzdáním prohlížet přiložené rubriky a jejich obsah.';
+$string['erater_handbook_advanced'] = 'Pokročilý';
+$string['erater_handbook_highschool'] = 'Střední škola';
+$string['erater_handbook_middleschool'] = '2. stupeň';
+$string['erater_handbook_elementary'] = 'Základní škola';
+$string['erater_handbook_learners'] = 'Studenti angličtiny';
+$string['erater_dictionary_enus'] = 'Slovník americké angličtiny';
+$string['erater_dictionary_engb'] = 'Slovník britské angličtiny';
+$string['erater_dictionary_en'] = 'Slovníky americké i britské angličtiny';
+$string['erater'] = 'Povolit kontrolu gramatiky e-rater';
+$string['erater_handbook'] = 'ETS© příručka';
+$string['erater_dictionary'] = 'Slovník e-rater';
+$string['erater_categories'] = 'Kategorie e-rater';
+$string['erater_spelling'] = 'Pravopis';
+$string['erater_grammar'] = 'Gramatika';
+$string['erater_usage'] = 'Použití';
+$string['erater_mechanics'] = 'Mechanika';
+$string['erater_style'] = 'Styl';
+$string['anonblindmarkingnote'] = 'Poznámka: Samostatné nastavení anonymního označení Turnitin bylo odstraněno. Turnitin bude používat nastavení zaslepeného označení Moodle k určení anonymního nastavení označení.';
+$string['transmatch'] = 'Přeložená shoda';
+$string['genduedate'] = 'Generovat zprávy k termínu (opětovná odevzdání jsou povolena až do termínu)';
+$string['genimmediately1'] = 'Generovat zprávy bezprostředně (opětovná odevzdání nejsou povolena)';
+$string['genimmediately2'] = 'Generovat zprávy bezprostředně (opětovná odevzdání jsou povolena až do termínu)';
+$string['launchquickmarkmanager'] = 'Spustit Správce Quickmark';
+$string['launchpeermarkmanager'] = 'Spustit Správce Peermark';
+$string['studentreports'] = 'Zobrazit studentům zprávy o původnosti';
+$string['studentreports_help'] = 'Umožní vám zobrazit zprávy o původnosti studentským uživatelům. Pokud je volba nastavena na hodnotu Ano, budou si studenti moci zobrazit zprávu o původnosti vytvořenou systémem Turnitin.';
+$string['submitondraft'] = 'Odevzdat soubor při prvním nahrání';
+$string['submitonfinal'] = 'Odevzdat soubor, když jej student odešle ke známkování';
+$string['draftsubmit'] = 'Kdy má být soubor odevzdán do systému Turnitin?';
+$string['allownonor'] = 'Povolit odevzdání jakéhokoli typu souboru?';
+$string['allownonor_help'] = 'Toto nastavení umožní nahrání jakéhokoli druhu souboru. Pokud je tato možnost nastavena jako "Ano", bude původnost zkontrolována u všech odevzdaných prací, kde je to možné. Odevzdané práce budou dostupné ke stáhnutí, budou dostupné i nástroje zpětné vazby GradeMark, kde to bude možné.';
+$string['norepository'] = 'Žádný archiv';
+$string['standardrepository'] = 'Standardní archiv';
+$string['submitpapersto'] = 'Uložit studentské práce';
+$string['institutionalrepository'] = 'Archiv instituce (v případě potřeby)';
+$string['submitpapersto_help'] = 'Nastavení poskytuje instruktorům možnost zvolit, zda práce budou uloženy v archivu prací Turnitin. Výhodou odevzdání prací do tohoto archivu je, že práce odevzdané v rámci tohoto úkolu jsou porovnány s dalšími odevzdanými pracemi v rámci vašich současných a předchozích kurzů. Jestliže zvolíte "bez archivu", odevzdané práce nebudou uloženy v archivu prací Turnitin.';
+$string['checkagainstnote'] = 'Poznámka: Pokud nezvolíte „Ano“ pro alespoň jednu z možností „Zkontrolovat proti...“ níže, pak nebude vygenerována zpráva originality.';
+$string['spapercheck'] = 'Porovnejte s uloženými studentskými pracemi';
+$string['internetcheck'] = 'Porovnat s internetem';
+$string['journalcheck'] = 'Porovnat s odbornými časopisy,
periodiky a publikacemi.';
+$string['compareinstitution'] = 'Porovnat odevzdané soubory s odevzdanými pracemi v rámci této instituce';
+$string['reportgenspeed'] = 'Rychlost generování zpráv';
+$string['genspeednote'] = 'Poznámka: Na generování zprávy originality pro opětovné odevzdání se vztahuje zpoždění dvaceti čtyř hodin.';
+$string['locked_message'] = 'Uzamčená zpráva';
+$string['locked_message_help'] = 'V případě uzamčení nastavení tato zpráva uvádí důvod.';
+$string['locked_message_default'] = 'Toto nastavení je uzamčeno na úrovni stránky';
+$string['sharedrubric'] = 'Sdílená rubrika';
+$string['turnitinrefreshsubmissions'] = 'Obnovit odevzdané práce';
+$string['turnitinrefreshingsubmissions'] = 'Aktualizace odevzdaných prací';
+$string['turnitinppulapre'] = 'Chcete-li odevzdat soubor do služby Turnitin, musíte nejprve přijmout naši smlouvu EULA. Pokud se rozhodnete nepřijmout naši smlouvu EULA, bude váš soubor odevzdán pouze do Moodle. Kliknutím zde potvrďte.';
+$string['noscriptula'] = '(Jelikož nemáte zapnutý jazyk Javascript, budete muset tuto stránku ručně obnovit předtím, než budete moci provést odevzdání své práce, a to až po přijetí Podmínek pro uživatele Turnitin)';
+$string['filedoesnotexist'] = 'Soubor byl smazán.';
+
+// Plugin settings.
+$string['config'] = 'Konfigurace';
+$string['defaults'] = 'Výchozí nastavení';
+$string['showusage'] = 'Zobrazit výpis dat';
+$string['saveusage'] = 'Uložit výpis dat';
+$string['errors'] = 'Chyby';
+$string['turnitinconfig'] = 'Konfigurace pluginu plagiátorství Turnitin';
+$string['tiiexplain'] = 'Turnitin je komerční produkt, tudíž musíte mít pro využívání této služby předplatné. Pro více informací se obraťte na http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Povolit Turnitin';
+$string['useturnitin_mod'] = 'Aktivovat Turnitin pro {$a}';
+$string['pp_configuredesc'] = 'Tento modul musíte nakonfigurovat v rámci modulu turnitintooltwo. Kliknutím zde nakonfigurujete tento modul plugin';
+$string['turnitindefaults'] = 'Výchozí nastavení pro plugin plagiátorství Turnitin';
+$string['defaultsdesc'] = 'Následující nastavení jsou výchozí při povolení systému Turnitin v rámci modulu aktivity';
+$string['turnitinpluginsettings'] = 'Nastavení pro plugin plagiátorství Turnitin';
+$string['pperrorsdesc'] = 'Došlo k problému při pokusu o nahrávání souborů níže do služby Turnitin. Chcete-li je znovu odevzdat, vyberte požadované soubory a stiskněte tlačítko Znovu odevzdat. Soubory budou zpracovány při dalším spuštění cronu.';
+$string['pperrorssuccess'] = 'Zvolené soubory byly znovu odevzdány a budou zpracovány cronem.';
+$string['pperrorsfail'] = 'Došlo k problému s některými ze zvolených souborů. Nebylo možné pro ně vytvořit novou událost cron.';
+$string['resubmitselected'] = 'Znovu odevzdat vybrané soubory';
+$string['deleteconfirm'] = 'Určitě chcete smazat toto odevzdání?\n\nTento krok nelze vrátit zpět.';
+$string['deletesubmission'] = 'Smazat odevzdání';
+$string['semptytable'] = 'Nebyly nalezeny žádné výsledky.';
+$string['configupdated'] = 'Konfigurace aktualizována';
+$string['defaultupdated'] = 'Výchozí hodnoty Turnitin byly aktualizovány';
+$string['notavailableyet'] = 'Není k dispozici';
+$string['resubmittoturnitin'] = 'Znovu odevzdat do Turnitin';
+$string['resubmitting'] = 'Opětovné odevzdání';
+$string['id'] = 'Id';
+$string['student'] = 'Student';
+$string['course'] = 'Kurz';
+$string['module'] = 'Modul';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Zobrazit zprávu o původnosti';
+$string['launchrubricview'] = 'Zobrazit rubriku použitou ke známkování';
+$string['turnitinppulapost'] = 'Váš soubory nebyl odevzdán do systému Turnitin. Kliknutím zde přijmete naši smlouvu EULA.';
+$string['ppsubmissionerrorseelogs'] = 'Soubor nebyl odevzdán do systému Turnitin. Poraďte se se správcem systému.';
+$string['ppsubmissionerrorstudent'] = 'Soubor nebyl předán do systému Turnitin. Další informace vám podá váš vyučující.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Oznámení digitálního příjmu pluginu plagiátorství Turnitin';
+$string['digitalreceipt'] = 'Digitální doklad';
+$string['digital_receipt_subject'] = 'Toto je váš digitální doklad Turnitin';
+$string['pp_digital_receipt_message'] = 'Vážený {$a->firstname} {$a->lastname},
úspěšně jste odevzdal/a soubor {$a->submission_title} do přiřazení {$a->assignment_name}{$a->assignment_part} v kurzu {$a->course_fullname} na {$a->submission_date}. Vaše ID odevzdání je {$a->submission_id}. Váš digitální doklad lze zobrazit a vytisknout pomocí tlačítka tisk/stáhnout v Prohlížeči dokumentů.
Děkujeme, že používáte systém Turnitin,
Tým Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'ID Turnitin';
+$string['turnitinstatus'] = 'Stav systému Turnitin';
+$string['pending'] = 'Probíhá';
+$string['similarity'] = 'Podobnost';
+$string['notorcapable'] = 'Pro tento soubor nelze vytvořit zprávu o původnosti.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Student si práci prohlédl dne:';
+$string['student_notread'] = 'Student si tuto práci neprohlédl.';
+$string['launchpeermarkreviews'] = 'Spustit Posudky Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Počet událostí ve frontě pluginu plagiátorství';
+$string['ppcronsubmissionlimitreached'] = 'Do systému Turnitin nebyly odeslány žádné další odevzdání tímto spuštěním cron, jelikož na spuštění bylo zpracováno pouze {$a}';
+$string['cronsubmittedsuccessfully'] = 'Odevzdání: {$a->title} (TII ID: {$a->submissionid}) pro přiřazení {$a->assignmentname} v kurzu {$a->coursename} bylo úspěšně odevzdáno do systému Turnitin.';
+$string['pp_submission_error'] = 'Systém Turnitin vrátil s odevzdáním chybu:';
+$string['turnitindeletionerror'] = 'Smazání odevzdaných prací Turnitin se nezdařilo. Místní kopie Moodle byla odstraněna, ale odevzdané práce v systému Turnitin nebylo možné smazat.';
+$string['ppeventsfailedconnection'] = 'V rámci tohoto spuštění cron nebudou pluginem plagiátorství Turnitin zpracovány žádné události, jelikož připojení k systému Turnitin nelze navázat.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Další informace vám podá váš vyučující nebo správce systému.';
+$string['faultcode'] = 'Chybný kód';
+$string['line'] = 'Řádek';
+$string['message'] = 'Zpráva';
+$string['code'] = 'Kód';
+$string['tiisubmissionsgeterror'] = 'Došlo k chybě při získávání odevzdané práce pro tento úkol ze systému Turnitin';
+$string['errorcode0'] = 'Soubor nebyl odevzdán do systému Turnitin. Poraďte se se správcem systému.';
+$string['errorcode1'] = 'Tento soubor nebyl odeslán do systému Turnitin, jelikož neobsahuje dostatek obsahu k vytvoření zprávy o původnosti.';
+$string['errorcode2'] = 'Soubor nebude předán do systému Turnitin, protože přesahuje maximální povolenou velikost {$a}.';
+$string['errorcode3'] = 'Soubor nebyl předán do systému Turnitin, protože uživatel nepřijal licenční ujednání koncového uživatele systému Turnitin.';
+$string['errorcode4'] = 'Pro tento úkol musíte nahrát podporovaný typ souboru. Přijímané typy souborů jsou; .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps a .rtf';
+$string['errorcode5'] = 'Tento soubor nebyl odevzdán do systému Turnitin, protože došlo k problému při vytváření modulu v systému Turnitin, který brání odevzdání. Další informace naleznete v protokolech API.';
+$string['errorcode6'] = 'Tento soubor nebyl odevzdán do systému Turnitin, protože došlo k problému při úpravách nastavení modulu v systému Turnitin, který brání odevzdání. Další informace naleznete v protokolech API.';
+$string['errorcode7'] = 'Tento soubor nebyl odevzdán do systému Turnitin, protože došlo k problému při vytváření uživatele v systému Turnitin, který brání odevzdání. Další informace naleznete v protokolech API.';
+$string['errorcode8'] = 'Tento soubor nebyl odevzdán do systému Turnitin, protože došlo k problému při vytváření dočasného souboru. Nejpravděpodobnější příčinou je neplatný název souboru. Přejmenujte soubor a znovu ho nahrajte pomocí položky Upravit odevzdání.';
+$string['errorcode9'] = 'Soubor nelze odevzdat, jelikož ve fondu souborů není žádný dostupný obsah k odevzdání.';
+$string['coursegeterror'] = 'Nebylo možné získat údaje o kurzu';
+$string['configureerror'] = 'Tento modul před jeho použitím v kurzu musíte zcela nastavit v roli Administrátora. Obraťte se prosím na svého Moodle administrátora.';
+$string['turnitintoolofflineerror'] = 'Vyskytl se dočasný problém. Zkuste prosím za chvíli znovu.';
+$string['defaultinserterror'] = 'Došlo k chybě při vkládání hodnoty výchozího nastavení do databáze';
+$string['defaultupdateerror'] = 'Došlo k chybě při aktualizaci hodnoty výchozího nastavení v databázi';
+$string['tiiassignmentgeterror'] = 'Došlo k chybě při získávání úkolu ze systému Turnitin';
+$string['assigngeterror'] = 'Nelze získat turnitintooltwo údaje';
+$string['classupdateerror'] = 'Nebylo možné aktualizovat údaje kurzu Turnitin';
+$string['pp_createsubmissionerror'] = 'Došlo k chybě při tvoření odevzdání v systému Turnitin';
+$string['pp_updatesubmissionerror'] = 'Došlo k chybě při opětovném odeslání vaší odevzdané práce do systému Turnitin';
+$string['tiisubmissiongeterror'] = 'Došlo k chybě při získávání odevzdané práce ze systému Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Zavřít';
+$string['loadingdv'] = 'Načítá se Prohlížeč dokumentů Turnitin...';
+$string['changerubricwarning'] = 'Úprava nebo odpojení rubriky odstraní všechna existující bodování rubrik u prací v tomto úkolu včetně bodovacích karet, které byly předtím oznámkované. U dříve ohodnocených prací zůstane celkové hodnocení zachováno.';
+$string['messageprovider:submission'] = 'Oznámení digitálního příjmu pluginu plagiátorství Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Stav systému Turnitin';
+$string['deleted'] = 'Smazáno';
+$string['pending'] = 'Probíhá';
+$string['because'] = 'Je to způsobeno smazáním probíhajícího úkolu z fronty zpracování správcem a zrušeným odevzdáním do systému Turnitin.
Soubor se stále nachází v systému Moodle, obraťte se na svého instruktora.
Níže naleznete všechny chybové kódy:';
diff --git a/lang/de/plagiarism_turnitin.php b/lang/de/plagiarism_turnitin.php
new file mode 100755
index 00000000..4bdfb9d3
--- /dev/null
+++ b/lang/de/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin-Plugin zur Plagiarismuserkennung';
+$string['turnitintooltwo'] = 'Turnitin-Tool';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin-Plugin zur Plagiarismuserkennung – Aufgabe';
+$string['connecttesterror'] = 'Bei der Verbindung mit Turnitin ist ein Fehler aufgetreten, siehe Fehlermeldung:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Turnitin aktivieren';
+$string['excludebiblio'] = 'Bibliografie ausschließen';
+$string['excludequoted'] = 'Zitiertes Material ausschließen';
+$string['excludevalue'] = 'Geringfügige Übereinstimmungen ausschließen';
+$string['excludewords'] = 'Wörter';
+$string['excludepercent'] = 'Prozent';
+$string['norubric'] = 'Keine Rubrik';
+$string['otherrubric'] = 'Rubrik einer anderen Lehrkraft verwenden';
+$string['attachrubric'] = 'Dieser Aufgabe eine Rubrik anhängen';
+$string['launchrubricmanager'] = 'Rubrikmanager starten';
+$string['attachrubricnote'] = 'Hinweis: Studenten können angehängte Rubriken und deren Inhalt vor dem Übermitteln aufrufen.';
+$string['erater_handbook_advanced'] = 'Erweitert';
+$string['erater_handbook_highschool'] = 'Oberstufe';
+$string['erater_handbook_middleschool'] = 'Mittelstufe';
+$string['erater_handbook_elementary'] = 'Grundschule';
+$string['erater_handbook_learners'] = 'Englisch Lernende';
+$string['erater_dictionary_enus'] = 'US-amerikanisches Englisch-Lexikon';
+$string['erater_dictionary_engb'] = 'Britisches Englisch-Lexikon';
+$string['erater_dictionary_en'] = 'Britisches und US-amerikanisches Englisch-Lexikon';
+$string['erater'] = 'e-rater-Grammatikprüfung aktivieren';
+$string['erater_handbook'] = 'ETS©-Handbuch';
+$string['erater_dictionary'] = 'e-rater-Wörterbuch';
+$string['erater_categories'] = 'e-rater-Kategorien';
+$string['erater_spelling'] = 'Rechtschreibung';
+$string['erater_grammar'] = 'Grammatik';
+$string['erater_usage'] = 'Gebrauch';
+$string['erater_mechanics'] = 'Funktionsweise';
+$string['erater_style'] = 'Stil';
+$string['anonblindmarkingnote'] = 'Hinweis: Die separate Turnitin-Einstellung für anonyme Benotung wurde entfernt. Turnitin legt die Einstellung für anonymes Benoten anhand der Moodle-Einstellung für Blindbewertung fest.';
+$string['transmatch'] = 'Übersetzte Übereinstimmung';
+$string['genduedate'] = 'Berichte am Fälligkeitsdatum erstellen (erneute Übermittlungen sind bis zum Fälligkeitsdatum zulässig)';
+$string['genimmediately1'] = 'Berichte sofort erstellen (erneute Übermittlungen sind nicht zulässig)';
+$string['genimmediately2'] = 'Berichte sofort erstellen (erneute Übermittlungen sind bis zum Fälligkeitsdatum zulässig)';
+$string['launchquickmarkmanager'] = 'QuickMark-Manager starten';
+$string['launchpeermarkmanager'] = 'PeerMark-Manager starten';
+$string['studentreports'] = 'Studenten den Echtheitsbericht anzeigen';
+$string['studentreports_help'] = 'Ermöglicht Studenten das Anzeigen von Turnitin-Echtheitsberichten. Wenn Sie die Option "Ja" wählen, können Studenten den von Turnitin erstellten Echtheitsbericht ansehen.';
+$string['submitondraft'] = 'Datei beim ersten Hochladen übermitteln';
+$string['submitonfinal'] = 'Datei übermitteln, wenn der Student sie zum Markieren sendet.';
+$string['draftsubmit'] = 'Wann muss die Datei an Turnitin übermittelt werden?';
+$string['allownonor'] = 'Jeden Dateityp zur Übermittlung zulassen?';
+$string['allownonor_help'] = 'Mit dieser Einstellung können alle Dateitypen übermitteln werden. Ist diese Option auf "Ja" gesetzt, werden Übermittlungen ggf. auf ihre Echtheit überprüft und zum Download bereitgestellt. Außerdem stehen wenn möglich GradeMark-Feedbacktools zur Verfügung.';
+$string['norepository'] = 'Kein Repository';
+$string['standardrepository'] = 'Standard-Repository ';
+$string['submitpapersto'] = 'Studentenarbeiten ablegen';
+$string['institutionalrepository'] = 'Institutions-Repository (wenn vorhanden)';
+$string['submitpapersto_help'] = 'Mit dieser Einstellung können Lehrkräfte festlegen, ob Arbeiten in einem Turnitin-Repository für Studentenarbeiten gespeichert werden. Der Vorteil einer Übermittlung von Arbeiten das Studentenarbeits-Repository besteht darin, dass die zu einer Aufgabe übermittelten Studentenarbeiten mit den Arbeiten von Studenten' Ihrer aktuellen sowie früheren Kurse abgeglichen werden. Wenn Sie die Option "Kein Repository" wählen, werden die Arbeiten Ihrer Studenten' nicht im Studentenarbeits-Repository von Turnitin gespeichert.';
+$string['checkagainstnote'] = 'Hinweis: Wenn Sie nicht für mindestens eine der folgenden Abgleichoptionen „Ja“ auswählen, wird KEIN Echtheitsbericht generiert.';
+$string['spapercheck'] = 'Abgleich mit vorhandenen Studentenarbeiten';
+$string['internetcheck'] = 'Abgleich mit dem Internet';
+$string['journalcheck'] = 'Abgleich mit Zeitungen,
Periodika und anderen Publikationen';
+$string['compareinstitution'] = 'Eingereichte Dateien mit den an dieser Institution übermittelten Arbeiten vergleichen';
+$string['reportgenspeed'] = 'Geschwindigkeit beim Erstellen des Berichts';
+$string['genspeednote'] = 'Hinweis: Bei der Generierung eines Echtheitsberichts für erneute Übermittlungen kann eine Verzögerung von 24 Stunden auftreten.';
+$string['locked_message'] = 'Gesperrte Nachricht';
+$string['locked_message_help'] = 'Wenn Einstellungen gesperrt sind, wird in dieser Nachricht der Grund dafür angegeben.';
+$string['locked_message_default'] = 'Diese Einstellung ist auf Websiteebene gesperrt.';
+$string['sharedrubric'] = 'Freigegebene Rubrik';
+$string['turnitinrefreshsubmissions'] = 'Übermittlungen aktualisieren';
+$string['turnitinrefreshingsubmissions'] = 'Übermittlungen werden aktualisiert...';
+$string['turnitinppulapre'] = 'Vor der Übermittung einer Datei an Turnitin müssen Sie unsere EULA (Endbenutzer-Lizenzvereinbarung) akzeptieren. Wenn Sie die EULA nicht akzeptieren, wird Ihre Datei nur an Moodle übermittelt. Klicken Sie zum Akzeptieren hier.';
+$string['noscriptula'] = '(Da Sie Javascript nicht aktiviert haben, müssen Sie diese Seite manuell aktualisieren, ehe Sie nach dem Akzeptieren der Nutzungsbedingungen von Turnitin eine Übermittlung vornehmen können)';
+$string['filedoesnotexist'] = 'Datei wurde gelöscht';
+
+// Plugin settings.
+$string['config'] = 'Konfiguration';
+$string['defaults'] = 'Standardeinstellungen';
+$string['showusage'] = 'Datenspeicher anzeigen';
+$string['saveusage'] = 'Datenanzeige sichern';
+$string['errors'] = 'Fehler';
+$string['turnitinconfig'] = 'Konfiguration für das Turnitin-Plug-in gegen Plagiarismus';
+$string['tiiexplain'] = 'Turnitin ist ein kommerzielles Produkt, und Sie benötigen ein zahlungspflichtiges Abonnement, um diesen Dienst nutzen zu können. Weitere Informationen finden Sie unter http://docs.moodle.org/en/Turnitin_administration.';
+$string['useturnitin'] = 'Turnitin aktivieren';
+$string['useturnitin_mod'] = 'Turnitin aktivieren für {$a}';
+$string['pp_configuredesc'] = 'Sie müssen dieses Modul innerhalb des turnitintooltwo-Moduls konfigurieren. Klicken Sie hier, um dieses Plug-in zu konfigurieren.';
+$string['turnitindefaults'] = 'Standardeinstellungen für das Turnitin-Plugin zur Plagiarismuserkennung';
+$string['defaultsdesc'] = 'Die folgenden Einstellungen bilden den Standard, wenn Turnitin mit einem Aktivitätsmodul aktiviert ist.';
+$string['turnitinpluginsettings'] = 'Einstellungen für das Turnitin-Plugin zur Plagiarismuserkennung';
+$string['pperrorsdesc'] = 'Beim Versuch, die folgenden Dateien bei Turnitin hochzuladen, ist ein Problem aufgetreten. Wählen Sie für eine erneute Übermittlung die gewünschten Dateien aus, und klicken Sie auf die Schaltfläche „Erneut übermitteln“. Diese Dateien werden dann bei der nächsten Cron-Ausführung verarbeitet.';
+$string['pperrorssuccess'] = 'Die ausgewählten Dateien wurden erneut übermittelt und werden von Cron verarbeitet.';
+$string['pperrorsfail'] = 'Bei einigen der ausgewählten Dateien ist ein Problem aufgetreten. Für diese Dateien konnte kein neues Cron-Ereignis erstellt werden.';
+$string['resubmitselected'] = 'Ausgewählte Dateien erneut übermitteln';
+$string['deleteconfirm'] = 'Möchten Sie diese Übermittlung wirklich löschen? \n\nDieser Vorgang kann nicht rückgängig gemacht werden.';
+$string['deletesubmission'] = 'Übermittlung löschen';
+$string['semptytable'] = 'Keine Ergebnisse vorhanden.';
+$string['configupdated'] = 'Konfiguration aktualisiert';
+$string['defaultupdated'] = 'Turnitin-Standards aktualisiert';
+$string['notavailableyet'] = 'Nicht verfügbar';
+$string['resubmittoturnitin'] = 'Erneut an Turnitin übermitteln';
+$string['resubmitting'] = 'Wird erneut übermittelt...';
+$string['id'] = 'ID';
+$string['student'] = 'Student';
+$string['course'] = 'Kurs';
+$string['module'] = 'Module';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Echtheitsbericht anzeigen';
+$string['launchrubricview'] = 'Die für das Markieren verwendete Rubik anzeigen';
+$string['turnitinppulapost'] = 'Ihre Datei wurde nicht an Turnitin übermittelt. Klicken Sie hier, um unsere EULA zu akzeptieren.';
+$string['ppsubmissionerrorseelogs'] = 'Diese Datei wurde nicht an Turnitin übermittelt; wenden Sie sich an Ihren Systemadministrator.';
+$string['ppsubmissionerrorstudent'] = 'Diese Datei wurde nicht an Turnitin übermittelt, für zusätzliche Details kontaktieren Sie bitte Ihren Tutor';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin-Plugin zur Plagiarismuserkennung – Benachrichtigungen zum digitalen Beleg';
+$string['digitalreceipt'] = 'Digitaler Beleg';
+$string['digital_receipt_subject'] = 'Dies ist Ihr digitaler Beleg von Turnitin.';
+$string['pp_digital_receipt_message'] = 'Sehr geehrte/r {$a->firstname} {$a->lastname},
Sie haben die Datei {$a->submission_title} für die Aufgabe {$a->assignment_name}{$a->assignment_part} in Kurs {$a->course_fullname} am {$a->submission_date} erfolgreich hochgeladen. Ihre Übermittlungs-ID lautet {$a->submission_id}. Ihren vollständigen digitalen Beleg können Sie über die Schaltfläche „Drucken/Download“ in der Dokumentenansicht anzeigen und drucken.
Vielen Dank, dass Sie Turnitin verwenden,
das Turnitin-Team';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin-ID';
+$string['turnitinstatus'] = 'Turnitin-Status';
+$string['pending'] = 'Ausstehend';
+$string['similarity'] = 'Ähnlichkeit';
+$string['notorcapable'] = 'Für diese Datei lässt sich kein Echtheitsbericht erstellen.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Der Student hat die Arbeit aufgerufen über:';
+$string['student_notread'] = 'Der Student hat die Arbeit nicht aufgerufen.';
+$string['launchpeermarkreviews'] = 'PeerMark-Reviews starten';
+
+// Cron.
+$string['ppqueuesize'] = 'Anzahl der Ereignisse in der Ereigniswarteschlange des Plugin zur Plagiarismuserkennung';
+$string['ppcronsubmissionlimitreached'] = 'Von diesem Cron-Ausdruck werden keine weiteren Übermittlungen mehr an Turnitin gesendet, da nur {$a} pro Ausführung verarbeitet werden.';
+$string['cronsubmittedsuccessfully'] = 'Übermittlung: {$a->title} (TII-ID: {$a->submissionid}) für die Aufgabe {$a->assignmentname} in Kurs {$a->coursename} wurde erfolgreich an Turnitin übermittelt.';
+$string['pp_submission_error'] = 'Turnitin hat einen Fehler für Ihre Übermittlung zurückgegeben:';
+$string['turnitindeletionerror'] = 'Die Löschung der Turnitin-Übermittlung ist fehlgeschlagen. Die lokale Moodle-Kopie wurde entfernt, die Übermittlung bei Turnitin konnte jedoch nicht gelöscht werden.';
+$string['ppeventsfailedconnection'] = 'In dieser Cron-Ausführung werden vom Turnitin-Plugin zur Plagiarismuserkennung keine Ereignisse verarbeitet, da keine Verbindung mit Turnitin hergestellt werden kann.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Weitere Informationen erhalten Sie von Ihrem Tutor oder dem Systemadministrator.';
+$string['faultcode'] = 'Fehlercode';
+$string['line'] = 'Linie';
+$string['message'] = 'Nachricht';
+$string['code'] = 'Code';
+$string['tiisubmissionsgeterror'] = 'Beim Versuch, von Turnitin Übermittlungen zu dieser Aufgabe abzurufen, ist ein Fehler aufgetreten.';
+$string['errorcode0'] = 'Diese Datei wurde nicht an Turnitin übermittelt; wenden Sie sich an Ihren Systemadministrator.';
+$string['errorcode1'] = 'Diese Datei wurde nicht an Turnitin gesendet, da sie nicht genügend Inhalt zum Erstellen eines Echtheitsberichts enthält.';
+$string['errorcode2'] = 'Diese Datei wird nicht an Turnitin übermittelt, da sie die maximal zulässige Größe von {$a} überschreitet.';
+$string['errorcode3'] = 'Diese Datei wurde nicht an Turnitin übermittelt, da der Benutzer die Endbenutzer-Lizenzvereinbarung nicht akzeptiert hat.';
+$string['errorcode4'] = 'Sie müssen einen unterstützten Dateityp für diese Aufgabe hochladen. Folgende Dateitypen werden akzeptiert: DOC, DOCX, PPT, PPTX, PPS, PPSX, PDF, TXT, HTM, HTML, HWP, ODT, WPD, PS und RTF.';
+$string['errorcode5'] = 'Diese Datei wurde nicht an Turnitin übermittelt, da beim Erstellen des Moduls in Turnitin ein Problem aufgetreten ist, das Übermittlungen verhindert. Weitere Informationen finden Sie in Ihren API-Protokollen.';
+$string['errorcode6'] = 'Diese Datei wurde nicht an Turnitin übermittelt, da beim Bearbeiten der Moduleinstellungen in Turnitin ein Problem aufgetreten ist, das Übermittlungen verhindert. Weitere Informationen finden Sie in Ihren API-Protokollen.';
+$string['errorcode7'] = 'Diese Datei wurde nicht an Turnitin übermittelt, da beim Erstellen des Benutzers in Turnitin ein Problem aufgetreten ist, das Übermittlungen verhindert. Weitere Informationen finden Sie in Ihren API-Protokollen.';
+$string['errorcode8'] = 'Diese Datei wurde nicht an Turnitin übermittelt, da beim Erstellen der temporären Datei ein Problem aufgetreten ist. Die wahrscheinlichste Ursache ist ein ungültiger Dateiname. Benennen Sie die Datei um, und laden Sie sie mit der Option zum Bearbeiten von Übermittlungen erneut hoch.';
+$string['errorcode9'] = 'Die Datei kann nicht übermittelt werden, da im Dateipool kein zugänglicher Inhalt für eine Übermittlung vorhanden ist.';
+$string['coursegeterror'] = 'Kursdaten konnten nicht abgerufen werden.';
+$string['configureerror'] = 'Sie müssen dieses Modul vollständig als Administrator konfigurieren, um es in einem Kurs benutzen zu können. Wenden Sie sich an Ihren Moodle-Administrator.';
+$string['turnitintoolofflineerror'] = 'Es ist ein vorübergehendes Problem aufgetreten. Bitte versuchen Sie es später erneut.';
+$string['defaultinserterror'] = 'Beim Einfügen einer Standardwerteinstellung in die Datenbank ist ein Fehler eingetreten.';
+$string['defaultupdateerror'] = 'Beim Aktualisieren einer Standardwerteinstellung in der Datenbank ist ein Fehler eingetreten.';
+$string['tiiassignmentgeterror'] = 'Beim Versuch, eine Aufgabe von Turnitin abzurufen, ist ein Fehler aufgetreten.';
+$string['assigngeterror'] = 'Daten für turnitintooltwo konnten nicht aufgerufen werden.';
+$string['classupdateerror'] = 'Daten des Turnitin-Kurses konnten nicht aktualisiert werden.';
+$string['pp_createsubmissionerror'] = 'Beim Versuch, eine Übermittlung zu Turnitin einzurichten, ist ein Fehler aufgetreten.';
+$string['pp_updatesubmissionerror'] = 'Beim Versuch, Ihre Übermittlung zu Turnitin erneut vorzunehmen, ist ein Fehler aufgetreten.';
+$string['tiisubmissiongeterror'] = 'Beim Versuch, eine Übermittlung vom Turnitin zu erhalten, ist ein Fehler aufgetreten.';
+
+// Javascript.
+$string['closebutton'] = 'Schließen';
+$string['loadingdv'] = 'Turnitin-Dokumentenansicht wird geladen...';
+$string['changerubricwarning'] = 'Durch das Ändern oder Entfernen einer Rubrik werden alle vorhandenen Rubrikbewertungen der Arbeiten zu dieser Aufgabe entfernt, einschließlich ausgefüllter Bewertungskarten. Gesamtnoten für zuvor bewertete Arbeiten bleiben erhalten.';
+$string['messageprovider:submission'] = 'Turnitin-Plugin zur Plagiarismuserkennung – Benachrichtigungen zum digitalen Beleg';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin-Status';
+$string['deleted'] = 'Gelöscht';
+$string['pending'] = 'Ausstehend';
+$string['because'] = 'Ursache: Ein Administrator hat die ausstehende Aufgabe aus der Verarbeitungswarteschlange gelöscht und die Übermittlung an Turnitin abgebrochen.
Die Datei ist weiterhin in Moodle vorhanden; wenden Sie sich an die zuständige Lehrkraft.
Fehlercodes siehe unten:';
diff --git a/lang/en/plagiarism_turnitin.php b/lang/en/plagiarism_turnitin.php
index d4b7d403..5b88d8c9 100644
--- a/lang/en/plagiarism_turnitin.php
+++ b/lang/en/plagiarism_turnitin.php
@@ -1,18 +1,36 @@
.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
/*
- * To change this template, choose Tools | Templates
+ * To change this template, choose Tools | Templates.
* and open the template in the editor.
*/
-// General
+// General.
$string['pluginname'] = 'Turnitin plagiarism plugin';
$string['turnitintooltwo'] = 'Turnitin Tool';
$string['turnitin'] = 'Turnitin';
-$string['task_name'] = 'Turnitin Plagiarism Plugin Task';
$string['connecttesterror'] = 'There was an error connecting to Turnitin the return error message is below:
';
-// Assignment Settings
+// Assignment Settings.
$string['turnitin:enable'] = 'Enable Turnitin';
$string['excludebiblio'] = 'Exclude Bibliography';
$string['excludequoted'] = 'Exclude Quoted Material';
@@ -77,7 +95,7 @@
$string['noscriptula'] = '(As you do not have javascript enabled you will have to manually refresh this page before you can make a submission after accepting the Turnitin User Agreement)';
$string['filedoesnotexist'] = 'File has been deleted';
-// Plugin settings
+// Plugin settings.
$string['config'] = 'Configuration';
$string['defaults'] = 'Default Settings';
$string['showusage'] = 'Show Data Dump';
@@ -108,20 +126,20 @@
$string['course'] = 'Course';
$string['module'] = 'Module';
-// Grade book/View assignment page
+// Grade book/View assignment page.
$string['turnitin:viewfullreport'] = 'View Originality Report';
$string['launchrubricview'] = 'View the Rubric used for marking';
$string['turnitinppulapost'] = 'Your file has not been submitted to Turnitin. Please click here to accept our EULA.';
$string['ppsubmissionerrorseelogs'] = 'This file has not been submitted to Turnitin, please consult your system administrator';
$string['ppsubmissionerrorstudent'] = 'This file has not been submitted to Turnitin, please consult your tutor for further details';
-// Receipts
+// Receipts.
$string['messageprovider:submission'] = 'Turnitin Plagiarism Plugin Digital Receipt notifications';
$string['digitalreceipt'] = 'Digital Receipt';
$string['digital_receipt_subject'] = 'This is your Turnitin Digital Receipt';
$string['pp_digital_receipt_message'] = 'Dear {$a->firstname} {$a->lastname},
You have successfully submitted the file {$a->submission_title} to the assignment {$a->assignment_name}{$a->assignment_part} in the class {$a->course_fullname} on {$a->submission_date}. Your submission id is {$a->submission_id}. Your full digital receipt can be viewed and printed from the print/download button in the Document Viewer.
Thank you for using Turnitin,
The Turnitin Team';
-// Paper statuses
+// Paper statuses.
$string['turnitinid'] = 'Turnitin ID';
$string['turnitinstatus'] = 'Turnitin status';
$string['pending'] = 'Pending';
@@ -132,7 +150,7 @@
$string['student_notread'] = 'The student has not viewed this paper.';
$string['launchpeermarkreviews'] = 'Launch Peermark Reviews';
-// Cron
+// Cron.
$string['ppqueuesize'] = 'Number of events in the Plagiarism Plugin events queue';
$string['ppcronsubmissionlimitreached'] = 'No further submissions will be sent to Turnitin by this cron execution as only {$a} are processed per run';
$string['cronsubmittedsuccessfully'] = 'Submission: {$a->title} (TII ID: {$a->submissionid}) for the assignment {$a->assignmentname} on the course {$a->coursename} was successfully submitted to Turnitin.';
@@ -140,7 +158,7 @@
$string['turnitindeletionerror'] = 'Turnitin submission deletion failed. The local Moodle copy was removed but the submission in Turnitin could not be deleted.';
$string['ppeventsfailedconnection'] = 'No events will be processed by the Turnitin plagiarism plugin by this cron execution as a connection to Turnitin can not be established.';
-// Error codes
+// Error codes.
$string['tii_submission_failure'] = 'Please consult your tutor or system administrator for further details';
$string['faultcode'] = 'Fault Code';
$string['line'] = 'Line';
@@ -169,14 +187,19 @@
$string['pp_updatesubmissionerror'] = 'There was an error trying to resubmit your submission to Turnitin';
$string['tiisubmissiongeterror'] = 'There was an error when trying to get a submission from Turnitin';
-// Javascript
+// Javascript.
$string['closebutton'] = 'Close';
$string['loadingdv'] = 'Loading Turnitin Document Viewer...';
$string['changerubricwarning'] = 'Changing or detaching a rubric will remove all existing rubric scoring from papers in this assignment, including scorecards which have previously been marked. Overall grades for previously graded papers will remain.';
$string['messageprovider:submission'] = 'Turnitin Plagiarism Plugin Digital Receipt notifications';
-// Turnitin Submission Status
+// Turnitin Submission Status.
$string['turnitinstatus'] = 'Turnitin status';
$string['deleted'] = 'Deleted';
$string['pending'] = 'Pending';
$string['because'] = 'This was because an administrator deleted the pending assignment from the processing queue and aborted the submission to Turnitin.
The file still exists in Moodle, please contact your instructor.
Please see below for any error codes:';
+
+$string['errorcode10'] = 'This file has not been submitted to Turnitin because there is a problem creating the class in Turnitin which is preventing submissions, please consult your API logs for further information';
+$string['queued'] = 'Queued';
+$string['updatereportscores'] = 'Update Report Scores for Turnitin Plagiarism Plugin';
+$string['sendqueuedsubmissions'] = 'Send Queued Files from the Turnitin Plagiarism Plugin';
\ No newline at end of file
diff --git a/lang/es/plagiarism_turnitin.php b/lang/es/plagiarism_turnitin.php
new file mode 100755
index 00000000..8adf559f
--- /dev/null
+++ b/lang/es/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin de plagio de Turnitin';
+$string['turnitintooltwo'] = 'Herramienta Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Tarea del plugin de plagio de Turnitin';
+$string['connecttesterror'] = 'Ha ocurrido un error al conectarse a Turnitin, el mensaje del error se muestra abajo:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Habilitar Turnitin';
+$string['excludebiblio'] = 'Excluir bibliografía';
+$string['excludequoted'] = 'Excluir citas bibliográficas';
+$string['excludevalue'] = 'Excluir coincidencias pequeñas';
+$string['excludewords'] = 'Palabras';
+$string['excludepercent'] = 'Porcentaje';
+$string['norubric'] = 'Sin matriz de evaluación';
+$string['otherrubric'] = 'Utilizar la matriz de evaluación de otro profesor';
+$string['attachrubric'] = 'Adjuntar una matriz de evaluación a este ejercicio';
+$string['launchrubricmanager'] = 'Iniciar el administrador de matrices de evaluación';
+$string['attachrubricnote'] = 'Nota: Los estudiantes podrán ver las matrices de evaluación adjuntas y su contenido, antes de realizar la entrega.';
+$string['erater_handbook_advanced'] = 'Avanzado';
+$string['erater_handbook_highschool'] = 'Instituto de Bachillerato';
+$string['erater_handbook_middleschool'] = 'Instituto de Educación Secundaria';
+$string['erater_handbook_elementary'] = 'Escuela Primaria';
+$string['erater_handbook_learners'] = 'Aprendices de inglés';
+$string['erater_dictionary_enus'] = 'Diccionario inglés (Estados Unidos)';
+$string['erater_dictionary_engb'] = 'Diccionario inglés (Reino Unido)';
+$string['erater_dictionary_en'] = 'Diccionarios inglés (Estados Unidos y Reino Unido)';
+$string['erater'] = 'Habilitar la revisión de ortografía de e-rater';
+$string['erater_handbook'] = 'Manual de ETS©';
+$string['erater_dictionary'] = 'Diccionario e-rater';
+$string['erater_categories'] = 'Categorías e-rater';
+$string['erater_spelling'] = 'Ortografía';
+$string['erater_grammar'] = 'Gramática';
+$string['erater_usage'] = 'Uso';
+$string['erater_mechanics'] = 'Mecánica';
+$string['erater_style'] = 'Estilo';
+$string['anonblindmarkingnote'] = 'Nota: Se ha eliminado la configuración de comentarios anónimos de Turnitin. Turnitin utilizará la configuración de comentarios anónimos de Moodle para establecer la configuración de comentarios anónimos.';
+$string['transmatch'] = 'Coincidencias traducidas';
+$string['genduedate'] = 'Generar reportes en la fecha límite de entrega (las segundas entregas se permiten hasta la fecha límite de entrega)';
+$string['genimmediately1'] = 'Generar informes inmediatamente (no se permiten segundas entregas)';
+$string['genimmediately2'] = 'Generar informes inmediatamente (se permitirán segundas entregas hasta la fecha de entrega)';
+$string['launchquickmarkmanager'] = 'Activar el administrador de Quickmark';
+$string['launchpeermarkmanager'] = 'Activar el administrador de Peermark';
+$string['studentreports'] = 'Mostrar los reportes de originalidad a los estudiantes';
+$string['studentreports_help'] = 'Permite mostrar los Informes de Originalidad Turnitin a los estudiantes usuarios. Si está configurado a Sí, el Informe de Originalidad generado por Turnitin estará disponible para ser visto por el estudiante.';
+$string['submitondraft'] = 'Entregar el archivo en cuanto esté cargado';
+$string['submitonfinal'] = 'Entregar el archivo cuando el estudiantes lo envía para su corrección';
+$string['draftsubmit'] = '¿Cuándo debe entregarse el archivo a Turnitin?';
+$string['allownonor'] = '¿Permitir la entrega de cualquier tipo de archivo?';
+$string['allownonor_help'] = 'Esta configuración permitirá que se entregue cualquier tipo de archivo. Con esta opción seleccionada en "Sí", se comprobará la originalidad de las entregas siempre que sea posible, estas estarán disponibles para descargar y las herramientas de comentarios de GradeMark estarán disponibles siempre que sea posible.';
+$string['norepository'] = 'No hay depósitos';
+$string['standardrepository'] = 'Depósito estándar';
+$string['submitpapersto'] = 'Almacenar trabajos del estudiante';
+$string['institutionalrepository'] = 'Depósito institucional (cuando existe)';
+$string['submitpapersto_help'] = 'Esta opción proporciona a los profesores la alternativa de decidir si los trabajos deben guardarse en un depósito de trabajos de estudiantes de Turnitin. El beneficio de entregar trabajos al depósito de trabajos de estudiantes es que los trabajos que se entreguen al ejercicio se compararán con las entregas de otros estudiantes 'dentro de tus clases, antiguas y actuales. Si seleccionas "sin depósito", los trabajos de tus estudiantes' no se guardarán en el depósito de trabajos de estudiantes de Turnitin.';
+$string['checkagainstnote'] = 'Nota: Si no seleccionas “Sí” en al menos una de las opciones de “Comparar con...” que se encuentran más abajo, NO se generará el reporte de originalidad.';
+$string['spapercheck'] = 'Comparar con trabajos almacenados de estudiantes';
+$string['internetcheck'] = 'Comparar con Internet';
+$string['journalcheck'] = 'Comparar con diarios,
revistas y otras publicaciones';
+$string['compareinstitution'] = 'Comparar los archivos entregados con los trabajos entregados dentro de esta institución';
+$string['reportgenspeed'] = 'Rapidez de generación del reporte';
+$string['genspeednote'] = 'Nota: La generación del reporte de originalidad en el caso de segundas entregas está condicionada por un retraso de veinticuatro horas.';
+$string['locked_message'] = 'Mensaje bloqueado';
+$string['locked_message_help'] = 'Si cualquier configuración está bloqueada, se muestra este mensaje para indicar el motivo.';
+$string['locked_message_default'] = 'Esta configuración está bloqueada en el nivel del sitio.';
+$string['sharedrubric'] = 'Matriz de evaluación compartida';
+$string['turnitinrefreshsubmissions'] = 'Actualizar entregas';
+$string['turnitinrefreshingsubmissions'] = 'Actualizando entregas';
+$string['turnitinppulapre'] = 'Para poder enviar un archivo a Turnitin primero debes aceptar nuestro acuerdo de licencia de software. Si eliges no aceptar dicha licencia se enviará el archivo a Moodle únicamente. Haz clic aquí para aceptar.';
+$string['noscriptula'] = '(Como no tienes javascript habilitado, tendrás que actualizar manualmente esta página antes de poder realizar una entrega después de aceptar el acuerdo de usuario de Turnitin)';
+$string['filedoesnotexist'] = 'El archivo ha sido eliminado';
+
+// Plugin settings.
+$string['config'] = 'Configuración';
+$string['defaults'] = 'Configuración predeterminada';
+$string['showusage'] = 'Mostrar volcado de datos';
+$string['saveusage'] = 'Guardar volcado de datos';
+$string['errors'] = 'Errores';
+$string['turnitinconfig'] = 'Configuración del plugin de plagio de Turnitin';
+$string['tiiexplain'] = 'Turnitin es un producto comercial y debes estar suscrito para utilizar el servicio. Para obtener más información visita http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Habilitar Turnitin';
+$string['useturnitin_mod'] = 'Habilitar Turnitin para {$a}';
+$string['pp_configuredesc'] = 'Debes configurar este módulo dentro del módulo de turnitintooltwo. Haz clic aquí para configurar este plugin';
+$string['turnitindefaults'] = 'Configuración predeterminada del plugin de plagio de Turnitin';
+$string['defaultsdesc'] = 'Los siguientes son los ajustes predeterminados cuando se habilita Turnitin dentro de un módulo de actividad';
+$string['turnitinpluginsettings'] = 'Configuración del plugin de plagio de Turnitin';
+$string['pperrorsdesc'] = 'Ha ocurrido un problema al intentar cargar en Turnitin los archivos que se detallan a continuación. Para volver a entregar, seleccione los archivos que deseas cargar y presiona el botón para volver a entregar. Así, los archivos podrán ser procesados la próxima vez que se ejecute cron.';
+$string['pperrorssuccess'] = 'Los archivos que seleccionaste han sido entregados de nuevo y serán procesador por cron.';
+$string['pperrorsfail'] = 'Hubo un problema con algunos de los archivos seleccionados. No se pudo crear un nuevo evento de cron para ellos.';
+$string['resubmitselected'] = 'Volver a entregar archivos seleccionados';
+$string['deleteconfirm'] = '¿Estás seguro de que quieres eliminar esta entrega?\n\nEsta acción no puede deshacerse.';
+$string['deletesubmission'] = 'Eliminar entrega';
+$string['semptytable'] = 'No se han encontrado resultados.';
+$string['configupdated'] = 'Configuración actualizada';
+$string['defaultupdated'] = 'Las opciones predeterminadas de Turnitin se han actualizado';
+$string['notavailableyet'] = 'No está disponible';
+$string['resubmittoturnitin'] = 'Volver a entregar a Turnitin';
+$string['resubmitting'] = 'Volver a entregar';
+$string['id'] = 'Identificador';
+$string['student'] = 'Estudiante';
+$string['course'] = 'Curso';
+$string['module'] = 'Módulo';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Ver el reporte de originalidad';
+$string['launchrubricview'] = 'Ver la matriz de evaluación que se ha usado para corregir';
+$string['turnitinppulapost'] = 'El archivo no ha sido entregado a Turnitin. Haz clic aquí para aceptar el acuerdo de licencia de software.';
+$string['ppsubmissionerrorseelogs'] = 'Este archivo no se ha entregado a Turnitin. Consulta con el administrador del sistema';
+$string['ppsubmissionerrorstudent'] = 'Este archivo no se ha entregado a Turnitin. Consulta con tu tutor para obtener más detalles';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Notificaciones con recibo digital del plugin de plagio de Turnitin';
+$string['digitalreceipt'] = 'Recibo digital';
+$string['digital_receipt_subject'] = 'Este es su recibo digital de Turnitin';
+$string['pp_digital_receipt_message'] = 'Estimado {$a->firstname} {$a->lastname}:
Ha enviado correctamente el archivo {$a->submission_title} para el trabajo {$a->assignment_name}{$a->assignment_part} de la clase {$a->course_fullname} en {$a->submission_date}. El código de identificación de la entrega es {$a->submission_id}. El recibo digital completo está disponible para ser visto e impreso mediante el botón imprimir/descargar que se encuentra en el visor de documentos.
Gracias por utilizar Turnitin,
El equipo de Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'Identificador de Turnitin';
+$string['turnitinstatus'] = 'Estado de Turnitin';
+$string['pending'] = 'Pendiente';
+$string['similarity'] = 'Similitud';
+$string['notorcapable'] = 'No es posible producir un reporte de originalidad para este archivo.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'El estudiante ha visto este trabajo el:';
+$string['student_notread'] = 'El estudiante no ha visto este trabajo.';
+$string['launchpeermarkreviews'] = 'Activar las revisiones de Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Cantidad de eventos en la lista de eventos del plugin de plagio';
+$string['ppcronsubmissionlimitreached'] = 'No se enviarán otras entregas a Turnitin mediante esta ejecución de cron, ya que solamente se procesan {$a} por cada ejecución';
+$string['cronsubmittedsuccessfully'] = 'Entrega: {$a->title} (ID de TII: {$a->submissionid}) para el trabajo {$a->assignmentname} del curso {$a->coursename} se entregó correctamente a Turnitin.';
+$string['pp_submission_error'] = 'Turnitin muestra un error con su entrega:';
+$string['turnitindeletionerror'] = 'La eliminación de la entrega a Turnitin ha fallado. La copia local de Moodle ha sido eliminada, pero la entrega a Turnitin no.';
+$string['ppeventsfailedconnection'] = 'No se procesarán eventos mediante el plugin de plagio de Turnitin que se lleva a cabo mediante esta ejecución de cron, debido a que no puede establecerse una conexión con Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Consulta con tu tutor o administrador para obtener más detalles';
+$string['faultcode'] = 'Código de errores';
+$string['line'] = 'Línea';
+$string['message'] = 'Mensaje';
+$string['code'] = 'Código';
+$string['tiisubmissionsgeterror'] = 'Ha ocurrido un error al intentar obtener entregas de este ejercicio de Turnitin';
+$string['errorcode0'] = 'Este archivo no se ha entregado a Turnitin. Consulta con el administrador del sistema';
+$string['errorcode1'] = 'Este archivo no ha sido enviado a Turnitin dado que no tiene suficiente contenido como para generar un reporte de originalidad.';
+$string['errorcode2'] = 'Este archivo no se entregará a Turnitin, ya que excede el tamaño máximo de {$a}permitido';
+$string['errorcode3'] = 'Este archivo no se ha entregado a Turnitin porque el usuario no ha aceptado el acuerdo de licencia del usuario final de Turnitin';
+$string['errorcode4'] = 'Debe cargar un tipo de archivo compatible para este ejercicio. Los tipos de archivo admitidos son: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps y .rtf';
+$string['errorcode5'] = 'Este archivo no se ha entregado a Turnitin porque hay un problema al crear el módulo en Turnitin que impide las entregas, consulta los registros de tu API para obtener más información';
+$string['errorcode6'] = 'Este archivo no se ha entregado a Turnitin porque hay un problema al editar la configuración del módulo en Turnitin que impide las entregas, consulta los registros de tu API para obtener más información';
+$string['errorcode7'] = 'Este archivo no se ha entregado a Turnitin porque hay un problema al crear el usuario en Turnitin que impide las entregas, consulta los registros de tu API para obtener más información';
+$string['errorcode8'] = 'Este archivo no se ha entregado a Turnitin porque existe un problema al crear el archivo temp. La causa más probable es que el nombre del archivo no sea válido. Cambia el nombre del archivo y repite la carga con Editar entrega.';
+$string['errorcode9'] = 'El archivo no puede entregarse, ya que no existe contenido accesible en el grupo de archivos por entregar.';
+$string['coursegeterror'] = 'No se pudieron obtener datos del curso';
+$string['configureerror'] = 'Debes configurar este módulo completamente como administrador antes de usarlo dentro de un curso. Ponte en contacto con tu administrador de Moodle.';
+$string['turnitintoolofflineerror'] = 'Estamos experimentando un problema temporal. Vuelve a intentarlo más tarde.';
+$string['defaultinserterror'] = 'Ha ocurrido un error al intentar insertar un ajuste predeterminado en la base de datos';
+$string['defaultupdateerror'] = 'Ha ocurrido un error al intentar actualizar un ajuste predeterminado en la base de datos';
+$string['tiiassignmentgeterror'] = 'Ha ocurrido un error al intentar obtener un ejercicio de Turnitin';
+$string['assigngeterror'] = 'No se han podido obtener los datos de turnitintooltwo';
+$string['classupdateerror'] = 'No se pudieron actualizar los datos de la clase de Turnitin';
+$string['pp_createsubmissionerror'] = 'Ha ocurrido un error al intentar crear la entrega en Turnitin';
+$string['pp_updatesubmissionerror'] = 'Ha ocurrido un error al intentar entregar de nuevo tu entrega en Turnitin';
+$string['tiisubmissiongeterror'] = 'Ha ocurrido un error al intentar obtener una entrega de Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Cerrar';
+$string['loadingdv'] = 'Cargando el visor de documentos de Turnitin...';
+$string['changerubricwarning'] = 'Cambiar o desvincular una matriz de evaluación eliminará todas las correcciones existentes de los trabajos de este ejercicio, incluidas las que ya se han utilizado. Las notas generales de otros trabajos corregidos anteriormente se mantendrán.';
+$string['messageprovider:submission'] = 'Notificaciones con recibo digital del plugin de plagio de Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Estado de Turnitin';
+$string['deleted'] = 'Eliminado';
+$string['pending'] = 'Pendiente';
+$string['because'] = 'Se debe a que un administrador eliminó el ejercicio pendiente de la lista de procesamiento y abortó la entrega a Turnitin.
El archivo aún existe en Moodle, póngase en contacto con su instructor.
Vea los detalles a continuación para identificar los códigos de errores:';
diff --git a/lang/fi/plagiarism_turnitin.php b/lang/fi/plagiarism_turnitin.php
new file mode 100755
index 00000000..bd27e07f
--- /dev/null
+++ b/lang/fi/plagiarism_turnitin.php
@@ -0,0 +1,203 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin plagiointi plugin-laajennus';
+$string['turnitintooltwo'] = 'Turnitin-työkalu';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin plagiointi plugin-tehtävä';
+$string['connecttesterror'] = 'Turnitiniin liittymisessä ilmeni virhe. Palautettu virheilmoitus on alla:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Aktivoi Turnitin';
+$string['excludebiblio'] = 'Jätä kirjallisuusluettelo pois';
+$string['excludequoted'] = 'Sulje Lainaukset Pois';
+$string['excludevalue'] = 'Sulje pois pienet vastineet';
+$string['excludewords'] = 'Sanaa';
+$string['excludepercent'] = 'Prosenttia';
+$string['norubric'] = 'Ei arvostelumatriisia';
+$string['otherrubric'] = 'Käytä toiselle ohjaajalle kuuluvaa arvostelumatriisia';
+$string['attachrubric'] = 'Liitä tähän tehtävään arvostelumatriisi';
+$string['launchrubricmanager'] = 'Käynnistä Arvostelumatriisin Hallitsija';
+$string['attachrubricnote'] = 'Huomaa: opiskelijat pystyvät näkemään liitetyt arvostelumatriisit ja niiden sisällön ennen palautusta.';
+$string['erater_handbook_advanced'] = 'Lisäasetukset';
+$string['erater_handbook_highschool'] = 'Lukio';
+$string['erater_handbook_middleschool'] = 'Ylä-aste';
+$string['erater_handbook_elementary'] = 'Ala-aste';
+$string['erater_handbook_learners'] = 'Englannin kielen Oppijat';
+$string['erater_dictionary_enus'] = 'USA:n englannin Sanakirja';
+$string['erater_dictionary_engb'] = 'Brittiläisen englannin Sanakirja';
+$string['erater_dictionary_en'] = 'Sekä Amerikan että Brittiläisen englannin Sanakirjat';
+$string['erater'] = 'Aktivoi e-rater oikeinkirjoituksen tarkistus';
+$string['erater_handbook'] = 'ETS© Käsikirja';
+$string['erater_dictionary'] = 'e-rater Sanakirja';
+$string['erater_categories'] = 'e-rater Kategoriat';
+$string['erater_spelling'] = 'Oikeinkirjoitus';
+$string['erater_grammar'] = 'Kielioppi';
+$string['erater_usage'] = 'Käyttö';
+$string['erater_mechanics'] = 'Mekaniikka';
+$string['erater_style'] = 'Tyyli';
+$string['anonblindmarkingnote'] = 'Huomautus: Erillinen Turnitinin nimetön merkintäasetus on poistettu. Turnitin käyttää Moodlen sokkomerkintäasetusta nimettömän merkintäasetuksen määrityksessä.';
+$string['transmatch'] = 'Käännetty Vertailu';
+$string['genduedate'] = 'Luo raportit eräpäivänä (uudelleenpalautukset on sallittu eräpäivään asti)';
+$string['genimmediately1'] = 'Luo raportit heti (uudelleenpalautukset eivät ole sallittuja)';
+$string['genimmediately2'] = 'Luo raportit heti (uudelleenpalautukset ovat sallittuja eräpäivään asti)';
+$string['launchquickmarkmanager'] = 'Käynnistä Quickmark Hallitsija';
+$string['launchpeermarkmanager'] = 'Käynnistä Peermark Hallitsija';
+$string['studentreports'] = 'Näytä Alkuperäisyysraportit Opiskelijoille';
+$string['studentreports_help'] = 'Sallii sinun näyttää opiskelija-käyttäjille Turnitinin Alkuperäisyysraportteja. Mikäli asetus on kyllä, tulevat
+Turnitinin kehittämät alkuperäisyysraportit olemaan opiskelijan nähtävissä.';
+$string['submitondraft'] = 'Palauta tiedosto ensimmäisen siirron yhteydessä';
+$string['submitonfinal'] = 'Palauta tiedosto, kun opiskelija lähettää sen merkintää varten';
+$string['draftsubmit'] = 'Milloin tiedosto pitää palauttaa Turnitiniin?';
+$string['allownonor'] = 'Salli palautus missä tahansa tiedostoformaatissa?';
+$string['allownonor_help'] = 'Tämä asetus sallii minkä tahansa tiedostosformaatin palautuksen. Kun tämä vaihtoehto on asetettu asentoon "Kyllä", tullaan palautusten alkuperäisyys tarkistamaan missä se on mahdollista, palautukset voidaan ladata palvelimelta ja GradeMark-palautetyökalut ovat käytettävissä missä se on mahdollista.';
+$string['norepository'] = 'Ei Arkistoa';
+$string['standardrepository'] = 'Vakioarkisto';
+$string['submitpapersto'] = 'Varastoi Opiskelijatyöt';
+$string['institutionalrepository'] = 'Laitoskohtainen Arkisto (Mikäli Soveltuu)';
+$string['submitpapersto_help'] = 'Tällä asetuksella ohjaajat voivat valita tullaanko työt varastoimaan Turnitinin opiskelijatöiden arkistoon. Etu töiden opiskelijatöiden arkistoon lähettämisessä on se, että palautetut opiskelijatyöt tullaan tarkistamaan muiden opiskelijoiden palautuksia vastaan sekä nykyisten että entisten luokkiesi kesken. Jos valitset "ei arkistoa", ei opiskelijoittesi töitä tulla varastoimaan Turnitinin opiskelijatöiden arkistoon.';
+$string['checkagainstnote'] = 'Huomautus: Jos et valitse "Kyllä" vähintään yhdessä ”Tarkista... vastaan" -kohdassa alla, Alkuperäisyysraporttia EI luoda.';
+$string['spapercheck'] = 'Tarkista varastoituja opiskelijatöitä vastaan';
+$string['internetcheck'] = 'Tarkista Internetiä vastaan';
+$string['journalcheck'] = 'Tarkista sanomalehtiä,
aikakauslehtiä ja julkaisuja vastaan';
+$string['compareinstitution'] = 'Vertaa palautettuja tiedostoja tämän oppilaitoksen sisällä palautettuihin töihin';
+$string['reportgenspeed'] = 'Raportin Kehittämisnopeus';
+$string['genspeednote'] = 'Huomautus: Alkuperäisyysraportin luonnissa on 24 tunnin viive uudelleenpalautusten kohdalla.';
+$string['locked_message'] = 'Lukittu viesti';
+$string['locked_message_help'] = 'Jos jokin asetus on lukittu, tämä sanoma ilmaisee syyn.';
+$string['locked_message_default'] = 'Tämä asetus on lukittu sivustotasolla.';
+$string['sharedrubric'] = 'Jaettu Arvostelumatriisi';
+$string['turnitinrefreshsubmissions'] = 'Päivitä Palautukset';
+$string['turnitinrefreshingsubmissions'] = 'Palautusten Päivitys';
+$string['turnitinppulapre'] = 'Jotta voit palauttaa tiedoston Turnitiniin, sinun täytyy ensin hyväksyä käyttöoikeussopimuksemme. Jos et hyväksy käyttöoikeussopimustamme, tiedostosi palautetaan vain Moodleen. Hyväksy napsauttamalla tätä.';
+$string['noscriptula'] = '(Joudut päivittämään tämän sivun manuaalisesti, koska sinulla ei ole JavaScriptiä käytössä, ennenkuin voit, -Turnitinin Käyttäjäsopimuksen hyväksymisen jälkeen, tehdä palautuksen)';
+$string['filedoesnotexist'] = 'Tiedosto on hävitetty';
+
+// Plugin settings.
+$string['config'] = 'Konfiguraatio';
+$string['defaults'] = 'Oletusarvoiset asetukset';
+$string['showusage'] = 'Näytä Data Dump';
+$string['saveusage'] = 'Tallenna Data Dump';
+$string['errors'] = 'Virheitä';
+$string['turnitinconfig'] = 'Turnitin Plagiointi Plugin-lisäosan konfigurointi';
+$string['tiiexplain'] = 'Turnitin on kaupallinen tuote, ja sinulla pitää olla maksettu tilaus voidaksesi käyttää tätä palvelua. Lisätietoja saat täältä: http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Aktivoi Turnitin';
+$string['useturnitin_mod'] = 'Aktivoi Turnitin {$a}';
+$string['pp_configuredesc'] = 'Sinun täytyy konfiguroida tämä moduuli turnitintooltwo-moduulissa. Voit konfiguroida tämän plugin-laajennuksen napsauttamalla tätä';
+$string['turnitindefaults'] = 'Turnitin plagiarismi plugin-laajennuksen oletusasetukset';
+$string['defaultsdesc'] = 'Seuraavat asetukset ovat oletusarvot silloin kun Turnitin on aktivoitu Toimintamoduulin sisällä';
+$string['turnitinpluginsettings'] = 'Turnitin plagiarismi plugin-laajennuksen asetukset';
+$string['pperrorsdesc'] = 'Seuraavien tiedostojen siirrossa Turnitiniin ilmeni ongelma. Voit yrittää palautusta uudelleen valitsemalla haluamasi tiedostot ja painamalla Palauta uudelleen -painiketta. Tiedostot käsitellään, kun cron suoritetaan seuraavan kerran.';
+$string['pperrorssuccess'] = 'Valitsemasi tiedostot on palautettu uudelleen, ja cron käsittelee ne.';
+$string['pperrorsfail'] = 'Joidenkin valitsemiesi tiedostojen kohdalla on ilmennyt ongelma. Niille ei voitu luoda uutta cron-tapahtumaa.';
+$string['resubmitselected'] = 'Palauta valitut tiedostot uudelleen';
+$string['deleteconfirm'] = 'Oletko varma, että haluat poistaa tämän palautuksen?\n\nTätä toimintoa ei voi peruuttaa.';
+$string['deletesubmission'] = 'Poista Palautus';
+$string['semptytable'] = 'Tuloksia ei löytynyt.';
+$string['configupdated'] = 'Konfigurointi päivitetty';
+$string['defaultupdated'] = 'Turnitin oletusarvot päivitetty';
+$string['notavailableyet'] = 'Ei saatavilla';
+$string['resubmittoturnitin'] = 'Palauta uudelleen Turnitiniin';
+$string['resubmitting'] = 'Palautetaan uudelleen';
+$string['id'] = 'tunnus';
+$string['student'] = 'Opiskelija';
+$string['course'] = 'Kurssi';
+$string['module'] = 'Moduuli';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Katsele Alkuperäisyysraporttia';
+$string['launchrubricview'] = 'Katsele merkintään käytettyä Arvostelumatriisia';
+$string['turnitinppulapost'] = 'Tiedostoasi ei ole toimitettu Turnitiniin. Hyväksy käyttöoikeussopimuksemme napsauttamalla tätä.';
+$string['ppsubmissionerrorseelogs'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin. Kysyä neuvoa järjestelmäsi ylläpitäjältä';
+$string['ppsubmissionerrorstudent'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin. Pyydä lisätietoja tuutoriltasi.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin Plagiointi Plugin-lisäosa Sähköinen Kuitti ilmoitukset';
+$string['digitalreceipt'] = 'Sähköinen Kuitti';
+$string['digital_receipt_subject'] = 'Tämä on sähköinen Turnitin-kuittisi';
+$string['pp_digital_receipt_message'] = 'Hyvä {$a->firstname} {$a->lastname}!
Olet palauttanut tiedoston {$a->submission_title} tehtävään {$a->assignment_name}{$a->assignment_part} luokassa {$a->course_fullname} {$a->submission_date}. Palautustunnus on {$a->submission_id}. Voit tarkastella sähköistä kuittiasi tai tulostaa sen Dokumenttikatselimen tulosta/lataa-painikkeella.
Kiitos, että käytät Turnitinia.
Turnitin-tiimi';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin-tunnusluku';
+$string['turnitinstatus'] = 'Turnitin-tila';
+$string['pending'] = 'Avoin';
+$string['similarity'] = 'Yhtäläisyys';
+$string['notorcapable'] = 'Alkuperäisyysraportin kehittäminen tälle tiedostolle on mahdotonta.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Opiskelija katsoi työtä:';
+$string['student_notread'] = 'Opiskelija ei ole katsonut tätä työtä.';
+$string['launchpeermarkreviews'] = 'Käynnistä Peermark Katselmukset';
+
+// Cron.
+$string['ppqueuesize'] = 'Tapahtumien määrä Plagiointi Plugin-lisäosan tapahtumajonossa';
+$string['ppcronsubmissionlimitreached'] = 'Tämä cron-suoritus ei lähetä muita palautuksia Turnitiniin, sillä kerralla käsitellään vain {$a}';
+$string['cronsubmittedsuccessfully'] = 'Palautus: {$a->title} (TII-tunnus: {$a->submissionid}) tehtävään {$a->assignmentname} kurssilla {$a->coursename} palautettiin Turnitiniin.';
+$string['pp_submission_error'] = 'Turnitin ilmoitti virheestä palautuksessa:';
+$string['turnitindeletionerror'] = 'Turnitiniin tehdyn palautuksen poisto epäonnistui. Paikallinen Moodle-kopio poistettiin, mutta Turnitiniin tehdyn palautuksen poisto ei onnistunut.';
+$string['ppeventsfailedconnection'] = 'Turnitin Plagiointi Plugin-lisäosa ei käsittele tapahtumia tässä cron-suorituksessa, sillä yhteyttä Turnitiniin ei voida muodostaa.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Kysy lisätietoja tutoriltasi tai järjestelmäsi ylläpitäjältä';
+$string['faultcode'] = 'Vikakoodi';
+$string['line'] = 'Rivi';
+$string['message'] = 'Viesti';
+$string['code'] = 'Koodi';
+$string['tiisubmissionsgeterror'] = 'Kun tähän tehtävään palautettuja töitä yritettiin saadaTurnitinistä, kohdattiin virhe';
+$string['errorcode0'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin. Kysyä neuvoa järjestelmäsi ylläpitäjältä';
+$string['errorcode1'] = 'Tätä tiedostoa ei ole lähetetty Turnitiniin, sillä tiedostossa ei ole riittävästi sisältöä, jotta Alkuperäisyysraportti voitaisiin luoda.';
+$string['errorcode2'] = 'Tätä tiedostoa ei voi toimittaa Turnitiniin, koska se ylittää sallitun enimmäiskoon {$a}';
+$string['errorcode3'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin, koska käyttäjä ei ole hyväksynyt Turnitinin loppukäyttäjän lisenssisopimusta.';
+$string['errorcode4'] = 'Tätä tehtävää varten on palautettava tuettu tiedostotyyppi. Sallitut tiedostotyypit: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps ja .rtf';
+$string['errorcode5'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin, koska Turnitinin moduulin luontiongelma estää palautukset. Lisätietoja on API-lokeissa';
+$string['errorcode6'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin, koska Turnitinin moduuliasetusten muokkausongelma estää palautukset. Lisätietoja on API-lokeissa';
+$string['errorcode7'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin, koska Turnitinin käyttäjän luontiongelma estää palautukset. Lisätietoja on API-lokeissa';
+$string['errorcode8'] = 'Tätä tiedostoa ei ole toimitettu Turnitiniin, koska tilapäistiedoston luonnissa on ongelma. Todennäköisin syy on virheellinen tiedostonimi. Vaihda tiedoston nimi ja tee siirto uudelleen Muokkaa Palautusta -toiminnolla.';
+$string['errorcode9'] = 'Tiedostoa ei voi palauttaa, koska tiedostovarannossa ei ole palautettavaa sisältöä.';
+$string['coursegeterror'] = 'Kurssin tietoja ei voitu saada';
+$string['configureerror'] = 'Sinun täytyy konfiguroida tämä moduuli Ylläpitäjänä loppuun asti, ennen kuin käytät sitä kurssin sisällä. Ota yhteys Moodlen ylläpitäjään.';
+$string['turnitintoolofflineerror'] = 'Meillä on väliaikainen pulma. Kokeile taas hetken päästä uudestaan.';
+$string['defaultinserterror'] = 'Kun yritettiin lisätä oletusarvoinen asetus tietokantaan, tapahtui
+virhe';
+$string['defaultupdateerror'] = 'Kun yritettiin päivittää oletusarvoinen asetus tietokantaan, tapahtui virhe';
+$string['tiiassignmentgeterror'] = 'Kun tehtävää yritettiin saada Turnitinistä, kohdattiin virhe';
+$string['assigngeterror'] = 'Turnitintyökalukahden tietoja ei saatu';
+$string['classupdateerror'] = 'Turnitin-luokan tietoja ei voitu päivittää';
+$string['pp_createsubmissionerror'] = 'Kun työn palautusta yritettiin luoda Turnitinissä, kohdattiin virhe';
+$string['pp_updatesubmissionerror'] = 'Kun työtäsi yritettiin palauttaa uudelleen Turnitiniin, kohdattiin virhe';
+$string['tiisubmissiongeterror'] = 'Kun palautettua työtä yritettiin saada Turnitinistä, kohdattiin virhe';
+
+// Javascript.
+$string['closebutton'] = 'Sulje';
+$string['loadingdv'] = 'Ladataan Turnitinin Dokumenttikatselinta...';
+$string['changerubricwarning'] = 'Arvostelumatriisin muuttaminen tai irrottaminen poistaa kaiken arvostelumatriisi-arvostelun tämän tehtävän töistä, kuten pistekortit, joihin on aiemmin tehty merkintöjä. Aiemmin arvosteltujen töiden yleisarvosanat jäävät koskematta.';
+$string['messageprovider:submission'] = 'Turnitin Plagiointi Plugin-lisäosa Sähköinen Kuitti ilmoitukset';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin-tila';
+$string['deleted'] = 'Poistettu';
+$string['pending'] = 'Avoin';
+$string['because'] = 'Syynä on se, että ylläpitäjä on poistanut avoimen tehtävän käsittelyjonosta ja keskeyttänyt palautuksen Turnitiniin.
Tiedosto on yhä Moodlessa, joten ota yhteyttä ohjaajaasi.
Mahdolliset virhekoodit löytyvät alta:';
diff --git a/lang/fr/plagiarism_turnitin.php b/lang/fr/plagiarism_turnitin.php
new file mode 100755
index 00000000..b2715c8f
--- /dev/null
+++ b/lang/fr/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin de plagiat Turnitin';
+$string['turnitintooltwo'] = 'Outil Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Tâche du plugin de plagiat Turnitin';
+$string['connecttesterror'] = 'Une erreur est survenue lors de la connexion à Turnitin. Vous trouverez le message d’erreur ci-dessous :
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Activer Turnitin';
+$string['excludebiblio'] = 'Exclure la bibliographie';
+$string['excludequoted'] = 'Exclure les citations';
+$string['excludevalue'] = 'Exclure les faibles correspondances';
+$string['excludewords'] = 'Mots';
+$string['excludepercent'] = 'Pourcentage';
+$string['norubric'] = 'Aucune rubrique';
+$string['otherrubric'] = 'Utiliser la grille d'évaluation appartenant à un autre enseignant';
+$string['attachrubric'] = 'Joindre une rubrique à cet exercice';
+$string['launchrubricmanager'] = 'Démarrer le Gestionnaire de rubrique';
+$string['attachrubricnote'] = 'Remarque : les étudiants pourront voir les rubriques jointes et leurs contenus avant de soumettre leur devoir.';
+$string['erater_handbook_advanced'] = 'Avancé';
+$string['erater_handbook_highschool'] = 'Lycée';
+$string['erater_handbook_middleschool'] = 'Collège';
+$string['erater_handbook_elementary'] = 'École Primaire';
+$string['erater_handbook_learners'] = 'Étudiants en anglais';
+$string['erater_dictionary_enus'] = 'Dictionnaire anglais (États-Unis)';
+$string['erater_dictionary_engb'] = 'Dictionnaire anglais (Royaume-Uni)';
+$string['erater_dictionary_en'] = 'Dictionnaires anglais (États-Unis et Royaume-Uni)';
+$string['erater'] = 'Activer le correcteur de grammaire e-rater';
+$string['erater_handbook'] = 'Manuel ETS©';
+$string['erater_dictionary'] = 'Dictionnaire e-rater';
+$string['erater_categories'] = 'Catégories e-rater';
+$string['erater_spelling'] = 'Orthographe';
+$string['erater_grammar'] = 'Grammaire';
+$string['erater_usage'] = 'Usage';
+$string['erater_mechanics'] = 'Syntaxe';
+$string['erater_style'] = 'Style';
+$string['anonblindmarkingnote'] = 'Remarque : le paramètre d’annotations anonymes à part de Turnitin a été supprimé. Turnitin utilisera le paramètre d’anonymat des copies de Moodle pour déterminer le paramètre d’annotations anonymes.';
+$string['transmatch'] = 'Traducteur de Similitude';
+$string['genduedate'] = 'Générer les rapports à la date limite (les renvois sont autorisés jusqu’à la date limite)';
+$string['genimmediately1'] = 'Génrer les rapports immédiatement (les re-soumissions ne sont pas autorisées)';
+$string['genimmediately2'] = 'Générer les rapports immédiatement (les re-soumissions sont autorisées jusqu´à la date limite)';
+$string['launchquickmarkmanager'] = 'Démarrer le Gestionnaire Quickmark';
+$string['launchpeermarkmanager'] = 'Démarrer le Gestionnaire Peermark';
+$string['studentreports'] = 'Montrer les rapports d’originalité aux étudiants';
+$string['studentreports_help'] = 'Cette option vous permet d’autoriser les étudiants à voir leur Rapport de Similitude. En sélectionnant Oui, le rapport d’analyse généré par Turnitin sera disponible pour les étudiants.';
+$string['submitondraft'] = 'Soumettre le document une fois qu’il est chargé';
+$string['submitonfinal'] = 'Soumettre le document lorsque l'étudiant l'envoie pour l'évaluation';
+$string['draftsubmit'] = 'Quand le document doit-il être envoyé à Turnitin ?';
+$string['allownonor'] = 'Autoriser les envois de tous types de fichiers ?';
+$string['allownonor_help'] = 'Ce paramètre permet l’envoi de tous types de fichiers. Si cette option est configurée sur "Oui", le système vérifiera l’originalité des documents envoyés, si cela est possible ; les documents envoyés pourront être téléchargés et les outils de commentaires GradeMark seront aussi disponibles, si cela est possible.';
+$string['norepository'] = 'Aucune base de données';
+$string['standardrepository'] = 'Base de données standard';
+$string['submitpapersto'] = 'Conserver les copies des étudiants';
+$string['institutionalrepository'] = 'Base de données de l’établissement (le cas échéant)';
+$string['submitpapersto_help'] = 'Cette option permet aux enseignants de choisir de conserver les travaux des étudiants dans la base de données documentaire des étudiants de Turnitin. L'avantage d’un tel choix de stockage est que les travaux soumis à un exercice seront comparés avec l'ensemble des autres copies envoyées par les étudiants pour vos cours actuels et passés. Si vous sélectionnez "Aucune base de données", les travaux de vos élèves ne seront pas conservés dans la base de données documentaire des étudiants.';
+$string['checkagainstnote'] = 'Remarque : si vous ne sélectionnez pas « Oui » pour au moins une des options « Comparer avec... » ci-dessous, AUCUN rapport d’originalité ne sera généré.';
+$string['spapercheck'] = 'Comparer avec la base de données des copies des étudiants';
+$string['internetcheck'] = 'Comparer avec Internet';
+$string['journalcheck'] = 'Comparer avec les journaux,
les revues et les publications';
+$string['compareinstitution'] = 'Comparer les fichiers envoyés avec les copies soumises à l’établissement';
+$string['reportgenspeed'] = 'Vitesse de traitement du rapport';
+$string['genspeednote'] = 'Remarque : le traitement de rapports d’originalité pour les renvois est soumise à un délai de vingt-quatre heures.';
+$string['locked_message'] = 'Message verrouillé';
+$string['locked_message_help'] = 'Si un paramètre est verrouillé, ce message s’affiche pour expliquer pourquoi.';
+$string['locked_message_default'] = 'Ce paramètre est verrouillé à l’échelle du site';
+$string['sharedrubric'] = 'Rubrique partagée';
+$string['turnitinrefreshsubmissions'] = 'Actualiser les envois';
+$string['turnitinrefreshingsubmissions'] = 'Actualisation des envois';
+$string['turnitinppulapre'] = 'Pour envoyer un fichier à Turnitin, vous devez d’abord accepter notre CLUF. Si vous ne l’acceptez pas, votre fichier ne sera envoyé qu’à Moodle. Cliquez ici pour accepter.';
+$string['noscriptula'] = '(Comme vous n’avez pas JavaScript activé, vous devez manuellement actualiser cette page avant de pouvoir envoyer un document, et ce, après avoir accepté le contrat d’utilisateur de Turnitin)';
+$string['filedoesnotexist'] = 'Le fichier a été supprimé';
+
+// Plugin settings.
+$string['config'] = 'Configuration';
+$string['defaults'] = 'Réglages par défaut';
+$string['showusage'] = 'Affichez le contenu de la base de données';
+$string['saveusage'] = 'Enregistrer le contenu de la base de données';
+$string['errors'] = 'Erreurs';
+$string['turnitinconfig'] = 'Configuration du plugin de plagiat Turnitin';
+$string['tiiexplain'] = 'Turnitin est un produit commercial ; pour utiliser ce service, vous devez l’acheter. Pour plus d’informations, veuillez consulter la page http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Activer Turnitin';
+$string['useturnitin_mod'] = 'Activer Turnitin pour {$a}';
+$string['pp_configuredesc'] = 'Vous devez configurer ce module depuis le module turnitintooltwo. Veuillez cliquer ici pour configurer ce plugin';
+$string['turnitindefaults'] = 'Paramètres par défaut du plugin de plagiat Turnitin';
+$string['defaultsdesc'] = 'Les réglages suivants sont configurés par défaut lorsque Turnitin est activé depuis un Module d’activité';
+$string['turnitinpluginsettings'] = 'Paramètres du plugin de plagiat Turnitin';
+$string['pperrorsdesc'] = 'Un problème est survenu durant le chargement des fichiers ci-dessous vers Turnitin. Pour procéder à un renvoi, sélectionnez les fichiers que vous souhaitez renvoyer et cliquez sur le bouton Renvoyer. Ils seront alors traités durant la prochaine exécution de cron.';
+$string['pperrorssuccess'] = 'Les fichiers sélectionnés ont été renvoyés et seront traités par cron.';
+$string['pperrorsfail'] = 'Un problème est survenu avec certains des fichiers sélectionnés, un nouvel événement cron n’a pas pu être créé pour eux.';
+$string['resubmitselected'] = 'Renvoyer les fichiers sélectionnés';
+$string['deleteconfirm'] = 'Voulez-vous vraiment supprimer cet envoi ?\n\nCette opération ne peut pas être annulée.';
+$string['deletesubmission'] = 'Supprimer cet envoi';
+$string['semptytable'] = 'Aucun résultat trouvé.';
+$string['configupdated'] = 'Configuration mise à jour';
+$string['defaultupdated'] = 'Mise à jour de Turnitin par défaut';
+$string['notavailableyet'] = 'Non disponible';
+$string['resubmittoturnitin'] = 'Renvoyer à Turnitin';
+$string['resubmitting'] = 'Renvoi en cours';
+$string['id'] = 'N°';
+$string['student'] = 'Étudiant';
+$string['course'] = 'Cours';
+$string['module'] = 'Module';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Afficher le rapport d’originalité';
+$string['launchrubricview'] = 'Voir la rubrique utilisée pour corriger';
+$string['turnitinppulapost'] = 'Votre fichier n’a pas été renvoyé à Turnitin. Veuillez cliquer ici pour accepter notre CLUF.';
+$string['ppsubmissionerrorseelogs'] = 'Le fichier n’a pas été envoyé à Turnitin, veuillez consulter votre administrateur système pour plus de renseignements';
+$string['ppsubmissionerrorstudent'] = 'Le fichier n’a pas été envoyé à Turnitin, veuillez consulter votre tuteur pour plus de renseignements';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Notifications d’accusé de réception électronique du plugin de plagiat Turnitin';
+$string['digitalreceipt'] = 'Accusé de réception électronique';
+$string['digital_receipt_subject'] = 'Voici votre accusé de réception électronique Turnitin';
+$string['pp_digital_receipt_message'] = 'Cher(e) {$a->firstname} {$a->lastname},
Vous avez bien envoyé le fichier {$a->submission_title} pour l’exercice {$a->assignment_name}{$a->assignment_part} du cours {$a->course_fullname} le {$a->submission_date}. Votre numéro d’envoi est le {$a->submission_id}. Votre accusé de réception électronique peut être consulté dans son intégralité et imprimé à l’aide du bouton Imprimer/Télécharger dans le Visualiseur de documents.
Merci d’utiliser Turnitin,
L’équipe Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'N° Turnitin';
+$string['turnitinstatus'] = 'Statut de Turnitin';
+$string['pending'] = 'En attente';
+$string['similarity'] = 'Similarité';
+$string['notorcapable'] = 'Impossible de produire un rapport d’originalité pour ce fichier.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'L’étudiant a consulté la copie le :';
+$string['student_notread'] = 'L'étudiant n'a pas consulté cette copie.';
+$string['launchpeermarkreviews'] = 'Démarrer les évaluations Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Nombre d’éléments dans la file d’événements du plugin de plagiat';
+$string['ppcronsubmissionlimitreached'] = 'Aucun envoi additionnel ne sera adressé à Turnitin lors de cette exécution de cron, car seulement {$a} éléments sont traités par exécution';
+$string['cronsubmittedsuccessfully'] = 'Envoi : {$a->title} (n° TII : {$a->submissionid}) pour l’exercice {$a->assignmentname} du cours {$a->coursename} a bien été envoyé à Turnitin.';
+$string['pp_submission_error'] = 'Turnitin a renvoyé un message d’erreur pour votre envoi :';
+$string['turnitindeletionerror'] = 'La suppression de la soumission a échoué. La copie locale de Moodle a été supprimée, mais pas l’envoi à Turnitin.';
+$string['ppeventsfailedconnection'] = 'Aucun événement ne sera traité par le plugin de plagiat Turnitin pour cette exécution de cron, car aucune connexion à Turnitin ne peut être établie.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Veuillez consulter votre tuteur ou l’administrateur système pour plus de détails';
+$string['faultcode'] = 'Code d’erreur';
+$string['line'] = 'Ligne';
+$string['message'] = 'Message';
+$string['code'] = 'Code';
+$string['tiisubmissionsgeterror'] = 'Une erreur est survenue en essayant d’obtenir les travaux envoyés pour cet exercice de Turnitin';
+$string['errorcode0'] = 'Le fichier n’a pas été envoyé à Turnitin, veuillez consulter votre administrateur système pour plus de renseignements';
+$string['errorcode1'] = 'Ce fichier n’a pas été envoyé à Turnitin, car il ne renferme pas suffisamment de contenu pour produire un rapport d’originalité.';
+$string['errorcode2'] = 'Impossible de soumettre ce fichier à Turnitin, car sa taille excède le maximum autorisé de {$a}';
+$string['errorcode3'] = 'Le fichier n’a pas été envoyé à Turnitin, car l’utilisateur n’a pas accepté les termes du contrat d’utilisateur de Turnitin.';
+$string['errorcode4'] = 'Vous devez charger un type de fichier pris en charge pour cet exercice. Les types de fichiers acceptés sont les suivants : .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps et .rtf';
+$string['errorcode5'] = 'Ce fichier n’a pas été envoyé à Turnitin, car un problème survenu lors de la création du module dans Turnitin empêche les envois. Veuillez consulter le journal de votre API pour plus d’informations';
+$string['errorcode6'] = 'Ce fichier n’a pas été envoyé à Turnitin, car un problème survenu lors de la modification des paramètres du module dans Turnitin empêche les envois. Veuillez consulter le journal de votre API pour plus d’informations';
+$string['errorcode7'] = 'Ce fichier n’a pas été envoyé à Turnitin, car un problème survenu lors de la création de l’utilisateur dans Turnitin empêche les envois. Veuillez consulter le journal de votre API pour plus d’informations';
+$string['errorcode8'] = 'Ce fichier n’a pas été envoyé à Turnitin, car un problème est survenu lors de la création du fichier temporaire. La cause la plus probable est un nom de fichier incorrect. Veuillez renommer et renvoyer le fichier avec l’option de modification de l’envoi.';
+$string['errorcode9'] = 'Impossible d’envoyer le fichier, car le pool de fichier ne renferme pas de contenu accessible.';
+$string['coursegeterror'] = 'Impossible d’obtenir les données du cours';
+$string['configureerror'] = 'Vous devez configurer entièrement ce module comme administrateur avant de pouvoir l’utiliser dans un cours. Veuillez contacter votre administrateur de Moodle.';
+$string['turnitintoolofflineerror'] = 'Un problème temporaire est survenu. Merci de réessayer.';
+$string['defaultinserterror'] = 'Une erreur est survenue en ajoutant une valeur par défaut dans la base de données';
+$string['defaultupdateerror'] = 'Une erreur est survenue en tentant d'actualiser une valeur par défaut de la base de données.';
+$string['tiiassignmentgeterror'] = 'Une erreur est survenue en essayant d’obtenir un exercice Turnitin';
+$string['assigngeterror'] = 'Impossible d’obtenir les données de Turnitintooltwo';
+$string['classupdateerror'] = 'Impossible de mettre à jour les données des cours de Turnitin';
+$string['pp_createsubmissionerror'] = 'Une erreur est survenue en essayant d’envoyer un document à Turnitin';
+$string['pp_updatesubmissionerror'] = 'Une erreur est survenue en essayant de renvoyer votre document à Turnitin';
+$string['tiisubmissiongeterror'] = 'Une erreur est survenue en tentant d'obtenir une transmission de Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Fermer';
+$string['loadingdv'] = 'Chargement du Visualiseur de Document Turnitin...';
+$string['changerubricwarning'] = 'Si vous modifiez ou supprimez une rubrique, l’ensemble des notes de rubrique des copies de cet exercice (dont les scores des fiches d’évaluation) sera effacé. Les notes globales des copies déjà évaluées resteront, quant à elles, inchangées.';
+$string['messageprovider:submission'] = 'Notifications d’accusé de réception électronique du plugin de plagiat Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Statut de Turnitin';
+$string['deleted'] = 'Supprimé';
+$string['pending'] = 'En attente';
+$string['because'] = 'Cela s’est produit car un administrateur a supprimé l’exercice en attente de la file d’attente de traitement et a annulé l’envoi à Turnitin.
Le fichier existe toujours dans Moodle, veuillez contacter votre enseignant.
Les codes d’erreur sont indiqués ci-dessous :';
diff --git a/lang/it/plagiarism_turnitin.php b/lang/it/plagiarism_turnitin.php
new file mode 100755
index 00000000..ec431402
--- /dev/null
+++ b/lang/it/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin del plagio di Turnitin';
+$string['turnitintooltwo'] = 'Strumento Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Attività del plugin del plagio di Turnitin';
+$string['connecttesterror'] = 'Si è verificato un errore di connessione a Turnitin. Il messaggio di errore di ritorno è il seguente:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Abilita Turnitin';
+$string['excludebiblio'] = 'Escludi bibliografia';
+$string['excludequoted'] = 'Escludi materiale citato';
+$string['excludevalue'] = 'Escludi corrispondenze brevi';
+$string['excludewords'] = 'Parole';
+$string['excludepercent'] = 'Percentuale';
+$string['norubric'] = 'Nessuna pagella';
+$string['otherrubric'] = 'Usa la pagella di un altro docente';
+$string['attachrubric'] = 'Allega una pagella a questo compito';
+$string['launchrubricmanager'] = 'Avvia lo strumento di gestione pagelle';
+$string['attachrubricnote'] = 'Nota: gli studenti saranno in grado di visualizzare le pagelle allegate e il loro contenuto prima di consegnare.';
+$string['erater_handbook_advanced'] = 'Avanzato';
+$string['erater_handbook_highschool'] = 'Scuola superiore';
+$string['erater_handbook_middleschool'] = 'Scuola media';
+$string['erater_handbook_elementary'] = 'Scuola primaria';
+$string['erater_handbook_learners'] = 'Studenti di inglese';
+$string['erater_dictionary_enus'] = 'Dizionario inglese (Stati Uniti)';
+$string['erater_dictionary_engb'] = 'Dizionario inglese (Regno Unito)';
+$string['erater_dictionary_en'] = 'Dizionario inglese (Stati Uniti e Regno Unito)';
+$string['erater'] = 'Abilita il controllo grammaticale e-rater';
+$string['erater_handbook'] = 'Manuale ETS©';
+$string['erater_dictionary'] = 'Dizionario e-rater';
+$string['erater_categories'] = 'Categorie e-rater';
+$string['erater_spelling'] = 'Ortografia';
+$string['erater_grammar'] = 'Grammatica';
+$string['erater_usage'] = 'Uso';
+$string['erater_mechanics'] = 'Sintassi';
+$string['erater_style'] = 'Stile';
+$string['anonblindmarkingnote'] = 'Nota: l'impostazione di valutazione anonima separata di Turnitin è stata rimossa. Turnitin utilizzerà l'impostazione di valutazione anonima di Moodle per determinare l'impostazione di valutazione anonima.';
+$string['transmatch'] = 'Corrispondenza di testo tradotto';
+$string['genduedate'] = 'Genera i report alla data di scadenza (è consentito riconsegnare fino alla data di scadenza)';
+$string['genimmediately1'] = 'Genera i report immediatamente (non è consentito riconsegnare)';
+$string['genimmediately2'] = 'Genera i report immediatamente (è consentito riconsegnare fino alla data di scadenza)';
+$string['launchquickmarkmanager'] = 'Avvia QuickMark Manager';
+$string['launchpeermarkmanager'] = 'Avvia PeerMark Manager';
+$string['studentreports'] = 'Mostra gli Originality Report agli studenti';
+$string['studentreports_help'] = 'Consente di mostrare agli utenti studenti gli Originality Report di Turnitin. Se impostato su sì gli Originality Report generati da Turnitin possono essere visionati dallo studente.';
+$string['submitondraft'] = 'Consegna il file appena viene caricato';
+$string['submitonfinal'] = 'Consegna il file quando lo studente lo invia per la valutazione';
+$string['draftsubmit'] = 'Quando deve essere consegnato il file a Turnitin?';
+$string['allownonor'] = 'Consentire la consegna di qualsiasi tipo di file?';
+$string['allownonor_help'] = 'Questa impostazione permetterà la consegna di qualsiasi tipo di file. Con questa opzione impostata su "Sì", ove possibile verrà eseguita la verifica dell'originalità delle consegne, queste ultime saranno disponibili per il download e, ove possibile, saranno disponibili anche gli strumenti di feedback GradeMark.';
+$string['norepository'] = 'Nessun archivio';
+$string['standardrepository'] = 'Archivio standard';
+$string['submitpapersto'] = 'Archivia gli elaborati degli studenti';
+$string['institutionalrepository'] = 'Archivio dell'istituto (ove applicabile)';
+$string['submitpapersto_help'] = 'Questa impostazione offre ai docenti la possibilità di scegliere se gli elaborati devono essere memorizzati in un archivio elaborati studenti Turnitin. Il vantaggio di consegnare gli elaborati nell'apposito archivio è che gli elaborati degli studenti consegnati per il compito verranno confrontati con quelli di altri studenti all'interno delle classi attuali e precedenti. Se selezioni "nessun archivio", gli elaborati degli studenti non verranno memorizzati nell'archivio elaborati studenti di Turnitin.';
+$string['checkagainstnote'] = 'Nota: se non selezioni "Sì" per almeno una delle opzioni "Confronta con..." di seguito, NON verrà generato alcun Originality Report.';
+$string['spapercheck'] = 'Confronta con gli elaborati degli studenti memorizzati';
+$string['internetcheck'] = 'Confronta con Internet';
+$string['journalcheck'] = 'Confronta con journal,
periodici e pubblicazioni';
+$string['compareinstitution'] = 'Confronta i file consegnati con gli elaborati consegnati in questo istituto';
+$string['reportgenspeed'] = 'Velocità di generazione dei report';
+$string['genspeednote'] = 'Nota: la generazione di un Originality Report per le riconsegne è soggetta a un ritardo di 24 ore.';
+$string['locked_message'] = 'Messaggio bloccato';
+$string['locked_message_help'] = 'Se eventuali impostazioni sono bloccate, viene mostrato questo messaggio per spiegarne il motivo.';
+$string['locked_message_default'] = 'Questa impostazione è bloccata a livello di sito';
+$string['sharedrubric'] = 'Pagella condivisa';
+$string['turnitinrefreshsubmissions'] = 'Aggiorna consegne';
+$string['turnitinrefreshingsubmissions'] = 'Aggiornamento consegne';
+$string['turnitinppulapre'] = 'Per consegnare un file a Turnitin è necessario accettare innanzitutto il Contratto di licenza con l'utente finale. Scegliendo di non accettare il Contratto di licenza con l'utente finale, il file verrà consegnato solo a Moodle. Fai clic qui per accettare.';
+$string['noscriptula'] = '(Dal momento che javascript non è abilitato, dovrai aggiornare manualmente questa pagina per poter consegnare un elaborato dopo aver accettato il Contratto con l'utente di Turnitin)';
+$string['filedoesnotexist'] = 'Il file è stato cancellato';
+
+// Plugin settings.
+$string['config'] = 'Configurazione';
+$string['defaults'] = 'Impostazioni predefinite';
+$string['showusage'] = 'Mostra data dump';
+$string['saveusage'] = 'Salva data dump';
+$string['errors'] = 'Errori';
+$string['turnitinconfig'] = 'Configurazione del plugin del plagio di Turnitin';
+$string['tiiexplain'] = 'Turnitin è un prodotto commerciale ed è necessario avere una sottoscrizione a pagamento per utilizzare questo servizio. Per ulteriori informazioni, vai a http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Abilita Turnitin';
+$string['useturnitin_mod'] = 'Abilita Turnitin per {$a}';
+$string['pp_configuredesc'] = 'Devi configurare il modulo all'interno del modulo turnitintooltwo. Fai clic qui per configurare questo plugin';
+$string['turnitindefaults'] = 'Impostazioni predefinite del plugin del plagio di Turnitin';
+$string['defaultsdesc'] = 'Le seguenti impostazioni sono i valori predefiniti impostati durante l'abilitazione di Turnitin all'interno di un modulo di attività';
+$string['turnitinpluginsettings'] = 'Impostazioni del plugin del plagio di Turnitin';
+$string['pperrorsdesc'] = 'Si è verificato un problema durante il tentativo di caricamento dei file seguenti in Turnitin. Per riconsegnare, selezionare i file che desideri riconsegnare e premi il pulsante Riconsegna. Verranno elaborati la volta successiva che verrà eseguito Cron.';
+$string['pperrorssuccess'] = 'I file selezionati sono stati riconsegnati e verranno elaborati da Cron.';
+$string['pperrorsfail'] = 'Si è verificato un problema con alcuni dei file selezionati. Non è stato possibile creare un nuovo evento Cron per tali file.';
+$string['resubmitselected'] = 'Riconsegna i file selezionati';
+$string['deleteconfirm'] = 'Eliminare questa consegna?\n\nL'azione non potrà essere annullata.';
+$string['deletesubmission'] = 'Elimina consegna';
+$string['semptytable'] = 'Nessun risultato trovato.';
+$string['configupdated'] = 'Configurazione aggiornata';
+$string['defaultupdated'] = 'Impostazioni predefinite Turnitin aggiornate';
+$string['notavailableyet'] = 'Non disponibile';
+$string['resubmittoturnitin'] = 'Riconsegna a Turnitin';
+$string['resubmitting'] = 'Riconsegna in corso';
+$string['id'] = 'ID';
+$string['student'] = 'Studente';
+$string['course'] = 'Corso';
+$string['module'] = 'Modulo';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Visualizza Originality Report';
+$string['launchrubricview'] = 'Visualizza la pagella utilizzata per la valutazione';
+$string['turnitinppulapost'] = 'Il file non è stato consegnato a Turnitin. Fai clic qui per accettare il Contratto di licenza con l'utente finale.';
+$string['ppsubmissionerrorseelogs'] = 'Questo file non è stato consegnato a Turnitin. Consulta il tuo amministratore di sistema';
+$string['ppsubmissionerrorstudent'] = 'Questo file non è stato consegnato a Turnitin, consulta il tuo tutor per ulteriori dettagli';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Notifiche della ricevuta digitale del plugin del plagio di Turnitin';
+$string['digitalreceipt'] = 'Ricevuta digitale';
+$string['digital_receipt_subject'] = 'Questa è la tua ricevuta digitale Turnitin';
+$string['pp_digital_receipt_message'] = 'Gentile {$a->firstname} {$a->lastname},
hai consegnato il file {$a->submission_title} per il compito {$a->assignment_name}{$a->assignment_part} nella classe {$a->course_fullname} in {$a->submission_date}. L'ID consegna è {$a->submission_id}. La ricevuta digitale completa può essere visualizzata e stampata dal pulsante di stampa/download nel visualizzatore documenti.
Grazie per aver utilizzato Turnitin,
Il team Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'ID Turnitin';
+$string['turnitinstatus'] = 'Stato Turnitin';
+$string['pending'] = 'In sospeso';
+$string['similarity'] = 'Somiglianza';
+$string['notorcapable'] = 'Non è possibile produrre un Originality Report per questo file.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Lo studente ha visualizzato questo elaborato il:';
+$string['student_notread'] = 'Lo studente non ha visualizzato questo elaborato.';
+$string['launchpeermarkreviews'] = 'Avvia revisioni PeerMark';
+
+// Cron.
+$string['ppqueuesize'] = 'Numero di eventi nella coda di eventi del plugin di plagio';
+$string['ppcronsubmissionlimitreached'] = 'Non verranno inviate ulteriori consegne a Turnitin da questa esecuzione Cron poiché solo {$a} vengono elaborate per ogni esecuzione';
+$string['cronsubmittedsuccessfully'] = 'Consegna: {$a->title} (ID TII: {$a->submissionid}) per il compito {$a->assignmentname} nel corso {$a->coursename} consegnata a Turnitin.';
+$string['pp_submission_error'] = 'Turnitin ha restituito un errore contestualmente alla consegna:';
+$string['turnitindeletionerror'] = 'L'eliminazione delle consegne non ha avuto esito positivo. La copia locale Moodle è stata rimossa, ma non è stato possibile eliminare la consegna in Turnitin.';
+$string['ppeventsfailedconnection'] = 'Non verrà elaborato alcun evento dal plugin del plagio di Turnitin da questa esecuzione Cron poiché non è stato possibile stabilire una connessione a Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Consulta il tutor o l'amministratore di sistema per ulteriori dettagli';
+$string['faultcode'] = 'Codice guasto';
+$string['line'] = 'Linea';
+$string['message'] = 'Messaggio';
+$string['code'] = 'Codice';
+$string['tiisubmissionsgeterror'] = 'Si è verificato un errore durante il tentativo di ottenere da Turnitin le consegne per questo compito';
+$string['errorcode0'] = 'Questo file non è stato consegnato a Turnitin. Consulta il tuo amministratore di sistema';
+$string['errorcode1'] = 'Questo file non è stato inviato a Turnitin poiché non dispone di abbastanza contenuto per produrre un Originality Report.';
+$string['errorcode2'] = 'Questo file non verrà consegnato a Turnitin perché supera la dimensione massima di {$a} consentita';
+$string['errorcode3'] = 'Questo file non è stato consegnato a Turnitin perché l'utente non ha accettato il contratto di licenza con l'utente finale Turnitin.';
+$string['errorcode4'] = 'Devi caricare un tipo di file supportato per questo compito. I tipi di file accettati sono: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps e .rtf';
+$string['errorcode5'] = 'Questo file non è stato consegnato a Turnitin perché si è verificato un problema con la creazione del modulo in Turnitin che blocca le consegne. Consulta i log delle API per ulteriori informazioni';
+$string['errorcode6'] = 'Questo file non è stato consegnato a Turnitin perché si è verificato un problema con la modifica delle impostazioni del modulo in Turnitin che blocca le consegne. Consulta i log delle API per ulteriori informazioni';
+$string['errorcode7'] = 'Questo file non è stato consegnato a Turnitin perché si è verificato un problema con la creazione dell'utente in Turnitin che blocca le consegne. Consulta i log delle API per ulteriori informazioni';
+$string['errorcode8'] = 'Questo file non è stato consegnato a Turnitin perché si è verificato un problema con la creazione del file temp. La causa più probabile è un nome file non valido. Rinomina il file e caricalo di nuovo utilizzando l'opzione Modifica consegna.';
+$string['errorcode9'] = 'Impossibile consegnare il file poiché non sono presenti contenuti accessibili nel pool di file da consegnare.';
+$string['coursegeterror'] = 'Impossibile ottenere dati del corso';
+$string['configureerror'] = 'Devi configurare il modulo completamente come amministratore prima di utilizzarlo all'interno di un corso. Contatta l'amministratore di Moodle.';
+$string['turnitintoolofflineerror'] = 'Si è verificato un problema momentaneo. Riprova più tardi.';
+$string['defaultinserterror'] = 'Si è verificato un errore durante il tentativo di inserire un valore predefinito nel database';
+$string['defaultupdateerror'] = 'Si è verificato un errore durante il tentativo di aggiornare un valore predefinito nel database';
+$string['tiiassignmentgeterror'] = 'Si è verificato un errore durante il tentativo di ottenere un compito da Turnitin';
+$string['assigngeterror'] = 'Impossibile ottenere i dati da turnitintooltwo';
+$string['classupdateerror'] = 'Impossibile aggiornare i dati della classe Turnitin';
+$string['pp_createsubmissionerror'] = 'Si è verificato un errore durante il tentativo di creare la consegna in Turnitin';
+$string['pp_updatesubmissionerror'] = 'Si è verificato un errore durante il tentativo di riconsegnare il compito in Turnitin';
+$string['tiisubmissiongeterror'] = 'Si è verificato un errore durante il tentativo di ottenere una consegna da Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Chiudi';
+$string['loadingdv'] = 'Caricamento del visualizzatore documenti Turnitin in corso...';
+$string['changerubricwarning'] = 'La modifica o rimozione di una pagella rimuoverà tutto il punteggio esistente della pagella dagli elaborati di questo compito, comprese le schede di valutazione compilate precedentemente. Rimarranno i voti complessivi degli elaborati valutati in precedenza.';
+$string['messageprovider:submission'] = 'Notifiche della ricevuta digitale del plugin del plagio di Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Stato Turnitin';
+$string['deleted'] = 'Eliminato';
+$string['pending'] = 'In sospeso';
+$string['because'] = 'Un amministratore ha eliminato il compito in sospeso dalla coda di elaborazione e ha interrotto la consegna a Turnitin.
Il file esiste ancora in Moodle, contatta il docente.
Cerca di seguito eventuali codici di errore:';
diff --git a/lang/ja/plagiarism_turnitin.php b/lang/ja/plagiarism_turnitin.php
new file mode 100755
index 00000000..fc0afb2e
--- /dev/null
+++ b/lang/ja/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin Plagiarismプラグイン';
+$string['turnitintooltwo'] = 'Turnitinツール';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin Plagiarismプラグインのタスク';
+$string['connecttesterror'] = 'Turnitinへの接続中にエラーが発生しました。エラーメッセージは以下の通りです。
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Turnitinを有効にする';
+$string['excludebiblio'] = '参考文献の除外';
+$string['excludequoted'] = '引用文献を除外';
+$string['excludevalue'] = '小さな一致を除外する';
+$string['excludewords'] = '語';
+$string['excludepercent'] = 'パーセント';
+$string['norubric'] = '採点なし';
+$string['otherrubric'] = '他の講師に属するルーブリックを使用する';
+$string['attachrubric'] = '採点をこの課題に添付する';
+$string['launchrubricmanager'] = '採点マネジャーを起動する';
+$string['attachrubricnote'] = '注意:学生は提出する前に、添付された採点およびその内容を閲覧できます。';
+$string['erater_handbook_advanced'] = '上級';
+$string['erater_handbook_highschool'] = '高校';
+$string['erater_handbook_middleschool'] = '中学校';
+$string['erater_handbook_elementary'] = '小学校';
+$string['erater_handbook_learners'] = '英語学習者';
+$string['erater_dictionary_enus'] = 'アメリカ英語辞書';
+$string['erater_dictionary_engb'] = 'イギリス英語辞書';
+$string['erater_dictionary_en'] = 'アメリカ/イギリス英語辞書';
+$string['erater'] = 'e-rater文法チェックを有効にする';
+$string['erater_handbook'] = 'ETS© ハンドブック';
+$string['erater_dictionary'] = 'e-rater 辞書';
+$string['erater_categories'] = 'e-rater カテゴリー';
+$string['erater_spelling'] = 'スペリング';
+$string['erater_grammar'] = '文法';
+$string['erater_usage'] = '使用法';
+$string['erater_mechanics'] = 'メカニズム';
+$string['erater_style'] = 'スタイル';
+$string['anonblindmarkingnote'] = '注意:Turnitinの個別の匿名マーキングの設定が削除されました。Turnitinでは、Moodleのブラインドマーキングの設定を使って、匿名マーキングの設定を決定します。';
+$string['transmatch'] = '翻訳一致機能';
+$string['genduedate'] = '提出期限日に報告書を生成する(再提出は提出期限日まで提出可能です)';
+$string['genimmediately1'] = '報告書を即座に生成する(再提出は許可されていません)';
+$string['genimmediately2'] = '報告書を即座に生成する(再提出は提出期限日まで提出可能です)';
+$string['launchquickmarkmanager'] = 'Quickmarkマネジャーを起動する';
+$string['launchpeermarkmanager'] = 'Peermarkマネジャーを起動する';
+$string['studentreports'] = 'オリジナリティ レポートを学生に表示する';
+$string['studentreports_help'] = 'Turnitinオリジナリティーレポートを受講生に表示することを許可する。はい、に設定すると、Turnitinにより作成されたオリジナリティーレポートは受講生により閲覧することができます。';
+$string['submitondraft'] = '最初にアップロードされた際にファイルを提出する';
+$string['submitonfinal'] = '受講生がマーキングに送信した際にファイルを提出する';
+$string['draftsubmit'] = 'いつTurnitinにファイルを提出しますか?';
+$string['allownonor'] = 'すべてのファイルタイプの提出物の提出を許可しますか?';
+$string['allownonor_help'] = 'この設定では、すべてのファイルタイプで提出が可能になります。この設定を[はい]に設定すると、提出物のオリジナリティがチェックされ、ダウンロードが可能になり、また、GradeMarkフィードバックツールも利用できるようになります。';
+$string['norepository'] = 'リポジトリなし';
+$string['standardrepository'] = '標準リポジトリ';
+$string['submitpapersto'] = '学生レポートを保存';
+$string['institutionalrepository'] = '所属機関リポジトリ(適用する場合)';
+$string['submitpapersto_help'] = 'インストラクタはこの設定を使って、Turnitinの学生のレポートリポジトリに提出されたレポートを保存するかどうかを決めます。レポートをリポジトリに保存すると、課題に提出されたレポートを現在のクラス、または過去に提出された提出物に照らし合わせてチェックできるメリットがあります。[リポジトリなし]を設定すると、Turnitinの学生のレポートリポジトリにレポートは保存されません。';
+$string['checkagainstnote'] = '注意:[~に対してチェックする]オプションのいずれにも[はい]を選択しなかった場合は、オリジナリティ レポートが生成されません。';
+$string['spapercheck'] = '保存されている学生のレポートと比較する';
+$string['internetcheck'] = 'インターネットでチェックする';
+$string['journalcheck'] = 'ジャーナル、定期刊行物、
出版物をチェックする';
+$string['compareinstitution'] = '提出されたファイルを教育機関内のレポートと比較する';
+$string['reportgenspeed'] = '作成速度を報告する';
+$string['genspeednote'] = '注意:再提出物に対するオリジナリティ レポートの作成には、24時間ほどかかります。';
+$string['locked_message'] = 'ロックのメッセージ';
+$string['locked_message_help'] = 'ロックされている設定がある場合は、このメッセージでその理由を説明します。';
+$string['locked_message_default'] = 'この設定はサイトレベルでロックされています';
+$string['sharedrubric'] = '共有された採点';
+$string['turnitinrefreshsubmissions'] = '提出物を更新';
+$string['turnitinrefreshingsubmissions'] = '提出物を更新中';
+$string['turnitinppulapre'] = 'Turnitinにファイルを提出するには、EULAへの同意が必要です。EULAに同意しないことを選択すると、ファイルはMoodleだけに提出されます。同意するには、こちらをクリックしてください。';
+$string['noscriptula'] = '(ジャバスクリプトが作動されていないため、Turnitinユーザー使用規約に承諾した後、提出する前にこのページをマニュアル操作で更新する必要があります。)';
+$string['filedoesnotexist'] = 'ファイルは削除されました';
+
+// Plugin settings.
+$string['config'] = '設定';
+$string['defaults'] = 'デフォルト設定';
+$string['showusage'] = 'ダンプされたデータを表示';
+$string['saveusage'] = 'ダンプされたデータを保存';
+$string['errors'] = 'エラー';
+$string['turnitinconfig'] = 'Turnitin Plagiarismプラグインの構成';
+$string['tiiexplain'] = 'Turnitinは商用製品であり、このサービスを利用するにはサービス料のお支払いが必要です。詳しくは、http://docs.moodle.org/en/Turnitin_administrationをご覧ください。';
+$string['useturnitin'] = 'Turnitinを有効にする';
+$string['useturnitin_mod'] = 'Turnitinを有効にする: {$a}';
+$string['pp_configuredesc'] = 'このモジュールはturnitintooltwoモジュール内で設定する必要があります。このプラグインを設定するにはこちらをクリックしてください。';
+$string['turnitindefaults'] = 'Turnitin Plagiarismプラグインデフォルト設定';
+$string['defaultsdesc'] = '次の設定はアクティビティーモジュール内のTurnitinを有効にする際のデフォルト設定です';
+$string['turnitinpluginsettings'] = 'Turnitin Plagiarismプラグイン設定';
+$string['pperrorsdesc'] = '以下のファイルをTurnitinにアップロード中に問題が発生しました。ファイルを再提出するには、再提出するファイルを選択し、[再提出]ボタンをクリックしてください。これらは、次回Cronを実行したときに処理されます。';
+$string['pperrorssuccess'] = '選択したファイルが再提出され、Cronで処理されます。';
+$string['pperrorsfail'] = '選択したファイルのいくつかで問題が発生しました。これらには新しいCronイベントを生成できませんでした。';
+$string['resubmitselected'] = '選択したファイルを再提出する';
+$string['deleteconfirm'] = 'この提出物を削除しますか?\n\n いったん削除すると、元に戻すことはできません。';
+$string['deletesubmission'] = '提出物を削除';
+$string['semptytable'] = '検索結果がありません。';
+$string['configupdated'] = '設定が更新されました';
+$string['defaultupdated'] = 'Turnitin デフォルトが更新されました';
+$string['notavailableyet'] = '利用できません';
+$string['resubmittoturnitin'] = 'Turnitinに再提出する';
+$string['resubmitting'] = '再提出中';
+$string['id'] = 'ID';
+$string['student'] = '学生';
+$string['course'] = 'コース';
+$string['module'] = 'モジュール';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'オリジナリティ レポートを閲覧';
+$string['launchrubricview'] = 'マーキングに使用された採点を閲覧する';
+$string['turnitinppulapost'] = 'あなたのファイルはTurnitinに提出されませんでした。こちらをクリックして、EULAに同意してください。';
+$string['ppsubmissionerrorseelogs'] = 'このファイルはTurnitinに提出されていません。詳しくは、システム管理者にお問い合わせください。';
+$string['ppsubmissionerrorstudent'] = 'このファイルはTurnitinに提出されていません。更なる詳細に関しては、チューターまでご相談ください。';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin Plagiarismプラグインのデジタル受領書に関する通知';
+$string['digitalreceipt'] = 'デジタル受領書';
+$string['digital_receipt_subject'] = 'これはあなたのTurnitinのデジタル受領書です';
+$string['pp_digital_receipt_message'] = '{$a->lastname} {$a->firstname}様、
あなたは{$a->submission_date}に、{$a->course_fullname}クラスの課題{$a->assignment_name}{$a->assignment_part}にファイル{$a->submission_title}を提出しました。提出IDは{$a->submission_id}です。デジタル受領書はすべて、文書閲覧内にある印刷やダウンロードボタンを使って閲覧および印刷することができます。
Turnitinをご利用いただき、ありがとうございます。
Turnitinチーム一同';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin ID';
+$string['turnitinstatus'] = 'Turnitinのステータス';
+$string['pending'] = '保留中';
+$string['similarity'] = '類似性';
+$string['notorcapable'] = 'このファイルに対してオリジナリティ レポートを作成することができません。';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'レポートの閲覧日:';
+$string['student_notread'] = '受講生はこのレポートをまだ閲覧していません。';
+$string['launchpeermarkreviews'] = 'Peermarkレビューを起動する';
+
+// Cron.
+$string['ppqueuesize'] = 'Plagiarismプラグインのイベントキューにあるイベント数';
+$string['ppcronsubmissionlimitreached'] = 'Cronは一度に{$a}件までの提出物しか処理しないので、これ以上Turnitinに提出物を送れません。';
+$string['cronsubmittedsuccessfully'] = '{$a->coursename}コースの課題{$a->assignmentname}に対して、提出物:{$a->title}(TII ID:{$a->submissionid})が正しくTurnitinに送信されました。';
+$string['pp_submission_error'] = 'Turnitinから次の提出物についてエラーが返されました。';
+$string['turnitindeletionerror'] = 'Turnitinの提出物削除に失敗しました。ローカル Moodle コピーは削除されましたが、Turnitin内の提出物を削除することはできませんでした。';
+$string['ppeventsfailedconnection'] = 'Turnitinに接続していないので、Turnitin PlagiarismプラグインはCronでイベントを処理できません。';
+
+// Error codes.
+$string['tii_submission_failure'] = '詳しくは、チューターかシステム管理者にお問い合わせください。';
+$string['faultcode'] = 'フォルトコード';
+$string['line'] = 'ライン';
+$string['message'] = 'メッセージ';
+$string['code'] = 'コード';
+$string['tiisubmissionsgeterror'] = '提出物をTurnitinからこの課題へ入手する際にエラーが発生しました';
+$string['errorcode0'] = 'このファイルはTurnitinに提出されていません。詳しくは、システム管理者にお問い合わせください。';
+$string['errorcode1'] = 'このファイルはオリジナリティ レポートを作成するコンテンツが不足しているので、Turnitinに送信されていません。';
+$string['errorcode2'] = 'このファイルは許容されるサイズの上限{$a}を超えているため、Turnitinに提出できません。';
+$string['errorcode3'] = 'このファイルはユーザーが、Turnitinのユーザーライセンス契約に同意していないため、Turnitinへ提出することができません';
+$string['errorcode4'] = 'この課題に対応しているファイルの種類でアップロードする必要があります。アップロード可能なファイルは、.doc、.docx、.ppt、.pptx、.pps、.ppsx、.pdf、.txt、.htm、.html、.hwp、.odt、.wpd、.ps、.rtfです。';
+$string['errorcode5'] = 'Turnitin内でのモジュールの作成に問題があるため、このファイルはTurnitinに提出されていません。詳しくは、APIログを参照してください。';
+$string['errorcode6'] = 'Turnitin内でのモジュール設定の編集に問題があるため、このファイルはTurnitinに提出されていません。詳しくは、APIログを参照してください。';
+$string['errorcode7'] = 'Turnitin内でのユーザーの作成に問題があるため、このファイルはTurnitinに提出されていません。詳しくは、APIログを参照してください。';
+$string['errorcode8'] = '一時ファイルの作成に問題があるため、このファイルはTurnitinに提出されていません。ファイル名が無効である可能性があります。[提出物の編集]を使ってファイルの名前を変更してからもう一度アップロードしてください。';
+$string['errorcode9'] = 'このファイルは、ファイルプールにアクセス可能なコンテンツがないため、送信できません。';
+$string['coursegeterror'] = 'コースデータを取得できませんでした';
+$string['configureerror'] = 'このコースの使用を開始する前に、管理者がこのモジュールを設定する必要があります。Moodle管理者までお問い合わせください。';
+$string['turnitintoolofflineerror'] = '現在一時的な問題が発生しています。後ほど再度試みてください。';
+$string['defaultinserterror'] = 'データベースのデフォルト設定値を挿入中にエラーが発生しました';
+$string['defaultupdateerror'] = 'データベースのデフォルト設定値を更新中にエラーが発生しました';
+$string['tiiassignmentgeterror'] = 'Turnitinから課題を入手する際にエラーが発生しました';
+$string['assigngeterror'] = 'turnitintooltwoデータを取得できませんでした';
+$string['classupdateerror'] = 'Turnitinクラスのデータを更新できませんでした';
+$string['pp_createsubmissionerror'] = 'Turnitinで提出物を作成する際にエラーが発生しました';
+$string['pp_updatesubmissionerror'] = '提出物をTurnitinへ再提出する際にエラーが発生しました';
+$string['tiisubmissiongeterror'] = '提出物をTurnitinから入手する際にエラーが発生しました';
+
+// Javascript.
+$string['closebutton'] = '閉じる';
+$string['loadingdv'] = 'Turnitin文書閲覧を読み込み中...';
+$string['changerubricwarning'] = '採点を変更したり解除したりすると、スコアカードを含めてこの課題のレポートに既に存在する採点がすべて削除されます。以前に採点されたレポートの全体評価は残ります。';
+$string['messageprovider:submission'] = 'Turnitin Plagiarismプラグインのデジタル受領書に関する通知';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitinのステータス';
+$string['deleted'] = '削除されました';
+$string['pending'] = '保留中';
+$string['because'] = 'これは、管理者が保留中の課題をプロセスキューから削除し、Turnitinへの提出を中止したためです。
ファイルはMoodleに残ります。インストラクタにお問い合わせください。
エラーコードは次の通りです。';
diff --git a/lang/ko/plagiarism_turnitin.php b/lang/ko/plagiarism_turnitin.php
new file mode 100755
index 00000000..b4d4ace5
--- /dev/null
+++ b/lang/ko/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin 표절 플러그인';
+$string['turnitintooltwo'] = 'Turnitin 도구';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin 표절 플러그인 작업';
+$string['connecttesterror'] = 'Turnitin에 연결하는 데 오류가 생겼습니다. 오류 메시지가 아래에 있습니다.
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Turnitin 활성화 하기';
+$string['excludebiblio'] = '참고 문헌 제외';
+$string['excludequoted'] = '인용 자료 제외';
+$string['excludevalue'] = '사소한 일치 제외';
+$string['excludewords'] = '단어';
+$string['excludepercent'] = '퍼센트';
+$string['norubric'] = '채점표 없음';
+$string['otherrubric'] = '다른 강사의 채점표 사용';
+$string['attachrubric'] = '본 과제에 채점표 첨부하기';
+$string['launchrubricmanager'] = '채점표 관리자 시작하기';
+$string['attachrubricnote'] = '주의: 학생들은 첨부된 채점표와 자신들의 내용을 제출 전에 볼 수 있습니다.';
+$string['erater_handbook_advanced'] = '상급';
+$string['erater_handbook_highschool'] = '고등학교';
+$string['erater_handbook_middleschool'] = '중학교';
+$string['erater_handbook_elementary'] = '초등학교';
+$string['erater_handbook_learners'] = '영어 학습자';
+$string['erater_dictionary_enus'] = '미국식 영어 사전';
+$string['erater_dictionary_engb'] = '영국식 영어 사전';
+$string['erater_dictionary_en'] = '미국식과 영국식 영어 사전';
+$string['erater'] = 'e-rater 문법 검토 기능 활성화';
+$string['erater_handbook'] = 'ETS© 핸드북';
+$string['erater_dictionary'] = 'e-rater 사전';
+$string['erater_categories'] = 'e-rater 카테고리';
+$string['erater_spelling'] = '철자법';
+$string['erater_grammar'] = '문법';
+$string['erater_usage'] = '용법';
+$string['erater_mechanics'] = '구조';
+$string['erater_style'] = '어체';
+$string['anonblindmarkingnote'] = '참고: 별도의 Turnitin 익명 채점 설정은 삭제됩니다. Turnitin은 Moodle의 블라인드 채점 환경을 이용해 익명 채점 설정을 결정합니다.';
+$string['transmatch'] = '번역된 일치';
+$string['genduedate'] = '마감일에 보고서 생성 (재제출은 마감일까지 허용)';
+$string['genimmediately1'] = '즉시 보고서 생성 (재제출 불가)';
+$string['genimmediately2'] = '즉시 보고서 생성 (재제출은 마감일까지 허용)';
+$string['launchquickmarkmanager'] = 'Quickmark 관리자 개시하기';
+$string['launchpeermarkmanager'] = 'Peermark 관리자 개시하기';
+$string['studentreports'] = '학생들에게 독창성 보고서 공개';
+$string['studentreports_help'] = 'Turnitin 독창성 보고서를 학생 사용자가 볼 수 있도록 허용합니다. "예"라고 지정될 경우 Turnitin에서 작성된 독창성 보고서를 학생 사용자가 볼 수 있습니다.';
+$string['submitondraft'] = '처음 업로드시 파일 제출';
+$string['submitonfinal'] = '학생이 제출하여 채점을 요구할 때 파일 제출';
+$string['draftsubmit'] = '파일을 언제 Turnitin에 제출하여야 합니까?';
+$string['allownonor'] = '모든 파일 유형의 제출을 허용하시겠습니까?';
+$string['allownonor_help'] = '본 환경은 모든 파일 유형의 제출을 가능케 합니다. "예"로 옵션을 설정한 경우, 제출물은 가능한 부분에 대해 독창성을 검토 받게 되며, 제출물들은 다운로드 가능하고 GradeMark 도구들은 가능 범위 내에서 사용할 수 있습니다.';
+$string['norepository'] = '보관소 없음';
+$string['standardrepository'] = '표준 보관소';
+$string['submitpapersto'] = '학생 보고서 보관';
+$string['institutionalrepository'] = '기관 보관소(적용 가능시)';
+$string['submitpapersto_help'] = '이 환경은 학생 보고서가 Turnitin 데이터베이스에 저장될 것인지를 강사가 선택할 수 있도록 해줍니다. Turnitin 데이터베이스에 보고서를 제출하는 이점은 과제에 대해 제출된 학생 보고서들이 귀하의 현재와 이전의 클래스로 제출된 학생' 제출물들과 비교검색된다는 점입니다. "보관소 없음" 옵션 선택시, 귀하의 학생' 보고서들은 Turnitin 데이터베이스에 저장되지 않을 것입니다.';
+$string['checkagainstnote'] = '참고: 아래 “비교” 옵션 중 하나 이상에 “예”를 선택하지 않으면 독창성 보고서가 생성되지 않습니다.';
+$string['spapercheck'] = '보관된 학생 보고서들과 비교하기';
+$string['internetcheck'] = '인터넷 내용과 비교';
+$string['journalcheck'] = '저널,
정기 간행물, 출판물들과 비교';
+$string['compareinstitution'] = '제출된 파일들을 본 기관내에 제출된 보고서들과 비교';
+$string['reportgenspeed'] = '보고서 생성 속도';
+$string['genspeednote'] = '참고: 재제출 항목에 대한 독창성 보고서 생성은 24시간 지연됩니다.';
+$string['locked_message'] = '잠긴 메시지';
+$string['locked_message_help'] = '설정이 잠기면 이유를 설명하는 이 메시지가 표시됩니다.';
+$string['locked_message_default'] = '이 설정은 사이트 수준에서 잠깁니다.';
+$string['sharedrubric'] = '공유 채점표';
+$string['turnitinrefreshsubmissions'] = '제출물 새로 고침';
+$string['turnitinrefreshingsubmissions'] = '제출물 새로 고침';
+$string['turnitinppulapre'] = 'Turnitin에 파일을 제출하려면 먼저 당사의 EULA를 수락해야 합니다. 당사 EULA를 수락하지 않기로 선택하면 Moodle에만 파일이 제출됩니다. 수락하려면 여기를 클릭하십시오.';
+$string['noscriptula'] = '(Javascript가 활성화되지 않았으므로 Turnitin 사용자 동의서에 동의하고 본 페이지를 수동적으로 새로고침한 후 제출을 하여야 합니다)';
+$string['filedoesnotexist'] = '파일이 삭제되었습니다.';
+
+// Plugin settings.
+$string['config'] = '구성';
+$string['defaults'] = '기본 환경';
+$string['showusage'] = '데이타 덤프 표시하기';
+$string['saveusage'] = '데이타 덤프 저장하기';
+$string['errors'] = '오류들';
+$string['turnitinconfig'] = 'Turnitin 표절 Plugin 구성';
+$string['tiiexplain'] = 'Turnitin은 상업 제품이며 이 서비스를 사용하려면 사용료를 지불하여야 합니다. 자세한 사항은 http://docs.moodle.org/en/Turnitin_administration를 참조하십시오.';
+$string['useturnitin'] = 'Turnitin 활성화 하기';
+$string['useturnitin_mod'] = 'Turnitin 활성화 대상 {$a}';
+$string['pp_configuredesc'] = 'turnitintooltwo 모듈 내에서 이 모듈을 구성해야 합니다. 여기를 클릭하여 이 플러그인을 구성하십시오.';
+$string['turnitindefaults'] = 'Turnitin 표절 플러그인 기본 환경';
+$string['defaultsdesc'] = '다음의 환경들은 Turnitin을 활동 모듈에서 활성화시킬 때의 기본 세트입니다';
+$string['turnitinpluginsettings'] = 'Turnitin 표절 플러그인 환경';
+$string['pperrorsdesc'] = 'Turnitin에 아래 파일들을 업로드하는 데 문제가 발생하였습니다. 다시 제출하려면 원하는 파일을 선택하고 다시 제출 버튼을 누르십시오. 그러면 다음에 cron이 실행될 때 처리됩니다.';
+$string['pperrorssuccess'] = '선택한 파일이 다시 제출되고 cron에 의해 처리됩니다.';
+$string['pperrorsfail'] = '선택한 파일 중 일부에 문제가 있었습니다. 해당 파일에 대해 새로운 cron 이벤트를 생성할 수 없었습니다.';
+$string['resubmitselected'] = '선택한 파일 다시 제출';
+$string['deleteconfirm'] = '이 제출물을 정말 삭제하시겠습니까?\n\n이는 되돌릴 수 없습니다.';
+$string['deletesubmission'] = '제출물 삭제';
+$string['semptytable'] = '발견된 결과가 없음';
+$string['configupdated'] = '구성 업데이트';
+$string['defaultupdated'] = 'Turnitin 기본 업데이트';
+$string['notavailableyet'] = '이용할 수 없습니다';
+$string['resubmittoturnitin'] = 'Turnitin에 다시 제출';
+$string['resubmitting'] = '다시 제출 중';
+$string['id'] = '아이디';
+$string['student'] = '학생';
+$string['course'] = '코스';
+$string['module'] = '모듈';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = '독창성 보고서 보기';
+$string['launchrubricview'] = '채점에 사용된 채점표 보기';
+$string['turnitinppulapost'] = '귀하의 파일은 Turnitin에 제출되지 않았습니다. 당사 EULA를 수락하려면 여기를 클릭하십시오.';
+$string['ppsubmissionerrorseelogs'] = '이 파일은 Turnitin에 제출되지 않았습니다. 시스템 관리자에게 문의하십시오.';
+$string['ppsubmissionerrorstudent'] = '이 파일은 Turnitin에 제출되지 않았습니다. 자세한 내용은 담당 튜터와 상의하십시오.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin 표절 플러그인 디지털 수령 알림';
+$string['digitalreceipt'] = '디지털 수령증';
+$string['digital_receipt_subject'] = '귀하의 Turnitin 디지털 수령증입니다.';
+$string['pp_digital_receipt_message'] = '{$a->firstname} {$a->lastname}님,
{$a->submission_date}에 수강하신 {$a->course_fullname} 클래스의 {$a->assignment_name}{$a->assignment_part} 과제에 해당하는 {$a->submission_title} 파일을 성공적으로 제출하였습니다. 제출 ID는 {$a->submission_id}입니다. 디지털 수령증은 문서보기 창의 프린트/다운로드 버튼을 눌러 확인 및 인쇄할 수 있습니다.
Turnitin을 이용해 주셔서 감사합니다.
Turnitin 팀';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin 아이디';
+$string['turnitinstatus'] = 'Turnitin 상태';
+$string['pending'] = '보류 중';
+$string['similarity'] = '유사성';
+$string['notorcapable'] = '이 파일에 대해 독창성 보고서를 생성할 수 없습니다.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = '학생이 보고서를 본 날짜:';
+$string['student_notread'] = '학생이 이 보고서를 보지 않았습니다.';
+$string['launchpeermarkreviews'] = 'Peermark 평가 개시하기';
+
+// Cron.
+$string['ppqueuesize'] = '표절 플러그인 이벤트 queue의 이벤트 수';
+$string['ppcronsubmissionlimitreached'] = '이 cron 실행당 {$a}개의 제출물만 처리되므로 더 이상 Turnitin에 제출물이 전송되지 않습니다.';
+$string['cronsubmittedsuccessfully'] = '{$a->coursename} 코스의 {$a->assignmentname} 과제에 대한 제출물: {$a->title}(TII ID: {$a->submissionid})이(가) Turnitin에 성공적으로 제출되었습니다.';
+$string['pp_submission_error'] = 'Turnitin이 귀하의 제출에 대한 오류 메시지를 반환했습니다.';
+$string['turnitindeletionerror'] = 'Turnitin 제출물 삭제에 실패하였습니다.로컬 Moodle 복사본은 제거되었지만 Turnitin 상의 제출물을 삭제할 수 없었습니다.';
+$string['ppeventsfailedconnection'] = 'Turnitin에 대한 접속을 구성할 수 없기 때문에 이 cron 실행으로는 Turnitin 표절 플러그인에 의한 이벤트 처리가 불가능합니다.';
+
+// Error codes.
+$string['tii_submission_failure'] = '자세한 내용은 담당 튜터나 시스템 관리자와 상의하십시오.';
+$string['faultcode'] = '착오 코드';
+$string['line'] = '열';
+$string['message'] = '메세지';
+$string['code'] = '코드';
+$string['tiisubmissionsgeterror'] = 'Turnitin에서 본 과제의 제출물들을 가져오는데 오류가 발생하였습니다';
+$string['errorcode0'] = '이 파일은 Turnitin에 제출되지 않았습니다. 시스템 관리자에게 문의하십시오.';
+$string['errorcode1'] = '이 파일은 독창성 보고서를 생성할 만큼 충분한 내용을 담고 있지 않아 Turnitin에 제출되지 않았습니다.';
+$string['errorcode2'] = '이 파일은 {$a} 크기 한도를 초과하기 때문에 Turnitin에 제출되지 않을 것입니다.';
+$string['errorcode3'] = '사용자가 Turnitin 최종 사용자 라이센스 계약을 수락하지 않았기 때문에 이 파일은 Turnitin에 제출되지 않았습니다.';
+$string['errorcode4'] = '이 과제에 지원되는 형식의 파일을 업로드해야 합니다. 허용되는 파일 형식은 .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps, .rtf입니다.';
+$string['errorcode5'] = '제출을 허용하지 않는 Turnitin에서 모듈을 생성하는 동안 문제가 발생하여 Turnitin에 이 파일이 제출되지 않았습니다. 자세한 정보는 해당 API 로그를 참조하십시오.';
+$string['errorcode6'] = '제출을 허용하지 않는 Turnitin에서 모듈 환경을 수정하는 동안 문제가 발생하여 Turnitin에 이 파일이 제출되지 않았습니다. 자세한 정보는 해당 API 로그를 참조하십시오.';
+$string['errorcode7'] = '제출을 허용하지 않는 Turnitin에서 사용자를 생성하는 동안 문제가 발생하여 Turnitin에 이 파일이 제출되지 않았습니다. 자세한 정보는 해당 API 로그를 참조하십시오.';
+$string['errorcode8'] = '임시 파일을 생성하는 동안 문제가 발생하여 Turnitin에 이 파일이 제출되지 않았습니다. 잘못된 파일 이름 때문일 가능성이 높습니다. 파일 이름을 바꾸고 제출 수정을 이용하여 다시 업로드하십시오.';
+$string['errorcode9'] = '제출할 파일 풀에 액세스 가능한 내용이 없어 파일이 제출되지 않았습니다.';
+$string['coursegeterror'] = '코스 데이터를 가져올 수 없었습니다.';
+$string['configureerror'] = '코스에서 이 모듈을 사용하기 전에 관리자로서 이를 완전히 구성해야 합니다. 귀하의 Moodle 관리자에게 문의하시기 바랍니다.';
+$string['turnitintoolofflineerror'] = '일시적인 문제가 발생했습니다. 잠시 후 다시 시도하십시오.';
+$string['defaultinserterror'] = '데이타베이스에 기본 환경값을 삽입하는 데 오류가 생겼습니다.';
+$string['defaultupdateerror'] = '데이타베이스에 있는 기본 환경값을 업데이트하는 데 오류가 생겼습니다.';
+$string['tiiassignmentgeterror'] = 'Turnitin에서 과제를 가져오는데 오류가 발생하였습니다';
+$string['assigngeterror'] = 'turnitintooltwo 데이타를 취득할 수 없었음';
+$string['classupdateerror'] = 'Turnitin 클래스 데이타를 업데이트할 수 없었습니다';
+$string['pp_createsubmissionerror'] = 'Turnitin에서 제출물을 생성하는데 오류가 발생하였습니다';
+$string['pp_updatesubmissionerror'] = 'Turnitin에 대해 제출물을 재제출하는데 오류가 발생하였습니다';
+$string['tiisubmissiongeterror'] = 'Turnitin에서 제출물을 가져오는데 오류가 발생하였습니다';
+
+// Javascript.
+$string['closebutton'] = '닫기';
+$string['loadingdv'] = 'Turnitin 문서보기 창 로드 중...';
+$string['changerubricwarning'] = '채점표를 변경하거나 분리하면 이미 채점이 된 점수카드를 포함하여 해당 과제에 있는 보고서들의 기존 채점표 채점사항이 모두 제거됩니다.';
+$string['messageprovider:submission'] = 'Turnitin 표절 플러그인 디지털 수령 알림';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin 상태';
+$string['deleted'] = '삭제됨';
+$string['pending'] = '보류 중';
+$string['because'] = '관리자가 처리 queue에 보류 중인 과제를 삭제하고 Turnitin에 대한 제출을 중단했기 때문입니다.
파일이 아직 Moodle에 있습니다. 담당 강사에게 문의하십시오.
오류 코드는 아래에서 확인하십시오.';
diff --git a/lang/nl/plagiarism_turnitin.php b/lang/nl/plagiarism_turnitin.php
new file mode 100755
index 00000000..4b356cbb
--- /dev/null
+++ b/lang/nl/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin-plagiaat-plugin';
+$string['turnitintooltwo'] = 'Turnitin Tool';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin-plagiaat-plugin-taak';
+$string['connecttesterror'] = 'Er is een fout opgetreden bij het maken van verbinding met Turnitin. De foutmelding staat hieronder:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Turnitin inschakelen';
+$string['excludebiblio'] = 'Exclusief bibliografie';
+$string['excludequoted'] = 'Exclusief citaten';
+$string['excludevalue'] = 'Kleine overeenkomsten uitsluiten';
+$string['excludewords'] = 'Woorden';
+$string['excludepercent'] = 'Procent';
+$string['norubric'] = 'Geen beoordelingsschema';
+$string['otherrubric'] = 'Beoordelingsschema van andere docent gebruiken';
+$string['attachrubric'] = 'Een beoordelingsschema toevoegen aan deze opdracht';
+$string['launchrubricmanager'] = 'Rubric Manager starten';
+$string['attachrubricnote'] = 'Let op: studenten kunnen bijgevoegde beoordelingsschema's en de inhoud ervan bekijken alvorens in te dienen.';
+$string['erater_handbook_advanced'] = 'Gevorderd';
+$string['erater_handbook_highschool'] = 'Bovenbouw van middelbare school';
+$string['erater_handbook_middleschool'] = 'Onderbouw van middelbare school';
+$string['erater_handbook_elementary'] = 'Basisschool';
+$string['erater_handbook_learners'] = 'Leerlingen Engels';
+$string['erater_dictionary_enus'] = 'Amerikaans-Engels woordenboek';
+$string['erater_dictionary_engb'] = 'Brits-Engels woordenboek';
+$string['erater_dictionary_en'] = 'Zowel Amerikaans- als Brits-Engels woordenboek';
+$string['erater'] = 'E-rater grammaticacontrole inschakelen';
+$string['erater_handbook'] = 'ETS© Handboek';
+$string['erater_dictionary'] = 'e-rater Woordenboek';
+$string['erater_categories'] = 'e-rater Categorieën';
+$string['erater_spelling'] = 'Spelling';
+$string['erater_grammar'] = 'Grammatica';
+$string['erater_usage'] = 'Gebruik';
+$string['erater_mechanics'] = 'Techniek';
+$string['erater_style'] = 'Stijl';
+$string['anonblindmarkingnote'] = 'Opmerking: de afzonderlijke Turnitin-instelling voor anonieme beoordeling is verwijderd. Turnitin gebruikt de Moodle-instelling voor blinde beoordeling om de instelling voor anonieme beoordeling te bepalen.';
+$string['transmatch'] = 'Vertaald matchen';
+$string['genduedate'] = 'Rapporten genereren op inleverdatum (opnieuw indienen is toegestaan tot de inleverdatum)';
+$string['genimmediately1'] = 'Rapporten onmiddellijk genereren (opnieuw indienen is niet toegestaan)';
+$string['genimmediately2'] = 'Rapporten onmiddellijk genereren (opnieuw indienen is toegestaan tot de inleverdatum)';
+$string['launchquickmarkmanager'] = 'Quickmark Manager starten';
+$string['launchpeermarkmanager'] = 'Peermark Manager starten';
+$string['studentreports'] = 'Originaliteitsrapporten weergeven voor studenten';
+$string['studentreports_help'] = 'Hiermee kunt u originaliteitsrapporten van Turnitin tonen aan studenten. Indien 'Ja' is geselecteerd, kunnen studenten originaliteitsrapporten bekijken die door Turnitin zijn gegenereerd.';
+$string['submitondraft'] = 'Bestand verzenden wanneer het voor het eerst wordt geüpload';
+$string['submitonfinal'] = 'Bestand verzenden wanneer student het ter beoordeling verzendt';
+$string['draftsubmit'] = 'Wanneer moet het bestand worden ingediend bij Turnitin?';
+$string['allownonor'] = 'Inzendingen van elk bestandstype toestaan?';
+$string['allownonor_help'] = 'Met deze instelling kunnen alle bestandstypen worden ingediend. Als deze optie is ingesteld op "Ja", worden inzendingen waar mogelijk gecontroleerd op originaliteit, zijn inzendingen beschikbaar om te worden gedownload zijn waar mogelijk GradeMark feedback-tools beschikbaar.';
+$string['norepository'] = 'Geen online opslag';
+$string['standardrepository'] = 'Standaard online opslag';
+$string['submitpapersto'] = 'Papers van studenten opslaan';
+$string['institutionalrepository'] = 'Online opslag van instelling (indien van toepassing)';
+$string['submitpapersto_help'] = 'Met deze instelling kunnen docenten selecteren of papers moeten worden opgeslagen in een Turnitin online opslag voor papers van studenten. Het voordeel van het indienen van papers bij een opslag voor papers van studenten is dat papers van studenten die worden ingediend bij de opdracht worden vergeleken met andere papers die zijn ingediend voor uw huidige en vorige cursussen. Als u "geen opslag" selecteert, worden de papers van uw studenten niet opgeslagen in de Turnitin-opslag voor papers van studenten.';
+$string['checkagainstnote'] = 'Opmerking: als u 'Ja’ niet voor minimaal één 'Vergelijken met...'-optie hieronder selecteert, wordt er GEEN Originaliteitsrapport gegenereerd.';
+$string['spapercheck'] = 'Vergelijken met opgeslagen papers van studenten';
+$string['internetcheck'] = 'Vergelijken met internet';
+$string['journalcheck'] = 'Vergelijken met tijdschriften,
periodieken en publicaties';
+$string['compareinstitution'] = 'Ingediende bestanden vergelijken met papers die zijn ingediend binnen deze onderwijsinstelling';
+$string['reportgenspeed'] = 'Generatiesnelheid van rapport';
+$string['genspeednote'] = 'Opmerking: voor het genereren van originaliteitsrapporten geldt bij opnieuw indienen een vertraging van 24 uur.';
+$string['locked_message'] = 'Vergrendeld bericht';
+$string['locked_message_help'] = 'Als er instellingen zijn die zijn vergrendeld, wordt dit bericht weergegeven om uit te leggen waarom.';
+$string['locked_message_default'] = 'Deze instelling is vergrendeld op siteniveau';
+$string['sharedrubric'] = 'Gedeeld beoordelingsschema';
+$string['turnitinrefreshsubmissions'] = 'Inzendingen vernieuwen';
+$string['turnitinrefreshingsubmissions'] = 'Inzendingen vernieuwen';
+$string['turnitinppulapre'] = 'Als u een bestand wilt indienen bij Turnitin, moet u eerst onze EULA accepteren. Als u ervoor kiest onze EULA niet te accepteren, wordt uw bestand alleen bij Moodle ingediend. Klik hier om de EULA te accepteren.';
+$string['noscriptula'] = '(Aangezien u JavaScript niet hebt ingeschakeld, moet u deze pagina handmatig vernieuwen voordat u uw inzending opnieuw kunt indienen nadat u de Turnitin-gebruikersovereenkomst hebt geaccepteerd)';
+$string['filedoesnotexist'] = 'Bestand is verwijderd';
+
+// Plugin settings.
+$string['config'] = 'Configuratie';
+$string['defaults'] = 'Standaardinstellingen';
+$string['showusage'] = 'Gegevensdump weergeven';
+$string['saveusage'] = 'Gegevensdump opslaan';
+$string['errors'] = 'Fouten';
+$string['turnitinconfig'] = 'Configuratie van Turnitin-plagiaat-plugin';
+$string['tiiexplain'] = 'Turnitin is een commercieel product en u moet betalen voor een abonnement om gebruik te maken van deze dienst. Zie http://docs.moodle.org/en/Turnitin_administration voor meer informatie.';
+$string['useturnitin'] = 'Turnitin inschakelen';
+$string['useturnitin_mod'] = 'Turnitin inschakelen voor {$a}';
+$string['pp_configuredesc'] = 'U moet deze module binnen de turnitintooltwo-module configureren. Klik hier om deze plugin te configureren.';
+$string['turnitindefaults'] = 'Standaardinstellingen voor plagiaat-plugin van Turnitin';
+$string['defaultsdesc'] = 'De volgende instellingen worden standaard ingesteld wanneer Turnitin wordt ingeschakeld binnen een Activiteitenmodule';
+$string['turnitinpluginsettings'] = 'Instellingen voor plagiaat-plugin van Turnitin';
+$string['pperrorsdesc'] = 'Er is een probleem opgetreden bij het uploaden van de onderstaande bestanden naar Turnitin. Als u opnieuw wilt proberen deze in te dienen, dient u de bestanden te selecteren die u wilt indienen en op de knop Opnieuw indienen te klikken. De bestanden worden vervolgens verwerkt wanneer de cron de volgende keer wordt uitgevoerd.';
+$string['pperrorssuccess'] = 'De bestanden die u hebt geselecteerd, zijn opnieuw ingediend en worden door de cron verwerkt.';
+$string['pperrorsfail'] = 'Er is een probleem met enkele van de bestanden die u hebt geselecteerd. Er kan geen nieuwe cron-gebeurtenis worden gemaakt voor de bestanden.';
+$string['resubmitselected'] = 'Geselecteerde bestanden opnieuw indienen';
+$string['deleteconfirm'] = 'Weet u zeker dat u deze inzending wilt verwijderen?\n\nDeze actie kan niet ongedaan worden gemaakt.';
+$string['deletesubmission'] = 'Inzending verwijderen';
+$string['semptytable'] = 'Geen resultaten gevonden.';
+$string['configupdated'] = 'Configuratie bijgewerkt';
+$string['defaultupdated'] = 'Turnitin-standaardwaarden bijgewerkt';
+$string['notavailableyet'] = 'Niet beschikbaar';
+$string['resubmittoturnitin'] = 'Opnieuw indienen bij Turnitin';
+$string['resubmitting'] = 'Opnieuw indienen';
+$string['id'] = 'Id';
+$string['student'] = 'Student';
+$string['course'] = 'Cursus';
+$string['module'] = 'Module';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Originaliteitsrapport bekijken';
+$string['launchrubricview'] = 'Bekijk het beoordelingsschema (rubric) dat is gebruikt voor het beoordelen';
+$string['turnitinppulapost'] = 'Uw bestand is niet ingediend bij Turnitin. Klik hier om onze EULA te accepteren.';
+$string['ppsubmissionerrorseelogs'] = 'Dit bestand is niet ingediend bij Turnitin. Raadplaag uw systeembeheerder voor meer informatie.';
+$string['ppsubmissionerrorstudent'] = 'Dit bestand is niet ingediend bij Turnitin. Raadplaag uw privédocent voor meer informatie.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Meldingen over digitaal ontvangstbewijs voor Turnitin-plagiaat-plugin';
+$string['digitalreceipt'] = 'Digitaal ontvangstbewijs';
+$string['digital_receipt_subject'] = 'Dit is uw digitaal ontvangstbewijs van Turnitin';
+$string['pp_digital_receipt_message'] = 'Beste {$a->firstname} {$a->lastname},
U hebt het bestand {$a->submission_title} ingediend bij de opdracht {$a->assignment_name}{$a->assignment_part} in de cursus {$a->course_fullname} op {$a->submission_date}. Uw inzendings-id is {$a->submission_id}. Uw volledige digitaal ontvangstbewijs kunt u zien en afdrukken door in Document Viewer te drukken op de knop voor afdrukken/downloaden.
Bedankt dat u Turnitin gebruikt,
Het Turnitin-team';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin-id';
+$string['turnitinstatus'] = 'Turnitin-status';
+$string['pending'] = 'In afwachting van behandeling';
+$string['similarity'] = 'Vergelijkbaarheid';
+$string['notorcapable'] = 'Het is niet mogelijk om een originaliteitsrapport te genereren voor dit bestand.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'De student heeft de paper bekeken op:';
+$string['student_notread'] = 'De student heeft de paper niet bekeken.';
+$string['launchpeermarkreviews'] = 'Peermark-evaluaties starten';
+
+// Cron.
+$string['ppqueuesize'] = 'Aantal gebeurtenissen in de wachtrij met Plagiaat-Plugin-gebeurtenissen';
+$string['ppcronsubmissionlimitreached'] = 'Er worden verder geen inzendingen meer verzonden naar Turnitin door deze cron-uitvoering omdat er slechts {$a} per keer worden verwerkt';
+$string['cronsubmittedsuccessfully'] = 'Inzending: {$a->title} (TII-id: {$a->submissionid}) voor de opdracht {$a->assignmentname} op de cursus {$a->coursename} is ingediend bij Turnitin.';
+$string['pp_submission_error'] = 'Turnitin heeft een fout geretourneerd voor uw inzending:';
+$string['turnitindeletionerror'] = 'Verwijderen van Turnitin-inzending mislukt. De lokale Moodle-kopie is verwijderd, maar de inzending in Turnitin kan niet worden verwijderd.';
+$string['ppeventsfailedconnection'] = 'Er worden geen gebeurtenissen verwerkt door de Turnitin-plagiaat-plugin als gevolg van het uitvoeren van deze cron, aangezien er geen verbinding met Turnitin tot stand kan worden gebracht.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Neem contact op met uw privédocent of systeembeheerder voor meer informatie';
+$string['faultcode'] = 'Foutcode';
+$string['line'] = 'Lijn';
+$string['message'] = 'Bericht';
+$string['code'] = 'Code';
+$string['tiisubmissionsgeterror'] = 'Er is een fout opgetreden tijdens het bij Turnitin ophalen van inzendingen voor deze opdracht';
+$string['errorcode0'] = 'Dit bestand is niet ingediend bij Turnitin. Raadplaag uw systeembeheerder voor meer informatie.';
+$string['errorcode1'] = 'Dit bestand is niet naar Turnitin verzonden omdat het bestand onvoldoende inhoud heeft om een originaliteitsrapport te produceren.';
+$string['errorcode2'] = 'Dit bestand kan niet worden ingediend bij Turnitin omdat het bestand de maximaal toegestane grootte van {$a} overschrijdt';
+$string['errorcode3'] = 'Dit bestand is niet ingediend bij Turnitin omdat de gebruiker de Eindgebruikersovereenkomst van Turnitin niet heeft geaccepteerd.';
+$string['errorcode4'] = 'U dient een bestand van een ondersteund type te uploaden voor deze opdracht. Geaccepteerde bestandstypen zijn; .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps en .rtf';
+$string['errorcode5'] = 'Dit bestand is niet naar Turnitin verzonden omdat er een probleem is met het maken van de module in Turnitin die inzendingen verhindert. Raadpleeg uw API-logbestanden voor meer informatie.';
+$string['errorcode6'] = 'Dit bestand is niet naar Turnitin verzonden omdat er een probleem is met het bewerken van de module in Turnitin, waardoor inzenden niet mogelijk is. Raadpleeg uw API-logbestanden voor meer informatie.';
+$string['errorcode7'] = 'Dit bestand is niet naar Turnitin verzonden omdat er een probleem is met het maken van de gebruiker in Turnitin, waardoor inzenden niet mogelijk is. Raadpleeg uw API-logbestanden voor meer informatie.';
+$string['errorcode8'] = 'Dit bestand is niet naar Turnitin verzonden omdat er een probleem is met het maken van het tijdelijke bestand. De meest waarschijnlijke oorzaak is een ongeldige bestandsnaam. Wijzig de naam van het bestand en upload opnieuw via Inzending bewerken.';
+$string['errorcode9'] = 'Dit bestand kan niet worden verzonden omdat er geen toegankelijke inhoud is in de bestandspool om te verzenden.';
+$string['coursegeterror'] = 'Kan cursusgegevens niet ophalen';
+$string['configureerror'] = 'U moet deze module volledig configureren als beheerder voordat u deze kunt gebruiken in een cursus. Neem contact op met uw Moodle-beheerder.';
+$string['turnitintoolofflineerror'] = 'Er is een tijdelijke fout opgetreden. Probeer het later opnieuw.';
+$string['defaultinserterror'] = 'Er is een fout opgetreden bij een poging een standaardinstellingswaarde in te voegen in de database';
+$string['defaultupdateerror'] = 'Er is een fout opgetreden bij een poging een standaardinstellingswaarde bij te werken in de database';
+$string['tiiassignmentgeterror'] = 'Er is een fout opgetreden bij het ophalen van een opdracht van Turnitin';
+$string['assigngeterror'] = 'Kan turnitintooltwo-gegevens niet ophalen';
+$string['classupdateerror'] = 'Kan Turnitin-cursusgegevens niet bijwerken';
+$string['pp_createsubmissionerror'] = 'Er is een fout opgetreden bij een poging de inzending in Turnitin te maken';
+$string['pp_updatesubmissionerror'] = 'Er is een fout opgetreden bij een poging uw inzending opnieuw in te dienen bij Turnitin';
+$string['tiisubmissiongeterror'] = 'Er is een fout opgetreden bij het ophalen van een inzending uit Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Sluiten';
+$string['loadingdv'] = 'Turnitin Document Viewer laden...';
+$string['changerubricwarning'] = 'Bij het wijzigen of losmaken van een rubric, of beoordelingsschema, worden alle bestaande rubric-scores van papers binnen deze opdracht verwijderd, met inbegrip van scorekaarten die eerder van opmerkingen zijn voorzien. De totale cijfers voor eerder gecorrigeerde papers blijven bewaard.';
+$string['messageprovider:submission'] = 'Meldingen over digitaal ontvangstbewijs voor Turnitin-plagiaat-plugin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin-status';
+$string['deleted'] = 'Verwijderd';
+$string['pending'] = 'In afwachting van behandeling';
+$string['because'] = 'Dit komt doordat een beheerder de opdracht, die in afwachting van behandeling was, uit de verwerkingswachtrij heeft verwijderd en de inzending naar Turnitin heeft afgebroken.
Het bestand bestaat nog in Moodle. Neem contact op met uw docent.
Foutcodes staan hieronder:';
diff --git a/lang/pl/plagiarism_turnitin.php b/lang/pl/plagiarism_turnitin.php
new file mode 100755
index 00000000..6296d035
--- /dev/null
+++ b/lang/pl/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Wtyczka plagiatu Turnitin';
+$string['turnitintooltwo'] = 'Narzędzie Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Zadanie wtyczki plagiatu Turnitin';
+$string['connecttesterror'] = 'Wystąpił błąd podczas łączenia z Turnitin. Poniżej znajduje się informacja o błędzie:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Włącz Turnitin';
+$string['excludebiblio'] = 'Pomiń bibliografię';
+$string['excludequoted'] = 'Wyklucz cytaty';
+$string['excludevalue'] = 'Wyklucz małe dopasowania';
+$string['excludewords'] = 'Słowa';
+$string['excludepercent'] = 'Procent';
+$string['norubric'] = 'Brak arkusza';
+$string['otherrubric'] = 'Użyj arkusza należącego do innego instruktora';
+$string['attachrubric'] = 'Dołącz arkusz do tego zadania';
+$string['launchrubricmanager'] = 'Uruchom Menedżera Arkuszy';
+$string['attachrubricnote'] = 'Uwaga: Przed dokonaniem wysyłki studenci będą mogli zobaczyć dołączone arkusze wraz z ich zawartością.';
+$string['erater_handbook_advanced'] = 'Zaawansowany';
+$string['erater_handbook_highschool'] = 'Szkoła średnia';
+$string['erater_handbook_middleschool'] = 'Gimnazjum';
+$string['erater_handbook_elementary'] = 'Szkoła podstawowa';
+$string['erater_handbook_learners'] = 'Uczący się angielskiego';
+$string['erater_dictionary_enus'] = 'Słownik języka angielskiego (odmiana amerykańska)';
+$string['erater_dictionary_engb'] = 'Słownik języka angielskiego (odmiana brytyjska)';
+$string['erater_dictionary_en'] = 'Słowniki języka angielskigo: odmiany amerykańska i brytyjska';
+$string['erater'] = 'Włącz sprawdzanie gramatyki e-rater';
+$string['erater_handbook'] = 'Podręcznik ETS©';
+$string['erater_dictionary'] = 'Słownik e-rater';
+$string['erater_categories'] = 'Kategorie e-rater';
+$string['erater_spelling'] = 'Ortografia';
+$string['erater_grammar'] = 'Gramatyka';
+$string['erater_usage'] = 'Norma językowa';
+$string['erater_mechanics'] = 'Pisownia i interpunkcja';
+$string['erater_style'] = 'Styl';
+$string['anonblindmarkingnote'] = 'Uwaga: Oddzielne ustawienie anonimowych poprawek Turnitin zostało usunięte. Do ustalenia statusu ustawienia anonimowych poprawek zostanie użyte ustawienie ślepych poprawek usługi Moodle.';
+$string['transmatch'] = 'Przetłumaczone zbieżności';
+$string['genduedate'] = 'Sporządzaj raporty w terminie oddania zadania (ponowne wysyłki dozwolone do terminu oddania zadania)';
+$string['genimmediately1'] = 'Sporządzaj raporty natychmiastowo (ponowne wysyłki niedozwolone)';
+$string['genimmediately2'] = 'Sporządzaj raporty natychmiastowo (ponowne wysyłki dozwolone do terminu oddania)';
+$string['launchquickmarkmanager'] = 'Uruchom Menedżera Quickmark';
+$string['launchpeermarkmanager'] = 'Uruchom Menedżera Peermark';
+$string['studentreports'] = 'Wyświetl raporty oryginalności studentom';
+$string['studentreports_help'] = 'Umożliwia wyświetlenie raportów oryginalności Turnitin studentom-użytkownikom. Wybór „tak” udostępnia raport oryginalności wygenerowany przez Turnitin do wglądu studenta.';
+$string['submitondraft'] = 'Przekaż plik w momencie wysłania';
+$string['submitonfinal'] = 'Przekaż plik kiedy student wyśle do oceny';
+$string['draftsubmit'] = 'Kiedy plik powinien być przekazany do Turnitin?';
+$string['allownonor'] = 'Zezwolić na wysyłkę plików dowolnego typu?';
+$string['allownonor_help'] = 'To ustawienie umożliwi wysłanie każdego rodzaju pliku. Wybór "Tak" spowoduje, że wysyłki zostaną sprawdzone pod względem oryginalności tam, gdzie to możliwe, wysyłki będą dostępne do pobrania, a narzędzia do wydawania opinii GradeMark będą dostępne w miarę możliwości.';
+$string['norepository'] = 'Brak magazynu';
+$string['standardrepository'] = 'Magazyn standardowy';
+$string['submitpapersto'] = 'Przechowuj prace studentów';
+$string['institutionalrepository'] = 'Magazyn instytucji (jeśli dotyczy)';
+$string['submitpapersto_help'] = 'Dzięki temu ustawieniu instruktorzy mają wybór, czy przechowywać prace w magazynie prac studenckich Turnitin. Przechowywanie prac w magazynie pozwala na porównanie\' prac wysłanych do zadania z pracami z Twoich obecnych i dawnych klas. Jeśli wybierzesz "nie do magazynu", prace Twoich studentów\' nie będą przechowywane w magazynie prac studenckich Turnitin.';
+$string['checkagainstnote'] = 'Uwaga: W przypadku niewybrania ustawienia „Tak” w co najmniej jednej opcji „Sprawdzić w...” widocznej poniżej raport oryginalności NIE zostanie utworzony.';
+$string['spapercheck'] = 'Porównaj z przechowywanymi pracami studentów';
+$string['internetcheck'] = 'Sprawdź w Internecie';
+$string['journalcheck'] = 'Sprawdź w czasopismach,
periodykach i publikacjach';
+$string['compareinstitution'] = 'Porównaj wysłane pliki z pracami wysłanymi wewnątrz tej instytucji';
+$string['reportgenspeed'] = 'Szybkość generowania raportu';
+$string['genspeednote'] = 'Uwaga: W przypadku ponownych wysyłek raport oryginalności może zostać wygenerowany z 24-godzinnym opóźnieniem.';
+$string['locked_message'] = 'Komunikat o blokadzie';
+$string['locked_message_help'] = 'Jeżeli jakiekolwiek ustawienia są zablokowane, ten wyświetlany komunikat będzie zawierał wyjaśnienie powodu blokady.';
+$string['locked_message_default'] = 'To ustawienie jest zablokowane na poziomie strony internetowej';
+$string['sharedrubric'] = 'Udostępniany arkusz';
+$string['turnitinrefreshsubmissions'] = 'Odśwież wysyłki';
+$string['turnitinrefreshingsubmissions'] = 'Odświeżanie wysyłek';
+$string['turnitinppulapre'] = 'Aby przesłać plik do Turnitin, należy najpierw zaakceptować naszą umowę licencyjną użytkownika końcowego (EULA). Brak akceptacji umowy EULA spowoduje przesłanie pliku wyłącznie do usługi Moodle. Kliknij tutaj, aby zaakceptować.';
+$string['noscriptula'] = '(Ponieważ javascript nie jest włączony, strona wymaga manualnego odświeżenia przed dokonaniem wysyłki i po zaakceptowaniu umowy użytkownika Turnitin)';
+$string['filedoesnotexist'] = 'Plik został usunięty';
+
+// Plugin settings.
+$string['config'] = 'Konfiguracja';
+$string['defaults'] = 'Ustawienia domyślne';
+$string['showusage'] = 'Pokaż zrzut danych';
+$string['saveusage'] = 'Zachowaj zrzut danych';
+$string['errors'] = 'Błędy';
+$string['turnitinconfig'] = 'Konfiguracja wtyczki plagiatu Turnitin';
+$string['tiiexplain'] = 'Turnitin jest produktem komercyjnym — do korzystania z niego wymagana jest płatna subskrypcja. Więcej informacji znajduje się w http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Włącz Turnitin';
+$string['useturnitin_mod'] = 'Włącz Turnitin dla {$a}';
+$string['pp_configuredesc'] = 'Musisz skonfigurować ten moduł wewnątrz modułu turnitintooltwo. Kliknij tutaj, aby skonfigurować tę wtyczkę';
+$string['turnitindefaults'] = 'Ustawienia domyślne wtyczki plagiatu Turnitin';
+$string['defaultsdesc'] = 'Następujące ustawienia są ustawieniami domyślnymi gdy Turnitin jest włączony wewnątrz modułu aktywności';
+$string['turnitinpluginsettings'] = 'Ustawienia wtyczki plagiatu Turnitin';
+$string['pperrorsdesc'] = 'Podczas próby wysłania poniższych plików do Turnitin wystąpił problem. Aby wysłać je ponownie, wybierz pliki, które mają zostać ponownie wysłane, i naciśnij przycisk Wyślij ponownie. Pliki zostaną przetworzone przy następnym uruchomieniu Cron.';
+$string['pperrorssuccess'] = 'Wybrane pliki zostały wysłane ponownie i zostaną przetworzone przez Cron.';
+$string['pperrorsfail'] = 'W przypadku niektórych wybranych plików wystąpił problem. Utworzenie dla nich nowego zdarzenia Cron nie powiodło się.';
+$string['resubmitselected'] = 'Wyślij wybrane pliki ponownie';
+$string['deleteconfirm'] = 'Czy na pewno chcesz usunąć tę wysyłkę?\n\nTej operacji nie można cofnąć.';
+$string['deletesubmission'] = 'Usunąć wysyłkę';
+$string['semptytable'] = 'Nie znaleziono rezultatów.';
+$string['configupdated'] = 'Konfiguracja zaktualizowana';
+$string['defaultupdated'] = 'Ustawienia domyślne Turnitin zaktualizowane';
+$string['notavailableyet'] = 'Niedostępny';
+$string['resubmittoturnitin'] = 'Wyślij ponownie do Turnitin';
+$string['resubmitting'] = 'Ponowne wysyłanie';
+$string['id'] = 'Identyfikator';
+$string['student'] = 'Student';
+$string['course'] = 'Kurs';
+$string['module'] = 'Moduł';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Zobacz raport oryginalności';
+$string['launchrubricview'] = 'Zobacz arkusz użyty do poprawek';
+$string['turnitinppulapost'] = 'Plik nie został przesłany do Turnitin. Kliknij tutaj, aby zaakceptować naszą umowę EULA.';
+$string['ppsubmissionerrorseelogs'] = 'Plik nie został przesłany do Turnitin. Skontaktuj się z administratorem systemu.';
+$string['ppsubmissionerrorstudent'] = 'Plik nie został przesłany do Turnitin. Skontaktuj się z tutorem, aby uzyskać więcej informacji.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Powiadomienia o potwierdzeniu elektronicznym wtyczki plagiatu Turnitin';
+$string['digitalreceipt'] = 'Potwierdzenie elektroniczne';
+$string['digital_receipt_subject'] = 'To jest Twoje potwierdzenie elektroniczne Turnitin';
+$string['pp_digital_receipt_message'] = 'Witaj {$a->firstname} {$a->lastname},
Udało Ci się pomyślnie przesłać plik {$a->submission_title} do zadania {$a->assignment_name}{$a->assignment_part} w ramach klasy {$a->course_fullname} dnia {$a->submission_date}. Twój identyfikator wysyłki to {$a->submission_id}. Pełne potwierdzenie elektroniczne można wyświetlić i wydrukować, używając przycisku drukowania/pobierania w przeglądarce dokumentów.
Dziękujemy za korzystanie z systemu Turnitin.
Zespół Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'Identyfikator Turnitin';
+$string['turnitinstatus'] = 'Status systemu Turnitin';
+$string['pending'] = 'Oczekujące';
+$string['similarity'] = 'Podobieństwo';
+$string['notorcapable'] = 'Wygenerowanie raportu oryginalności dla tego pliku jest niemożliwe.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Student zobaczył pracę';
+$string['student_notread'] = 'Student nie zobaczył tej pracy.';
+$string['launchpeermarkreviews'] = 'Uruchom recenzje Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Liczba zdarzeń w kolejce zdarzeń wtyczki plagiatu';
+$string['ppcronsubmissionlimitreached'] = 'Uruchomiona instancja Cron umożliwia przetworzenie jednorazowo {$a} wysyłek, dlatego kolejne wysyłki nie będą przez nią przesyłane do Turnitin';
+$string['cronsubmittedsuccessfully'] = 'Wysyłka: {$a->title} (Identyfikator Turnitin: {$a->submissionid}) do zadania {$a->assignmentname} w ramach kursu {$a->coursename} została pomyślnie przesłana do Turnitin.';
+$string['pp_submission_error'] = 'System Turnitin zwrócił błąd dotyczący Twojej wysyłki:';
+$string['turnitindeletionerror'] = 'Usunięcie wysyłki do Turnitin nie powiodło się. Lokalna kopia Moodle została usunięta, ale wysyłka do Turnitin nie może być usunięta.';
+$string['ppeventsfailedconnection'] = 'Wtyczka plagiatu Turnitin uruchomiona w ramach tej instancji Cron nie będzie przetwarzać żadnych zdarzeń, ponieważ ustanowienie połączenia z Turnitin nie jest możliwe.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Aby uzyskać więcej informacji, skonsultuj się ze swoim tutorem lub administratorem systemu';
+$string['faultcode'] = 'Kod błędu';
+$string['line'] = 'Wiersz';
+$string['message'] = 'Wiadomość';
+$string['code'] = 'Kod';
+$string['tiisubmissionsgeterror'] = 'Wystąpił błąd podczas próby uzyskania przesyłek do tego zadania z Turnitin';
+$string['errorcode0'] = 'Plik nie został przesłany do Turnitin. Skontaktuj się z administratorem systemu.';
+$string['errorcode1'] = 'Ten plik nie został przesłany do Turnitin, ponieważ nie zawiera treści w ilości wystarczającej do wygenerowania raportu oryginalności.';
+$string['errorcode2'] = 'Ten plik nie zostanie przesłany do Turnitin, ponieważ jego wielkość przekracza dozwolony rozmiar {$a}';
+$string['errorcode3'] = 'Plik nie został przesłany do Turnitin, ponieważ użytkownik nie zaakceptował umowy licencyjnej użytkownika końcowego Turnitin.';
+$string['errorcode4'] = 'Musisz wysłać typ pliku obsługiwany przez to zadanie. Akceptowane typy pliku to: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps oraz .rtf';
+$string['errorcode5'] = 'Ten plik nie został wysłany do Turnitin, ponieważ wystąpił problem z utworzeniem modułu w Turnitin, co uniemożliwia dokonywanie przesyłek. Szczegółowe informacje znajdują się w dziennikach API';
+$string['errorcode6'] = 'Ten plik nie został wysłany do Turnitin, ponieważ wystąpił problem z edycją ustawień modułu w Turnitin, co uniemożliwia dokonywanie przesyłek. Szczegółowe informacje znajdują się w dziennikach API';
+$string['errorcode7'] = 'Ten plik nie został wysłany do Turnitin, ponieważ wystąpił problem z utworzeniem użytkownika w Turnitin, co uniemożliwia dokonywanie przesyłek. Szczegółowe informacje znajdują się w dziennikach API';
+$string['errorcode8'] = 'Ten plik nie został wysłany do Turnitin, ponieważ wystąpił problem z utworzeniem pliku tymczasowego. Najbardziej prawdopodobną przyczyną jest nieprawidłowa nazwa pliku. Zmień nazwę pliku i wyślij go ponownie za pomocą opcji Edytuj wysyłkę.';
+$string['errorcode9'] = 'Plik nie może zostać wysłany, ponieważ w puli pliku nie znajduje się żadna dostępna treść, którą można wysłać.';
+$string['coursegeterror'] = 'Nie udało się pobrać danych kursu';
+$string['configureerror'] = 'Musisz w pełni skonfigurować ten moduł jako administrator, aby użyć go w kursie. Skontaktuj się z administratorem Moodle.';
+$string['turnitintoolofflineerror'] = 'Wystąpiły tymczasowe trudności. Spróbuj ponownie później.';
+$string['defaultinserterror'] = 'Wystąpił błąd podczas próby wprowadzenia ustawienia domyślnego do bazy danych';
+$string['defaultupdateerror'] = 'Wystąpił błąd podczas próby aktualizacji ustawienia domyślnego w bazie danych';
+$string['tiiassignmentgeterror'] = 'Wystąpił błąd podczas próby uzyskania zadania z Turnitin';
+$string['assigngeterror'] = 'Nie udało się uzyskać danych narzędzia Turnitin';
+$string['classupdateerror'] = 'Aktualizacja danych klasy Turnitin nie powiodła się';
+$string['pp_createsubmissionerror'] = 'Wystąpił błąd podczas próby dokonania wysyłki w Turnitin';
+$string['pp_updatesubmissionerror'] = 'Wystąpił błąd podczas próby dokonania ponownej wysyłki do Turnitin';
+$string['tiisubmissiongeterror'] = 'Wystąpił błąd podczas próby uzyskania przesyłki z Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Zamknij';
+$string['loadingdv'] = 'Wczytywanie przeglądarki dokumentów Turnitin...';
+$string['changerubricwarning'] = 'Zmiana lub odłączenie arkusza spowoduje usunięcie wszystkich wyników arkusza za prace z tego zadania, łącznie z naliczonymi wcześniej kartami wyników. Ogólne oceny za wcześniej ocenione prace pozostaną bez zmian.';
+$string['messageprovider:submission'] = 'Powiadomienia o potwierdzeniu elektronicznym wtyczki plagiatu Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Status systemu Turnitin';
+$string['deleted'] = 'Usunięto';
+$string['pending'] = 'Oczekujące';
+$string['because'] = 'Powodem tego jest usunięcie przez administratora oczekującego zadania z kolejki przetwarzania i przerwanie wysyłki do Turnitin.
Plik w dalszym ciągu znajduje się w systemie Moodle. Skontaktuj się z instruktorem.
Poniżej znajdują się kody błędu (jeżeli są dostępne):';
diff --git a/lang/pt_br/plagiarism_turnitin.php b/lang/pt_br/plagiarism_turnitin.php
new file mode 100755
index 00000000..fa91c2b2
--- /dev/null
+++ b/lang/pt_br/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin de plágio Turnitin';
+$string['turnitintooltwo'] = 'Ferramenta Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Tarefa do Plugin de Plágio Turnitin';
+$string['connecttesterror'] = 'Ocorreu um erro ao se conectar no Turnitin, a mensagem de erro de retorno está abaixo:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Habilitar o Turnitin';
+$string['excludebiblio'] = 'Excluir Bibliografia';
+$string['excludequoted'] = 'Excluir Material Citado';
+$string['excludevalue'] = 'Excluir Correspondências Menores';
+$string['excludewords'] = 'Palavras';
+$string['excludepercent'] = 'Porcentagem';
+$string['norubric'] = 'Nenhuma rubrica';
+$string['otherrubric'] = 'Usar rubrica que pertence a outro professor';
+$string['attachrubric'] = 'Anexar uma rubrica a esse trabalho';
+$string['launchrubricmanager'] = 'Iniciar Gerenciador de Rubricas';
+$string['attachrubricnote'] = 'Observação: os alunos poderão visualizar as rubricas anexadas e seus conteúdos antes do envio.';
+$string['erater_handbook_advanced'] = 'Avançado';
+$string['erater_handbook_highschool'] = 'Ensino Médio';
+$string['erater_handbook_middleschool'] = 'Ensino Fundamental';
+$string['erater_handbook_elementary'] = 'Ensino Fundamental';
+$string['erater_handbook_learners'] = 'Estudantes de Inglês';
+$string['erater_dictionary_enus'] = 'Dicionário de Inglês Americano';
+$string['erater_dictionary_engb'] = 'Dicionário de Inglês Britânico';
+$string['erater_dictionary_en'] = 'Dicionários de Inglês Americano e Britânico';
+$string['erater'] = 'Habilitar a verificação gramatical e-rater';
+$string['erater_handbook'] = 'Manual ETS©';
+$string['erater_dictionary'] = 'Dicionário e-rater';
+$string['erater_categories'] = 'Catrgorias e-rater';
+$string['erater_spelling'] = 'Ortografia';
+$string['erater_grammar'] = 'Gramática';
+$string['erater_usage'] = 'Uso';
+$string['erater_mechanics'] = 'Mecânica';
+$string['erater_style'] = 'Estilo';
+$string['anonblindmarkingnote'] = 'Observação: a configuração de correção anônima Turnitin separada foi removida. O Turnitin usará a configuração de correção cega do Moodle\ para determinar a configuração de correção anônima.';
+$string['transmatch'] = 'Correspondência Traduzida';
+$string['genduedate'] = 'Gerar relatórios na data de entrega (os reenvios são permitidos até a data de entrega)';
+$string['genimmediately1'] = 'Gerar relatórios imediatamente (os reenvios não são permitidos)';
+$string['genimmediately2'] = 'Gerar relatórios imediatamente (os reenvios são permitidos até a data de entrega)';
+$string['launchquickmarkmanager'] = 'Iniciar o Gerenciador QuickMark';
+$string['launchpeermarkmanager'] = 'Iniciar o Gerenciador PeerMark';
+$string['studentreports'] = 'Exibir os Relatórios de Originalidade aos alunos';
+$string['studentreports_help'] = 'Permite-o a exibir os relatórios de originalidade Turnitin. Se configurado para sim, o relatório de originalidade gerado pelo Turnitin estará disponível para o aluno visualizá-lo.';
+$string['submitondraft'] = 'Enviar arquivo quando for feito o primeiro upload';
+$string['submitonfinal'] = 'Enviar o arquivo quando o aluno enviá-lo para avaliação';
+$string['draftsubmit'] = 'Quando é que o arquivo deve ser enviado ao Turnitin?';
+$string['allownonor'] = 'Permitir envios de qualquer tipo de arquivo?';
+$string['allownonor_help'] = 'Essa configuração permitirá o envio de qualquer tipo de arquivo. Com essa opção definida como "Sim", a originalidade dos documentos será verificada sempre que possível, os documentos estarão disponíveis para download e as ferramentas de comentários GradeMark estarão disponíveis sempre que possível.';
+$string['norepository'] = 'Nenhum Depósito';
+$string['standardrepository'] = 'Depósito Padrão';
+$string['submitpapersto'] = 'Armazenar Documentos dos Alunos';
+$string['institutionalrepository'] = 'Depósito Institucional (Onde Aplicável)';
+$string['submitpapersto_help'] = 'Essa configuração fornece aos professores a possibilidade de selecionar se os documentos serão armazenados em um depósito de documentos de alunos Turnitin. A vantagem de enviar os documentos para o depósito de documentos de alunos é que os documentos enviados ao trabalho serão comparados com os envios de outros alunos\' nas suas aulas atuais e anteriores. Se você selecionar "nenhum depósito", os documentos de seus alunos\' não serão armazenados no depósito de documentos de alunos Turnitin.';
+$string['checkagainstnote'] = 'Observação: se você não selecionar "Sim" para pelo menos uma das opções "Comparar com..." abaixo, um relatório de Originalidade NÃO será gerado.';
+$string['spapercheck'] = 'Comparar com os documentos armazenados dos alunos';
+$string['internetcheck'] = 'Comparar com a internet';
+$string['journalcheck'] = 'Comparar com periódicos acadêmicos,
jornais e publicações';
+$string['compareinstitution'] = 'Comparar os arquivos enviados com os documentos enviados por essa instituição';
+$string['reportgenspeed'] = 'Velocidade de Geração do Relatório';
+$string['genspeednote'] = 'Observação: a geração do Relatório de Originalidade para reenvios está sujeita a um atraso de vinte e quatro horas.';
+$string['locked_message'] = 'Mensagem trancada';
+$string['locked_message_help'] = 'Se alguma configuração estiver trancada, essa mensagem é mostrada para dizer o porquê.';
+$string['locked_message_default'] = 'Essa configuração está trancada a nível local';
+$string['sharedrubric'] = 'Rubrica Compartilhada';
+$string['turnitinrefreshsubmissions'] = 'Atualizar Envios';
+$string['turnitinrefreshingsubmissions'] = 'Atualizando os envios';
+$string['turnitinppulapre'] = 'Para enviar um arquivo ao Turnitin, primeiro você precisa aceitar nosso Contrato de Licença do Usuário Final. Se optar por não aceitar nosso Contrato de Licença do Usuário Final, seu arquivo será enviado apenas para o Moodle. Clique aqui para aceitar.';
+$string['noscriptula'] = '(Como você não tem o JavaScript ativado, você terá que atualizar manualmente esta página antes de poder fazer um envio após aceitar o Acordo de Usuário Turnitin)';
+$string['filedoesnotexist'] = 'O arquivo foi excluído';
+
+// Plugin settings.
+$string['config'] = 'Configurações';
+$string['defaults'] = 'Configurações Padrão';
+$string['showusage'] = 'Mostrar Dados do Despejo';
+$string['saveusage'] = 'Salvar Dados do Despejo';
+$string['errors'] = 'Erros';
+$string['turnitinconfig'] = 'Configurações do Plugin de Plágio Turnitin';
+$string['tiiexplain'] = 'O Turnitin é um produto comercial e você deve pagar uma assinatura para usar esse serviço. Para obter mais informações, consulte http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Habilitar o Turnitin';
+$string['useturnitin_mod'] = 'Habilitar Turnitin para {$a}';
+$string['pp_configuredesc'] = 'Você deve configurar esse módulo dentro do módulo turnitintooltwo. Clique aqui para configurar esse plugin';
+$string['turnitindefaults'] = 'Configurações padrão do plugin de plágio Turnitin';
+$string['defaultsdesc'] = 'As seguintes configurações são as padrões definidas ao ativar o Turnitin em um módulo de atividades';
+$string['turnitinpluginsettings'] = 'Configurações do plugin de plágio Turnitin';
+$string['pperrorsdesc'] = 'Ocorreu um problema ao tentar fazer o upload dos arquivos abaixo para o Turnitin. Para reenviar, selecione os arquivos que você deseja reenviar e pressione o botão reenviar. Eles serão processados da próxima vez em que o cron for executado.';
+$string['pperrorssuccess'] = 'Os arquivos que você selecionou foram reenviados e serão processados pelo cron.';
+$string['pperrorsfail'] = 'Ocorreu um problema com alguns arquivos que você selecionou, um novo evento cron não pôde ser criado para eles.';
+$string['resubmitselected'] = 'Reenviar Arquivos Selecionados';
+$string['deleteconfirm'] = 'Tem certeza que você quer apagar esse envio?\n\nIsso não pode ser desfeito.';
+$string['deletesubmission'] = 'Apagar Envio';
+$string['semptytable'] = 'Nenhum resultado encontrado.';
+$string['configupdated'] = 'Configurações atualizadas';
+$string['defaultupdated'] = 'Configurações padrão Turnitin atualizadas';
+$string['notavailableyet'] = 'Não disponível';
+$string['resubmittoturnitin'] = 'Reenviar para Turnitin';
+$string['resubmitting'] = 'Reenviado(s)';
+$string['id'] = 'Identificação';
+$string['student'] = 'Aluno';
+$string['course'] = 'Curso';
+$string['module'] = 'Módulo';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Visualizar o Relatório de Originalidade';
+$string['launchrubricview'] = 'Visualizar a rubrica usada para avaliação';
+$string['turnitinppulapost'] = 'Seu arquivo não foi enviado ao Turnitin. Clique aqui para aceitar nosso Contrato de Licença do Usuário Final.';
+$string['ppsubmissionerrorseelogs'] = 'Esse arquivo não foi enviado ao Turnitin. Consulte o administrador do sistema';
+$string['ppsubmissionerrorstudent'] = 'Esse arquivo não foi enviado ao Turnitin. Consulte seu tutor para obter mais detalhes.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Notificações de Recebimento Digital do Plugin de Plágio Turnitin';
+$string['digitalreceipt'] = 'Recibo Digital';
+$string['digital_receipt_subject'] = 'Esse é o seu Recibo Digital Turnitin';
+$string['pp_digital_receipt_message'] = 'Prezado(a) {$a->firstname} {$a->lastname},
Você enviou com sucesso o arquivo {$a->submission_title} para o trabalho {$a->assignment_name}{$a->assignment_part} na aula {$a->course_fullname} sobre {$a->submission_date}. A identificação do seu envio é {$a->submission_id}. Seu recibo digital completo pode ser visualizado e impresso a partir do botão imprimir/baixar no Visualizador de Documentos.
Obrigado por usar o Turnitin,
A Equipe Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'Identificação Turnitin';
+$string['turnitinstatus'] = 'Status Turnitin';
+$string['pending'] = 'Pendente';
+$string['similarity'] = 'Semelhança';
+$string['notorcapable'] = 'Não é possível gerar um Relatório de Originalidade para esse arquivo.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'O aluno visualizou o documento em:';
+$string['student_notread'] = 'O aluno não visualizou esse documento.';
+$string['launchpeermarkreviews'] = 'Iniciar as Revisões PeerMark';
+
+// Cron.
+$string['ppqueuesize'] = 'Número de eventos na fila de eventos do Plugin de Plágio';
+$string['ppcronsubmissionlimitreached'] = 'Nenhum outro envio será feito para o Turnitin por esta execução de cron, uma vez que são processados apenas {$a} por operação.';
+$string['cronsubmittedsuccessfully'] = 'Envio: {$a->title} (TII ID: {$a->submissionid}) para o trabalho {$a->assignmentname} no curso {$a->coursename} foi enviado com sucesso ao Turnitin.';
+$string['pp_submission_error'] = 'O Turnitin retornou um erro com o seu envio:';
+$string['turnitindeletionerror'] = 'Falha ao excluir o envio Turnitin. A cópia local do Moodle foi removida, mas o envio no Turnitin não pôde ser excluído.';
+$string['ppeventsfailedconnection'] = 'Nenhum evento será processado pelo plugin de plágio Turnitin por essa execução do cron, já que a conexão ao Turnitin não pode ser estabelecida.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Consulte seu tutor ou o administrador do sistema para obter mais detalhes';
+$string['faultcode'] = 'Código de falha';
+$string['line'] = 'Linha';
+$string['message'] = 'Mensagem';
+$string['code'] = 'Código';
+$string['tiisubmissionsgeterror'] = 'Ocorreu um erro ao tentar obter os envios para esse trabalho a partir do Turnitin';
+$string['errorcode0'] = 'Esse arquivo não foi enviado ao Turnitin. Consulte o administrador do sistema';
+$string['errorcode1'] = 'Esse arquivo não foi enviado ao Turnitin por não ter conteúdo suficiente para produzir um Relatório de Originalidade.';
+$string['errorcode2'] = 'Esse arquivo não será enviado ao Turnitin pois excede o tamanho máximo de {$a} permitido.';
+$string['errorcode3'] = 'Esse arquivo não foi enviado ao Turnitin porque o usuário não aceitou o Contrato de Licença do Usuário Final Turnitin';
+$string['errorcode4'] = 'Você deve fazer o upload de um tipo de arquivo suportado para esse trabalho. Os tipos de arquivo aceitos são: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps e .rtf';
+$string['errorcode5'] = 'Esse arquivo não foi enviado ao Turnitin porque houve um problema na criação do módulo no Turnitin que está impedindo os envios, consulte seus registros de API para mais informações';
+$string['errorcode6'] = 'Esse arquivo não foi enviado ao Turnitin porque houve um problema na edição das configurações do módulo no Turnitin que está impedindo os envios, consulte seus registros de API para mais informações';
+$string['errorcode7'] = 'Esse arquivo não foi enviado ao Turnitin porque houve um problema na criação do usuário no Turnitin que está impedindo os envios, consulte seus registros de API para mais informações';
+$string['errorcode8'] = 'Esse arquivo não foi enviado ao Turnitin porque houve um problema na criação do arquivo temporário. A causa mais provável é um nome de arquivo inválido. Renomeie o arquivo e refaça o upload usando Editar Envio.';
+$string['errorcode9'] = 'O arquivo não pôde ser enviado por não ter conteúdo acessível no pool de arquivos para enviar.';
+$string['coursegeterror'] = 'Não foi possível obter dados do curso';
+$string['configureerror'] = 'Você deve configurar este módulo totalmente como Administrador antes de usá-lo dentro de um curso. Entre em contato com o administrador do Moodle.';
+$string['turnitintoolofflineerror'] = 'Estamos passando por um problema temporário. Tente novamente em breve.';
+$string['defaultinserterror'] = 'Ocorreu um erro ao tentar inserir um valor de configuração padrão no banco de dados';
+$string['defaultupdateerror'] = 'Ocorreu um erro ao tentar um valor de configuração padrão no banco de dados';
+$string['tiiassignmentgeterror'] = 'Ocorreu um erro ao tentar obter um trabalho a partir do Turnitin';
+$string['assigngeterror'] = 'Não foi possível obter os dados do turnitintooltwo';
+$string['classupdateerror'] = 'Não foi possível atualizar os dados da Aula Turnitin';
+$string['pp_createsubmissionerror'] = 'Ocorreu um erro ao tentar criar o envio no Turnitin';
+$string['pp_updatesubmissionerror'] = 'Ocorreu um erro ao tentar reenviar seus envios ao Turnitin';
+$string['tiisubmissiongeterror'] = 'Ocorreu um erro ao tentar obter um envio a partir do Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Fechar';
+$string['loadingdv'] = 'Carregando Visualizador de Documentos Turnitin...';
+$string['changerubricwarning'] = 'Ao alterar ou separar uma rubrica irá remover todas as pontuações de rubricas existentes dos documentos nesse trabalho, incluindo os cartões de pontuação que foram pontuados anteriormente . As notas gerais para trabalhos avaliados anteriormente serão mantidas.';
+$string['messageprovider:submission'] = 'Notificações de Recebimento Digital do Plugin de Plágio Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Status Turnitin';
+$string['deleted'] = 'Excluído';
+$string['pending'] = 'Pendente';
+$string['because'] = 'Isso ocorreu porque um administrador excluiu o trabalho pendente da fila de processamento e abortou o envio para o Turnitin.
O arquivo ainda existe no Moodle, entre em contato com seu instrutor.
Veja abaixo para mais códigos de erro:';
diff --git a/lang/ro/plagiarism_turnitin.php b/lang/ro/plagiarism_turnitin.php
new file mode 100755
index 00000000..06429364
--- /dev/null
+++ b/lang/ro/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Plugin de detectare a plagiatului Turnitin';
+$string['turnitintooltwo'] = 'Instrument Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Procesul plugin de detectare a plagiatului Turnitin';
+$string['connecttesterror'] = 'Eroare la conectarea la Turnitin. S-a returnat mesajul de eroare de mai jos:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Activare Turnitin';
+$string['excludebiblio'] = 'Excluderea bibliografiei';
+$string['excludequoted'] = 'Excluderea citatelor';
+$string['excludevalue'] = 'Excludere similitudini mici';
+$string['excludewords'] = 'Cuvinte';
+$string['excludepercent'] = 'Procent';
+$string['norubric'] = 'Niciun barem';
+$string['otherrubric'] = 'Utilizarea baremului unui alt profesor';
+$string['attachrubric'] = 'Atașarea unui barem la această temă';
+$string['launchrubricmanager'] = 'Lansarea Managerului de bareme';
+$string['attachrubricnote'] = 'Observație: studenții vor putea să vadă baremele atașate și conținutul lor înainte de a-și depune lucrările.';
+$string['erater_handbook_advanced'] = 'Avansat';
+$string['erater_handbook_highschool'] = 'Liceu';
+$string['erater_handbook_middleschool'] = 'Gimnaziu';
+$string['erater_handbook_elementary'] = 'Școală primară';
+$string['erater_handbook_learners'] = 'Studenți ai limbii engleze';
+$string['erater_dictionary_enus'] = 'Dicționar de engleză americană';
+$string['erater_dictionary_engb'] = 'Dicționar de engleză britanică';
+$string['erater_dictionary_en'] = 'Ambele dicționare: de engleză americană și britanică';
+$string['erater'] = 'Activarea verificării gramaticale cu e-rater';
+$string['erater_handbook'] = 'Manual ETS©';
+$string['erater_dictionary'] = 'Dicționar e-rater';
+$string['erater_categories'] = 'Categorii e-rater';
+$string['erater_spelling'] = 'Ortografie';
+$string['erater_grammar'] = 'Gramatică';
+$string['erater_usage'] = 'Utilizare';
+$string['erater_mechanics'] = 'Ortografie și punctuație';
+$string['erater_style'] = 'Stil';
+$string['anonblindmarkingnote'] = 'Observație: setarea separată de însemnări anonime în Turnitin a fost eliminată. Turnitin va utiliza setarea de însemnări anonime din Moodle pentru a determina ce setare trebuie să folosească.';
+$string['transmatch'] = 'Similitudini cu traduceri';
+$string['genduedate'] = 'Generarea rapoartelor la termenul de depunere (redepunerile sunt permise până la termenul de depunere)';
+$string['genimmediately1'] = 'Generarea imediată a rapoartelor (redepunerile nu sunt permise)';
+$string['genimmediately2'] = 'Generarea imediată a rapoartelor (redepunerile sunt permise până la termenul de depunere)';
+$string['launchquickmarkmanager'] = 'Lansare Manager Quickmark';
+$string['launchpeermarkmanager'] = 'Lansare Manager Peermark';
+$string['studentreports'] = 'Afișarea Rapoartelor privind originalitatea pentru studenți';
+$string['studentreports_help'] = 'Vă permite să afișați utilizatorilor studenți rapoartele Turnitin privind originalitatea. Dacă este setat la da, rapoartele privind originalitatea generate de Turnitin pot fi văzute de către studenți.';
+$string['submitondraft'] = 'Depunere fișier la prima încărcare';
+$string['submitonfinal'] = 'Depunerea fișierului atunci când studentul trimite lucrarea pentru însemnări';
+$string['draftsubmit'] = 'Când se depune fișierul în Turnitin?';
+$string['allownonor'] = 'Se permite depunerea oricărui tip de fișier?';
+$string['allownonor_help'] = 'Această setare va permite depunerea oricărui tip de fișier. Dacă opțiunea este setată la „Da”, originalitatea depunerilor va fi verificată în limita posibilităților, depunerile vor fi disponibile pentru descărcare și instrumentele de feedback GradeMark vor fi disponibile în limita posibilităților.';
+$string['norepository'] = 'Niciun depozit';
+$string['standardrepository'] = 'Depozit standard';
+$string['submitpapersto'] = 'Stocarea lucrărilor studenților';
+$string['institutionalrepository'] = 'Depozitul instituțional (dacă este cazul)';
+$string['submitpapersto_help'] = 'Această setare oferă profesorilor posibilitatea de a stoca lucrările studenților în depozitul Turnitin. Avantajul stocării în depozit este că lucrările studenților depuse pentru o temă sunt comparate cu alte depuneri ale studenților, din cursurile prezente și trecute. Dacă selectați „niciun depozit”, lucrările studenților nu vor fi depozitate în depozitul Turnitin.';
+$string['checkagainstnote'] = 'Observație: dacă nu selectați „Da” la cel puțin una dintre opțiunile „Verificare prin comparație cu...” de mai jos, Raportul privind originalitatea NU se va genera.';
+$string['spapercheck'] = 'Verificare prin comparație cu lucrările depozitate ale studenților';
+$string['internetcheck'] = 'Verificare prin comparație cu materialele de pe internet';
+$string['journalcheck'] = 'Verificare prin comparație cu jurnale,
periodice și publicații';
+$string['compareinstitution'] = 'Fișierele depuse se compară cu lucrările depuse în această instituție';
+$string['reportgenspeed'] = 'Viteza generării raportului';
+$string['genspeednote'] = 'Observație: în cazul redepunerilor, Raportul privind originalitatea se generează cu o întârziere de 24 de ore.';
+$string['locked_message'] = 'Mesaj blocat';
+$string['locked_message_help'] = 'Dacă se blochează oricare dintre setări, se afișează acest mesaj pentru a explica motivul.';
+$string['locked_message_default'] = 'Această setare este blocată la nivel de site';
+$string['sharedrubric'] = 'Barem partajat';
+$string['turnitinrefreshsubmissions'] = 'Reîncărcarea depunerilor';
+$string['turnitinrefreshingsubmissions'] = 'Se reîmprospătează depunerile';
+$string['turnitinppulapre'] = 'Pentru a putea depune un fișier în Turnitin, trebuie să acceptați în prealabil EULA (Acordul de licență cu utilizatorul final). Dacă decideți să nu acceptați EULA, fișierul se va depune doar în Moodle. Faceți clic aici pentru a accepta.';
+$string['noscriptula'] = '(Întrucât nu aveți Javascript activat, va trebui să reîncărcați manual această pagină pentru a putea depune o lucrare după acceptarea Acordului de utilizator Turnitin)';
+$string['filedoesnotexist'] = 'Fișierul a fost șters';
+
+// Plugin settings.
+$string['config'] = 'Configurație';
+$string['defaults'] = 'Setări implicite';
+$string['showusage'] = 'Afișarea conținutului bazei de date';
+$string['saveusage'] = 'Salvarea conținutului bazei de date';
+$string['errors'] = 'Erori';
+$string['turnitinconfig'] = 'Configurarea pluginului de detectare a plagiatului Turnitin';
+$string['tiiexplain'] = 'Turnitin este un produs comercial și trebuie să aveți un abonament plătit pentru a folosi acest serviciu. Pentru mai multe informații citiți http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Activare Turnitin';
+$string['useturnitin_mod'] = 'Activare Turnitin pentru {$a}';
+$string['pp_configuredesc'] = 'Trebuie să configurați acest modul în modulul turnitintooltwo. Faceți clic aici pentru a configura acest plugin';
+$string['turnitindefaults'] = 'Setările implicite ale pluginului de detectare a plagiatului Turnitin';
+$string['defaultsdesc'] = 'Următoarele setări sunt valorile implicite setate la activarea Turnitin într-un modul de activitate';
+$string['turnitinpluginsettings'] = 'Setări plugin de detectare a plagiatului Turnitin';
+$string['pperrorsdesc'] = 'Problemă la încercarea de a încărca fișierele de mai jos în Turnitin. Pentru a redepune materialul, selectați fișierele pe care doriți să le redepuneți, apoi faceți clic pe butonul de redepunere. Acestea se vor procesa la următoarea executare a lucrării cron.';
+$string['pperrorssuccess'] = 'Fișierele pe care le-ați selectat au fost redepuse și vor fi procesate de lucrarea cron.';
+$string['pperrorsfail'] = 'Problemă cu unele dintre fișierele pe care le-ați selectat, nu s-a putut crea un nou eveniment cron pentru acestea.';
+$string['resubmitselected'] = 'Redepunerea fișierelor selectate';
+$string['deleteconfirm'] = 'Sigur doriți să ștergeți această depunere?\n\nAcțiunea nu poate fi anulată.';
+$string['deletesubmission'] = 'Ștergere depunere';
+$string['semptytable'] = 'Nu s-a găsit niciun rezultat.';
+$string['configupdated'] = 'Configurație actualizată';
+$string['defaultupdated'] = 'Setările implicite Turnitin au fost actualizate';
+$string['notavailableyet'] = 'Indisponibil';
+$string['resubmittoturnitin'] = 'Redepunere în Turnitin';
+$string['resubmitting'] = 'Redepunere în curs';
+$string['id'] = 'ID';
+$string['student'] = 'Student';
+$string['course'] = 'Curs';
+$string['module'] = 'Modul';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Vizualizarea Raportului privind originalitatea';
+$string['launchrubricview'] = 'Vizualizarea baremului folosit pentru însemnări';
+$string['turnitinppulapost'] = 'Fișierul nu a fost depus în Turnitin. Faceți clic aici pentru a accepta EULA.';
+$string['ppsubmissionerrorseelogs'] = 'Acest fișier nu a fost depus în Turnitin, consultați administratorul de sistem';
+$string['ppsubmissionerrorstudent'] = 'Acest fișier nu a fost depus în Turnitin, consultați-vă îndrumătorul pentru mai multe detalii';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Notificări privind confirmările digitale din pluginul de detectare a plagiatului Turnitin';
+$string['digitalreceipt'] = 'Confirmare digitală';
+$string['digital_receipt_subject'] = 'Aceasta este Confirmarea digitală Turnitin';
+$string['pp_digital_receipt_message'] = 'Stimate/Stimată {$a->firstname} {$a->lastname},
Ați depus cu succes fișierul {$a->submission_title} cu tema {$a->assignment_name}{$a->assignment_part} din cursul {$a->course_fullname}, pe data de {$a->submission_date}. ID-ul depunerii este {$a->submission_id}. Confirmarea digitală completă se poate vizualiza și imprima prin intermediul butonului de imprimare/descărcare din vizualizatorul de documente.
Vă mulțumim pentru utilizarea Turnitin,
Echipa Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'ID Turnitin';
+$string['turnitinstatus'] = 'Stare Turnitin';
+$string['pending'] = 'În așteptare';
+$string['similarity'] = 'Similitudine';
+$string['notorcapable'] = 'Pentru acest fișier nu se poate genera un Raport privind originalitatea.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Studentul a văzut lucrarea la:';
+$string['student_notread'] = 'Studentul nu a văzut această lucrare.';
+$string['launchpeermarkreviews'] = 'Lansare evaluări Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Numărul evenimentelor din coada de evenimente a pluginului de detectare a plagiatului';
+$string['ppcronsubmissionlimitreached'] = 'La această executare a lucrării cron nu se mai trimit în Turnitin alte depuneri, deoarece la o executare se procesează cel mult {$a}';
+$string['cronsubmittedsuccessfully'] = 'Lucrarea: {$a->title} (ID TII: {$a->submissionid}) pentru tema {$a->assignmentname} din cursul {$a->coursename} a fost depusă cu succes în Turnitin.';
+$string['pp_submission_error'] = 'Turnitin a returnat o eroare legată de depunere:';
+$string['turnitindeletionerror'] = 'Ștergerea depunerii Turnitin nu a reușit. Copia locală Moodle a fost înlăturată, dar depunerea din Turnitin nu a putut fi ștearsă.';
+$string['ppeventsfailedconnection'] = 'La această executare a lucrării cron nu se vor procesa alte evenimente cu pluginul de detectare a plagiatului Turnitin, deoarece nu se poate stabili conexiunea cu Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Consultați-vă îndrumătorul sau administratorul de sistem pentru mai multe detalii';
+$string['faultcode'] = 'Cod de eroare';
+$string['line'] = 'Linie';
+$string['message'] = 'Mesaj';
+$string['code'] = 'Cod';
+$string['tiisubmissionsgeterror'] = 'Eroare la încercarea de a obține depunerile pentru această temă de la Turnitin';
+$string['errorcode0'] = 'Acest fișier nu a fost depus în Turnitin, consultați administratorul de sistem';
+$string['errorcode1'] = 'Acest fișier nu a fost trimis în Turnitin, deoarece conținutul este insuficient pentru generarea unui Raport privind originalitatea.';
+$string['errorcode2'] = 'Acest fișier nu se va depune în Turnitin pentru că depășește dimensiunea maximă admisă de {$a}';
+$string['errorcode3'] = 'Acest fișier nu a fost depus în Turnitin, deoarece utilizatorul nu a acceptat Acordul de licență cu utilizatorul final al Turnitin.';
+$string['errorcode4'] = 'Pentru această temă trebuie să încărcați un tip de fișier acceptat. Tipurile acceptate sunt: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps și .rtf';
+$string['errorcode5'] = 'Acest fișier nu a fost depus în Turnitin din cauza unei probleme la crearea modulului în Turnitin, care împiedică depunerile, pentru informații suplimentare, consultați jurnalele API';
+$string['errorcode6'] = 'Acest fișier nu a fost depus în Turnitin din cauza unei probleme la editarea modulului în Turnitin, care împiedică depunerile, pentru informații suplimentare, consultați jurnalele API';
+$string['errorcode7'] = 'Acest fișier nu a fost depus în Turnitin din cauza unei probleme la crearea utilizatorului în Turnitin, care împiedică depunerile, pentru informații suplimentare, consultați jurnalele API';
+$string['errorcode8'] = 'Acest fișier nu a fost depus în Turnitin din cauza unei probleme la crearea fișierului temporar. Cauza probabilă este un nume de fișier incorect. Redenumiți fișierul și reîncărcați-l prin Editare depunere.';
+$string['errorcode9'] = 'Imposibil de depus fișierul: în lista de fișiere nu există conținut accesibil care să poată fi depus.';
+$string['coursegeterror'] = 'Nu au putut fi obținute datele cursului';
+$string['configureerror'] = 'Pentru a putea utiliza modul într-un curs, trebuie să-l configurați complet ca Administrator. Contactați administratorul Moodle.';
+$string['turnitintoolofflineerror'] = 'Avem o problemă temporară. Încercați din nou în scurt timp.';
+$string['defaultinserterror'] = 'Eroare la încercarea de a introduce o valoare de setare implicită în baza de date';
+$string['defaultupdateerror'] = 'Eroare la încercarea de a actualiza o valoare de setare implicită în baza de date';
+$string['tiiassignmentgeterror'] = 'Eroare la încercarea de a obține o temă de la Turnitin';
+$string['assigngeterror'] = 'Imposibil de obținut datele turnitintooltwo';
+$string['classupdateerror'] = 'Nu au putut fi actualizate datele cursului Turnitin';
+$string['pp_createsubmissionerror'] = 'Eroare la încercarea de a crea depunerea în Turnitin';
+$string['pp_updatesubmissionerror'] = 'Eroare la încercarea de a redepune lucrarea în Turnitin';
+$string['tiisubmissiongeterror'] = 'Eroare la încercarea de a obține o depunere de la Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Închidere';
+$string['loadingdv'] = 'Se încarcă vizualizatorul de documente Turnitin...';
+$string['changerubricwarning'] = 'Modificarea sau detașarea unui barem va înlătura din lucrările cu această temă toate punctajele acordate pe baza baremului, inclusiv grilele de notare punctate anterior. Notele generale ale lucrărilor notate anterior se vor păstra.';
+$string['messageprovider:submission'] = 'Notificări privind confirmările digitale din pluginul de detectare a plagiatului Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Stare Turnitin';
+$string['deleted'] = 'Șters';
+$string['pending'] = 'În așteptare';
+$string['because'] = 'Cauza este faptul că un administrator a șters o temă în așteptare din coada de procesare și a întrerupt depunerea în Turnitin.
Fișierul există în continuare în Moodle, contactați profesorul.
Căutați mai jos codul de eroare:';
diff --git a/lang/ru/plagiarism_turnitin.php b/lang/ru/plagiarism_turnitin.php
new file mode 100755
index 00000000..bf2d93ab
--- /dev/null
+++ b/lang/ru/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Модуль Turnitin для проверки на плагиат';
+$string['turnitintooltwo'] = 'Инструмент Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Задача модуля Turnitin для проверки на плагиат';
+$string['connecttesterror'] = 'Произошла ошибка при подключении к Turnitin. Сообщение об ошибке:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Включить Turnitin';
+$string['excludebiblio'] = 'Исключить библиографию';
+$string['excludequoted'] = 'Исключить цитаты';
+$string['excludevalue'] = 'Исключить незначительные совпадения';
+$string['excludewords'] = 'Слова';
+$string['excludepercent'] = 'Процент';
+$string['norubric'] = 'Без рубрики';
+$string['otherrubric'] = 'Использовать рубрику, принадлежащую другому преподавателю';
+$string['attachrubric'] = 'Добавить рубрику к этому заданию';
+$string['launchrubricmanager'] = 'Запустить диспетчер рубрик';
+$string['attachrubricnote'] = 'Примечание: студенты смогут просматривать добавленные рубрики и их содержание до сдачи работы.';
+$string['erater_handbook_advanced'] = 'Продвинутый';
+$string['erater_handbook_highschool'] = 'Старшие классы';
+$string['erater_handbook_middleschool'] = 'Средняя школа';
+$string['erater_handbook_elementary'] = 'Начальная школа';
+$string['erater_handbook_learners'] = 'Студенты английского языка';
+$string['erater_dictionary_enus'] = 'Словарь американского английского языка';
+$string['erater_dictionary_engb'] = 'Словарь британского английского языка';
+$string['erater_dictionary_en'] = 'Словари американского и британского английского языка';
+$string['erater'] = 'Включить проверку грамматики с помощью e-rater';
+$string['erater_handbook'] = 'Руководство ETS©';
+$string['erater_dictionary'] = 'Словарь e-rater';
+$string['erater_categories'] = 'Категории e-rater';
+$string['erater_spelling'] = 'Орфография';
+$string['erater_grammar'] = 'Грамматика';
+$string['erater_usage'] = 'Применение';
+$string['erater_mechanics'] = 'Синтаксис';
+$string['erater_style'] = 'Стиль';
+$string['anonblindmarkingnote'] = 'Примечание: в системе Turnitin больше нет отдельной настройки для обеспечения анонимности работ. Turnitin будет использовать настройку анонимности Moodle.';
+$string['transmatch'] = 'Переведенные совпадения';
+$string['genduedate'] = 'Формировать отчеты при наступлении даты выполнения (до этого срока разрешена повторная отправка)';
+$string['genimmediately1'] = 'Формировать отчеты немедленно (повторная отправка исключена)';
+$string['genimmediately2'] = 'Формировать отчеты немедленно (повторная отправка разрешена до установленного срока)';
+$string['launchquickmarkmanager'] = 'Запустить диспетчер Quickmark';
+$string['launchpeermarkmanager'] = 'Запустить диспетчер Рееrmark';
+$string['studentreports'] = 'Отобразить свидетельства оригинальности для студентов';
+$string['studentreports_help'] = 'Позволяет показывать свидетельства оригинальности Turnitin студентам-пользователям. Если установлено значение «да», то свидетельства оригинальности, генерируемые Turnitin, доступны для просмотра студентами.';
+$string['submitondraft'] = 'Отправить файл при первой загрузке';
+$string['submitonfinal'] = 'Отправить файл, когда студент посылает файл для оценки';
+$string['draftsubmit'] = 'Когда файл должен быть представлен в Turnitin?';
+$string['allownonor'] = 'Разрешить сдачу работ в файлах любого формата?';
+$string['allownonor_help'] = 'Этот параметр позволяет студентам сдавать работы в файлах любого формата. Если выбрать значение "Да", отправленные работы будут по мере возможности проверяться на оригинальность содержания, работы можно будет загружать, и по мере возможности будет предоставлен доступ к инструментам комментирования GradeMark.';
+$string['norepository'] = 'Не сохранять';
+$string['standardrepository'] = 'Стандартное хранилище';
+$string['submitpapersto'] = 'Сохранять работы студентов';
+$string['institutionalrepository'] = 'Хранилище учебного заведения (если применимо)';
+$string['submitpapersto_help'] = 'С помощью этого параметра преподаватели могут выбрать, будут ли сохраняться работы студентов в хранилище работ Turnitin. Преимущество отправки работ в хранилище состоит в том, что выполненные студентами задания можно сравнить с работами других студентов', текущего набора или предыдущих. Если выбрать "Не сохранять", работы ваших студентов' не будут отправляться в хранилище работ студентов Turnitin.';
+$string['checkagainstnote'] = 'Примечание: если выбрать вариант «Да» хотя бы для одной из перечисленных ниже проверок, то отчет об оригинальности формироваться НЕ будет.';
+$string['spapercheck'] = 'Проверить по сохраненным работам студентов';
+$string['internetcheck'] = 'Проверить в Интернете';
+$string['journalcheck'] = 'Проверить по журналам,
периодическим изданиям и публикациям';
+$string['compareinstitution'] = 'Сравнить полученные файлы с работами, отправленными в этом учебном заведении';
+$string['reportgenspeed'] = 'Скорость формирования отчета';
+$string['genspeednote'] = 'Примечание: при повторной отправке работы отчет об оригинальности формируется с 24-часовой задержкой.';
+$string['locked_message'] = 'Сообщение о блокировке';
+$string['locked_message_help'] = 'Если какие-либо из настроек заблокированы, отображается сообщение с указанием причины.';
+$string['locked_message_default'] = 'Данная настройка заблокирована для всего сайта';
+$string['sharedrubric'] = 'Общая рубрика';
+$string['turnitinrefreshsubmissions'] = 'Обновить список отправленных работ';
+$string['turnitinrefreshingsubmissions'] = 'Обновление списка отправленных работ';
+$string['turnitinppulapre'] = 'Прежде чем отправить файл в систему Turnitin, необходимо принять условия соглашения с конечным пользователем. В противном случае вы сможете отправить файл только в систему Moodle. Нажмите здесь, чтобы принять условия.';
+$string['noscriptula'] = '(Поскольку в вашем браузере не включен Javascript, прежде чем отправлять работу, вам необходимо будет вручную обновить эту страницу после того, как вы примете условия пользовательского соглашения.)';
+$string['filedoesnotexist'] = 'Файл удален';
+
+// Plugin settings.
+$string['config'] = 'Конфигурация';
+$string['defaults'] = 'Настройки по умолчанию';
+$string['showusage'] = 'Показать запись данных';
+$string['saveusage'] = 'Сохранить запись данных';
+$string['errors'] = 'Ошибки';
+$string['turnitinconfig'] = 'Конфигурация модуля Turnitin для проверки на плагиат';
+$string['tiiexplain'] = 'Turnitin является коммерческим продуктом, и право пользования этим сервисом предоставляется на основе платной подписки. Дополнительные сведения см. на странице http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Включить Turnitin';
+$string['useturnitin_mod'] = 'Включить Turnitin для {$a}';
+$string['pp_configuredesc'] = 'Этот модуль необходимо настроить через модуль Turnitintooltwo. Чтобы настроить этот модуль, нажмите здесь';
+$string['turnitindefaults'] = 'Настройки модуля Turnitin для проверки на плагиат по умолчанию';
+$string['defaultsdesc'] = 'Следующие настройки устанавливаются по умолчанию, когда Turnitin включается внутри модуля активности';
+$string['turnitinpluginsettings'] = 'Настройки модуля Turnitin для проверки на плагиат';
+$string['pperrorsdesc'] = 'При попытке загрузить эти файлы в систему Turnitin произошла ошибка. Чтобы отправить работу повторно, выберите файлы, которые вы хотите отправить, и нажмите кнопку повторной отправки. Обработка будет произведена во время следующего сеанса работы планировщика.';
+$string['pperrorssuccess'] = 'Выбранные файлы отправлены повторно и ожидают обработки планировщиком.';
+$string['pperrorsfail'] = 'Во время обработки некоторых выбранных файлов произошла ошибка. Не удалось создать новое событие планировщика.';
+$string['resubmitselected'] = 'Отправить выбранные файлы повторно';
+$string['deleteconfirm'] = 'Вы уверены, что хотите удалить эту работу? Это действие будет невозможно отменить.';
+$string['deletesubmission'] = 'Удалить работу';
+$string['semptytable'] = 'Результаты не найдены';
+$string['configupdated'] = 'Конфигурация обновлена';
+$string['defaultupdated'] = 'Значения по умолчанию Turnitin обновлены';
+$string['notavailableyet'] = 'Недоступно';
+$string['resubmittoturnitin'] = 'Отправить в Turnitin повторно';
+$string['resubmitting'] = 'Повторная отправка';
+$string['id'] = 'Идентификатор';
+$string['student'] = 'Студент';
+$string['course'] = 'Курс';
+$string['module'] = 'Модуль';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Просмотреть отчет об оригинальности';
+$string['launchrubricview'] = 'Просмотреть рубрику, использованную для маркировки';
+$string['turnitinppulapost'] = 'Не удалось отправить файл в Turnitin. Нажмите здесь, чтобы принять условия лицензионного соглашения с конечным пользователем.';
+$string['ppsubmissionerrorseelogs'] = 'Не удалось отправить файл в систему Turnitin. Обратитесь за дополнительной информацией к системному администратору';
+$string['ppsubmissionerrorstudent'] = 'Не удалось отправить файл в систему Turnitin. Обратитесь за дополнительной информацией к своему преподавателю';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Уведомления о цифровой квитанции модуля Turnitin для проверки на плагиат';
+$string['digitalreceipt'] = 'Цифровая квитанция';
+$string['digital_receipt_subject'] = 'Это цифровая квитанция Turnitin';
+$string['pp_digital_receipt_message'] = 'Уважаемый(-ая) {$a->firstname} {$a->lastname},
Вы успешно отправили файл {$a->submission_title} с выполненным заданием {$a->assignment_name}{$a->assignment_part} по классу {$a->course_fullname} {$a->submission_date}. Идентификатор вашей работы — {$a->submission_id}. Цифровую квитанцию можно полностью просмотреть и напечатать, нажав на кнопку печати и загрузки в окне просмотра документов.
Спасибо, что пользуетесь Turnitin.
Команда Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'Идентификатор Turnitin';
+$string['turnitinstatus'] = 'Статус Turnitin';
+$string['pending'] = 'На рассмотрении';
+$string['similarity'] = 'Совпадение';
+$string['notorcapable'] = 'Для этого файла невозможно создать отчет об оригинальности.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Дата последнего просмотра студентом:';
+$string['student_notread'] = 'Студент не просмотрел эту работу.';
+$string['launchpeermarkreviews'] = 'Запустить обзоры Рееrmark';
+
+// Cron.
+$string['ppqueuesize'] = 'Количество событий в очереди событий модуля для проверки на плагиат';
+$string['ppcronsubmissionlimitreached'] = 'Новые работы будут отправлены после окончания этого сеанса планировщика: во время одного сеанса можно обработать только {$a} работ';
+$string['cronsubmittedsuccessfully'] = 'Отправка работы: {$a->title} (идентификатор TII: {$a->submissionid}) файл с выполненным заданием {$a->assignmentname} по курсу {$a->coursename} успешно отправлен в Turnitin.';
+$string['pp_submission_error'] = 'Система Turnitin сообщает об ошибке при обработке работы.';
+$string['turnitindeletionerror'] = 'При попытке удалить работу, отправленную в Turnitin, произошла ошибка. Локальная копия Moodle удалена, но не удалось удалить работу из системы Turnitin.';
+$string['ppeventsfailedconnection'] = 'Не удается установить соединение с Turnitin. Модуль Turnitin для проверки на плагиат не будет обрабатывать события до окончания этого сеанса планировщика.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Обратитесь за дополнительной информацией к своему преподавателю или системному администратору';
+$string['faultcode'] = 'Код ошибки';
+$string['line'] = 'Строка';
+$string['message'] = 'Сообщение';
+$string['code'] = 'Код ошибки';
+$string['tiisubmissionsgeterror'] = 'При попытке получить файлы с выполненным заданием из Turnitin произошла ошибка';
+$string['errorcode0'] = 'Не удалось отправить файл в систему Turnitin. Обратитесь за дополнительной информацией к системному администратору';
+$string['errorcode1'] = 'Не удалось отправить файл в систему Turnitin. Содержания недостаточно для формирования отчета об оригинальности.';
+$string['errorcode2'] = 'Невозможно отправить файл в систему Turnitin. Максимально допустимый размер файла составляет {$a}.';
+$string['errorcode3'] = 'Не удалось отправить файл в систему Turnitin, поскольку пользователь не принял условия лицензионного соглашения Turnitin с конечным пользователем.';
+$string['errorcode4'] = 'Необходимо загрузить выполненное задание в файле поддерживаемого формата. Допустимы следующие форматы: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps и .rtf.';
+$string['errorcode5'] = 'Не удалось отправить файл в систему Turnitin. При создании модуля произошла ошибка, из-за которой невозможна отправка работ. Обратитесь за дополнительной информацией к журналам API';
+$string['errorcode6'] = 'Не удалось отправить файл в систему Turnitin. При изменении настроек модуля произошла ошибка, из-за которой невозможна отправка работ. Обратитесь за дополнительной информацией к журналам API';
+$string['errorcode7'] = 'Не удалось отправить файл в систему Turnitin. При создании пользователя Turnitin произошла ошибка, из-за которой невозможна отправка работ. Обратитесь за дополнительной информацией к журналам API';
+$string['errorcode8'] = 'Не удалось отправить файл в систему Turnitin. При создании временного файла произошла ошибка. Вероятная причина — недопустимое имя файла. Переименуйте файл и загрузите его заново с помощью функции «Редактировать отправленную работу».';
+$string['errorcode9'] = 'Невозможно отправить файл. Нет доступного для отправки содержимого в пуле файлов.';
+$string['coursegeterror'] = 'Не удалось получить данные курса';
+$string['configureerror'] = 'Прежде чем использовать этот модуль в рамках курса, необходимо произвести его полную настройку от имени администратора. Свяжитесь с администратором Moodle.';
+$string['turnitintoolofflineerror'] = 'Возникла временная техническая проблема. Повторите попытку позже.';
+$string['defaultinserterror'] = 'При попытке внести значение настройки по умолчанию в базу данных произошла ошибка';
+$string['defaultupdateerror'] = 'Произошла ошибка при попытке обновить значение установки по умолчанию в базе данных';
+$string['tiiassignmentgeterror'] = 'При попытке получить задание из Turnitin произошла ошибка';
+$string['assigngeterror'] = 'Не удалось получить данные turnitintooltwo';
+$string['classupdateerror'] = 'Не удалось обновить данные класса Turnitin';
+$string['pp_createsubmissionerror'] = 'При попытке отправить работу в систему Turnitin произошла ошибка';
+$string['pp_updatesubmissionerror'] = 'Возникла ошибка при попытке вновь сделать представление в Turnitin';
+$string['tiisubmissiongeterror'] = 'Возникла ошибка при попытке получить представление из Тurnitin';
+
+// Javascript.
+$string['closebutton'] = 'Закрыть';
+$string['loadingdv'] = 'Средство просмотра документов загружается...';
+$string['changerubricwarning'] = 'При изменении или отмене назначения рубрики будут удалены все оценки работ по этому заданию, принадлежащие этой рубрике, включая уже подписанные оценочные листы. Общие оценки проверенных работ останутся без изменений.';
+$string['messageprovider:submission'] = 'Уведомления о цифровой квитанции модуля Turnitin для проверки на плагиат';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Статус Turnitin';
+$string['deleted'] = 'Удалено';
+$string['pending'] = 'На рассмотрении';
+$string['because'] = 'Администратор удалил задание, находящееся в очереди на рассмотрение, и прервал процесс отправки в систему Turnitin.
Файл сохранен в Moodle. Свяжитесь с вашим преподавателем.
Коды ошибок указаны ниже:';
diff --git a/lang/sv/plagiarism_turnitin.php b/lang/sv/plagiarism_turnitin.php
new file mode 100755
index 00000000..72e08541
--- /dev/null
+++ b/lang/sv/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin plagiatplugin';
+$string['turnitintooltwo'] = 'Turnitin-verktyg';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Pluginuppgiften plagiat i Turnitin';
+$string['connecttesterror'] = 'Det uppstod ett fel vid försök att ansluta till Turnitin. Inkommande felmeddelande visas nedan:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Aktivera Turnitin';
+$string['excludebiblio'] = 'Exkludera källförteckning';
+$string['excludequoted'] = 'Exkludera citerat material';
+$string['excludevalue'] = 'Exkludera mindre matchningar';
+$string['excludewords'] = 'Ord';
+$string['excludepercent'] = 'Procent';
+$string['norubric'] = 'Ingen bedömningsmatris';
+$string['otherrubric'] = 'Använd en bedömnigsmatris som tillhör andra instruktörer';
+$string['attachrubric'] = 'Bifoga en bedömningsmatris till denna uppgift';
+$string['launchrubricmanager'] = 'Starta bedömningsmatrishanteraren';
+$string['attachrubricnote'] = 'Observera: Studenterna kommer att kunna se bifogade bedömningsmatriser och deras innehåll innan de lämnar in.';
+$string['erater_handbook_advanced'] = 'Avancerad';
+$string['erater_handbook_highschool'] = 'Gymnasium';
+$string['erater_handbook_middleschool'] = 'Grundskola (11-13 år)';
+$string['erater_handbook_elementary'] = 'Grundskola (5-10 år)';
+$string['erater_handbook_learners'] = 'Studenter som lär sig Engelska';
+$string['erater_dictionary_enus'] = 'Lexikon för Amerikansk Engelska';
+$string['erater_dictionary_engb'] = 'Lexikon för Brittisk Engelska';
+$string['erater_dictionary_en'] = 'Lexikon för både amerikansk och brittisk engelska';
+$string['erater'] = 'Aktivera e-rater grammatikkontroll';
+$string['erater_handbook'] = 'ETS© Handbok';
+$string['erater_dictionary'] = 'e-rater Lexikon';
+$string['erater_categories'] = 'e-rater Kategorier';
+$string['erater_spelling'] = 'Stavning';
+$string['erater_grammar'] = 'Grammatik';
+$string['erater_usage'] = 'Användning';
+$string['erater_mechanics'] = 'Teknik';
+$string['erater_style'] = 'Stil';
+$string['anonblindmarkingnote'] = 'Obs: Den separata Turnitin-funktionen anonyma kommentarer har tagits bort. Turnitin kommer att använda Moodles blindkommentarer för att avgöra om funktionen anonyma kommentarer ska användas.';
+$string['transmatch'] = 'Matchande översättning';
+$string['genduedate'] = 'Skapa rapporter på förfallodagen (återinlämningar är tillåtna fram till förfallodagen)';
+$string['genimmediately1'] = 'Generera rapporter omedelbart (återinlämningar är inte tillåtna)';
+$string['genimmediately2'] = 'Generera rapporter omedelbart (återinlämningar är tillåtna fram till förfallodagen)';
+$string['launchquickmarkmanager'] = 'Starta Quickmark-hanteraren';
+$string['launchpeermarkmanager'] = 'Starta Peermark Hanteraren';
+$string['studentreports'] = 'Visa originalitetsrapporter för studenter';
+$string['studentreports_help'] = 'Låter dig visa Turnitin originalitetsrapporter till studentanvändare. Om inställd på ja kommer originalitetsrapporten som genereras av Turnitin att bli tillgänglig för studenten att se.';
+$string['submitondraft'] = 'Lämna in filen när den har laddats upp';
+$string['submitonfinal'] = 'Lämna in filen när den har laddats upp';
+$string['draftsubmit'] = 'När ska filen lämnas in till Turnitin?';
+$string['allownonor'] = 'Tillåt inlämning av alla filtyper?';
+$string['allownonor_help'] = 'Denna inställning gör så att alla filtyper kan lämnas in. Med det här alternativet inställt på "Ja" kommer inlämningar att kontrolleras för originalitet när så är möjligt, inlämningar kommer att finnas tillgängliga för nedladdning, och verktyg för GradeMark-respons kommer att finnas tillgängliga när detta är möjligt.';
+$string['norepository'] = 'Inget arkiv';
+$string['standardrepository'] = 'Standardarkiv';
+$string['submitpapersto'] = 'Lagra studentuppsatser';
+$string['institutionalrepository'] = 'Institutionellt arkiv (Om tillämpligt)';
+$string['submitpapersto_help'] = 'Denna inställning ger instruktörer möjligheten att välja om uppsatser skall lagras i ett Turnitin arkiv för studentuppsatser. Fördelen med att lämna in uppsatser till arkivet för studentuppsatser är att studentuppsatser som lämnas in till uppgiften kontrolleras mot andra studenters\' inlämningar inom både din nuvarande och tidigare klasser. Om du väljer "inget arkiv" kommer dina studenters\' uppsatser ej att lagras i Turnitins arkiv för studentuppsatser.';
+$string['checkagainstnote'] = 'Obs. Om du inte väljer "Ja" för minst en av alternativen under "Kontrollera mot..." kommer en originalitetsrapport inte att skapas.';
+$string['spapercheck'] = 'Kontrollera mot lagrade studentuppsatser';
+$string['internetcheck'] = 'Kontrollera mot internet';
+$string['journalcheck'] = 'Kontrollera mot facktidskrifter,
tidningar och publikationer';
+$string['compareinstitution'] = 'Jämför inlämnade filer med uppsatser som lämnats in inom denna institution';
+$string['reportgenspeed'] = 'Rapportera generationshastighet';
+$string['genspeednote'] = 'Observera: Generation av rapporter för ominlämningar tar 24 timmar.';
+$string['locked_message'] = 'Låst meddelande';
+$string['locked_message_help'] = 'Om några inställningar låses kommer detta meddelande att visa varför.';
+$string['locked_message_default'] = 'Den här inställningen låses på anläggningsnivå';
+$string['sharedrubric'] = 'Delad rubrik';
+$string['turnitinrefreshsubmissions'] = 'Uppdatera inlämningar';
+$string['turnitinrefreshingsubmissions'] = 'Uppdaterar inlämningar';
+$string['turnitinppulapre'] = 'För att lämna in en fil till Turnitin måste du först godkänna våra användaravtal. Om du inte godkänner våra användaravtal kommer din fil endast att lämnas in till Moodle. Klicka här för att godkänna.';
+$string['noscriptula'] = 'Eftersom du inte har JavaScript aktiverat måste du manuellt uppdatera den här sidan innan du kan göra en inlämning (efter att du accepterat Turnitins Användaravtal)';
+$string['filedoesnotexist'] = 'Filen har raderats';
+
+// Plugin settings.
+$string['config'] = 'Konfigurering';
+$string['defaults'] = 'Standardinställningar';
+$string['showusage'] = 'Visa datadump';
+$string['saveusage'] = 'Spara datadump';
+$string['errors'] = 'Fel';
+$string['turnitinconfig'] = 'Konfiguration av plagiatplugin i Turnitin';
+$string['tiiexplain'] = 'Turnitin är en kommersiell produkt och du måste ha ett betalt abonnemang för att använda den här tjänsten. För mer information se http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Aktivera Turnitin';
+$string['useturnitin_mod'] = 'Aktivera Turnitin för {$a}';
+$string['pp_configuredesc'] = 'Du måste konfigurera denna modul inom turnitintooltwo modulen. Var god klicka här för att konfigurera denna plugin';
+$string['turnitindefaults'] = 'Turnitin plagiatplugin, standardinställningar';
+$string['defaultsdesc'] = 'Följande inställningar är standardvärden som fastställs vid aktivering av Turnitin inom en Aktivitetsmodul';
+$string['turnitinpluginsettings'] = 'Turnitin plagiatplugin, inställningar';
+$string['pperrorsdesc'] = 'Det finns ett problem med att ladda upp nedanstående filer till Turnitin. För att lämna in igen markerar du filerna du vill lämna in och trycker på inlämningsknappen. De kommer sedan att bearbetas nästa gång Cron körs.';
+$string['pperrorssuccess'] = 'De valda filerna har lämnats in och kommer att bearbetas av Cron.';
+$string['pperrorsfail'] = 'Ett problem uppståd med några av de valda filerna. En ny Cron-händelse kunde inte skapas för dem.';
+$string['resubmitselected'] = 'Lämna in valda filer på nytt';
+$string['deleteconfirm'] = 'Är du säker på att du vill radera denna inlämning?\n\nDenna åtgärd kan inte ångras.';
+$string['deletesubmission'] = 'Radera inlämning';
+$string['semptytable'] = 'Inga sökresultat hittades.';
+$string['configupdated'] = 'Konfiguration uppdaterad';
+$string['defaultupdated'] = 'Turnitin standardinställningar uppdaterade';
+$string['notavailableyet'] = 'Ej tillgänglig';
+$string['resubmittoturnitin'] = 'Lämna in igen till Turnitin';
+$string['resubmitting'] = 'Ominlämning';
+$string['id'] = 'ID';
+$string['student'] = 'Student';
+$string['course'] = 'Kurs';
+$string['module'] = 'Modul';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Visa Originalitetsrapport';
+$string['launchrubricview'] = 'Visa bedömningsmatrisen som används för kommentering';
+$string['turnitinppulapost'] = 'Din fil har inte lämnats in till Turnitin. Klicka här för att godkänna våra användaravtal.';
+$string['ppsubmissionerrorseelogs'] = 'Den här filen har inte skickas till Turnitin. Be din systemadministratör om hjälp.';
+$string['ppsubmissionerrorstudent'] = 'Den här filen har inte skickas till Turnitin. Be din lärare om hjälp.';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Meddelanden för digitala kvitton för plagiatplugin från Turnitin';
+$string['digitalreceipt'] = 'Digitalt kvitto';
+$string['digital_receipt_subject'] = 'Det här är ditt digitala kvitto från Turnitin';
+$string['pp_digital_receipt_message'] = 'Hej {$a->firstname} {$a->lastname}!
Du har lämnat in filen {$a->submission_title} för uppgift {$a->assignment_name}{$a->assignment_part} för kursen {$a->course_fullname} den {$a->submission_date}. Ditt inlämnings-ID är {$a->submission_id}. Ditt fullständiga digitala kvitto kan visas och skrivas ut med knappen skriv ut/ladda ner i dokumentvisaren.
Tack för att du använder Turnitin,
Turnitin-teamet';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin-ID';
+$string['turnitinstatus'] = 'Turnitin-status';
+$string['pending'] = 'Väntar på bekräftelse';
+$string['similarity'] = 'Likhetsindex';
+$string['notorcapable'] = 'Det går inte att skapa en originalitetsrapport för den här filen.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Studenten visade uppsatsen den:';
+$string['student_notread'] = 'Studenten har inte visat denna uppsats.';
+$string['launchpeermarkreviews'] = 'Starta Peermark-recensioner';
+
+// Cron.
+$string['ppqueuesize'] = 'Antal händelser i händelsekön för plagiatplugin';
+$string['ppcronsubmissionlimitreached'] = 'Inga fler inlämningar kommer att skickas till Turnitin av denna Cron-aktivitet, eftersom endast {$a} bearbetas per körning';
+$string['cronsubmittedsuccessfully'] = 'Inlämning: {$a->title} (TII ID: {$a->submissionid}) för uppgift {$a->assignmentname} på kursen {$a->coursename} har lämnats in till Turnitin.';
+$string['pp_submission_error'] = 'Ett fel har uppstått hos Turnitin i samband med inlämningen:';
+$string['turnitindeletionerror'] = 'Radering av inlämning för Turnitin misslyckades. Den lokala Moodle-kopian har tagits bort men inlämningen i Turnitin kunde inte raderas.';
+$string['ppeventsfailedconnection'] = 'Inga händelser kommer att bearbetas av plagiatplugin i Turnitin för den här Cron-aktiviteten eftersom det inte gick att ansluta till Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Vänd dig till din handledare eller administratör för mer information.';
+$string['faultcode'] = 'Felkod';
+$string['line'] = 'Rad';
+$string['message'] = 'Meddelande';
+$string['code'] = 'Kod';
+$string['tiisubmissionsgeterror'] = 'Det uppstod ett fel vid försök att hämta inlämningar för denna Turnitin uppgift';
+$string['errorcode0'] = 'Den här filen har inte skickas till Turnitin. Be din systemadministratör om hjälp.';
+$string['errorcode1'] = 'Filen har inte skickats till Turnitin eftersom den inte har tillräckligt mycket innehåll för att skapa en originalitetsrapport.';
+$string['errorcode2'] = 'Den här filen kommer inte att skickas till Turnitin eftersom den överstiger högsta tillåtna storlek på {$a}.';
+$string['errorcode3'] = 'Den här filen kunde inte skickas till Turnitin eftersom användaren inte har godkänt Turnitins licensavtal för slutanvändare.';
+$string['errorcode4'] = 'Du måste ladda upp en filtyp som stöds för den här uppgiften. Godkända filtyper är: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps och .rtf';
+$string['errorcode5'] = 'Filen har inte lämnats in till Turnitin eftersom ett fel uppstod när modulen skapades i Turnitin, vilket förhindrar inlämningar. Mer information finns i dina API-loggar';
+$string['errorcode6'] = 'Filen har inte lämnats in till Turnitin eftersom ett fel uppstod när modulinställningarna redigerades i Turnitin, vilket förhindrar inlämningar. Mer information finns i dina API-loggar.';
+$string['errorcode7'] = 'Filen har inte lämnats in till Turnitin eftersom ett fel uppstod när användaren skapades i Turnitin, vilket förhindrar inlämningar. Mer information finns i dina API-loggar.';
+$string['errorcode8'] = 'Filen har inte lämnats in till Turnitin eftersom ett fel uppstod när den tillfälliga filen skulle skapas. Detta beror sannolikt på ett felaktigt filnamn. Ge filen ett nytt namn och ladda upp den igen med Redigera inlämning.';
+$string['errorcode9'] = 'Filen kan inte lämnas in eftersom det inte finns något tillgängligt innehåll i filpoolen att lämna in.';
+$string['coursegeterror'] = 'Kunde inte hämta kursinformation';
+$string['configureerror'] = 'Du måste konfigurera denna modul fullt ut som Administratör innan du använder den i en kurs. Var god kontakta din Moodle-administratör.';
+$string['turnitintoolofflineerror'] = 'Vi har ett tillfälligt problem. Försök igen om en liten stund.';
+$string['defaultinserterror'] = 'Det uppstod ett fel vid försök att infoga en standardvärdeinställning i databasen';
+$string['defaultupdateerror'] = 'Det uppstod ett fel vid försök att uppdatera en standardvärdeinställning i databasen';
+$string['tiiassignmentgeterror'] = 'Det uppstod ett fel vid försök att hämta en uppgift från Turnitin';
+$string['assigngeterror'] = 'Gick inte att hämta turnitintooltwo data';
+$string['classupdateerror'] = 'Kunde inte uppdatera Turnitin-klassinformation';
+$string['pp_createsubmissionerror'] = 'Det uppstod ett fel vid försök att skapa en inlämning i Turnitin';
+$string['pp_updatesubmissionerror'] = 'Det uppstod ett fel vid försök att återinlämna din uppgift till Turnitin';
+$string['tiisubmissiongeterror'] = 'Det uppstod ett fel vid försök att hämta ett inlämnande från Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Stäng';
+$string['loadingdv'] = 'Laddar dokumentvisaren i Turnitin...';
+$string['changerubricwarning'] = 'Om du ändrar eller tar bort en bedömningsmatris kommer detta att avlägsna all existerande bedömningsmatris-poäng från samtliga uppsatser i denna uppgift, inklusive poängkort som har markerats tidigare. Sammanlagda betyg för tidigare betygsatta uppsatser kommer att finnas kvar.';
+$string['messageprovider:submission'] = 'Meddelanden för digitala kvitton för plagiatplugin från Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin-status';
+$string['deleted'] = 'Raderad';
+$string['pending'] = 'Väntar på bekräftelse';
+$string['because'] = 'Detta beror på att administratören raderade uppgiften som väntade på bekräftelse från uppgiftskön och avbröt inlämningen till Turnitin.
Filen finns fortfarande i Moodle. Kontakta din lärare.
Se nedanstående felkoder:';
diff --git a/lang/tr/plagiarism_turnitin.php b/lang/tr/plagiarism_turnitin.php
new file mode 100755
index 00000000..63c918ea
--- /dev/null
+++ b/lang/tr/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin, intihal eklentisi';
+$string['turnitintooltwo'] = 'Turnitin Aracı';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin İntihal Eklenti Görevi';
+$string['connecttesterror'] = 'Turnitin'e bağlanırken bir hata oluştu. Hata aşağıda belirtilmiştir:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Turnitin'i Etkinleştir';
+$string['excludebiblio'] = 'Bibliyografyayı Çıkar';
+$string['excludequoted'] = 'Alıntılanan Materyali Çıkar';
+$string['excludevalue'] = 'Küçük Eşleşmeleri Çıkar';
+$string['excludewords'] = 'Kelimeler';
+$string['excludepercent'] = 'Yüzde';
+$string['norubric'] = 'Performans değerlendirme ölçeği yok';
+$string['otherrubric'] = 'Diğer öğretmenlere ait bir performans değerlendirme ölçeği kullan';
+$string['attachrubric'] = 'Bu ödeve bir performans değerlendirme ölçeği ekleyin';
+$string['launchrubricmanager'] = 'Performans Değerlendirme Ölçeği Yöneticisini Piyasaya Sür';
+$string['attachrubricnote'] = 'Not: Öğrenciler, gönderimden önce ekli performans değerlendirme ölçeği ve içeriğini göreceklerdir.';
+$string['erater_handbook_advanced'] = 'Gelişmiş';
+$string['erater_handbook_highschool'] = 'Lise';
+$string['erater_handbook_middleschool'] = 'Ortaokul';
+$string['erater_handbook_elementary'] = 'İlkokul';
+$string['erater_handbook_learners'] = 'İngilizce Öğrenenler';
+$string['erater_dictionary_enus'] = 'ABD İngilizce Sözlük';
+$string['erater_dictionary_engb'] = 'BK İngilizce Sözlük';
+$string['erater_dictionary_en'] = 'ABD ve BK İngilizcesi Sözlükleri';
+$string['erater'] = 'e-rater dil bilgisi kontrolünü etkinleştir';
+$string['erater_handbook'] = 'ETS© El Kitabı©';
+$string['erater_dictionary'] = 'e-rater Sözlüğü';
+$string['erater_categories'] = 'e-rater Kategorileri';
+$string['erater_spelling'] = 'Yazım';
+$string['erater_grammar'] = 'Dil bilgisi';
+$string['erater_usage'] = 'Kullanım';
+$string['erater_mechanics'] = 'İşleyiş';
+$string['erater_style'] = 'Stil';
+$string['anonblindmarkingnote'] = 'Not: Turnitin anonim işaretleme ayarı kaldırıldı. Turnitin, anonim işaretleme ayarı için Moodle'ın kapalı işaretleme ayarını kullanacaktır.';
+$string['transmatch'] = 'Çeviri Eşleştirme';
+$string['genduedate'] = 'Raporları teslim tarihinde oluştur (teslim tarihine kadar yeniden gönderime izin verilir)';
+$string['genimmediately1'] = 'Raporları hemen oluştur (yeniden gönderime izin verilmez)';
+$string['genimmediately2'] = 'Raporları hemen oluştur (teslim tarihine kadar yeniden gönderime izin verilir)';
+$string['launchquickmarkmanager'] = 'Quickmark Yöneticisini Başlat';
+$string['launchpeermarkmanager'] = 'Peermark Yöneticisini Piyasaya Sür';
+$string['studentreports'] = 'Orijinallik Raporunu Öğrencilere Göster';
+$string['studentreports_help'] = 'Öğrencilere Turnitin orijinallik raporlarını göstermenizi sağlar. Evet olarak ayarlanırsa Turnitin tarafından oluşturulan orijinallik raporu, öğrenciler tarafından görüntülenebilecektir.';
+$string['submitondraft'] = 'Dosyayı yükleme işlemi yapıldığında gönder';
+$string['submitonfinal'] = 'Dosyayı öğrenci işaretleme için gönderdikten sonra yolla';
+$string['draftsubmit'] = 'Dosyanın Turnitin'e ne zaman gönderilmesi gerekir?';
+$string['allownonor'] = 'Tüm dosya türlerinin gönderimine izin verilsin mi?';
+$string['allownonor_help'] = 'Bu ayar, tüm dosya türlerinin gönderilmesine izin verir. Bu seçenek "Evet" olarak ayarlandığında, gönderiler mümkünse orijinallik raporu için kontrol edilecek, gönderiler indirilebilecek ve mümkün olduğunda, GradeMark geri bildirim araçlarına erişilebilecektir.';
+$string['norepository'] = 'Havuz Yok';
+$string['standardrepository'] = 'Standart Havuz';
+$string['submitpapersto'] = 'Öğrenci Ödevlerini Depola';
+$string['institutionalrepository'] = 'Kurum Havuzu (Uygulanabilir Yer)';
+$string['submitpapersto_help'] = 'Bu ayar eğitmenin öğrenci ödevini Turnitin öğrenci ödev havuzunda saklanıp saklanmayacağını seçmesini sağlar. Ödevi öğrenci ödev havuzunda saklamak, ödevin mevcut ve önceki sınıflarınıza gönderilmiş ödevler ile karşılaştırılmasını sağlar. "Havuz Yok" seçilmişse, öğrencinizin ödevi Turnitin öğrenci ödev havuzunda saklanmaz.';
+$string['checkagainstnote'] = 'Not: Aşağıdaki seçeneklerden en az birinde "Evet" seçeneğini seçmezseniz Orijinallik raporu oluşturulmayacaktır.';
+$string['spapercheck'] = 'Depolanan öğrenci ödevlerinde kontrol et';
+$string['internetcheck'] = 'İnternette ara';
+$string['journalcheck'] = 'Dergi,
süreli yayın ve yayınlarda ara';
+$string['compareinstitution'] = 'Bu kurum içinde gönderilen ödevler ile gönderilen dosyaları karşılaştır';
+$string['reportgenspeed'] = 'Rapor Oluşturma Hızı';
+$string['genspeednote'] = 'Not: Yeniden gönderimlerdeki orijinallik raporu oluşturma süresi yirmi dört saat gecikmelidir.';
+$string['locked_message'] = 'Kilitli mesaj';
+$string['locked_message_help'] = 'Herhangi bir ayar kilitliyse, bu mesaj nedenini söylemek için görüntülenir.';
+$string['locked_message_default'] = 'Bu ayar bu site seviyesinde kilitlidir';
+$string['sharedrubric'] = 'Paylaşılan Performans Değerlendirme Ölçeği';
+$string['turnitinrefreshsubmissions'] = 'Gönderileri Yenile';
+$string['turnitinrefreshingsubmissions'] = 'Gönderiler Yenileniyor';
+$string['turnitinppulapre'] = 'Turnitin'e dosya gönderebilmek için önce Kullanıcı Lisans Sözleşmesi'ni kabul etmeniz gerekiyor. Kullanıcı Lisans Sözleşmesi'ni kabul etmezseniz, dosyanızı yalnızca Moodle'a gönderebilirsiniz. Kabul etmek için buraya tıklayın.';
+$string['noscriptula'] = '(Javascript etkinleştirilmediğinden, Turnitin Kullanıcı Sözleşmesi'ni kabul ettikten sonra bir ödev gönderimi yapmadan önce, sayfayı yenilemelisiniz)';
+$string['filedoesnotexist'] = 'Dosya silindi';
+
+// Plugin settings.
+$string['config'] = 'Yapılandırma';
+$string['defaults'] = 'Varsayılan Ayarlar';
+$string['showusage'] = 'Veri Atıklarını Göster';
+$string['saveusage'] = 'Veri Atıklarını Kaydet';
+$string['errors'] = 'Hatalar';
+$string['turnitinconfig'] = 'Turnitin İntihal Eklenti Yapılandırması';
+$string['tiiexplain'] = 'Turnitin ticari bir üründür ve bu servisi kullanmak için ücretli üyeliğe ihtiyacınız vardır, daha fazla bilgi için bkz. http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Turnitin'i Etkinleştir';
+$string['useturnitin_mod'] = 'Şunun için Turnitin'i Etkinleştir {$a}';
+$string['pp_configuredesc'] = 'Bu modülü, turnitintooltwo modülünde yapılandırmalısınız. Bu eklentiyi yapılandırmak için lütfen buraya tıklayın';
+$string['turnitindefaults'] = 'Turnitin, intihal eklentisi varsayılan ayarları';
+$string['defaultsdesc'] = 'Etkinlik Modülünde Turnitin etkinleştirilirken aşağıdaki ayarlar, varsayılan ayarlar olarak belirlendi';
+$string['turnitinpluginsettings'] = 'Turnitin, intihal eklentisi ayarları';
+$string['pperrorsdesc'] = 'Aşağıdaki dosyaları Turnitin'e yüklerken hata oluştu. Yeniden göndermek için yeniden göndermek istediğiniz dosyaları seçin ve yeniden gönder düğmesine tıklayın. Cron bir daha çalıştırıldığında bu dosyalar işlenecektir.';
+$string['pperrorssuccess'] = 'Seçtiğiniz dosyalar yeniden gönderildi ve cron tarafından işlenecektir.';
+$string['pperrorsfail'] = 'Seçtiğiniz dosyaların bazılarında hata oluştu. Bu dosyalar için yeni cron etkinliği oluşturulamadı.';
+$string['resubmitselected'] = 'Seçilen Dosyaları Yeniden Yolla';
+$string['deleteconfirm'] = 'Bu gönderiyi silmek istediğinize emin misiniz?\n\nBu eylem geri alınamaz.';
+$string['deletesubmission'] = 'Gönderiyi Sil';
+$string['semptytable'] = 'Hiçbir sonuç bulunamadı.';
+$string['configupdated'] = 'Yapılandırma güncellendi';
+$string['defaultupdated'] = 'Turnitin varsayılan ayarları güncellendi';
+$string['notavailableyet'] = 'Erişilebilir değil';
+$string['resubmittoturnitin'] = 'Turnitin'e yeniden gönder';
+$string['resubmitting'] = 'Yeniden gönderme';
+$string['id'] = 'Kimlik';
+$string['student'] = 'Öğrenci';
+$string['course'] = 'Kurs';
+$string['module'] = 'Modül';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Orijinallik Raporunu Görüntüle';
+$string['launchrubricview'] = 'İşaretleme için kullanılmış performans değerlendirme ölçeklerini görüntüle';
+$string['turnitinppulapost'] = 'Dosyanız Turnitin'e gönderilmedi. Kullanıcı Lisans Sözleşmesi'ni kabul etmek için lütfen buraya tıklayın.';
+$string['ppsubmissionerrorseelogs'] = 'Bu dosya Turnitin'e gönderilmedi, lütfen sistem yöneticinize danışın';
+$string['ppsubmissionerrorstudent'] = 'Bu dosya Turnitin'e gönderilmedi, lütfen daha ayrıntılı bilgi için öğretmeninize danışın';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin İntihal Eklentisi Dijital Makbuz bildirimleri';
+$string['digitalreceipt'] = 'Dijital Makbuz';
+$string['digital_receipt_subject'] = 'Bu, sizin Turnitin Dijital Makbuzunuzdur';
+$string['pp_digital_receipt_message'] = 'Sayın {$a->firstname} {$a->lastname},
{$a->submission_title} dosyasını {$a->course_fullname} sınıfındaki {$a->assignment_name}{$a->assignment_part} ödevine {$a->submission_date} tarihinde başarıyla gönderdiniz. Gönderi numaranız {$a->submission_id}. Dijital makbuzunuz Doküman Görüntüleyicideki yazdır/indir düğmesinden görüntülenebilir ve yazdırılabilir.
Turnitin'i kullandığınız için teşekkür ederiz,
Turnitin Ekibi';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin Numarası';
+$string['turnitinstatus'] = 'Turnitin durumu';
+$string['pending'] = 'Bekliyor';
+$string['similarity'] = 'Benzerlik';
+$string['notorcapable'] = 'Bu dosya için bir Özgünlük Raporunun oluşturulması mümkün değil.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Öğrencinin ödevi görüntülediği tarih:';
+$string['student_notread'] = 'Öğrenci henüz bu ödevi görüntülemedi.';
+$string['launchpeermarkreviews'] = 'Peermark Değerlendirmelerini Yayınla';
+
+// Cron.
+$string['ppqueuesize'] = 'İntihal Eklentisi etkinlik sırasındaki etkinlik sayısı';
+$string['ppcronsubmissionlimitreached'] = 'Bir çalıştırmada yalnızca {$a} işlendiği için Turnitin'e daha fazla gönderim yapılmayacak';
+$string['cronsubmittedsuccessfully'] = 'Gönderi: {$a->coursename} kursundaki {$a->assignmentname} ödevi için {$a->title} (TII Numarası: {$a->submissionid}) başarıyla Turnitin'e gönderilmiştir.';
+$string['pp_submission_error'] = 'Turnitin gönderiminizle ilgili bir hata oluştu:';
+$string['turnitindeletionerror'] = 'Turnitin gönderisi silinirken bir hata oluştu. Yerel Moodle kopyası kaldırıldı ancak Turnitin' deki gönderi silinemedi.';
+$string['ppeventsfailedconnection'] = 'Turnitin ile bağlantı kurulamadığından Turnitin intihal eklentisi tarafından bir etkinlik işleme alınmayacak.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Daha ayrıntılı bilgi için lütfen öğretmeninize veya sistem yöneticinize danışın';
+$string['faultcode'] = 'Hata Kodu';
+$string['line'] = 'Satır';
+$string['message'] = 'Mesaj';
+$string['code'] = 'Kod';
+$string['tiisubmissionsgeterror'] = 'Turnitin'de bu ödev için yapılan gönderiler alınırken bir sorun oluştu';
+$string['errorcode0'] = 'Bu dosya Turnitin'e gönderilmedi, lütfen sistem yöneticinize danışın';
+$string['errorcode1'] = 'Orijinallik Raporu oluşturmak için yeterli içerik olmadığından bu dosya Turnitin'e gönderilmedi.';
+$string['errorcode2'] = 'İzin verilen {$a} maksimum boyutu aştığı için bu dosya Turnitin'e gönderilmeyecek';
+$string['errorcode3'] = 'Kullanıcı, Turnitin Son Kullanıcı Lisans Sözleşmesini kabul etmediğinden bu dosya Turnitin'e gönderilmemiştir.';
+$string['errorcode4'] = 'Bu ödev için desteklenen bir dosya türü yüklemeniz gerekmektedir. Kabul edilen dosya türleri: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps ve .rtf';
+$string['errorcode5'] = 'Bu dosya Turnitin'e gönderilmedi çünkü Turnitin'de modül oluştururken gönderileri etkileyen bir hata meydana geldi. Daha fazla bilgi için lütfen API kayıtlarınıza bakın';
+$string['errorcode6'] = 'Bu dosya Turnitin'e gönderilmedi çünkü Turnitin'de modül ayarlarını düzenlerken gönderileri etkileyen bir hata meydana geldi. Daha fazla bilgi için lütfen API kayıtlarınıza bakın';
+$string['errorcode7'] = 'Bu dosya Turnitin'e gönderilmedi çünkü Turnitin'de kullanıcı oluştururken gönderileri etkileyen bir hata meydana geldi. Daha fazla bilgi için lütfen API kayıtlarınıza bakın';
+$string['errorcode8'] = 'Bu dosya Turnitin'e gönderilemedi çünkü temp dosyasını oluştururken bir hata meydana geldi. Muhtemel nedeni geçersiz dosya adıdır. Lütfen dosyayı yeniden adlandırın ve Gönderiyi Düzenle seçeneğini kullanarak yeniden yükleyin.';
+$string['errorcode9'] = 'Dosya havuzunda gönderilecek erişilebilir bir içerik olmadığından dosya gönderilemiyor.';
+$string['coursegeterror'] = 'Kurs verileri alınamadı';
+$string['configureerror'] = 'Bu modülü, herhangi bir kursta kullanmaya başlamadan önce yönetici olarak yapılandırmalısınız. Lütfen Moodle yöneticinizle iletişime geçin.';
+$string['turnitintoolofflineerror'] = 'Geçici bir sorun yaşıyoruz. Lütfen kısa bir süre sonra tekrar deneyin.';
+$string['defaultinserterror'] = 'Veritabanına varsayılan ayar değeri girilirken bir hata oluştu';
+$string['defaultupdateerror'] = 'Veritabanında varsayılan ayar değerleri güncellenirken bir hata oluştu';
+$string['tiiassignmentgeterror'] = 'Turnitin'den ödev alınırken bir sorun oluştu';
+$string['assigngeterror'] = 'Turnitintooltwo verileri alınamadı';
+$string['classupdateerror'] = 'Turnitin Sınıf verileri güncellenemedi';
+$string['pp_createsubmissionerror'] = 'Turnitin'de bir gönderi oluşturulurken sorun oluştu';
+$string['pp_updatesubmissionerror'] = 'Turnitin'e ödevinizi yeniden gönderirken bir sorun oluştu';
+$string['tiisubmissiongeterror'] = 'Turnitin'den bir gönderi alınırken sorun oluştu';
+
+// Javascript.
+$string['closebutton'] = 'Kapat';
+$string['loadingdv'] = 'Turnitin Doküman Görüntüleyici Yükleniyor...';
+$string['changerubricwarning'] = 'Performans değerlendirme ölçeğini değiştirmeniz veya kaldırmanız bu ödevdeki, daha önce işaretlenen skor kartları dahil, tüm performans değerlendirme ölçeği skorlarını kaldırılacaktır. Puanlanmış önceki ödevlerin toplam puanı bekleyecektir.';
+$string['messageprovider:submission'] = 'Turnitin İntihal Eklentisi Dijital Makbuz bildirimleri';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin durumu';
+$string['deleted'] = 'Silindi';
+$string['pending'] = 'Bekliyor';
+$string['because'] = 'Bunun nedeni bir yöneticinin bekleyen ödevi işlem kuyruğundan silmesi ve Turnitin'e gönderiyi iptal etmesidir.
Dosya Moodle'da kalacaktır, lütfen eğitmeninizle iletişime geçin.
Lütfen hata kodları için aşağıya bakın:';
diff --git a/lang/vi/plagiarism_turnitin.php b/lang/vi/plagiarism_turnitin.php
new file mode 100755
index 00000000..5ea5e991
--- /dev/null
+++ b/lang/vi/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Phần bổ trợ chống đạo văn của Turnitin';
+$string['turnitintooltwo'] = 'Công cụ Turnitin';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Tác vụ của Phần bổ trợ Chống đạo văn của Turnitin';
+$string['connecttesterror'] = 'Xảy ra lỗi khi kết nối với Turnitin, thông báo lỗi như sau:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = 'Cho phép Turnitin';
+$string['excludebiblio'] = 'Loại trừ Mục lục tham khảo';
+$string['excludequoted'] = 'Loại trừ Tài liệu Trích dẫn';
+$string['excludevalue'] = 'Loại trừ Trùng khớp Nhỏ';
+$string['excludewords'] = 'Từ';
+$string['excludepercent'] = 'Phần trăm';
+$string['norubric'] = 'Không có thang đánh giá';
+$string['otherrubric'] = 'Dùng thang đánh giá thuộc về một người hướng dẫn khác';
+$string['attachrubric'] = 'Đính kèm một thang đánh giá vào bài tập này';
+$string['launchrubricmanager'] = 'Mở Trình quản lý Thang đánh giá';
+$string['attachrubricnote'] = 'Lưu ý: Học sinh sẽ có thể xem các thang đánh giá đính kèm và nội dung của mình trước khi nộp bài.';
+$string['erater_handbook_advanced'] = 'Nâng cao';
+$string['erater_handbook_highschool'] = 'Trung học Phổ thông';
+$string['erater_handbook_middleschool'] = 'Trung học Cơ sở';
+$string['erater_handbook_elementary'] = 'Tiểu học';
+$string['erater_handbook_learners'] = 'Người học Tiếng Anh';
+$string['erater_dictionary_enus'] = 'Từ điển Tiếng Anh Hoa Kỳ';
+$string['erater_dictionary_engb'] = 'Từ điển Tiếng Anh Anh Quốc';
+$string['erater_dictionary_en'] = 'Cả Từ điển Tiếng Anh Hoa Kỳ và Anh Quốc';
+$string['erater'] = 'Cho phép kiểm tra ngữ pháp e-rater';
+$string['erater_handbook'] = 'Sổ tay ETS©';
+$string['erater_dictionary'] = 'Từ điển e-rater';
+$string['erater_categories'] = 'Các danh mục e-rater';
+$string['erater_spelling'] = 'Đánh vần';
+$string['erater_grammar'] = 'Ngữ pháp';
+$string['erater_usage'] = 'Cách dùng từ';
+$string['erater_mechanics'] = 'Kỹ năng viết';
+$string['erater_style'] = 'Văn phong';
+$string['anonblindmarkingnote'] = 'Lưu ý: Cài đặt nhận xét ẩn danh riêng của Turnitin đã được gỡ bỏ. Turnitin sẽ sử dụng cài đặt nhận xét ẩn của Moodle để xác định cài đặt nhận xét ẩn danh.';
+$string['transmatch'] = 'Đối chiếu Bản dịch';
+$string['genduedate'] = 'Tổng hợp báo cáo vào ngày hạn nộp (cho phép nộp bài lại cho đến hết ngày hạn nộp)';
+$string['genimmediately1'] = 'Tổng hợp báo cáo ngay lập tức (không cho phép nộp bài lại)';
+$string['genimmediately2'] = 'Tổng hợp báo cáo ngay lập tức (cho phép nộp bài lại cho đến hết ngày hạn nộp)';
+$string['launchquickmarkmanager'] = 'Mở Trình Quản lý Quickmark';
+$string['launchpeermarkmanager'] = 'Mở Trình Quản lý Peermark';
+$string['studentreports'] = 'Hiển thị Báo cáo Độc sáng cho Học sinh';
+$string['studentreports_help'] = 'Cho phép bạn hiển thị các báo cáo độc sáng của Turnitin cho những người dùng là học sinh. Nếu bạn đặt là chấp thuận, báo cáo độc sáng do Turnitin tổng hợp sẽ được hiển thị cho học sinh xem.';
+$string['submitondraft'] = 'Nộp tập tin khi vừa tải lên';
+$string['submitonfinal'] = 'Nộp tập tin khi học sinh gửi để chấm điểm';
+$string['draftsubmit'] = 'Khi nào thì tập tin sẽ được nộp cho Turnitin?';
+$string['allownonor'] = 'Cho phép nộp tập tin có định dạng bất kỳ?';
+$string['allownonor_help'] = 'Cài đặt này cho phép nộp tập tin có định dạng bất kỳ. Nếu tùy chọn được chọn là "Đồng ý", các bài nộp sẽ được kiểm tra về tính độc sáng ở những chỗ có thể, bài nộp sẽ khả dụng để tải về và các công cụ phản hồi GradeMark sẽ khả dụng ở những phần có thể.';
+$string['norepository'] = 'Không có Kho dữ liệu';
+$string['standardrepository'] = 'Kho dữ liệu Chuẩn';
+$string['submitpapersto'] = 'Lưu trữ Bài của Học sinh';
+$string['institutionalrepository'] = 'Kho dữ liệu của Tổ chức (Nếu có)';
+$string['submitpapersto_help'] = 'Cài đặt này cung cấp cho người hướng dẫn khả năng chọn có hay không cho phép bài nộp được lưu vào kho dữ liệu bài của Turnitin. Lợi ích của việc nộp bài vào kho dữ liệu bài học sinh là các bài học sinh đã nộp vào bài tập sẽ được đối chiếu với những bài nộp của các học sinh khác bên trong các lớp hiện tại và trước đây của bạn. Nếu bạn chọn "không có kho dữ liệu", bài nộp của học sinh sẽ không được lưu vào kho dữ liệu bài học sinh của Turnitin.';
+$string['checkagainstnote'] = 'Lưu ý: Nếu bạn không chọn "Có" cho ít nhất một trong các tùy chọn "Đối chiếu với..." bên dưới thì Báo cáo độc sáng sẽ KHÔNG được tổng hợp.';
+$string['spapercheck'] = 'Đối chiếu với những bài đã lưu của học sinh';
+$string['internetcheck'] = 'Đối chiếu với Internet';
+$string['journalcheck'] = 'Đối chiếu với các tạp chí chuyên ngành,
tạp chí định kỳ và các ấn phẩm xuất bản';
+$string['compareinstitution'] = 'Đối chiếu các tập tin đã nộp với các bài đã nộp vào bên trong tổ chức này';
+$string['reportgenspeed'] = 'Tốc độ Tổng hợp Báo cáo';
+$string['genspeednote'] = 'Lưu ý: Việc tổng hợp Báo cáo Độc sáng cho các bài nộp lại sẽ bị trì hoãn 24 giờ.';
+$string['locked_message'] = 'Thông báo đã khóa';
+$string['locked_message_help'] = 'Nếu có bất kỳ cài đặt nào bị khóa, thông báo này sẽ hiển thị để cho biết lý do.';
+$string['locked_message_default'] = 'Cài đặt này bị khóa ở cấp độ trang mạng';
+$string['sharedrubric'] = 'Thang đánh giá chung';
+$string['turnitinrefreshsubmissions'] = 'Làm mới các Bài nộp';
+$string['turnitinrefreshingsubmissions'] = 'Làm mới các Bài nộp';
+$string['turnitinppulapre'] = 'Để nộp tập tin cho Turnitin, trước tiên bạn phải chấp thuận EULA của chúng tôi. Nếu bạn chọn không chấp thuận EULA của chúng tôi thì tập tin của bạn sẽ chỉ được nộp cho Moodle. Nhấp vào đây để chấp thuận.';
+$string['noscriptula'] = '(Do bạn không cho phép Javascript, bạn sẽ phải làm mới một cách thủ công trang này để có thể thực hiện nộp bài sau khi đã chấp nhận Thỏa thuận Người Dùng Turnitin)';
+$string['filedoesnotexist'] = 'Tập tin đã được xóa';
+
+// Plugin settings.
+$string['config'] = 'Cấu hình';
+$string['defaults'] = 'Cài đặt Mặc định';
+$string['showusage'] = 'Hiển thị Kết xuất Dữ liệu';
+$string['saveusage'] = 'Lưu Kết xuất Dữ liệu';
+$string['errors'] = 'Lỗi';
+$string['turnitinconfig'] = 'Cấu hình phần Bổ trợ về Đạo văn của Turnitin';
+$string['tiiexplain'] = 'Turnitin là một sản phẩm thương mại và bạn phải trả phí thuê bao đăng ký để sử dụng dịch vụ này. Để biết thêm thông tin, vui lòng xem http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = 'Cho phép Turnitin';
+$string['useturnitin_mod'] = 'Cho phép Turnitin cho {$a}';
+$string['pp_configuredesc'] = 'Bạn phải định cấu hình mô-đun này bên trong mô-đun turnitintooltwo. Vui lòng nhấp vào đây để định cấu hình phần bổ trợ này';
+$string['turnitindefaults'] = 'Cài đặt mặc định phần bổ trợ chống đạo văn của Turnitin';
+$string['defaultsdesc'] = 'Các cài đặt sau đây là mặc định khi cho phép Turnitin bên trong một Mô-đun Hoạt động';
+$string['turnitinpluginsettings'] = 'Cài đặt phần bổ trợ chống đạo văn của Turnitin';
+$string['pperrorsdesc'] = 'Xảy ra sự cố khi cố gắng tải các tập tin dưới đây lên Turnitin. Để nộp lại, hãy chọn tập tin bạn muốn nộp lại rồi nhấn nút nộp lại. Sau đó, những tập tin này sẽ được xử lý vào lần chạy cron tiếp theo.';
+$string['pperrorssuccess'] = 'Các tập tin bạn chọn đã được nộp lại và sẽ được cron xử lý.';
+$string['pperrorsfail'] = 'Xảy ra sự cố với một số tập tin bạn chọn, không thể tạo một sự kiện cron mới cho chúng.';
+$string['resubmitselected'] = 'Nộp lại Tập tin Đã chọn';
+$string['deleteconfirm'] = 'Bạn có chắc muốn xóa bài nộp này không?\n\nThao tác này sẽ không thể hoàn tác.';
+$string['deletesubmission'] = 'Xóa Bài nộp';
+$string['semptytable'] = 'Không tìm thấy kết quả nào.';
+$string['configupdated'] = 'Đã cập nhật cấu hình';
+$string['defaultupdated'] = 'Đã cập nhật các cài đặt mặc định Turnitin';
+$string['notavailableyet'] = 'Không khả dụng';
+$string['resubmittoturnitin'] = 'Nộp lại cho Turnitin';
+$string['resubmitting'] = 'Đang nộp lại';
+$string['id'] = 'ID';
+$string['student'] = 'Học sinh';
+$string['course'] = 'Khóa học';
+$string['module'] = 'Mô-đun';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = 'Xem Báo cáo Độc Sáng';
+$string['launchrubricview'] = 'Xem Thang đánh giá dùng để chấm điểm';
+$string['turnitinppulapost'] = 'Tập tin của bạn chưa được nộp vào Turnitin. Vui lòng nhấp vào đây để chấp thuận EULA của chúng tôi.';
+$string['ppsubmissionerrorseelogs'] = 'Tập tin này chưa được nộp cho Turnitin, vui lòng tư vấn quản trị viên hệ thống của bạn';
+$string['ppsubmissionerrorstudent'] = 'Tập tin này chưa được nộp vào Turnitin, vui lòng tư vấn trợ giảng của bạn để biết thêm chi tiết';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Thông báo về Biên lai Điện tử trong Phần bổ trợ Chống đạo văn của Turnitin';
+$string['digitalreceipt'] = 'Biên lai Điện tử';
+$string['digital_receipt_subject'] = 'Đây là Biên lai Điện tử Turnitin của bạn';
+$string['pp_digital_receipt_message'] = '{$a->firstname} {$a->lastname} thân mến!
Bạn đã nộp thành công tập tin {$a->submission_title} cho bài tập {$a->assignment_name}{$a->assignment_part} trong lớp {$a->course_fullname} trên {$a->submission_date}. Id bài nộp của bạn là {$a->submission_id}. Bạn có thể xem và in biên lai điện tử của mình từ nút in/tải về trong Trình xem Tài liệu.
Cảm ơn bạn đã sử dụng Turnitin!
Nhóm Turnitin';
+
+// Paper statuses.
+$string['turnitinid'] = 'ID Turnitin';
+$string['turnitinstatus'] = 'Trạng thái Turnitin';
+$string['pending'] = 'Đang chờ';
+$string['similarity'] = 'Tương đồng';
+$string['notorcapable'] = 'Không thể tổng hợp một Báo cáo Độc sáng cho tập tin này.';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = 'Học sinh đã xem bài vào:';
+$string['student_notread'] = 'Học sinh vẫn chưa xem bài này.';
+$string['launchpeermarkreviews'] = 'Mở Bình duyệt Peermark';
+
+// Cron.
+$string['ppqueuesize'] = 'Số lượng sự kiện trong hàng đợi sự kiện của Phần bổ trợ Chống đạo văn';
+$string['ppcronsubmissionlimitreached'] = 'Sẽ không có thêm bài nộp nào được gửi tới Turnitin bằng lệnh thực thi cron này vì chỉ có {$a} được xử lý trên mỗi lần chạy';
+$string['cronsubmittedsuccessfully'] = 'Bài nộp: {$a->title} (ID TII: {$a->submissionid}) cho bài tập {$a->assignmentname} trên khóa học {$a->coursename} đã được nộp thành công cho Turnitin.';
+$string['pp_submission_error'] = 'Turnitin đã trả về một lỗi với bài nộp của bạn:';
+$string['turnitindeletionerror'] = 'Xóa bài nộp Turnitin không thành công. Bản lưu cục bộ trong Moodle đã được gỡ bỏ nhưng không thể xóa bài nộp trong Turnitin.';
+$string['ppeventsfailedconnection'] = 'Sẽ không có sự kiện nào được phần bổ trợ chống đạo văn của Turnitin xử lý bằng lệnh thực thi cron này vì không thể thiết lập kết nối tới Turnitin.';
+
+// Error codes.
+$string['tii_submission_failure'] = 'Vui lòng tư vấn trợ giảng hoặc quản trị viên hệ thống của bạn để biết thêm chi tiết';
+$string['faultcode'] = 'Mã Lỗi';
+$string['line'] = 'Dòng';
+$string['message'] = 'Thông báo';
+$string['code'] = 'Mã';
+$string['tiisubmissionsgeterror'] = 'Xảy ra lỗi khi đang cố gắng lấy bài nộp cho bài tập này từ Turnitin';
+$string['errorcode0'] = 'Tập tin này chưa được nộp cho Turnitin, vui lòng tư vấn quản trị viên hệ thống của bạn';
+$string['errorcode1'] = 'Tập tin này chưa được gửi tới Turnitin vì tập tin không có đủ nội dung để tổng hợp Báo cáo Độc sáng.';
+$string['errorcode2'] = 'Tập tin này sẽ không được nộp cho Turnitin vì vượt quá kích cỡ tối đa cho phép là {$a}';
+$string['errorcode3'] = 'Tập tin này chưa được nộp cho Turnitin vì người dùng chưa chấp thuận Thỏa thuận Giấy phép Người dùng Cuối của Turnitin.';
+$string['errorcode4'] = 'Bạn phải tải lên một tập tin ở định dạng được hỗ trợ cho bài tập này. Định dạng tập tin được chấp nhận gồm: .doc, .docx, .ppt, .pptx, .pps, .ppsx, .pdf, .txt, .htm, .html, .hwp, .odt, .wpd, .ps và .rtf';
+$string['errorcode5'] = 'Tập tin này chưa được nộp cho Turnitin vì có sự cố khi tạo mô-đun trong Turnitin khiến các bài nộp bị chặn, vui lòng xem các bản ghi API của bạn để biết thêm thông tin';
+$string['errorcode6'] = 'Tập tin này chưa được nộp cho Turnitin vì có sự cố khi chỉnh sửa cài đặt mô-đun trong Turnitin khiến không nộp được, vui lòng xem các bản ghi API của bạn để biết thêm thông tin';
+$string['errorcode7'] = 'Tập tin này chưa được nộp cho Turnitin vì có sự cố khi tạo người dùng trong Turnitin khiến không nộp được, vui lòng xem các bản ghi API của bạn để biết thêm thông tin';
+$string['errorcode8'] = 'Tập tin này chưa được nộp cho Turnitin vì có sự cố khi tạo tập tin tạm thời. Rất có thể nguyên nhân là do tên tập tin không hợp lệ. Vui lòng đổi tên tập tin và tải lên lại bằng chức năng Hiệu chỉnh Bài nộp.';
+$string['errorcode9'] = 'Không thể nộp tập tin vì không có nội dung truy cập được trong vùng lưu trữ tập tin để nộp.';
+$string['coursegeterror'] = 'Không thể lấy dữ liệu khóa học';
+$string['configureerror'] = 'Bạn phải định cấu hình toàn bộ cho mô-đun này trong vai trò Quản trị viên trước khi sử dụng mô-đun trong một khóa học. Vui lòng liên lạc quản trị viên Moodle của bạn.';
+$string['turnitintoolofflineerror'] = 'Chúng tôi hiện đang gặp một sự cố tạm thời. Vui lòng thử lại trong giây lát.';
+$string['defaultinserterror'] = 'Xảy ra lỗi khi cố gắng chèn một giá trị cài đặt mặc định vào cơ sở dữ liệu';
+$string['defaultupdateerror'] = 'Xảy ra lỗi khi cố gắng cập nhật một giá trị cài đặt mặc định vào cơ sở dữ liệu';
+$string['tiiassignmentgeterror'] = 'Xảy ra lỗi khi cố gắng lấy một bài tập từ Turnitin';
+$string['assigngeterror'] = 'Không thể lấy dữ liệu turnitintooltwo';
+$string['classupdateerror'] = 'Không thể cập nhật dữ liệu Lớp Turnitin';
+$string['pp_createsubmissionerror'] = 'Xảy ra lỗi khi đang cố gắng tạo bài nộp trên Turnitin';
+$string['pp_updatesubmissionerror'] = 'Xảy ra lỗi khi đang cố gắng nộp lại bài nộp trên Turnitin';
+$string['tiisubmissiongeterror'] = 'Xảy ra lỗi khi đang cố gắng lấy bài nộp từ Turnitin';
+
+// Javascript.
+$string['closebutton'] = 'Đóng';
+$string['loadingdv'] = 'Đang tải Trình xem Tài liệu Turnitin...';
+$string['changerubricwarning'] = 'Thay đổi hoặc hủy đính kèm một thang đánh giá sẽ gỡ bỏ tất cả điểm đánh giá hiện có theo thang đánh giá đó khỏi các bài nộp trong bài tập này, kể cả các thẻ điểm đã được chấm trước đây. Điểm tổng quát cho những bài đã chấm trước đây sẽ được duy trì.';
+$string['messageprovider:submission'] = 'Thông báo về Biên lai Điện tử trong Phần bổ trợ Chống đạo văn của Turnitin';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Trạng thái Turnitin';
+$string['deleted'] = 'Đã xóa';
+$string['pending'] = 'Đang chờ';
+$string['because'] = 'Điều này là do quản trị viên đã xóa bài tập đang chờ khỏi hàng đợi xử lý và hủy bỏ bài nộp cho Turnitin.
Tập tin vẫn tồn tại trong Moodle, vui lòng liên lạc người hướng dẫn của bạn.
Vui lòng xem thông tin dưới đây để biết mọi mã lỗi:';
diff --git a/lang/zh_hans/plagiarism_turnitin.php b/lang/zh_hans/plagiarism_turnitin.php
new file mode 100755
index 00000000..d90e23b6
--- /dev/null
+++ b/lang/zh_hans/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin 剽窃 Plugin';
+$string['turnitintooltwo'] = 'Turnitin 工具';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin 剽窃 Plugin 任务';
+$string['connecttesterror'] = '连接至 Turnitin 时出错。返回的错误消息如下:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = '启用 Turnitin';
+$string['excludebiblio'] = '不含参考书目';
+$string['excludequoted'] = '排除引用资料';
+$string['excludevalue'] = '排除小型匹配结果';
+$string['excludewords'] = '字';
+$string['excludepercent'] = '百分比';
+$string['norubric'] = '无评分表';
+$string['otherrubric'] = '使用属于其他导师的评分表';
+$string['attachrubric'] = '将评分表附加至此作业';
+$string['launchrubricmanager'] = '启动评分表管理工具';
+$string['attachrubricnote'] = '注意:学生将可以在提交前查看附加的评分表及其内容。';
+$string['erater_handbook_advanced'] = '进阶';
+$string['erater_handbook_highschool'] = '高中';
+$string['erater_handbook_middleschool'] = '中学';
+$string['erater_handbook_elementary'] = '小学';
+$string['erater_handbook_learners'] = '英文学习者';
+$string['erater_dictionary_enus'] = '美式英文字典';
+$string['erater_dictionary_engb'] = '英式英文字典';
+$string['erater_dictionary_en'] = '美式和英式英语字典';
+$string['erater'] = '启用 e-rater 文法检查';
+$string['erater_handbook'] = 'ETS© 手册';
+$string['erater_dictionary'] = 'e-rater 字典';
+$string['erater_categories'] = 'e-rater 类型';
+$string['erater_spelling'] = '拼字';
+$string['erater_grammar'] = '文法';
+$string['erater_usage'] = '用法';
+$string['erater_mechanics'] = '技巧';
+$string['erater_style'] = '风格';
+$string['anonblindmarkingnote'] = '注意:已删除单独的 Turnitin 匿名标记设置。Turnitin 将使用 Moodle 隐蔽标记设置确定匿名标记设置。';
+$string['transmatch'] = '已翻译的相符功能';
+$string['genduedate'] = '在截止日期当天生成报告(允许在截止日期前重新提交)';
+$string['genimmediately1'] = '立即生成报告(不允许重新提交)';
+$string['genimmediately2'] = '立即生成报告(允许在截止日期前重新提交)';
+$string['launchquickmarkmanager'] = '启动 Quickmark 管理工具';
+$string['launchpeermarkmanager'] = '启动 Peermark 管理工具';
+$string['studentreports'] = '显示原创性报告给学生';
+$string['studentreports_help'] = '允许您向学生用户显示 Turnitin 原创性报告。如果设置为“确定”,则 Turnitin 生成的原创性报告将可供学生查看。';
+$string['submitondraft'] = '在首次上传时提交文件';
+$string['submitonfinal'] = '当学生发送以供标记时提交文件';
+$string['draftsubmit'] = '文件应在何时提交至 Turnitin?';
+$string['allownonor'] = '允许提交任何文件类型吗?';
+$string['allownonor_help'] = '此设置将允许提交任何文件类型。如果此选项设为“是”,则在可行的前提下,系统会检查提交内容的原创性,提交内容将可供下载并且 GradeMark 反馈工具将可供使用。';
+$string['norepository'] = '无存储库';
+$string['standardrepository'] = '标准存储库';
+$string['submitpapersto'] = '存储学生论文';
+$string['institutionalrepository'] = '机构存储库(适用时)';
+$string['submitpapersto_help'] = '此设置使导师能够选择是否将论文存储在 Turnitin 学生论文存储库内。将论文提交至学生论文存储库的好处在于,提交至作业的学生论文将跟您现有或过去班级内的其他学生的提交内容做对比。如果您选择“无存储库”,您的学生的论文将不会被存储在 Turnitin 学生论文存储库内。';
+$string['checkagainstnote'] = '注意:如果您没有为下面至少一个“做比较...”选项选择“是”,则不会生成“原创性”报告。';
+$string['spapercheck'] = '与已存储的学生论文做比较';
+$string['internetcheck'] = '与网络比较';
+$string['journalcheck'] = '与杂志、
期刊与刊物比较';
+$string['compareinstitution'] = '将已提交的文件与在此机构内提交的论文进行比较';
+$string['reportgenspeed'] = '报告生成速度';
+$string['genspeednote'] = '注意:生成原创性报告以供重新提交可能会有 24 小时的延迟。';
+$string['locked_message'] = '锁定的消息';
+$string['locked_message_help'] = '如果锁定了任何设置,将显示此消息说明原因。';
+$string['locked_message_default'] = '此设置已锁定在站点级别';
+$string['sharedrubric'] = '已共享评分表';
+$string['turnitinrefreshsubmissions'] = '更新提交内容';
+$string['turnitinrefreshingsubmissions'] = '更新提交内容';
+$string['turnitinppulapre'] = '要向 Turnitin 提交文件,您必须首先接受我们的 EULA。选择不接受我们的 EULA 只会将您的文件提交到 Moodle。单击此处以接受。';
+$string['noscriptula'] = '(由于您没有启用 javascript,因此在接受 Turnitin 用户协议后,您必须手动更新此页面才能提交)';
+$string['filedoesnotexist'] = '文件已被删除';
+
+// Plugin settings.
+$string['config'] = '配置';
+$string['defaults'] = '默认设置';
+$string['showusage'] = '显示数据转储';
+$string['saveusage'] = '保存数据转储';
+$string['errors'] = '错误';
+$string['turnitinconfig'] = 'Turnitin 剽窃 Plugin 配置';
+$string['tiiexplain'] = 'Turnitin 为商务产品。您必须付订购费才能使用此服务。有关更多信息,请访问 http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = '启用 Turnitin';
+$string['useturnitin_mod'] = '启用 Turnitin {$a}';
+$string['pp_configuredesc'] = '您必须在 turnitintooltwo 单元内配置此单元。请单击此处安装此 plugin';
+$string['turnitindefaults'] = 'Turnitin 剽窃 Plugin 默认设置';
+$string['defaultsdesc'] = '以下设置为在活动单元内启用 Turnitin 时设置的默认值';
+$string['turnitinpluginsettings'] = 'Turnitin 剽窃 Plugin 设置';
+$string['pperrorsdesc'] = '尝试将以下文件上传至 Turnitin 时出现问题。要重新提交,请选择您要重新提交的文件并按“重新提交”按钮。随后在下次运行 cron 时将处理这些文件。';
+$string['pperrorssuccess'] = '您选择的文件已重新提交并将由 cron 进行处理。';
+$string['pperrorsfail'] = '您选择的一些文件有误,无法为其创建新的 cron 事件。';
+$string['resubmitselected'] = '重新提交所选文件';
+$string['deleteconfirm'] = '是否确定要删除此提交内容?\n\n此操作无法撤消。';
+$string['deletesubmission'] = '删除提交内容';
+$string['semptytable'] = '未找到任何结果。';
+$string['configupdated'] = '配置已更新';
+$string['defaultupdated'] = 'Turnitin 默认值已更新';
+$string['notavailableyet'] = '不可用';
+$string['resubmittoturnitin'] = '重新提交至 Turnitin';
+$string['resubmitting'] = '重新提交';
+$string['id'] = '代码';
+$string['student'] = '学生';
+$string['course'] = '课程';
+$string['module'] = '单元';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = '查看原创性报告';
+$string['launchrubricview'] = '查看用于标记的评分表';
+$string['turnitinppulapost'] = '您的文件尚未提交至 Turnitin。请单击此处接受我们的 EULA。';
+$string['ppsubmissionerrorseelogs'] = '此文件尚未提交至 Turnitin,请咨询您的系统管理员';
+$string['ppsubmissionerrorstudent'] = '此文件尚未提交至 Turnitin,请问您的导师登记来查询更多详情';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin 剽窃 Plugin 数字回执通知';
+$string['digitalreceipt'] = '数字回执';
+$string['digital_receipt_subject'] = '这是您的 Turnitin 数字回执';
+$string['pp_digital_receipt_message'] = '尊敬的 {$a->firstname} {$a->lastname},
您已于 {$a->submission_date}将文件 {$a->submission_title} 成功提交至 {$a->course_fullname} 课堂的分配 {$a->assignment_name}{$a->assignment_part}。您的提交 ID 为 {$a->submission_id}。可以通过文档查看器中的“打印/下载”按钮查看并打印您的完整数字回执。
感谢您使用 Turnitin,
Turnitin 团队敬上';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin 代码';
+$string['turnitinstatus'] = 'Turnitin 状态';
+$string['pending'] = '未决';
+$string['similarity'] = '相似度';
+$string['notorcapable'] = '无法为此文件生成原创性报告。';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = '学生查看论文的时间:';
+$string['student_notread'] = '学生尚未查看此论文。';
+$string['launchpeermarkreviews'] = '启动 Peermark 评价';
+
+// Cron.
+$string['ppqueuesize'] = '剽窃 Plugin 事件队列中的事件数';
+$string['ppcronsubmissionlimitreached'] = '此 cron 执行不会向 Turnitin 发送其他任何提交,因为每次运行只会处理 {$a}';
+$string['cronsubmittedsuccessfully'] = '提交:课程 {$a->coursename} 中分配 {$a->assignmentname} 的 {$a->title}(TII ID:{$a->submissionid})已成功提交至 Turnitin。';
+$string['pp_submission_error'] = 'Turnitin 为您的提交返回了一个错误:';
+$string['turnitindeletionerror'] = 'Turnitin 提交内容刪除失败。计算机上的 Moodle 副本已移除,但 Turnitin 內的提交内容无法刪除。';
+$string['ppeventsfailedconnection'] = 'Turnitin 剽窃 Plugin 的此 cron 执行不会处理任何事件,因为无法建立到 Turnitin 的连接。';
+
+// Error codes.
+$string['tii_submission_failure'] = '请咨询您的辅导或系统管理员以获得更多资讯';
+$string['faultcode'] = '错误代号';
+$string['line'] = '列';
+$string['message'] = '信息';
+$string['code'] = '代号';
+$string['tiisubmissionsgeterror'] = '尝试从 Turnitin 中获取此作业的提交内容时出错';
+$string['errorcode0'] = '此文件尚未提交至 Turnitin,请咨询您的系统管理员';
+$string['errorcode1'] = '这个文件尚未发送至 Turnitin,因为它没有足够内容生成原创性报告。';
+$string['errorcode2'] = '这个文件将不会被提交至 Turnitin,因为它超过允许的文件大小上限 {$a}';
+$string['errorcode3'] = '这个文件尚未被提交至 Turnitin,因为用户尚未接受 Turnitin 终端用户许可证协议。';
+$string['errorcode4'] = '您必须为此分配上传受支持的文件类型。接受的文件类型包括:.doc、.docx、.ppt、.pptx、.pps、.ppsx、.pdf、.txt、.htm、.html、.hwp、.odt、.wpd、.ps 和 .rtf';
+$string['errorcode5'] = '这个文件尚未被提交至 Turnitin,因为在 Turnitin 中创建单元时出现问题,这将阻止提交,请查看您的 API 日志了解更多信息';
+$string['errorcode6'] = '这个文件尚未被提交至 Turnitin,因为在 Turnitin 中编辑单元设置时出现问题,这将阻止提交,请查看您的 API 日志了解更多信息';
+$string['errorcode7'] = '这个文件尚未被提交至 Turnitin,因为在 Turnitin 中创建用户时出现问题,这将阻止提交,请查看您的 API 日志了解更多信息';
+$string['errorcode8'] = '这个文件尚未被提交至 Turnitin,因为创建临时文件时出现问题。最可能的原因是文件名无效。请重命名文件并使用“编辑提交”重新上传。';
+$string['errorcode9'] = '无法提交文件,因为文件池中没有可访问的内容供提交。';
+$string['coursegeterror'] = '无法获得课程数据';
+$string['configureerror'] = '您必须完全以管理员身份配置此单元才能在课程内使用它。请联系您的 Moodle 管理员。';
+$string['turnitintoolofflineerror'] = '我们遇到临时问题。请稍后再试。';
+$string['defaultinserterror'] = '尝试将默认设置值插入数据库时出错';
+$string['defaultupdateerror'] = '尝试更新数据库中的默认设置值时出错';
+$string['tiiassignmentgeterror'] = '尝试从 Turnitin 中获取作业时出错';
+$string['assigngeterror'] = '无法获得 turnitintooltwo 数据';
+$string['classupdateerror'] = '无法更新 Turnitin 课程数据';
+$string['pp_createsubmissionerror'] = '尝试在 Turnitin 中创建提交内容时出错';
+$string['pp_updatesubmissionerror'] = '尝试将提交内容重新提交至 Turnitin 时出错';
+$string['tiisubmissiongeterror'] = '尝试从 Turnitin 中获取提交内容时出错';
+
+// Javascript.
+$string['closebutton'] = '关闭';
+$string['loadingdv'] = '正在加载 Turnitin 文档查看器...';
+$string['changerubricwarning'] = '更改或分离评分表将从此作业的论文中移除所有现有的评分表分数,包括之前已标记的评分卡。之前已评分的论文的总成绩将会被保留。';
+$string['messageprovider:submission'] = 'Turnitin 剽窃 Plugin 数字回执通知';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin 状态';
+$string['deleted'] = '已删除';
+$string['pending'] = '未决';
+$string['because'] = '这是因为,管理员从处理队列中删除了待处理的作业并中止向 Turnitin 提交内容。
相应文件仍存在于 Moodle 中,请联系您的导师。
请看下面的错误代码:';
diff --git a/lang/zh_tw/plagiarism_turnitin.php b/lang/zh_tw/plagiarism_turnitin.php
new file mode 100755
index 00000000..c79be61b
--- /dev/null
+++ b/lang/zh_tw/plagiarism_turnitin.php
@@ -0,0 +1,201 @@
+.
+
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
+ */
+
+/*
+ * To change this template, choose Tools | Templates.
+ * and open the template in the editor.
+ */
+
+// General.
+$string['pluginname'] = 'Turnitin 剽竊 Plugin';
+$string['turnitintooltwo'] = 'Turnitin 工具';
+$string['turnitin'] = 'Turnitin';
+$string['task_name'] = 'Turnitin 剽竊 Plugin 工作';
+$string['connecttesterror'] = '連線至 Turnitin 時發生錯誤,傳回的錯誤訊息如下:
';
+
+// Assignment Settings.
+$string['turnitin:enable'] = '啟用 Turnitin';
+$string['excludebiblio'] = '不含參考書目';
+$string['excludequoted'] = '不含引用資料內容';
+$string['excludevalue'] = '排除小型相符處';
+$string['excludewords'] = '字';
+$string['excludepercent'] = '百分比';
+$string['norubric'] = '沒有評語';
+$string['otherrubric'] = '使用屬於其他指導教師的評語';
+$string['attachrubric'] = '將評語附加至此作業';
+$string['launchrubricmanager'] = '啟動評語管理工具';
+$string['attachrubricnote'] = '注意:學生將可以在提交前,檢視附加的評語及其內容。';
+$string['erater_handbook_advanced'] = '進階';
+$string['erater_handbook_highschool'] = '高中';
+$string['erater_handbook_middleschool'] = '中學';
+$string['erater_handbook_elementary'] = '小學';
+$string['erater_handbook_learners'] = '英文學習者';
+$string['erater_dictionary_enus'] = '美式英文字典';
+$string['erater_dictionary_engb'] = '英式英文字典';
+$string['erater_dictionary_en'] = '美式和英式英語字典';
+$string['erater'] = '啟用 e-rater 文法檢查';
+$string['erater_handbook'] = 'ETS© 手冊';
+$string['erater_dictionary'] = 'e-rater 字典';
+$string['erater_categories'] = 'e-rater 類型';
+$string['erater_spelling'] = '拼字';
+$string['erater_grammar'] = '文法';
+$string['erater_usage'] = '用法';
+$string['erater_mechanics'] = '技巧';
+$string['erater_style'] = '筆調';
+$string['anonblindmarkingnote'] = '注意:個別的 Turnitin 匿名標示設定已遭到移除。Turnitin 將使用 Moodle 的盲標設定來決定匿名標示設定。';
+$string['transmatch'] = '已翻譯的相符功能';
+$string['genduedate'] = '在截止日期當天產生報告 (在截止日期前允許重新提交)';
+$string['genimmediately1'] = '即刻產生報告 (不允許重新提交)';
+$string['genimmediately2'] = '即刻產生報告 (在截止日期前允許重新提交)';
+$string['launchquickmarkmanager'] = '啟動 Quickmark 管理工具';
+$string['launchpeermarkmanager'] = '啟動 Peermark 管理工具';
+$string['studentreports'] = '向學生顯示原創性報告';
+$string['studentreports_help'] = '允許您向學生使用者顯示 Turnitin 原創性報告。若設定為「確定」,學生將可以檢視 Turnitin 產生的原創性報告。';
+$string['submitondraft'] = '在初次上傳時提交檔案';
+$string['submitonfinal'] = '將學生送交評分時提交檔案';
+$string['draftsubmit'] = '應何時將檔案提交至 Turnitin?';
+$string['allownonor'] = '允許任何檔案類型的提交物件?';
+$string['allownonor_help'] = '此設定將允許提交任何檔案類型。若此選項設為「是」,將會在可行時,檢查提交物件的原創性,可以下載提交物件,以及使用 GradeMark 反饋工具。';
+$string['norepository'] = '沒有存放庫';
+$string['standardrepository'] = '標準存放庫';
+$string['submitpapersto'] = '儲存學生報告';
+$string['institutionalrepository'] = '機構存放庫 (適用時)';
+$string['submitpapersto_help'] = '此設定讓指導教師能夠選擇是否要將報告儲存在 Turnitin 學生報告存放庫內。將報告提交至學生報告存放庫的優點在於,提交至作業的學生報告將會與您現有或過去班級內其他學生的提交物件做比較。若您選擇「沒有存放庫」,您的學生報告將不會儲存在 Turnitin 學生報告存放庫內。';
+$string['checkagainstnote'] = '注意:如果下面的「比較對象」選項當中,至少有一個未選擇「是」,就不會產生原創性報告。';
+$string['spapercheck'] = '與已儲存的學生報告比較';
+$string['internetcheck'] = '與網際網路比較';
+$string['journalcheck'] = '與雜誌、
期刊與出版物比較';
+$string['compareinstitution'] = '將提交的檔案和此機構內提交的報告比較';
+$string['reportgenspeed'] = '產生報告速度';
+$string['genspeednote'] = '注意:為重新提交產生的原創性報告將需要 24 小時的時間。';
+$string['locked_message'] = '已鎖定訊息';
+$string['locked_message_help'] = '若有任何設定遭到鎖定,會顯示此訊息說明原因。';
+$string['locked_message_default'] = '於網站層級鎖定此設定';
+$string['sharedrubric'] = '共用的評語';
+$string['turnitinrefreshsubmissions'] = '重新整理提交物件';
+$string['turnitinrefreshingsubmissions'] = '正在重新整理提交物件';
+$string['turnitinppulapre'] = '若要將檔案提交至 Turnitin,您必須先接受 EULA。若選擇不接受我們的 EULA,您的檔案將只會提交至 Moodle。按一下這裡以接受。';
+$string['noscriptula'] = '(因為您並未啟用 Javascript,在接受 Turnitin 使用者協議後,您必須手動更新此頁面,然後才能提交物件)';
+$string['filedoesnotexist'] = '檔案已遭到刪除';
+
+// Plugin settings.
+$string['config'] = '配置';
+$string['defaults'] = '預設設定';
+$string['showusage'] = '顯示資料傾印';
+$string['saveusage'] = '儲存資料傾印';
+$string['errors'] = '錯誤';
+$string['turnitinconfig'] = 'Turnitin 剽竊 Plugin 配置';
+$string['tiiexplain'] = 'Turnitin 為商務產品。您必須付費訂閱,才能使用此服務。如需更多資訊,請參閱 http://docs.moodle.org/en/Turnitin_administration';
+$string['useturnitin'] = '啟用 Turnitin';
+$string['useturnitin_mod'] = '啟用 Turnitin 的對象 {$a}';
+$string['pp_configuredesc'] = '您必須在turnitintooltwo單元內配置此單元。請按一下這裡,以配置此 Plugin';
+$string['turnitindefaults'] = 'Turnitin 剽竊 Plugin 預設設定';
+$string['defaultsdesc'] = '以下設定是在活動單元內啟用 Turnitin時的預設集';
+$string['turnitinpluginsettings'] = 'Turnitin 剽竊 Plugin 設定';
+$string['pperrorsdesc'] = '嘗試將以下檔案上傳至 Turnitin 時出現問題。若要重新提交,請選擇您要重新提交的檔案,然後按「重新提交」按鈕。這些檔案會在下次 Cron 執行時處理。';
+$string['pperrorssuccess'] = '已重新提交您選擇的檔案,並將由 Cron 負責處理。';
+$string['pperrorsfail'] = '您選擇的檔案有一些出現問題,無法為其建立新的 Cron 事件。';
+$string['resubmitselected'] = '重新提交所選檔案';
+$string['deleteconfirm'] = '確定要刪除此提交物件嗎?\n\n此動作將無法復原。';
+$string['deletesubmission'] = '刪除提交物件';
+$string['semptytable'] = '未找到任何結果。';
+$string['configupdated'] = '配置已更新';
+$string['defaultupdated'] = 'Turnitin 預設值已更新';
+$string['notavailableyet'] = '無法使用';
+$string['resubmittoturnitin'] = '重新提交至 Turnitin';
+$string['resubmitting'] = '正在重新提交';
+$string['id'] = 'ID';
+$string['student'] = '學生';
+$string['course'] = '課程';
+$string['module'] = '單元';
+
+// Grade book/View assignment page.
+$string['turnitin:viewfullreport'] = '檢視原創性報告';
+$string['launchrubricview'] = '檢視標示用的評分表';
+$string['turnitinppulapost'] = '並未將您的檔案提交至 Turnitin。請按一下這裡,以接受我們的 EULA。';
+$string['ppsubmissionerrorseelogs'] = '這個檔案並未提交至 Turnitin,請連絡您的系統管理員';
+$string['ppsubmissionerrorstudent'] = '這個檔案並未提交至 Turnitin,請連絡您的指導教師,以取得更多詳細資料';
+
+// Receipts.
+$string['messageprovider:submission'] = 'Turnitin 剽竊 Plugin 電子回條通知';
+$string['digitalreceipt'] = '電子回條';
+$string['digital_receipt_subject'] = '這是您的 Turnitin 電子回條';
+$string['pp_digital_receipt_message'] = '{$a->firstname} {$a->lastname} 您好:
您已在 {$a->submission_date} 上成功將檔案 {$a->submission_title} 提交至課程 {$a->course_fullname} 中的作業 {$a->assignment_name}{$a->assignment_part}。您的提交 ID 為 {$a->submission_id}。您可以從文件檢視工具列印/下載按鈕,來檢視或列印完整的電子回條。
感謝您使用 Turnitin,
Turnitin 團隊敬上';
+
+// Paper statuses.
+$string['turnitinid'] = 'Turnitin ID';
+$string['turnitinstatus'] = 'Turnitin 狀態';
+$string['pending'] = '等待中';
+$string['similarity'] = '相似度';
+$string['notorcapable'] = '無法爲此檔案製作原創性報告。';
+$string['grademark'] = 'GradeMark';
+$string['student_read'] = '學生檢視報告於:';
+$string['student_notread'] = '學生尚未檢視此報告。';
+$string['launchpeermarkreviews'] = '啟動 Peermark 評論';
+
+// Cron.
+$string['ppqueuesize'] = '剽竊 Plugin 事件佇列中的事件數';
+$string['ppcronsubmissionlimitreached'] = '因為每次執行這個 Corn,只能處理 {$a} 個,所以不會再將提交物件傳送至 Turnitin。';
+$string['cronsubmittedsuccessfully'] = '課程 {$a->coursename} 上作業 {$a->assignmentname} 的提交物件:{$a->title} (TII ID:{$a->submissionid}) 已成功提交至 Turnitin。';
+$string['pp_submission_error'] = 'Turnitin 已傳回有關提交物件的錯誤:';
+$string['turnitindeletionerror'] = 'Turnitin 提交物件刪除失敗。本機的 Moodle 複本已遭到移除,但無法刪除 Turnitin 內的提交物件。';
+$string['ppeventsfailedconnection'] = '因為無法與 Turnitin 建立連接,所以執行此 Cron,Turnitin 剽竊 Plugin 也不會處理任何事件。';
+
+// Error codes.
+$string['tii_submission_failure'] = '請連絡您的指導教師或系統管理員,以取得更多詳細資料';
+$string['faultcode'] = '錯誤代號';
+$string['line'] = '列';
+$string['message'] = '訊息';
+$string['code'] = '代號';
+$string['tiisubmissionsgeterror'] = '嘗試從 Turnitin 內取得此作業的提交物件時發生錯誤';
+$string['errorcode0'] = '這個檔案並未提交至 Turnitin,請連絡您的系統管理員';
+$string['errorcode1'] = '因為這個檔案的內容不足,無法產生原創性報告,所以並未提交至 Turnitin。';
+$string['errorcode2'] = '這個檔案超過允許的檔案大小上限 {$a},因此將不會提交至 Turnitin';
+$string['errorcode3'] = '因為使用者尚未接受 Turnitin 使用者授權協議,所以不會將此檔案提交至 Turnitin。';
+$string['errorcode4'] = '您必須為此作業上傳支援的檔案類型。可接受的檔案類型如下:.doc、.docx、.ppt、.pptx、.pps、.ppsx、.pdf、.txt、.htm、.html、.hwp、.odt、.wpd、.ps 及 .rtf';
+$string['errorcode5'] = '這個檔案並未提交至 Turnitin,因為在 Turnitin 中建立單元時出現問題,故無法提交。請參閱 API 記錄檔以取得進一步資訊';
+$string['errorcode6'] = '這個檔案並未提交至 Turnitin,因為在 Turnitin 中建立單元時出現問題,故無法提交。請參閱 API 記錄檔以取得進一步資訊';
+$string['errorcode7'] = '這個檔案並未提交至 Turnitin,因為在 Turnitin 中建立使用者時出現問題,故無法提交。請參閱 API 記錄檔以取得進一步資訊';
+$string['errorcode8'] = '因為建立暫存檔案時出現問題,所以並未提交這個檔案。原因很可能是檔案名稱無效。請重新命名該檔案,然後使用「編輯提交物件」來重新上傳';
+$string['errorcode9'] = '因為檔案集區中沒有可存取的內容可供提交,所以無法提交該檔案。';
+$string['coursegeterror'] = '無法取得課程資料';
+$string['configureerror'] = '在課程內使用此單元之前,您必須先以管理員的身分進行完整設定。請聯繫您的 Moodle 管理員。';
+$string['turnitintoolofflineerror'] = '發生暫時性問題。請稍後再試。';
+$string['defaultinserterror'] = '嘗試將預設的設定值插入資料庫時發生錯誤';
+$string['defaultupdateerror'] = '嘗試更新資料庫中預設的設定值時發生錯誤';
+$string['tiiassignmentgeterror'] = '嘗試從 Turnitin 內取得作業時發生錯誤';
+$string['assigngeterror'] = '無法取得 turnitintooltwo 資料';
+$string['classupdateerror'] = '無法更新 Turnitin 課程資料';
+$string['pp_createsubmissionerror'] = '嘗試在 Turnitin 內建立提交物件時發生錯誤';
+$string['pp_updatesubmissionerror'] = '嘗試將您的提交物件重新提交至 Turnitin 時發生錯誤';
+$string['tiisubmissiongeterror'] = '嘗試從 Turnitin 內取得提交物件時發生錯誤';
+
+// Javascript.
+$string['closebutton'] = '關閉';
+$string['loadingdv'] = '正在載入 Turnitin 文件檢視工具...';
+$string['changerubricwarning'] = '變更或分離評語,會將從此作業內的報告中移除現有的所有評語分數,包括之前標示的計分卡。之前已評分報告的整體成績則會予以保留。';
+$string['messageprovider:submission'] = 'Turnitin 剽竊 Plugin 電子回條通知';
+
+// Turnitin Submission Status.
+$string['turnitinstatus'] = 'Turnitin 狀態';
+$string['deleted'] = '已刪除';
+$string['pending'] = '等待中';
+$string['because'] = '這是因為管理員從處理佇列中刪除等待中的作業,並中止提交至Turnitin。
檔案仍存在 Moodle 中,請連絡您的指導教師。
如需任何錯誤代碼,請參閱下面資訊:';
diff --git a/lib.php b/lib.php
index 7fedce52..ad87ca0a 100644
--- a/lib.php
+++ b/lib.php
@@ -45,18 +45,18 @@
// Get global class.
require_once($CFG->dirroot.'/plagiarism/lib.php');
-// Require classes from mod/turnitintooltwo
+// Require classes from mod/turnitintooltwo.
require_once($CFG->dirroot.'/mod/turnitintooltwo/lib.php');
require_once($CFG->dirroot.'/mod/turnitintooltwo/turnitintooltwo_view.class.php');
-// Include plugin classes
+// Include plugin classes.
require_once(__DIR__."/turnitinplugin_view.class.php");
require_once(__DIR__.'/classes/turnitin_class.class.php');
require_once(__DIR__.'/classes/turnitin_submission.class.php');
require_once(__DIR__.'/classes/turnitin_comms.class.php');
require_once(__DIR__.'/classes/digitalreceipt/pp_receipt_message.php');
-// Include supported module specific code
+// Include supported module specific code.
require_once(__DIR__.'/classes/modules/turnitin_assign.class.php');
require_once(__DIR__.'/classes/modules/turnitin_forum.class.php');
require_once(__DIR__.'/classes/modules/turnitin_workshop.class.php');
@@ -68,7 +68,7 @@ class plagiarism_plugin_turnitin extends plagiarism_plugin {
/**
* Get the fields to be used in the form to configure each activities Turnitin settings.
*
- * @return array of settings fields
+ * @return array of settings fields.
*/
public function get_settings_fields() {
return array('use_turnitin', 'plagiarism_show_student_report', 'plagiarism_draft_submit',
@@ -87,7 +87,6 @@ public function get_settings_fields() {
* @return mixed if plugin is enabled then an array of config settings is returned or false if not
*/
public static function get_config_settings($modulename) {
- global $DB;
$pluginconfig = get_config('plagiarism', 'turnitin_use_'.$modulename);
return $pluginconfig;
@@ -111,11 +110,11 @@ public function get_settings($cmid = null, $uselockedvalues = true) {
}
// Enforce site wide config locking.
- foreach ($defaults as $key => $value){
- if (substr($key, -5) !== '_lock'){
+ foreach ($defaults as $key => $value) {
+ if (substr($key, -5) !== '_lock') {
continue;
}
- if ($value != 1){
+ if ($value != 1) {
continue;
}
$setting = substr($key, 0, -5);
@@ -240,12 +239,13 @@ public function get_form_elements_module($mform, $context, $modulename = "") {
// Get assignment settings, use default settings on assignment creation.
$plagiarismvalues = $this->get_settings($cmid);
- /* If Turnitin is disabled and we don't have settings (we're editing an existing assignment that was created without Turnitin enabled)
+ /* If Turnitin is disabled and we don't have settings (we're editing an existing assignment
+ * that was created without Turnitin enabled)
* Then we pass NULL for the $cmid to ensure we have the default settings should they enable Turnitin.
*/
if (empty($plagiarismvalues["use_turnitin"]) && count($plagiarismvalues) <= 2) {
$savedvalues = $plagiarismvalues;
- $plagiarismvalues = $this->get_settings(NULL);
+ $plagiarismvalues = $this->get_settings(null);
// Ensure we reuse the saved setting for use Turnitin.
if (isset($savedvalues["use_turnitin"])) {
@@ -256,12 +256,12 @@ public function get_form_elements_module($mform, $context, $modulename = "") {
$plagiarismelements = $this->get_settings_fields();
$turnitinpluginview = new turnitinplugin_view();
- $plagiarismvalues["plagiarism_rubric"] = ( !empty($plagiarismvalues["plagiarism_rubric"]) ) ?
- $plagiarismvalues["plagiarism_rubric"] : 0;
+ $plagiarismvalues["plagiarism_rubric"] = ( !empty($plagiarismvalues["plagiarism_rubric"]) ) ? $plagiarismvalues["plagiarism_rubric"] : 0;
// Create/Edit course in Turnitin and join user to class.
$course = $this->get_course_data($cmid, $COURSE->id);
- $turnitinpluginview->add_elements_to_settings_form($mform, $course, "activity", $cmid, $plagiarismvalues["plagiarism_rubric"]);
+ $turnitinpluginview->add_elements_to_settings_form($mform, $course, "activity",
+ $cmid, $plagiarismvalues["plagiarism_rubric"]);
// Disable all plagiarism elements if turnitin is not enabled.
foreach ($plagiarismelements as $element) {
@@ -294,31 +294,35 @@ public function get_form_elements_module($mform, $context, $modulename = "") {
* @param type $eventdata
* @return boolean
*/
- public static function course_reset(\core\event\course_reset_ended $event) {
+ public static function course_reset($eventdata) {
global $DB;
- $eventdata = $event->get_data();
- $courseid = (int)$eventdata['courseid'];
+ $data = $eventdata->get_data();
+ $courseid = (int)$data['other']['reset_options']['courseid'];
$resetcourse = true;
- $resetassign = (isset($eventdata['other']['reset_options']['reset_assign_submissions'])) ?
- $eventdata['other']['reset_options']['reset_assign_submissions'] : 0;
- $resetforum = (isset($eventdata['other']['reset_options']['reset_forum_all'])) ?
- $eventdata['other']['reset_options']['reset_forum_all'] : 0;
+ $resetassignsubmissions = $data['other']['reset_options']['reset_assign_submissions'];
+ $resetassign = (isset($resetassignsubmissions)) ? $resetassignsubmissions : 0;
+
+ $resetforumall = $data['other']['reset_options']['reset_forum_all'];
+ $resetforum = (isset($resetforumall)) ? $resetforumall : 0;
// Get the modules that support the Plagiarism plugin by whether they have a class file.
$supportedmods = array();
- foreach(scandir(__DIR__.'/classes/modules/') as $filename){
- if (!in_array($filename, array(".",".."))) {
- $filename_ar = explode('.', $filename);
- $classname_ar = explode('_', $filename_ar[0]); // $filename_ar[0] is class name.
- $supportedmods[] = $classname_ar[1]; // $classname_ar[1] is module name.
+ foreach (scandir(__DIR__.'/classes/modules/') as $filename) {
+ if (!in_array($filename, array(".", ".."))) {
+ $filenamear = explode('.', $filename);
+ $classnamear = explode('_', $filenamear[0]); // Split the class name.
+ $supportedmods[] = $classnamear[1]; // Set the module name.
}
}
foreach ($supportedmods as $supportedmod) {
$module = $DB->get_record('modules', array('name' => $supportedmod));
+ if ($module === false) {
+ continue;
+ }
- // Get all the course modules that have Turnitin enabled
+ // Get all the course modules that have Turnitin enabled.
$sql = "SELECT cm.id
FROM {course_modules} cm
RIGHT JOIN {plagiarism_turnitin_config} ptc ON cm.id = ptc.cm
@@ -342,8 +346,8 @@ public static function course_reset(\core\event\course_reset_ended $event) {
}
}
- // If all turnitin enabled modules for this course have been reset
- // then remove the Turnitin course id from the database
+ // If all turnitin enabled modules for this course have been reset.
+ // then remove the Turnitin course id from the database.
if ($resetcourse) {
$DB->delete_records('turnitintooltwo_courses', array('courseid' => $courseid, 'course_type' => 'PP'));
}
@@ -364,7 +368,7 @@ public function test_turnitin_connection($workflowcontext = 'site') {
$class->setTitle('Test finding a class to see if connection works');
try {
- $response = $tiiapi->findClasses($class);
+ $tiiapi->findClasses($class);
return true;
} catch (Exception $e) {
$turnitincomms->handle_exceptions($e, 'connecttesterror', false);
@@ -378,13 +382,14 @@ public function test_turnitin_connection($workflowcontext = 'site') {
/**
* Print the Turnitin student disclosure inside the submission page for students to see
*
- * @global type $DB
* @global type $OUTPUT
+ * @global type $USER
+ * @global type $CFG
* @param type $cmid
* @return type
*/
public function print_disclosure($cmid) {
- global $DB, $OUTPUT, $USER, $PAGE, $CFG;
+ global $OUTPUT, $USER, $CFG;
static $tiiconnection;
if (empty($tiiconnection)) {
@@ -394,7 +399,7 @@ public function print_disclosure($cmid) {
$config = turnitintooltwo_admin_config();
$output = '';
- // Get course details
+ // Get course details.
$cm = get_coursemodule_from_id('', $cmid);
$moduletiienabled = $this->get_config_settings('mod_'.$cm->modname);
@@ -423,29 +428,29 @@ public function print_disclosure($cmid) {
$user = new turnitintooltwo_user($USER->id, "Learner");
$user->join_user_to_class($coursedata->turnitin_cid);
- $eulaaccepted = ($user->user_agreement_accepted == 0) ? $user->get_accepted_user_agreement() : $user->user_agreement_accepted;
+ $eulaaccepted = ($user->useragreementaccepted == 0) ? $user->get_accepted_user_agreement() : $user->useragreementaccepted;
if ($eulaaccepted != 1) {
// Moodle strips out form and script code for forum posts so we have to do the Eula Launch differently.
- $ula_link = html_writer::link($CFG->wwwroot.'/plagiarism/turnitin/extras.php?cmid='.$cmid.'&cmd=useragreement&view_context=box_solid',
+ $eulalink = html_writer::link($CFG->wwwroot.'/plagiarism/turnitin/extras.php?cmid='.$cmid.'&cmd=useragreement&view_context=box_solid',
$OUTPUT->pix_icon('tiiIcon', '', 'plagiarism_turnitin', array('class' => 'icon_size_large')).'
'.
get_string('turnitinppulapre', 'plagiarism_turnitin'),
array("class" => "pp_turnitin_eula_link"));
$eulaignoredclass = ($eulaaccepted == 0) ? ' pp_turnitin_ula_ignored' : '';
- $ula = html_writer::tag('div', $ula_link, array('class' => 'pp_turnitin_ula js_required'.$eulaignoredclass,
+ $eula = html_writer::tag('div', $eulalink, array('class' => 'pp_turnitin_ula js_required'.$eulaignoredclass,
'data-userid' => $user->id));
- $noscriptula = html_writer::tag('noscript',
- turnitintooltwo_view::output_dv_launch_form("useragreement", 0, $user->tii_user_id,
+ $noscripteula = html_writer::tag('noscript',
+ turnitintooltwo_view::output_dv_launch_form("useragreement", 0, $user->tiiuserid,
"Learner", get_string('turnitinppulapre', 'plagiarism_turnitin'), false)." ".
get_string('noscriptula', 'plagiarism_turnitin'),
array('class' => 'warning turnitin_ula_noscript'));
}
// Show EULA launcher and form placeholder.
- if (!empty($ula)) {
- $output .= $ula.$noscriptula;
+ if (!empty($eula)) {
+ $output .= $eula.$noscripteula;
$turnitincomms = new turnitin_comms();
$turnitincall = $turnitincomms->initialise_api();
@@ -461,7 +466,7 @@ public function print_disclosure($cmid) {
if ($config->usegrademark && !empty($plagiarismsettings["plagiarism_rubric"])) {
// Update assignment in case rubric is not stored in Turnitin yet.
- $tiiassignment = $this->sync_tii_assignment($cm, $coursedata->turnitin_cid);
+ $this->sync_tii_assignment($cm, $coursedata->turnitin_cid);
$rubricviewlink = html_writer::tag('div', html_writer::link(
$CFG->wwwroot.'/plagiarism/turnitin/ajax.php?cmid='.$cm->id.
@@ -508,7 +513,7 @@ public function load_page_components() {
public function get_course_data($cmid, $courseid, $workflowcontext = 'site') {
$coursedata = turnitintooltwo_assignment::get_course_data($courseid, 'PP', $workflowcontext);
- // get add from querystring to work out module type.
+ // Get add from querystring to work out module type.
$add = optional_param('add', '', PARAM_TEXT);
if (empty($coursedata->turnitin_cid)) {
@@ -540,7 +545,7 @@ public function get_course_data($cmid, $courseid, $workflowcontext = 'site') {
* @return type
*/
public function get_links($linkarray) {
- global $CFG, $DB, $OUTPUT, $PAGE, $USER;
+ global $CFG, $DB, $OUTPUT, $USER;
// Don't show links for certain file types as they won't have been submitted to Turnitin.
if (!empty($linkarray["file"])) {
@@ -605,7 +610,7 @@ public function get_links($linkarray) {
$coursedata = $this->get_course_data($cm->id, $cm->course);
}
- // Create module object
+ // Create module object.
$moduleclass = "turnitin_".$cm->modname;
$moduleobject = new $moduleclass;
@@ -649,7 +654,7 @@ public function get_links($linkarray) {
$identifier = sha1($content);
}
- // Group submissions where all students have to submit sets userid to 0;
+ // Group submissions where all students have to submit sets userid to 0.
if ($linkarray['userid'] == 0 && !$istutor) {
$linkarray['userid'] = $USER->id;
}
@@ -684,19 +689,19 @@ public function get_links($linkarray) {
$user = new turnitintooltwo_user($USER->id, "Learner");
$success = $user->join_user_to_class($coursedata->turnitin_cid);
- // $success is false if there is no Turnitin connection and null if user has previously been enrolled.
+ // Variable $success is false if there is no Turnitin connection and null if user has previously been enrolled.
if ((is_null($success) || $success === true) && $eulashown == false) {
- $eulaaccepted = ($user->user_agreement_accepted == 0) ? $user->get_accepted_user_agreement() : $user->user_agreement_accepted;
+ $eulaaccepted = ($user->useragreementaccepted == 0) ? $user->get_accepted_user_agreement() : $user->useragreementaccepted;
$userid = $linkarray["userid"];
if ($eulaaccepted != 1) {
- $eula_link = html_writer::link($CFG->wwwroot.'/plagiarism/turnitin/extras.php?cmid='.$linkarray["cmid"].
+ $eulalink = html_writer::link($CFG->wwwroot.'/plagiarism/turnitin/extras.php?cmid='.$linkarray["cmid"].
'&cmd=useragreement&view_context=box_solid',
$OUTPUT->pix_icon('tiiIcon', '', 'plagiarism_turnitin', array('class' => 'icon_size_large')).'
'.
get_string('turnitinppulapost', 'plagiarism_turnitin'),
array("class" => "pp_turnitin_eula_link"));
- $eula = html_writer::tag('div', $eula_link, array('class' => 'pp_turnitin_ula js_required', 'data-userid' => $user->id));
+ $eula = html_writer::tag('div', $eulalink, array('class' => 'pp_turnitin_ula js_required', 'data-userid' => $user->id));
}
// Show EULA launcher and form placeholder.
@@ -717,41 +722,34 @@ public function get_links($linkarray) {
}
}
- // Check whether submission is a group submission - only applicable to assignment module.
+ // Check whether submission is a group submission - only applicable to assignment and coursework module.
// If it's a group submission then other users in the group should be able to see the originality score
// They can not open the DV though.
$submissionusers = array($linkarray["userid"]);
- if ($cm->modname == "assign") {
- if ($moduledata->teamsubmission) {
- $assignment = new assign($context, $cm, null);
- if ($group = $assignment->get_submission_group($linkarray["userid"])) {
- $users = groups_get_members($group->id);
- $submissionusers = array_keys($users);
+ switch ($cm->modname) {
+ case "assign":
+ if ($moduledata->teamsubmission) {
+ $assignment = new assign($context, $cm, null);
+ if ($group = $assignment->get_submission_group($linkarray["userid"])) {
+ $users = groups_get_members($group->id);
+ $submissionusers = array_keys($users);
+ }
}
- }
- }
-
-
- // Group originality score for Coursework module
- // Check whether submission is a group submission
- // If it's a group submission then other users in the group should be able to see the originality score
- // They can not open the DV though.
- if ($cm->modname == "coursework") {
- if ($moduledata->use_groups) {
+ break;
- $coursework = new \mod_coursework\models\coursework($moduledata->id);
+ case "coursework":
+ if ($moduledata->use_groups) {
+ $coursework = new \mod_coursework\models\coursework($moduledata->id);
- $user = $DB->get_record('user', array('id' => $linkarray["userid"]));
- $user = mod_coursework\models\user::find($user);
- if ($group = $coursework->get_student_group($user)) {
- $users = groups_get_members($group->id);
- $submissionusers = array_keys($users);
+ $user = $DB->get_record('user', array('id' => $linkarray["userid"]));
+ $user = mod_coursework\models\user::find($user);
+ if ($group = $coursework->get_student_group($user)) {
+ $users = groups_get_members($group->id);
+ $submissionusers = array_keys($users);
+ }
}
- }
- }
-
-
+ }
// Proceed to displaying links for submissions.
if ($istutor || in_array($USER->id, $submissionusers)) {
@@ -761,13 +759,13 @@ public function get_links($linkarray) {
$contentdisplayed = true;
}
- // Get turnitin file details
+ // Get turnitin file details.
$plagiarismfiles = $DB->get_records('plagiarism_turnitin_files', array('userid' => $linkarray["userid"],
'cm' => $linkarray["cmid"], 'identifier' => $identifier),
'lastmodified DESC', '*', 0, 1);
$plagiarismfile = current($plagiarismfiles);
- // Populate gradeitem query
+ // Populate gradeitem query.
$gradeitemqueryarray = array(
'iteminstance' => $cm->instance,
'itemmodule' => $cm->modname,
@@ -811,7 +809,8 @@ public function get_links($linkarray) {
if ($istutor || $linkarray["userid"] == $USER->id) {
$output .= html_writer::tag('div',
$OUTPUT->pix_icon('tiiIcon',
- get_string('turnitinid', 'plagiarism_turnitin').': '.$plagiarismfile->externalid, 'plagiarism_turnitin', array('class' => 'icon_size')).
+ get_string('turnitinid', 'plagiarism_turnitin').': '.$plagiarismfile->externalid,
+ 'plagiarism_turnitin', array('class' => 'icon_size')).
get_string('turnitinid', 'plagiarism_turnitin').': '.$plagiarismfile->externalid,
array('class' => 'turnitin_status'));
}
@@ -867,7 +866,7 @@ public function get_links($linkarray) {
$output .= $OUTPUT->box_end(true);
}
- //Check if blind marking is on and revealidentities is not set yet.
+ // Check if blind marking is on and revealidentities is not set yet.
$blindon = (!empty($moduledata->blindmarking) && empty($moduledata->revealidentities));
// Can grade and feedback be released to this student yet?
@@ -916,7 +915,7 @@ public function get_links($linkarray) {
// Show link to view rubric for student.
if (!$istutor && $config->usegrademark && !empty($plagiarismsettings["plagiarism_rubric"])) {
// Update assignment in case rubric is not stored in Turnitin yet.
- $tiiassignment = $this->sync_tii_assignment($cm, $coursedata->turnitin_cid);
+ $this->sync_tii_assignment($cm, $coursedata->turnitin_cid);
$rubricviewlink = html_writer::tag('div', html_writer::link(
$CFG->wwwroot.'/plagiarism/turnitin/ajax.php?cmid='.$cm->id.
@@ -935,8 +934,7 @@ public function get_links($linkarray) {
if ($_SESSION["updated_pm"][$cm->id] <= (time() - (60 * 2))) {
$this->refresh_peermark_assignments($cm, $plagiarismsettings['turnitin_assignid']);
$turnitintooltwoassignment = new turnitintooltwo_assignment($cm->instance, '', 'PP');
- $_SESSION["peermark_assignments"][$cm->id] =
- $turnitintooltwoassignment->get_peermark_assignments($plagiarismsettings['turnitin_assignid']);
+ $_SESSION["peermark_assignments"][$cm->id] = $turnitintooltwoassignment->get_peermark_assignments($plagiarismsettings['turnitin_assignid']);
$_SESSION["updated_pm"][$cm->id] = time();
}
@@ -976,14 +974,14 @@ public function get_links($linkarray) {
if ($errorcode == 0 && $submissiontype == 'file') {
if ($file->get_filesize() > TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE) {
$errorcode = 2;
+ $plagiarismfile->errorcode = 2;
}
}
// Show error message if there is one.
if ($errorcode == 0) {
$langstring = ($istutor) ? 'ppsubmissionerrorseelogs' : 'ppsubmissionerrorstudent';
- $errorstring = (isset($plagiarismfile->errormsg)) ?
- get_string($langstring, 'plagiarism_turnitin') : $plagiarismfile->errormsg;
+ $errorstring = (isset($plagiarismfile->errormsg)) ? get_string($langstring, 'plagiarism_turnitin') : $plagiarismfile->errormsg;
} else {
$errorstring = get_string('errorcode'.$plagiarismfile->errorcode,
'plagiarism_turnitin', display_size(TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE));
@@ -1014,7 +1012,7 @@ public function get_links($linkarray) {
$output .= html_writer::tag('div', $OUTPUT->pix_icon('tiiIcon', $statusstr, 'plagiarism_turnitin', array('class' => 'icon_size')).$statusstr,
array('class' => 'turnitin_status hidden'));
- // Show hidden data for potential forum post resubmissions
+ // Show hidden data for potential forum post resubmissions.
if ($submissiontype == 'forum_post' && !empty($linkarray["content"])) {
$output .= html_writer::tag('div', $linkarray["content"],
array('class' => 'hidden', 'id' => 'content_'.$plagiarismfile->id));
@@ -1031,12 +1029,11 @@ public function get_links($linkarray) {
array('class' => 'hidden', 'id' => 'forumdata_'.$plagiarismfile->id));
}
}
- } else if ($plagiarismfile->statuscode == 'deleted'){
+ } else if ($plagiarismfile->statuscode == 'deleted') {
$errorcode = (isset($plagiarismfile->errorcode)) ? $plagiarismfile->errorcode : 0;
if ($errorcode == 0) {
$langstring = ($istutor) ? 'ppsubmissionerrorseelogs' : 'ppsubmissionerrorstudent';
- $errorstring = (isset($plagiarismfile->errormsg)) ?
- get_string($langstring, 'plagiarism_turnitin') : $plagiarismfile->errormsg;
+ $errorstring = (isset($plagiarismfile->errormsg)) ? get_string($langstring, 'plagiarism_turnitin') : $plagiarismfile->errormsg;
} else {
$errorstring = get_string('errorcode'.$plagiarismfile->errorcode,
'plagiarism_turnitin', display_size(TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE));
@@ -1046,24 +1043,27 @@ public function get_links($linkarray) {
$output .= html_writer::tag('div', $OUTPUT->pix_icon('tiiIcon', $statusstr, 'plagiarism_turnitin', array('class' => 'icon_size')).$statusstr,
array('class' => 'turnitin_status'));
+ } else if ($plagiarismfile->statuscode == 'queued') {
+ $statusstr = get_string('turnitinstatus', 'plagiarism_turnitin').': '.get_string('queued', 'plagiarism_turnitin');
+ $output .= html_writer::tag('div', $OUTPUT->pix_icon('tiiIcon', $statusstr, 'plagiarism_turnitin', array('class' => 'icon_size')).$statusstr,
+ array('class' => 'turnitin_status'));
} else {
$statusstr = get_string('turnitinstatus', 'plagiarism_turnitin').': '.get_string('pending', 'plagiarism_turnitin');
$output .= html_writer::tag('div', $OUTPUT->pix_icon('tiiIcon', $statusstr, 'plagiarism_turnitin', array('class' => 'icon_size')).$statusstr,
array('class' => 'turnitin_status'));
}
- }
- else {
+ } else {
// Add Error if the user has not accepted EULA for submissions made before instant submission was removed.
$eulaerror = "";
if ($linkarray["userid"] != $USER->id && $submittinguser == $author && $istutor) {
// There is a moodle plagiarism bug where get_links is called twice, the first loop is incorrect and is killing
// this functionality. Have to check that user exists here first else there will be a fatal error.
- if ($mdl_user = $DB->get_record('user', array('id' => $linkarray["userid"]))) {
+ if ($DB->get_record('user', array('id' => $linkarray["userid"]))) {
// We need to check for security that the user is actually on the course.
if ($moduleobject->user_enrolled_on_course($context, $linkarray["userid"])) {
$user = new turnitintooltwo_user($linkarray["userid"], "Learner");
- if ($user->user_agreement_accepted != 1) {
+ if ($user->useragreementaccepted != 1) {
$erroricon = html_writer::tag('div', $OUTPUT->pix_icon('doc-x-grey', get_string('errorcode3', 'plagiarism_turnitin'),
'plagiarism_turnitin'),
array('title' => get_string('errorcode3', 'plagiarism_turnitin'),
@@ -1074,13 +1074,9 @@ public function get_links($linkarray) {
}
}
- // Show Turnitin Pending status or EULA error.
+ // Show EULA error.
if (!empty($eulaerror)) {
$output .= $eulaerror;
- } else {
- $statusstr = get_string('turnitinstatus', 'plagiarism_turnitin').': '.get_string('pending', 'plagiarism_turnitin');
- $output .= html_writer::tag('div', $OUTPUT->pix_icon('tiiIcon', $statusstr, 'plagiarism_turnitin', array('class' => 'icon_size')).$statusstr,
- array('class' => 'turnitin_status'));
}
}
@@ -1094,7 +1090,8 @@ public function get_links($linkarray) {
$plagiarismsettings = $this->get_settings($cm->id);
$turnitinassignid = (empty($plagiarismsettings['turnitin_assignid'])) ? '' : $plagiarismsettings['turnitin_assignid'];
$output .= html_writer::tag(
- 'span', '');
+ 'span', '');
return $output;
}
@@ -1186,7 +1183,7 @@ public function update_grade_from_tii($cm, $submissionid) {
}
private function update_submission($cm, $submissionid, $tiisubmission) {
- global $DB, $CFG;
+ global $DB;
$return = true;
$updaterequired = false;
@@ -1195,8 +1192,7 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
'id, cm, userid, identifier, similarityscore, grade, submissiontype, orcapable, student_read, gm_feedback')) {
$plagiarismfile = new stdClass();
$plagiarismfile->id = $submissiondata->id;
- $plagiarismfile->similarityscore = (is_numeric($tiisubmission->getOverallSimilarity())) ?
- $tiisubmission->getOverallSimilarity() : null;
+ $plagiarismfile->similarityscore = (is_numeric($tiisubmission->getOverallSimilarity())) ? $tiisubmission->getOverallSimilarity() : null;
$plagiarismfile->transmatch = 0;
if ((int)$tiisubmission->getTranslatedOverallSimilarity() > $tiisubmission->getOverallSimilarity()) {
$plagiarismfile->similarityscore = $tiisubmission->getTranslatedOverallSimilarity();
@@ -1207,9 +1203,8 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
$plagiarismfile->gm_feedback = $tiisubmission->getFeedbackExists();
- //Update feedback timestamp.
- $plagiarismfile->student_read = ($tiisubmission->getAuthorLastViewedFeedback() > 0) ?
- strtotime($tiisubmission->getAuthorLastViewedFeedback()) : 0;
+ // Update feedback timestamp.
+ $plagiarismfile->student_read = ($tiisubmission->getAuthorLastViewedFeedback() > 0) ? strtotime($tiisubmission->getAuthorLastViewedFeedback()) : 0;
// Identify if an update is required for the similarity score and grade.
if (!is_null($plagiarismfile->similarityscore) || !is_null($plagiarismfile->grade) ||
@@ -1230,7 +1225,8 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
if ($file = $fs->get_file_by_hash($submissiondata->identifier)) {
$itemid = $file->get_itemid();
- $submission = $DB->get_records('assign_submission', array('assignment' => $cm->instance, 'userid' => $submissiondata->userid), 'id DESC', 'id, attemptnumber', '0', '1');
+ $submission = $DB->get_records('assign_submission', array('assignment' => $cm->instance,
+ 'userid' => $submissiondata->userid), 'id DESC', 'id, attemptnumber', '0', '1');
$item = current($submission);
if ($item->id != $itemid) {
@@ -1239,8 +1235,8 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
} else {
$gbupdaterequired = false;
}
- } elseif ($submissiondata->submissiontype == "text_content") {
- // Get latest submission
+ } else if ($submissiondata->submissiontype == "text_content") {
+ // Get latest submission.
$moduleobject = new turnitin_assign();
$latesttext = $moduleobject->get_onlinetext($submissiondata->userid, $cm);
$latestidentifier = sha1($latesttext->onlinetext);
@@ -1256,9 +1252,10 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
$DB->update_record('plagiarism_turnitin_files', $plagiarismfile);
if ($cm->modname == "coursework") {
- // at the moment TII doesn't support double marking so we won't synchronise grades from Grade Mark as it would destroy the workflow
+ // At the moment TII doesn't support double marking so we won't synchronise grades from Grade Mark as it would destroy the workflow.
return true;
}
+
$gradeitem = $DB->get_record('grade_items',
array('iteminstance' => $cm->instance, 'itemmodule' => $cm->modname,
'courseid' => $cm->course, 'itemnumber' => 0));
@@ -1290,7 +1287,7 @@ private function update_grade($cm, $submission, $userid, $type = 'submission') {
$moduleclass = "turnitin_".$cm->modname;
$moduleobject = new $moduleclass;
- // Get file from pathname hash
+ // Get file from pathname hash.
$submissiondata = $DB->get_record('plagiarism_turnitin_files', array('externalid' => $submission->getSubmissionId()), 'identifier');
// Get file as we need item id for discounting files that are no longer in submission.
@@ -1337,7 +1334,7 @@ private function update_grade($cm, $submission, $userid, $type = 'submission') {
}
}
- // Loop through all users and update grade
+ // Loop through all users and update grade.
foreach ($userids as $userid) {
// Get gradebook data.
switch ($cm->modname) {
@@ -1368,7 +1365,7 @@ private function update_grade($cm, $submission, $userid, $type = 'submission') {
$moduleobject = new $moduleclass;
// Configure grade object and save to db.
- $table = $moduleobject->grades_table;
+ $table = $moduleobject->gradestable;
$grade->timemodified = time();
if ($currentgrade) {
@@ -1413,7 +1410,10 @@ private function update_grade($cm, $submission, $userid, $type = 'submission') {
}
}
- $params['idnumber'] = $cm->idnumber;
+ // Prevent grades being passed to gradebook before identities have been revealed when blind marking is on.
+ if ($cm->modname == 'assign' && !empty($moduledata->blindmarking) && empty($moduledata->revealidentities)) {
+ return false;
+ }
// Update gradebook - Grade update returns 1 on failure and 0 if successful.
$gradeupdate = $cm->modname."_grade_item_update";
@@ -1463,7 +1463,7 @@ public function create_tii_course($cmid, $modname, $coursedata, $workflowcontext
if (!empty($tutors)) {
foreach ($tutors as $tutor) {
// Create the admin as a user within Turnitin.
- $user = new turnitintooltwo_user($admin, 'Instructor');
+ $user = new turnitintooltwo_user($tutor->id, 'Instructor');
$user->join_user_to_class($turnitincourse->turnitin_cid);
}
}
@@ -1528,7 +1528,7 @@ public function refresh_peermark_assignments($cm, $tiiassignmentid) {
* if we have a Turnitin id for the module then edit it
*/
public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site", $submittoturnitin = false) {
- global $DB, $CFG;
+ global $DB;
$config = turnitintooltwo_admin_config();
$modulepluginsettings = $this->get_settings($cm->id);
@@ -1549,14 +1549,25 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$title .= " (Moodle PP)";
$assignment->setTitle( $title );
- $assignment->setSubmitPapersTo(isset($modulepluginsettings["plagiarism_submitpapersto"]) ?
- $modulepluginsettings["plagiarism_submitpapersto"] : 1);
+ // Configure repository setting.
+ $reposetting = (isset($modulepluginsettings["plagiarism_submitpapersto"])) ? $modulepluginsettings["plagiarism_submitpapersto"] : 1;
+
+ // Override if necessary when admin is forcing standard/no repository.
+ switch ($config->repositoryoption) {
+ case 2; // Standard repository being forced.
+ $reposetting = 1;
+ break;
+ case 3; // No repository being forced.
+ $reposetting = 0;
+ break;
+ }
+
+ $assignment->setSubmitPapersTo($reposetting);
$assignment->setSubmittedDocumentsCheck($modulepluginsettings["plagiarism_compare_student_papers"]);
$assignment->setInternetCheck($modulepluginsettings["plagiarism_compare_internet"]);
$assignment->setPublicationsCheck($modulepluginsettings["plagiarism_compare_journals"]);
if ($config->repositoryoption == 1) {
- $institutioncheck = (isset($modulepluginsettings["plagiarism_compare_institution"])) ?
- $modulepluginsettings["plagiarism_compare_institution"] : 0;
+ $institutioncheck = (isset($modulepluginsettings["plagiarism_compare_institution"])) ? $modulepluginsettings["plagiarism_compare_institution"] : 0;
$assignment->setInstitutionCheck($institutioncheck);
}
@@ -1565,10 +1576,10 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$assignment->setBibliographyExcluded($modulepluginsettings["plagiarism_exclude_biblio"]);
$assignment->setQuotedExcluded($modulepluginsettings["plagiarism_exclude_quoted"]);
$assignment->setSmallMatchExclusionType($modulepluginsettings["plagiarism_exclude_matches"]);
- $modulepluginsettings["plagiarism_exclude_matches_value"] =
- (!empty($modulepluginsettings["plagiarism_exclude_matches_value"])) ?
- $modulepluginsettings["plagiarism_exclude_matches_value"] : 0;
+ if (empty($modulepluginsettings["plagiarism_exclude_matches_value"])) {
+ $modulepluginsettings["plagiarism_exclude_matches_value"] = 0;
+ }
$assignment->setSmallMatchExclusionThreshold($modulepluginsettings["plagiarism_exclude_matches_value"]);
// Don't set anonymous marking if there have been submissions.
@@ -1588,8 +1599,7 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
// Otherwise, the Turnitin setting is incompatible with Moodle due to multiple files and resubmission rules.
$assignment->setLateSubmissionsAllowed(1);
$assignment->setMaxGrade(0);
- $assignment->setRubricId((!empty($modulepluginsettings["plagiarism_rubric"])) ?
- $modulepluginsettings["plagiarism_rubric"] : '');
+ $assignment->setRubricId((!empty($modulepluginsettings["plagiarism_rubric"])) ? $modulepluginsettings["plagiarism_rubric"] : '');
if (!empty($moduledata->grade)) {
$assignment->setMaxGrade(($moduledata->grade < 0) ? 100 : (int)$moduledata->grade);
@@ -1651,7 +1661,7 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$dtpost = strtotime('+6 months');
}
- // Ensure post date can't be before start date
+ // Ensure post date can't be before start date.
if ($dtpost < $dtstart) {
$dtpost = $dtstart;
}
@@ -1664,7 +1674,7 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$dtdue = strtotime('+1 year');
}
- // Ensure due date can't be before start date
+ // Ensure due date can't be before start date.
if ($dtdue <= $dtstart) {
$dtdue = strtotime('+1 month', $dtstart);
}
@@ -1676,7 +1686,8 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$assignment->setDueDate(gmdate("Y-m-d\TH:i:s\Z", $dtdue));
- // If the duedate is in the future then set any submission duedate_report_refresh flags that are 2 to 1 to make sure they are re-examined in the next cron run
+ // If the duedate is in the future then set any submission duedate_report_refresh flags that
+ // are 2 to 1 to make sure they are re-examined in the next cron run.
if ($dtdue > time()) {
$DB->set_field('plagiarism_turnitin_files', 'duedate_report_refresh', 1, array('cm' => $cm->id, 'duedate_report_refresh' => 2));
}
@@ -1684,22 +1695,14 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$assignment->setFeedbackReleaseDate(gmdate("Y-m-d\TH:i:s\Z", $dtpost));
// Erater settings.
- $assignment->setErater((isset($modulepluginsettings["plagiarism_erater"])) ?
- $modulepluginsettings["plagiarism_erater"] : 0);
- $assignment->setEraterSpelling((isset($modulepluginsettings["plagiarism_erater_spelling"])) ?
- $modulepluginsettings["plagiarism_erater_spelling"] : 0);
- $assignment->setEraterGrammar((isset($modulepluginsettings["plagiarism_erater_grammar"])) ?
- $modulepluginsettings["plagiarism_erater_grammar"] : 0);
- $assignment->setEraterUsage((isset($modulepluginsettings["plagiarism_erater_usage"])) ?
- $modulepluginsettings["plagiarism_erater_usage"] : 0);
- $assignment->setEraterMechanics((isset($modulepluginsettings["plagiarism_erater_mechanics"])) ?
- $modulepluginsettings["plagiarism_erater_mechanics"] : 0);
- $assignment->setEraterStyle((isset($modulepluginsettings["plagiarism_erater_style"])) ?
- $modulepluginsettings["plagiarism_erater_style"] : 0);
- $assignment->setEraterSpellingDictionary((isset($modulepluginsettings["plagiarism_erater_dictionary"])) ?
- $modulepluginsettings["plagiarism_erater_dictionary"] : 'en_US');
- $assignment->setEraterHandbook((isset($modulepluginsettings["plagiarism_erater_handbook"])) ?
- $modulepluginsettings["plagiarism_erater_handbook"] : 0);
+ $assignment->setErater((isset($modulepluginsettings["plagiarism_erater"])) ? $modulepluginsettings["plagiarism_erater"] : 0);
+ $assignment->setEraterSpelling((isset($modulepluginsettings["plagiarism_erater_spelling"])) ? $modulepluginsettings["plagiarism_erater_spelling"] : 0);
+ $assignment->setEraterGrammar((isset($modulepluginsettings["plagiarism_erater_grammar"])) ? $modulepluginsettings["plagiarism_erater_grammar"] : 0);
+ $assignment->setEraterUsage((isset($modulepluginsettings["plagiarism_erater_usage"])) ? $modulepluginsettings["plagiarism_erater_usage"] : 0);
+ $assignment->setEraterMechanics((isset($modulepluginsettings["plagiarism_erater_mechanics"])) ? $modulepluginsettings["plagiarism_erater_mechanics"] : 0);
+ $assignment->setEraterStyle((isset($modulepluginsettings["plagiarism_erater_style"])) ? $modulepluginsettings["plagiarism_erater_style"] : 0);
+ $assignment->setEraterSpellingDictionary((isset($modulepluginsettings["plagiarism_erater_dictionary"])) ? $modulepluginsettings["plagiarism_erater_dictionary"] : 'en_US');
+ $assignment->setEraterHandbook((isset($modulepluginsettings["plagiarism_erater_handbook"])) ? $modulepluginsettings["plagiarism_erater_handbook"] : 0);
// If we have a turnitin id then edit the assignment otherwise create it.
if ($tiiassignment = $DB->get_record('plagiarism_turnitin_config',
@@ -1724,7 +1727,7 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
$moduleconfigvalue->value = $turnitinassignid;
$DB->insert_record('plagiarism_turnitin_config', $moduleconfigvalue);
- $return = array('success' => true, 'tiiassignmentid' => $assignment->getAssignmentId());
+ $return = array('success' => true, 'tiiassignmentid' => $turnitinassignid);
}
return $return;
@@ -1768,17 +1771,17 @@ public function check_if_submitting($cm, $userid, $pathnamehash, $submissiontype
* Call functions to be run by cron
*/
public function cron() {
- global $DB, $CFG, $PLAGIARISM_TURNITIN_TASKCALL;
+ global $DB, $CFG, $pptaskcall;
// 2.7 onwards we would like to be called from task calls.
- if ( $CFG->version > 2014051200 AND !$PLAGIARISM_TURNITIN_TASKCALL ){
+ if ( $CFG->version > 2014051200 AND !$pptaskcall ) {
mtrace("[Turnitin Plagiarism Plugin] Aborted Cron call because of active task mode");
return;
}
// Reset task call flag.
- if ( $PLAGIARISM_TURNITIN_TASKCALL ) {
- $PLAGIARISM_TURNITIN_TASKCALL = false;
+ if ( $pptaskcall ) {
+ $pptaskcall = false;
}
// Update scores by separate submission type.
@@ -1793,7 +1796,6 @@ public function cron() {
array('success', $submissiontype, 1), 'externalid DESC');
$this->cron_update_scores($submissiontype, $submissions);
} catch (Exception $ex) {
- error_log("Exception in TII cron while updating scores for '$submissiontype' submission types: ".$ex);
mtrace("Exception in TII cron while updating scores for '$submissiontype' submission types: ".$ex);
}
}
@@ -1801,17 +1803,17 @@ public function cron() {
}
/**
- * Updates the database field duedate_report_refresh for any given submission ID.
- * @param int $id - the ID of the submission to update.
- * @param int $newValue - the value to which the field should be set.
- */
- public function set_duedate_report_refresh($id, $newValue) {
+ * Updates the database field duedate_report_refresh for any given submission ID.
+ * @param int $id - the ID of the submission to update.
+ * @param int $newvalue - the value to which the field should be set.
+ */
+ public function set_duedate_report_refresh($id, $newvalue) {
global $DB;
- $update_data = new stdClass();
- $update_data->id = $id;
- $update_data->duedate_report_refresh = $newValue;
- $DB->update_record('plagiarism_turnitin_files', $update_data);
+ $updatedata = new stdClass();
+ $updatedata->id = $id;
+ $updatedata->duedate_report_refresh = $newvalue;
+ $DB->update_record('plagiarism_turnitin_files', $updatedata);
}
/**
@@ -1820,7 +1822,7 @@ public function set_duedate_report_refresh($id, $newValue) {
* @return boolean
*/
public function cron_update_scores($submissiontype = 'file', $submissions) {
- global $DB, $CFG;
+ global $DB;
$submissionids = array();
$reportsexpected = array();
@@ -1835,7 +1837,7 @@ public function cron_update_scores($submissiontype = 'file', $submissions) {
$moduledata = $DB->get_record($cm->modname, array('id' => $cm->instance));
$now = strtotime('now');
$dtdue = (!empty($moduledata->duedate)) ? $moduledata->duedate : 0;
- if ($now >= $dtdue && $now < strtotime('+1 day',$dtdue)) {
+ if ($now >= $dtdue && $now < strtotime('+1 day', $dtdue)) {
$this->set_duedate_report_refresh($tiisubmission->id, 1);
}
@@ -1896,8 +1898,7 @@ public function cron_update_scores($submissiontype = 'file', $submissions) {
$plagiarismfile = new stdClass();
$plagiarismfile->id = $currentsubmission->id;
$plagiarismfile->externalid = $tiisubmissionid;
- $plagiarismfile->similarityscore = (is_numeric($readsubmission->getOverallSimilarity())) ?
- $readsubmission->getOverallSimilarity() : null;
+ $plagiarismfile->similarityscore = (is_numeric($readsubmission->getOverallSimilarity())) ? $readsubmission->getOverallSimilarity() : null;
$plagiarismfile->grade = (is_numeric($readsubmission->getGrade())) ? $readsubmission->getGrade() : null;
$plagiarismfile->orcapable = ($readsubmission->getOriginalityReportCapable() == 1) ? 1 : 0;
$plagiarismfile->transmatch = 0;
@@ -1931,7 +1932,7 @@ public function cron_update_scores($submissiontype = 'file', $submissions) {
}
}
- // Sets the duedate_report_refresh flag for each processed submission to 2 to prevent them being processed again in the next cron run
+ // Sets the duedate_report_refresh flag for each processed submission to 2 to prevent them being processed again in the next cron run.
foreach ($submissions as $tiisubmission) {
if ($cm = get_coursemodule_from_id('', $tiisubmission->cm)) {
$this->set_duedate_report_refresh($tiisubmission->id, 2);
@@ -1963,7 +1964,7 @@ private function get_course_id_from_assignment_id($assignmentid) {
}
/**
- * Previous incarnations of this plugin did not store the turnitin course id so we have to get this using the assignment id,
+ * Previous incarnations of this plugin did not store the turnitin course id so we have to get this using the assignment id.
* If that wasn't linked with turnitin then we have to check all the modules on this course.
*/
public function get_previous_course_id($cmid, $courseid) {
@@ -2008,7 +2009,7 @@ public function migrate_previous_course($coursedata, $turnitincid, $workflowcont
$turnitincourse->id = $coursedata->tii_rel_id;
}
- if (!$insertid = $DB->$method('turnitintooltwo_courses', $turnitincourse)) {
+ if (!$DB->$method('turnitintooltwo_courses', $turnitincourse)) {
if ($workflowcontext != "cron") {
turnitintooltwo_print_error('classupdateerror', 'plagiarism_turnitin', null, null, __FILE__, __LINE__);
exit();
@@ -2024,6 +2025,145 @@ public function migrate_previous_course($coursedata, $turnitincid, $workflowcont
return $coursedata;
}
+ /**
+ * Queue submissions to send to Turnitin
+ *
+ *
+ */
+ public function queue_submission_to_turnitin($cm, $author, $submitter, $identifier, $submissiontype, $itemid = 0) {
+ global $CFG, $DB, $turnitinacceptedfiles;
+ $errorcode = 0;
+ $attempt = 0;
+ $settings = $this->get_settings($cm->id);
+
+ // Work out submission method.
+ // If this file has successfully submitted in the past then break, text content is to be submitted.
+ switch ($submissiontype) {
+ case 'file':
+ case 'text_content':
+
+ // Get file data or prepare text submission.
+ if ($submissiontype == 'file') {
+ $fs = get_file_storage();
+ $file = $fs->get_file_by_hash($identifier);
+
+ $timemodified = $file->get_timemodified();
+ $filename = $file->get_filename();
+ } else {
+ // Check when text submission was last modified.
+ switch ($cm->modname) {
+ case 'assign':
+ $moodlesubmission = $DB->get_record('assign_submission',
+ array('assignment' => $cm->instance,
+ 'userid' => $author,
+ 'id' => $itemid), 'timemodified');
+ break;
+ case 'workshop':
+ $moodlesubmission = $DB->get_record('workshop_submissions',
+ array('workshopid' => $cm->instance,
+ 'authorid' => $author), 'timemodified');
+ break;
+ }
+
+ $timemodified = $moodlesubmission->timemodified;
+ }
+
+ // Get submission method depending on whether there has been a previous submission.
+ $submissionfields = 'id, cm, externalid, identifier, statuscode, lastmodified, attempt';
+ $typefield = ($CFG->dbtype == "oci") ? " to_char(submissiontype) " : " submissiontype ";
+
+ // Double check there is only one submission.
+ $previoussubmissions = $DB->get_records_select('plagiarism_turnitin_files',
+ " cm = ? AND userid = ? AND ".$typefield." = ? AND identifier = ? ",
+ array($cm->id, $author, $submissiontype, $identifier),
+ 'id', $submissionfields);
+ $previoussubmission = end($previoussubmissions);
+ if ($previoussubmission) {
+ // Don't submit if submission hasn't changed.
+ if (in_array($previoussubmission->statuscode, array("success", "error"))
+ && $timemodified <= $previoussubmission->lastmodified) {
+ return true;
+ } else if ($settings["plagiarism_report_gen"] > 0) {
+ // Replace if Turnitin assignment allows resubmissions or create if we have no Turnitin id stored.
+ $submissionid = $previoussubmission->id;
+ $this->reset_tii_submission($cm, $author, $identifier, $previoussubmission, $submissiontype);
+ } else {
+ if ($previoussubmission->statuscode != "success") {
+ $submissionid = $previoussubmission->id;
+ $this->reset_tii_submission($cm, $author, $identifier, $previoussubmission, $submissiontype);
+ } else {
+ $submissionid = $this->create_new_tii_submission($cm, $author, $identifier, $submissiontype);
+ }
+ }
+ $attempt = $previoussubmission->attempt;
+ } else {
+ // Check if there is previous submission of text content which we will replace.
+ $typefield = ($CFG->dbtype == "oci") ? " to_char(submissiontype) " : " submissiontype ";
+ if ($submissiontype == 'text_content' &&
+ $previoussubmission = $DB->get_record_select('plagiarism_turnitin_files',
+ " cm = ? AND userid = ? AND ".$typefield." = ? ",
+ array($cm->id, $author, 'text_content'),
+ 'id, cm, externalid, identifier, statuscode, lastmodified, attempt', 0, 1)) {
+
+ $submissionid = $previoussubmission->id;
+ $attempt = $previoussubmission->attempt;
+
+ // Delete old text content submissions from Turnitin if not replacing.
+ if ($settings["plagiarism_report_gen"] == 0 && !is_null($previoussubmission->externalid)) {
+ $this->delete_tii_submission($cm, $previoussubmission->externalid, $author);
+ }
+
+ $this->reset_tii_submission($cm, $author, $identifier, $previoussubmission, $submissiontype);
+ } else {
+ $submissionid = $this->create_new_tii_submission($cm, $author, $identifier, $submissiontype);
+ }
+ }
+
+ break;
+
+ case 'forum_post':
+ if ($previoussubmissions = $DB->get_records_select('plagiarism_turnitin_files',
+ " cm = ? AND userid = ? AND identifier = ? ",
+ array($cm->id, $author, $identifier),
+ 'id DESC', 'id, cm, externalid, identifier, statuscode, attempt', 0, 1)) {
+
+ $previoussubmission = current($previoussubmissions);
+ if ($previoussubmission->statuscode == "success") {
+ return true;
+ } else {
+ $submissionid = $previoussubmission->id;
+ $attempt = $previoussubmission->attempt;
+ $this->reset_tii_submission($cm, $author, $identifier, $previoussubmission, $submissiontype);
+ }
+ } else {
+ $submissionid = $this->create_new_tii_submission($cm, $author, $identifier, $submissiontype);
+ }
+ break;
+ }
+
+ // Check file is less than maximum allowed size.
+ if ($submissiontype == 'file') {
+ if ($file->get_filesize() > TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE) {
+ $errorcode = 2;
+ }
+ }
+
+ // If applicable, check whether file type is accepted.
+ $acceptanyfiletype = (!empty($settings["plagiarism_allow_non_or_submissions"])) ? 1 : 0;
+ if (!$acceptanyfiletype && $submissiontype == 'file') {
+ $filenameparts = explode('.', $filename);
+ $fileext = strtolower(end($filenameparts));
+ if (!in_array(".".$fileext, $turnitinacceptedfiles)) {
+ $errorcode = 4;
+ }
+ }
+
+ // Save submission as queued or errored if we have an errorcode.
+ $statuscode = ($errorcode != 0) ? 'error' : 'queued';
+ return $this->save_submission($cm, $author, $submissionid, $identifier, $statuscode, null, $submitter, $itemid,
+ $submissiontype, $attempt, $errorcode, null);
+ }
+
/**
* Amalgamated handler for Moodle cron events.
*
@@ -2033,30 +2173,18 @@ public function migrate_previous_course($coursedata, $turnitincid, $workflowcont
public function event_handler($eventdata) {
global $DB, $CFG;
- STATIC $ppDisplayCount = 0;
-
- if (!$ppDisplayCount) {
- $numEvents = $DB->count_records_sql("SELECT count(*) FROM {events_queue} q
- LEFT JOIN {events_queue_handlers} h ON (h.queuedeventid = q.id)
- LEFT JOIN {events_handlers} e ON (h.handlerid = e.id)
- WHERE e.eventname IN ('assessable_file_uploaded', 'assessable_files_done', 'assessable_content_uploaded', 'assessable_submitted') AND component = 'plagiarism_turnitin'");
-
- mtrace(get_string("ppqueuesize", 'plagiarism_turnitin').': '. $numEvents);
- $ppDisplayCount = 1;
- }
-
$result = true;
+
// Remove the event if the course module no longer exists.
- if (!$cm = get_coursemodule_from_id($eventdata->modulename, $eventdata->cmid)) {
+ if (!$cm = get_coursemodule_from_id($eventdata['other']['modulename'], $eventdata['contextinstanceid'])) {
return true;
}
// Initialise module settings.
- $plagiarismsettings = $this->get_settings($eventdata->cmid);
- $moduletiienabled = $this->get_config_settings('mod_'.$eventdata->modulename);
- if ($eventdata->modulename == 'assign') {
- $plagiarismsettings["plagiarism_draft_submit"] = (isset($plagiarismsettings["plagiarism_draft_submit"])) ?
- $plagiarismsettings["plagiarism_draft_submit"] : 0;
+ $plagiarismsettings = $this->get_settings($eventdata['contextinstanceid']);
+ $moduletiienabled = $this->get_config_settings('mod_'.$eventdata['other']['modulename']);
+ if ($eventdata['other']['modulename'] == 'assign') {
+ $plagiarismsettings["plagiarism_draft_submit"] = (isset($plagiarismsettings["plagiarism_draft_submit"])) ? $plagiarismsettings["plagiarism_draft_submit"] : 0;
}
// Either module not using Turnitin or Turnitin not being used at all so return true to remove event from queue.
@@ -2064,223 +2192,109 @@ public function event_handler($eventdata) {
return true;
}
- static $tiiconnection;
- if (empty($tiiconnection)) {
- if (!$tiiconnection = $this->test_turnitin_connection('cron')) {
- return false;
- }
+ // Get module data.
+ $moduledata = $DB->get_record($cm->modname, array('id' => $cm->instance));
+ if ($cm->modname != 'assign') {
+ $moduledata->submissiondrafts = 0;
}
- // Get course data, return false if there is a problem creating it.
- $coursedata = $this->get_course_data($cm->id, $cm->course, 'cron');
- if (empty($coursedata->turnitin_cid)) {
- return false;
+ // If draft submissions are turned on then only send to Turnitin if the draft submit setting is set.
+ if ($moduledata->submissiondrafts && $plagiarismsettings["plagiarism_draft_submit"] == 1 &&
+ ($eventdata['eventtype'] == 'file_uploaded' || $eventdata['eventtype'] == 'content_uploaded')) {
+ return true;
}
- switch ($eventdata->event_type) {
- case "mod_created":
- case "mod_updated":
- $syncassignment = $this->sync_tii_assignment($cm, $coursedata->turnitin_cid, "cron");
- return true;
- break;
+ // Set the author and submitter.
+ $submitter = $eventdata['userid'];
+ $author = (!empty($eventdata['relateduserid'])) ? $eventdata['relateduserid'] : $eventdata['userid'];
- case "file_uploaded":
- case "assessable_submitted":
- case "content_uploaded":
- case "files_done":
- // Initialise counter, limit submission events processing to
- // PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT per cron run.
- static $i;
- if (empty($i)) {
- $i = 1;
- }
-
- // Only process submissions up to the processing limit.
- if ($i > PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT) {
- return false;
- }
+ // Get actual text content and files to be submitted for draft submissions.
+ // As this won't be present in eventdata for certain event types.
+ if ($eventdata['other']['modulename'] == 'assign' && $eventdata['eventtype'] == "assessable_submitted") {
+ // Get content.
+ $moodlesubmission = $DB->get_record('assign_submission', array('assignment' => $cm->instance,
+ 'userid' => $author, 'id' => $eventdata['objectid']), 'id');
+ if ($moodletextsubmission = $DB->get_record('assignsubmission_onlinetext',
+ array('submission' => $moodlesubmission->id), 'onlinetext')) {
+ $eventdata['other']['content'] = $moodletextsubmission->onlinetext;
+ }
- $moduledata = $DB->get_record($cm->modname, array('id' => $cm->instance));
- if ($cm->modname != 'assign') {
- $moduledata->submissiondrafts = 0;
+ // Get Files.
+ $eventdata['other']['pathnamehashes'] = array();
+ $filesconditions = array('component' => 'assignsubmission_file',
+ 'itemid' => $moodlesubmission->id, 'userid' => $author);
+ if ($moodlefiles = $DB->get_records('files', $filesconditions)) {
+ foreach ($moodlefiles as $moodlefile) {
+ $eventdata['other']['pathnamehashes'][] = $moodlefile->pathnamehash;
}
+ }
+ }
- // If draft submissions are turned on then only send to Turnitin if the draft submit setting is set.
- if ($moduledata->submissiondrafts && $plagiarismsettings["plagiarism_draft_submit"] == 1 &&
- ($eventdata->event_type == 'file_uploaded' || $eventdata->event_type == 'content_uploaded')) {
- return true;
- }
+ // Queue text content to send to Turnitin.
+ // If there was an error when creating the assignment then still queue the submission so it can be saved as failed.
+ if (in_array($eventdata['eventtype'], array("content_uploaded", "assessable_submitted"))
+ && !empty($eventdata['other']['content'])) {
- // Get correct user. In assignments from Moodle 2.7, instructors could submit on behalf of students
- // but the eventdata->userid is still the user who made the submission.
- $submitter = $eventdata->userid;
+ $submissiontype = ($eventdata['other']['modulename'] == 'forum') ? 'forum_post' : 'text_content';
- // Create module object.
- $moduleclass = "turnitin_".$cm->modname;
- $moduleobject = new $moduleclass;
+ // TODO: Check eventdata to see if content is included correctly. If so, this can be removed.
+ if ($eventdata['other']['modulename'] == 'workshop') {
+ $moodlesubmission = $DB->get_record('workshop_submissions', array('id' => $eventdata['objectid']));
+ $eventdata['other']['content'] = $moodlesubmission->content;
+ }
- $author = $moduleobject->get_author($eventdata->itemid);
- $author = (!empty($author)) ? $author : $eventdata->userid;
+ $identifier = sha1($eventdata['other']['content']);
- $errorcode = "";
+ // Check if text content has been submitted previously. Remove if so.
+ list($insql, $inparams) = $DB->get_in_or_equal(array('success', 'queued'), SQL_PARAMS_QM, 'param', false);
+ $typefield = ($CFG->dbtype == "oci") ? " to_char(statuscode) " : " statuscode ";
+ $plagiarismfiles = $DB->get_records_select('plagiarism_turnitin_files', " userid = ? AND cm = ? ".
+ " AND identifier = ? AND ".$typefield. " " .$insql,
+ array_merge(array($author, $cm->id, $identifier), $inparams));
- try {
- // Join User to course.
- $user = new turnitintooltwo_user($author, 'Learner', true, 'cron');
- $user->join_user_to_class($coursedata->turnitin_cid);
- } catch (Exception $e) {
- $user = new turnitintooltwo_user($author, 'Learner', 'false', 'cron', 'false');
-
- $errorcode = 7;
- }
+ if ($plagiarismfiles) {
+ return true;
+ } else {
+ $result = $this->queue_submission_to_turnitin(
+ $cm, $author, $submitter, $identifier, $submissiontype, $eventdata['objectid']);
+ }
+ }
- $syncassignment = $this->sync_tii_assignment($cm, $coursedata->turnitin_cid, "cron", true);
+ // Queue files to submit to Turnitin.
+ $result = $result && true;
+ if (!empty($eventdata['other']['pathnamehashes'])) {
+ foreach ($eventdata['other']['pathnamehashes'] as $pathnamehash) {
+ $fs = get_file_storage();
+ $file = $fs->get_file_by_hash($pathnamehash);
- // Cron errorcode needs to be passed to submission function.
- if (!empty($syncassignment['errorcode'])) {
- $cronerror = $syncassignment['errorcode'];
- } elseif (!empty($errorcode)) {
- $cronerror = $errorcode;
+ if (!$file) {
+ turnitintooltwo_activitylog('File not found: '.$pathnamehash, 'PP_NO_FILE');
+ $result = true;
+ continue;
} else {
- $cronerror = "";
- }
-
- // Get actual text content and files to be submitted for draft submissions
- // as this won't be present in eventdata for certain event types.
- if ($eventdata->modulename == 'assign' &&
- ($eventdata->event_type == "files_done" || $eventdata->event_type == "assessable_submitted")) {
-
- // Get content.
- $moodlesubmission = $DB->get_record('assign_submission', array('assignment' => $cm->instance,
- 'userid' => $author, 'id' => $eventdata->itemid), 'id');
- if ($moodletextsubmission = $DB->get_record('assignsubmission_onlinetext',
- array('submission' => $moodlesubmission->id), 'onlinetext')) {
- $eventdata->content = $moodletextsubmission->onlinetext;
- }
-
- // Get Files.
- $eventdata->pathnamehashes = array();
- $filesconditions = array('component' => 'assignsubmission_file',
- 'itemid' => $moodlesubmission->id, 'userid' => $author);
- if ($moodlefiles = $DB->get_records('files', $filesconditions)) {
- foreach ($moodlefiles as $moodlefile) {
- $eventdata->pathnamehashes[] = $moodlefile->pathnamehash;
- }
- }
- }
-
- // Attempt to submit text content to Turnitin.
- // If there was an error when creating the assignment then still attempt to process the submission so it can
- // be saved as failed and therefore doesn't cause the cron to get stuck.
- if (($eventdata->event_type == "content_uploaded" || $eventdata->event_type == "files_done" ||
- $eventdata->event_type == "assessable_submitted")
- && !empty($eventdata->content)) {
-
- // Get extra data for text content submissions and remove unneeded events.
- switch ($eventdata->modulename) {
- case "assign":
- if ($contentsubmission = $DB->get_record('assign_submission', array('userid' => $user->id,
- 'assignment' => $moduledata->id,
- 'id' => $eventdata->itemid))) {
- $tempfilename = 'onlinetext_'.$user->id."_".$cm->id."_".$moduledata->id.'.txt';
- $submissiontype = 'text_content';
- } else {
- // Content has been deleted but event not removed.
- return true;
- }
-
- break;
-
- case "forum":
- if ($contentsubmission = $DB->get_record('forum_posts', array('id' => $eventdata->itemid))) {
- $tempfilename = 'forumpost_'.$user->id."_".$cm->id."_".
- $moduledata->id."_".$eventdata->itemid.'.txt';
- $submissiontype = 'forum_post';
- } else {
- // Content has been deleted but event not removed.
- return true;
- }
- break;
-
- case 'workshop':
- if ($moodlesubmission = $DB->get_record('workshop_submissions',
- array('id' => $eventdata->itemid))) {
- $tempfilename = 'onlinetext_'.$user->id."_".$cm->id."_".$moduledata->id.'.txt';
- $submissiontype = 'text_content';
- $eventdata->content = $moodlesubmission->content;
- } else {
- // Content has been deleted but event not removed.
- return true;
- }
- break;
- }
-
- $identifier = sha1($eventdata->content);
-
- // Get previous text content details if it has been submitted previously.
- $plagiarismfile = $DB->get_record('plagiarism_turnitin_files', array('userid' => $user->id, 'cm' => $cm->id,
- 'identifier' => $identifier));
-
- if ($plagiarismfile) {
- // Only submit if this content hasn't been submitted successfuly before.
- if ($plagiarismfile->statuscode != "success") {
- $result = $this->tii_submission($cm, $syncassignment['tiiassignmentid'], $user, $submitter,
- $identifier, $submissiontype, $eventdata->itemid,
- $tempfilename, $eventdata->content, $cronerror);
- } else {
- return true;
- }
- } else {
- $result = $this->tii_submission($cm, $syncassignment['tiiassignmentid'], $user, $submitter,
- $identifier, $submissiontype, $eventdata->itemid,
- $tempfilename, $eventdata->content, $cronerror);
+ try {
+ $file->get_content();
+ } catch (Exception $e) {
+ turnitintooltwo_activitylog('File content not found: '.$pathnamehash, 'PP_NO_FILE');
+ mtrace($e);
+ mtrace('File content not found. pathnamehash: '.$pathnamehash);
+ $result = true;
+ continue;
}
}
- // Attempt to submit files to Turnitin.
- $result = $result && true;
- if (!empty($eventdata->pathnamehashes)) {
- foreach ($eventdata->pathnamehashes as $pathnamehash) {
- $fs = get_file_storage();
- $file = $fs->get_file_by_hash($pathnamehash);
-
- if (!$file) {
- turnitintooltwo_activitylog('File not found: '.$pathnamehash, 'PP_NO_FILE');
- $result = true;
- continue;
- } else {
- try {
- $file->get_content();
- } catch (Exception $e) {
- turnitintooltwo_activitylog('File content not found: '.$pathnamehash, 'PP_NO_FILE');
- mtrace($e);
- mtrace('File content not found. pathnamehash: '.$pathnamehash);
- $result = true;
- continue;
- }
- }
-
- if ($file->get_filename() === '.') {
- continue;
- }
-
- if ($this->check_if_submitting($cm, $author, $pathnamehash, 'file')) {
- $result = $result && $this->tii_submission($cm, $syncassignment['tiiassignmentid'], $user, $submitter,
- $pathnamehash, 'file', $eventdata->itemid, '', '', $cronerror);
- } else {
- $result = $result && true;
- }
- }
+ if ($file->get_filename() === '.') {
+ continue;
}
- // Output warning that no further submissions will be processed as processing limit has been reached.
- if ($i == PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT) {
- mtrace(get_string('ppcronsubmissionlimitreached', 'plagiarism_turnitin',
- PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT));
+ if ($this->check_if_submitting($cm, $author, $pathnamehash, 'file')) {
+ $result = $result && $this->queue_submission_to_turnitin(
+ $cm, $author, $submitter, $pathnamehash, 'file',
+ $eventdata['objectid'], '');
+ } else {
+ $result = $result && true;
}
- $i++;
-
- break;
+ }
}
return $result;
@@ -2290,21 +2304,21 @@ public function event_handler($eventdata) {
* Initialise submission values
*
**/
- private function create_new_tii_submission($cm, $user, $identifier, $submissiontype) {
+ private function create_new_tii_submission($cm, $userid, $identifier, $submissiontype) {
global $DB;
$plagiarismfile = new stdClass();
$plagiarismfile->cm = $cm->id;
- $plagiarismfile->userid = $user->id;
+ $plagiarismfile->userid = $userid;
$plagiarismfile->identifier = $identifier;
- $plagiarismfile->statuscode = "pending";
+ $plagiarismfile->statuscode = "queued";
$plagiarismfile->similarityscore = null;
$plagiarismfile->attempt = 1;
$plagiarismfile->transmatch = 0;
$plagiarismfile->submissiontype = $submissiontype;
if (!$fileid = $DB->insert_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$user->id.")", "PP_NEW_SUB");
+ turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$userid.")", "PP_NEW_SUB");
$fileid = 0;
}
@@ -2315,7 +2329,7 @@ private function create_new_tii_submission($cm, $user, $identifier, $submissiont
* Reset submission values
*
**/
- private function reset_tii_submission($cm, $user, $identifier, $currentsubmission, $submissiontype) {
+ private function reset_tii_submission($cm, $userid, $identifier, $currentsubmission, $submissiontype) {
global $DB;
$plagiarismfile = new stdClass();
@@ -2331,7 +2345,7 @@ private function reset_tii_submission($cm, $user, $identifier, $currentsubmissio
$plagiarismfile->orcapable = null;
if (!$DB->update_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$user->id.")", "PP_REPLACE_SUB");
+ turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$userid.")", "PP_REPLACE_SUB");
}
}
@@ -2339,12 +2353,11 @@ private function reset_tii_submission($cm, $user, $identifier, $currentsubmissio
* Clean up previous file submissions.
* Moodle will remove any old files or drafts during cron execution and file submission.
*/
- private function clean_old_turnitin_submissions($cm, $userid, $itemid, $submissiontype, $identifier, $user) {
+ public function clean_old_turnitin_submissions($cm, $userid, $itemid, $submissiontype, $identifier) {
global $DB, $CFG;
- $currentfiles = array();
$deletestr = '';
- // Create module object
+ // Create module object.
$moduleclass = "turnitin_".$cm->modname;
$moduleobject = new $moduleclass;
@@ -2379,14 +2392,10 @@ private function clean_old_turnitin_submissions($cm, $userid, $itemid, $submissi
array_merge(array($userid, $cm->id, 'file'), $notinparams));
if (!empty($oldfiles)) {
- // Initialise Comms Object.
- $turnitincomms = new turnitin_comms();
- $turnitincall = $turnitincomms->initialise_api();
-
foreach ($oldfiles as $oldfile) {
// Delete submission from Turnitin if we have an external id.
if (!is_null($oldfile->externalid)) {
- $this->delete_tii_submission($cm, $oldfile->externalid, $user);
+ $this->delete_tii_submission($cm, $oldfile->externalid, $userid);
}
$deletestr .= $oldfile->id.', ';
}
@@ -2408,8 +2417,11 @@ private function clean_old_turnitin_submissions($cm, $userid, $itemid, $submissi
}
}
- public function save_failed_submission($cm, $user, $submissionid, $identifier, $submissiontype,
- $errorcode, $previoussubmission) {
+ /**
+ * Save the submission data to the files table.
+ */
+ public function save_submission($cm, $userid, $submissionid, $identifier, $statuscode, $tiisubmissionid, $submitter, $itemid,
+ $submissiontype, $attempt, $errorcode = null, $errormsg = null) {
global $DB;
$plagiarismfile = new stdClass();
@@ -2417,71 +2429,154 @@ public function save_failed_submission($cm, $user, $submissionid, $identifier, $
$plagiarismfile->id = $submissionid;
}
$plagiarismfile->cm = $cm->id;
- $plagiarismfile->userid = $user->id;
+ $plagiarismfile->userid = $userid;
$plagiarismfile->identifier = $identifier;
- $plagiarismfile->statuscode = 'error';
- $plagiarismfile->errorcode = $errorcode;
- $plagiarismfile->attempt = (!empty($previoussubmission)) ? $previoussubmission->attempt + 1 : 1;
+ $plagiarismfile->statuscode = $statuscode;
+ $plagiarismfile->similarityscore = null;
+ $plagiarismfile->externalid = $tiisubmissionid;
+ $plagiarismfile->errorcode = (empty($errorcode)) ? null : $errorcode;
+ $plagiarismfile->errormsg = (empty($errormsg)) ? null : $errorcode;
+ $plagiarismfile->attempt = $attempt + 1;
+ $plagiarismfile->transmatch = 0;
$plagiarismfile->lastmodified = time();
$plagiarismfile->submissiontype = $submissiontype;
+ $plagiarismfile->itemid = $itemid;
+ $plagiarismfile->submitter = $submitter;
if ($submissionid != 0) {
if (!$DB->update_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$user->id.") - ", "PP_UPDATE_SUB_ERROR");
+ turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$userid.") - ", "PP_UPDATE_SUB_ERROR");
}
} else {
- if (!$fileid = $DB->insert_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$user->id.") - ", "PP_INSERT_SUB_ERROR");
+ if (!$DB->insert_record('plagiarism_turnitin_files', $plagiarismfile)) {
+ turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$userid.") - ", "PP_INSERT_SUB_ERROR");
}
}
- mtrace('-------------------------');
- mtrace(get_string('errorcode'.$errorcode, 'plagiarism_turnitin').':');
- mtrace('User: '.$user->id.' - '.$user->firstname.' '.$user->lastname.' ('.$user->email.')');
- mtrace('Course Module: '.$cm->id.'');
- mtrace('-------------------------');
-
return true;
}
/**
- * If there is no submission record then we are creating one. Text content should be submitted.
- * If a file has already been submitted then check whether the identifier is the same, if it is do nothing.
- * If it's not then either edit submission or create new one depending on module settings.
+ * Delete a submission from Turnitin
*/
- public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identifier, $submissiontype, $itemid = 0,
- $title = '', $textcontent = '', $cronerror = '') {
- global $CFG, $DB, $USER, $turnitinacceptedfiles;
- // Instantiate error code
- $errorcode = 0;
+ private function delete_tii_submission($cm, $submissionid, $userid) {
+ global $DB;
+ $user = $DB->get_record('user', array('id' => $userid));
- // Get config, module and course settings that we need.
- $config = turnitintooltwo_admin_config();
- $settings = $this->get_settings($cm->id);
+ // Initialise Comms Object.
+ $turnitincomms = new turnitin_comms();
+ $turnitincall = $turnitincomms->initialise_api();
+
+ $submission = new TiiSubmission();
+ $submission->setSubmissionId($submissionid);
+
+ try {
+ $turnitincall->deleteSubmission($submission);
+ } catch (Exception $e) {
+ $turnitincomms->handle_exceptions($e, 'turnitindeletionerror', false);
+
+ mtrace('-------------------------');
+ mtrace(get_string('turnitindeletionerror', 'plagiarism_turnitin').': '.$e->getMessage());
+ mtrace('User: '.$user->id.' - '.$user->firstname.' '.$user->lastname.' ('.$user->email.')');
+ mtrace('Course Module: '.$cm->id.'');
+ mtrace('-------------------------');
+ }
+ }
+}
+
+/**
+ * Handle Scheduled Task to Update Report Scores from Turnitin.
+ */
+function plagiarism_turnitin_update_reports() {
+ $pluginturnitin = new plagiarism_plugin_turnitin();
+ return $pluginturnitin->cron();
+}
+
+/**
+ * Handle Scheduled Task to Send Queued Submissions to Turnitin.
+ */
+function plagiarism_turnitin_send_queued_submissions() {
+ global $DB;
+ $config = turnitintooltwo_admin_config();
+ $pluginturnitin = new plagiarism_plugin_turnitin();
+
+ $queueditems = $DB->get_records_select("plagiarism_turnitin_files", "statuscode = 'queued' OR statuscode = 'pending'",
+ null, '', '*', 0, PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT);
+
+ // Submit each file individually to Turnitin.
+ foreach ($queueditems as $queueditem) {
+
+ // Get various settings that we need.
+ $errorcode = 0;
+ $cm = get_coursemodule_from_id('', $queueditem->cm);
+ $settings = $pluginturnitin->get_settings($cm->id);
$moduledata = $DB->get_record($cm->modname, array('id' => $cm->instance));
- $coursedata = $this->get_course_data($cm->id, $cm->course, 'cron');
- // Update user's details on Turnitin.
- $user->edit_tii_user();
+ // Get course data.
+ $coursedata = $pluginturnitin->get_course_data($cm->id, $cm->course, 'cron');
+ if (empty($coursedata->turnitin_cid)) {
+ // Save failed submission if class can not be created.
+ $savesubmission = new stdClass();
+ $savesubmission->id = $queueditem->id;
+ $savesubmission->statuscode = 'error';
+ $savesubmission->attempt = $queueditem->attempt + 1;
+ $savesubmission->errorcode = 10;
+
+ $DB->update_record('plagiarism_turnitin_files', $savesubmission);
+ break;
+ }
+
+ // Join User to course.
+ try {
+ $user = new turnitintooltwo_user($queueditem->userid, 'Learner', true, 'cron');
+ $user->edit_tii_user();
+ $user->join_user_to_class($coursedata->turnitin_cid);
+ } catch (Exception $e) {
+ $user = new turnitintooltwo_user($queueditem->userid, 'Learner', 'false', 'cron', 'false');
+ $errorcode = 7;
+ }
+
+ $syncassignment = $pluginturnitin->sync_tii_assignment($cm, $coursedata->turnitin_cid, "cron", true);
+
+ // Any errorcode from assignment sync needs to be saved.
+ if (!empty($syncassignment['errorcode'])) {
+ $errorcode = $syncassignment['errorcode'];
+ }
+
+ // Don't submit if a user has not accepted the eula.
+ if ($queueditem->userid == $queueditem->submitter && $user->useragreementaccepted != 1) {
+ $errorcode = 3;
+ }
+
+ if (!empty($errorcode)) {
+ // Save failed submission if user can not be joined to class or there was an error with the assignment.
+ $savesubmission = new stdClass();
+ $savesubmission->id = $queueditem->id;
+ $savesubmission->statuscode = 'error';
+ $savesubmission->attempt = $queueditem->attempt + 1;
+ $savesubmission->errorcode = $errorcode;
+
+ $DB->update_record('plagiarism_turnitin_files', $savesubmission);
+ break;
+ }
// Clean up old Turnitin submission files.
- if ($itemid != 0 && $submissiontype == 'file' && $cm->modname != 'forum') {
- $this->clean_old_turnitin_submissions($cm, $user->id, $itemid, $submissiontype, $identifier, $user);
+ if ($queueditem->itemid != 0 && $queueditem->submissiontype == 'file' && $cm->modname != 'forum') {
+ $pluginturnitin->clean_old_turnitin_submissions($cm, $user->id, $queueditem->itemid, $queueditem->submissiontype,
+ $queueditem->identifier);
}
- // Work out submission method.
- // If this file has successfully submitted in the past then break, text content is to be submitted.
- switch ($submissiontype) {
+ // Get more Submission Details as required.
+ switch ($queueditem->submissiontype) {
case 'file':
case 'text_content':
// Get file data or prepare text submission.
- if ($submissiontype == 'file') {
+ if ($queueditem->submissiontype == 'file') {
$fs = get_file_storage();
- $file = $fs->get_file_by_hash($identifier);
+ $file = $fs->get_file_by_hash($queueditem->identifier);
$title = $file->get_filename();
- $timemodified = $file->get_timemodified();
$filename = $file->get_filename();
try {
@@ -2493,171 +2588,94 @@ public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identi
$errorcode = 9;
}
} else {
- // Check when text submission was last modified.
+ // Get the actual text content for a submission.
switch ($cm->modname) {
case 'assign':
- $moodlesubmission = $DB->get_record('assign_submission',
- array('assignment' => $cm->instance,
- 'userid' => $user->id,
- 'id' => $itemid), 'timemodified');
+ $moodlesubmission = $DB->get_record('assign_submission', array('assignment' => $cm->instance,
+ 'userid' => $queueditem->userid, 'id' => $queueditem->itemid), 'id');
+ $moodletextsubmission = $DB->get_record('assignsubmission_onlinetext',
+ array('submission' => $moodlesubmission->id), 'onlinetext');
+ $textcontent = $moodletextsubmission->onlinetext;
break;
+
case 'workshop':
$moodlesubmission = $DB->get_record('workshop_submissions',
- array('workshopid' => $cm->instance,
- 'authorid' => $user->id), 'timemodified');
+ array('id' => $queueditem->itemid), 'content');
+ $textcontent = $moodlesubmission->content;
break;
}
- $title = (!empty($title)) ? $title : 'onlinetext_'.$user->id."_".$cm->id."_".$cm->instance.'.txt';
- $filename = (substr($title, -4) == '.txt') ? $title : $title.'.txt';
- $textcontent = strip_tags($textcontent);
- $timemodified = $moodlesubmission->timemodified;
+ $title = 'onlinetext_'.$user->id."_".$cm->id."_".$cm->instance.'.txt';
+ $filename = $title;
+ $textcontent = html_to_text($textcontent);
}
- // Get submission method depending on whether there has been a previous submission.
- $submissionfields = 'id, cm, externalid, identifier, statuscode, lastmodified, attempt';
- $typefield = ($CFG->dbtype == "oci") ? " to_char(submissiontype) " : " submissiontype ";
-
- // Double check there is only one submission.
- $previoussubmissions = $DB->get_records_select('plagiarism_turnitin_files',
- " cm = ? AND userid = ? AND ".$typefield." = ? AND identifier = ? ",
- array($cm->id, $user->id, $submissiontype, $identifier),
- 'id', $submissionfields);
- $previoussubmission = end($previoussubmissions);
- if ($previoussubmission) {
- // Don't submit if submission hasn't changed.
- if (in_array($previoussubmission->statuscode, array("success", "error"))
- && $timemodified <= $previoussubmission->lastmodified) {
- return true;
- } else if ($settings["plagiarism_report_gen"] > 0) {
- // Replace if Turnitin assignment allows resubmissions or create if we have no Turnitin id stored.
- $submissionid = $previoussubmission->id;
- $apimethod = (is_null($previoussubmission->externalid)) ? "createSubmission" : "replaceSubmission";
- $this->reset_tii_submission($cm, $user, $identifier, $previoussubmission, $submissiontype);
- } else {
- $apimethod = "createSubmission";
- if ($previoussubmission->statuscode != "success") {
- $submissionid = $previoussubmission->id;
- $this->reset_tii_submission($cm, $user, $identifier, $previoussubmission, $submissiontype);
- } else {
- $submissionid = $this->create_new_tii_submission($cm, $user, $identifier, $submissiontype);
- }
- }
+ // Use Replace submission method if resubmissions are allowed or create if we have no Turnitin Id.
+ if (is_null($queueditem->externalid)) {
+ $apimethod = "createSubmission";
} else {
- // Check if there is previous submission of text content which we will replace
- $typefield = ($CFG->dbtype == "oci") ? " to_char(submissiontype) " : " submissiontype ";
- if ($submissiontype == 'text_content' &&
- $previoussubmission = $DB->get_record_select('plagiarism_turnitin_files',
- " cm = ? AND userid = ? AND ".$typefield." = ? ",
- array($cm->id, $user->id, 'text_content'),
- 'id, cm, externalid, identifier, statuscode, lastmodified, attempt', 0, 1)) {
-
- $submissionid = $previoussubmission->id;
- $apimethod = (is_null($previoussubmission->externalid) || $settings["plagiarism_report_gen"] == 0)
- ? "createSubmission" : "replaceSubmission";
-
- // Delete old text content submissions from Turnitin if not replacing.
- if ($settings["plagiarism_report_gen"] == 0 && !is_null($previoussubmission->externalid)) {
- $this->delete_tii_submission($cm, $previoussubmission->externalid, $user);
- }
-
- $this->reset_tii_submission($cm, $user, $identifier, $previoussubmission, $submissiontype);
- } else {
- $apimethod = "createSubmission";
- $submissionid = $this->create_new_tii_submission($cm, $user, $identifier, $submissiontype);
+ $apimethod = ($settings["plagiarism_report_gen"] == 0) ? "createSubmission" : "replaceSubmission";
+ // Delete old text content submissions from Turnitin if not replacing.
+ if ($settings["plagiarism_report_gen"] == 0 && $queueditem->submissiontype == 'text_content') {
+ $pluginturnitin->delete_tii_submission($cm, $queueditem->externalid, $queueditem->author);
}
}
- // Remove any old text submissions here if there are any as there is only one per submission
- if ($itemid != 0 && $submissiontype == "text_content") {
- $this->clean_old_turnitin_submissions($cm, $user->id, $itemid, $submissiontype, $identifier, $user);
+ // Remove any old text submissions from Moodle DB if there are any as there is only one per submission.
+ if (!empty($queueditem->itemid) && $queueditem->submissiontype == "text_content") {
+ $pluginturnitin->clean_old_turnitin_submissions($cm, $user->id, $queueditem->itemid,
+ $queueditem->submissiontype, $queueditem->identifier);
}
break;
case 'forum_post':
- if ($previoussubmissions = $DB->get_records_select('plagiarism_turnitin_files',
- " cm = ? AND userid = ? AND identifier = ? ",
- array($cm->id, $user->id, $identifier),
- 'id DESC', 'id, cm, externalid, identifier, statuscode, attempt', 0, 1)) {
-
- $previoussubmission = current($previoussubmissions);
- if ($previoussubmission->statuscode == "success") {
- return true;
- } else {
- $submissionid = $previoussubmission->id;
- $apimethod = "replaceSubmission";
- $this->reset_tii_submission($cm, $user, $identifier, $previoussubmission, $submissiontype);
- }
- } else {
+ if (is_null($queueditem->externalid)) {
$apimethod = "createSubmission";
- $submissionid = $this->create_new_tii_submission($cm, $user, $identifier, $submissiontype);
+ } else {
+ $apimethod = ($settings["plagiarism_report_gen"] == 0) ? "createSubmission" : "replaceSubmission";
}
- $forum_post = $DB->get_record_select('forum_posts', " userid = ? AND id = ? ", array($user->id, $itemid));
- $textcontent = strip_tags($forum_post->message);
+ $forumpost = $DB->get_record_select('forum_posts', " userid = ? AND id = ? ", array($user->id, $queueditem->itemid));
+ $textcontent = strip_tags($forumpost->message);
+ $title = 'forumpost_'.$user->id."_".$cm->id."_".$cm->instance."_".$queueditem->itemid.'.txt';
$filename = $title;
break;
}
-
- // Check file is less than maximum allowed size.
- if ($submissiontype == 'file') {
- if ($file->get_filesize() > TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE) {
- $errorcode = 2;
- }
- }
-
- // Don't submit if a user has not accepted the eula.
- if ($user->id == $submitter && $user->user_agreement_accepted != 1) {
- $errorcode = 3;
- }
-
- // If applicable, check whether file type is accepted.
- $acceptanyfiletype = (!empty($settings["plagiarism_allow_non_or_submissions"])) ? 1 : 0;
- if (!$acceptanyfiletype && $submissiontype == 'file') {
- $filenameparts = explode('.', $filename);
- $fileext = strtolower(end($filenameparts));
- if (!in_array(".".$fileext, $turnitinacceptedfiles)) {
- $errorcode = 4;
- }
- }
-
// Read the stored file/content into a temp file for submitting.
- $submission_title = explode('.', $title);
+ $submissiontitle = explode('.', $title);
- $file_string = array(
- $submission_title[0],
+ // Compile file string array for naming the file.
+ $filestring = array(
+ $submissiontitle[0],
$cm->id
);
// Only include user's name and id if we're not using blind marking and student privacy.
if ( empty($moduledata->blindmarking) && empty($config->enablepseudo) ) {
- $user_details = array(
+ $userdetails = array(
$user->id,
$user->firstname,
$user->lastname
);
- $file_string = array_merge($user_details, $file_string);
+ $filestring = array_merge($userdetails, $filestring);
}
try {
- $tempfile = turnitintooltwo_tempfile($file_string, $filename);
+ $tempfile = turnitintooltwo_tempfile($filestring, $filename);
} catch (Exception $e) {
$errorcode = 8;
}
- // Any errors from cron processing take prioirity.
- if (!empty($cronerror)) {
- $errorcode = $cronerror;
- }
-
// Save failed submission and don't process any further.
if ($errorcode != 0) {
- return $this->save_failed_submission($cm, $user, $submissionid, $identifier,
- $submissiontype, $errorcode, $previoussubmission);
+ return $pluginturnitin->save_submission($cm, $queueditem->author, $queueditem->id,
+ $queueditem->identifier, 'error', $queueditem->externalid,
+ $queueditem->submitter, $queueditem->itemid, $queueditem->submissiontype,
+ $queueditem->attempt, $errorcode);
}
$fh = fopen($tempfile, "w");
@@ -2666,22 +2684,22 @@ public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identi
// Create submission object.
$submission = new TiiSubmission();
- $submission->setAssignmentId($tiiassignmentid);
+ $submission->setAssignmentId($syncassignment['tiiassignmentid']);
if ($apimethod == "replaceSubmission") {
- $submission->setSubmissionId($previoussubmission->externalid);
+ $submission->setSubmissionId($queueditem->externalid);
}
$submission->setTitle($title);
- $submission->setAuthorUserId($user->tii_user_id);
+ $submission->setAuthorUserId($user->tiiuserid);
// Account for submission by teacher in assignment module.
- if ($user->id == $submitter) {
- $submission->setSubmitterUserId($user->tii_user_id);
+ if ($queueditem->userid == $queueditem->submitter) {
+ $submission->setSubmitterUserId($user->tiiuserid);
$submission->setRole('Learner');
} else {
- $instructor = new turnitintooltwo_user($submitter, 'Instructor');
+ $instructor = new turnitintooltwo_user($queueditem->submitter, 'Instructor');
$instructor->edit_tii_user();
- $submission->setSubmitterUserId($instructor->tii_user_id);
+ $submission->setSubmitterUserId($instructor->tiiuserid);
$submission->setRole('Instructor');
}
@@ -2694,48 +2712,23 @@ public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identi
try {
$response = $turnitincall->$apimethod($submission);
$newsubmission = $response->getSubmission();
- $newsubmissionid = $newsubmission->getSubmissionId();
+ $tiisubmissionid = $newsubmission->getSubmissionId();
- $plagiarismfile = new stdClass();
- if ($apimethod == "replaceSubmission" || $submissionid != 0) {
- $plagiarismfile->id = $submissionid;
- }
- $plagiarismfile->cm = $cm->id;
- $plagiarismfile->userid = $user->id;
- $plagiarismfile->submitter = $submitter;
- $plagiarismfile->identifier = $identifier;
- $plagiarismfile->externalid = $newsubmissionid;
- $plagiarismfile->statuscode = 'success';
- $plagiarismfile->similarityscore = null;
- $plagiarismfile->attempt = (!empty($previoussubmission)) ? $previoussubmission->attempt + 1 : 1;
- $plagiarismfile->transmatch = 0;
- $plagiarismfile->lastmodified = time();
- $plagiarismfile->submissiontype = $submissiontype;
- $plagiarismfile->errorcode = null;
- $plagiarismfile->errormsg = null;
-
- if ($apimethod == "replaceSubmission" || $submissionid != 0) {
- if (!$DB->update_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$user->id.")", "PP_UPDATE_SUB");
- }
- } else {
- if (!$fileid = $DB->insert_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$user->id.")", "PP_INSERT_SUB");
- }
- }
+ $pluginturnitin->save_submission($cm, $user->id, $queueditem->id, $queueditem->identifier, 'success', $tiisubmissionid,
+ $queueditem->submitter, $queueditem->itemid, $queueditem->submissiontype, $queueditem->attempt);
// Delete the tempfile.
if (!is_null($tempfile)) {
unlink($tempfile);
}
- // Add config field to show submissions have been made which we use to lock anonymous marking setting
+ // Add config field to show submissions have been made which we use to lock anonymous marking setting.
$configfield = new stdClass();
$configfield->cm = $cm->id;
$configfield->name = 'submitted';
$configfield->value = 1;
- if (!$currentconfigfield = $DB->get_field('plagiarism_turnitin_config', 'id',
+ if (!$DB->get_field('plagiarism_turnitin_config', 'id',
(array('cm' => $cm->id, 'name' => 'submitted')))) {
if (!$DB->insert_record('plagiarism_turnitin_config', $configfield)) {
turnitintooltwo_print_error('defaultupdateerror', 'plagiarism_turnitin', null, null, __FILE__, __LINE__);
@@ -2751,7 +2744,7 @@ public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identi
'assignment_name' => $moduledata->name,
'course_fullname' => $coursedata->turnitin_ctl,
'submission_date' => date('d-M-Y h:iA'),
- 'submission_id' => $newsubmissionid
+ 'submission_id' => $tiisubmissionid
);
$message = $receipt->build_message($input);
@@ -2760,176 +2753,28 @@ public function tii_submission($cm, $tiiassignmentid, $user, $submitter, $identi
// Output a message in the cron for successfull submission to Turnitin.
$outputvars = new stdClass();
$outputvars->title = $title;
- $outputvars->submissionid = $newsubmissionid;
+ $outputvars->submissionid = $tiisubmissionid;
$outputvars->assignmentname = $moduledata->name;
$outputvars->coursename = $coursedata->turnitin_ctl;
mtrace(get_string('cronsubmittedsuccessfully', 'plagiarism_turnitin', $outputvars));
} catch (Exception $e) {
- $errorstring = (empty($previoussubmission->externalid)) ? "pp_createsubmissionerror" : "pp_updatesubmissionerror";
- $plagiarismfile = new stdClass();
- if ($submissionid != 0) {
- $plagiarismfile->id = $submissionid;
- }
- $plagiarismfile->attempt = (!empty($previoussubmission)) ? $previoussubmission->attempt + 1 : 1;
- $plagiarismfile->cm = $cm->id;
- $plagiarismfile->userid = $user->id;
- $plagiarismfile->submitter = $submitter;
- $plagiarismfile->identifier = $identifier;
- $plagiarismfile->statuscode = 'error';
- $plagiarismfile->lastmodified = time();
- $plagiarismfile->submissiontype = $submissiontype;
- $plagiarismfile->errorcode = 0;
- $plagiarismfile->errormsg = get_string('pp_submission_error', 'plagiarism_turnitin').' '.$e->getMessage();
-
- if ($submissionid != 0) {
- if (!$DB->update_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Update record failed (CM: ".$cm->id.", User: ".$user->id.") - ", "PP_UPDATE_SUB_ERROR");
- }
- } else {
- if (!$fileid = $DB->insert_record('plagiarism_turnitin_files', $plagiarismfile)) {
- turnitintooltwo_activitylog("Insert record failed (CM: ".$cm->id.", User: ".$user->id.") - ", "PP_INSERT_SUB_ERROR");
- }
- }
+ // Save that submission errored.
+ $submissionerrormsg = get_string('pp_submission_error', 'plagiarism_turnitin').' '.$e->getMessage();
+ $pluginturnitin->save_submission($cm, $user->id, $queueditem->id, $queueditem->identifier, 'error', null,
+ $queueditem->submitter, $queueditem->itemid, $queueditem->submissiontype,
+ $queueditem->attempt, 0, $submissionerrormsg);
+ $errorstring = (empty($queueditem->externalid)) ? "pp_createsubmissionerror" : "pp_updatesubmissionerror";
$turnitincomms->handle_exceptions($e, $errorstring, false);
+ // Output error in the cron.
mtrace('-------------------------');
mtrace(get_string('pp_submission_error', 'plagiarism_turnitin').': '.$e->getMessage());
mtrace('User: '.$user->id.' - '.$user->firstname.' '.$user->lastname.' ('.$user->email.')');
mtrace('Course Module: '.$cm->id.'');
mtrace('-------------------------');
}
-
- return true;
}
-
- /**
- * Delete a submission from Turnitin
- */
- private function delete_tii_submission($cm, $submissionid, $user) {
- global $CFG;
-
- // Initialise Comms Object.
- $turnitincomms = new turnitin_comms();
- $turnitincall = $turnitincomms->initialise_api();
-
- $submission = new TiiSubmission();
- $submission->setSubmissionId($submissionid);
-
- try {
- $response = $turnitincall->deleteSubmission($submission);
- } catch (Exception $e) {
- $turnitincomms->handle_exceptions($e, 'turnitindeletionerror', false);
-
- mtrace('-------------------------');
- mtrace(get_string('turnitindeletionerror', 'plagiarism_turnitin').': '.$e->getMessage());
- mtrace('User: '.$user->id.' - '.$user->firstname.' '.$user->lastname.' ('.$user->email.')');
- mtrace('Course Module: '.$cm->id.'');
- mtrace('-------------------------');
- }
- }
-}
-
-/**
- * Submit file to Turnitin
- *
- * @param type $eventdata
- * @return type
- */
-function plagiarism_turnitin_event_file_uploaded($eventdata) {
- $eventdata->event_type = 'file_uploaded';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
-}
-
-/**
- * Submit assesable content to Turnitin after student confirms their submission.
- *
- * This event is not fired by 2.3, as a workaround we submit everything to Turnitin.
- * In 2.4+ we don't submit the drafts, until submission is confirmed.
- *
- *
- * @param type $eventdata
- * @return boolean
- */
-function plagiarism_turnitin_event_assessable_submitted($eventdata) {
- $eventdata->event_type = 'assessable_submitted';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
-}
-
-/**
- * Submit all files to Turnitin after student confirms their submission.
- *
- * This event is not fired by 2.3, as a workaround we submit everything to Turnitin.
- * In 2.4+ we don't submit the drafts, until submission is confirmed.
- *
- * @param type $eventdata
- * @return boolean
- */
-function plagiarism_turnitin_event_files_done($eventdata) {
- $eventdata->event_type = 'files_done';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
-}
-
-/**
- * Create the module within Turnitin
- *
- * @param type $eventdata
- * @return boolean
- */
-function plagiarism_turnitin_event_mod_created($eventdata) {
- $eventdata->event_type = 'mod_created';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
}
-
-/**
- * Update the module within Turnitin
- *
- * @param type $eventdata
- * @return boolean
- */
-function plagiarism_turnitin_event_mod_updated($eventdata) {
- $eventdata->event_type = 'mod_updated';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
-}
-
-/**
- * Remove submission data and config settings for module.
- *
- * @param type $eventdata
- * @return boolean true
- */
-function plagiarism_turnitin_event_mod_deleted($eventdata) {
- global $DB;
-
- $DB->delete_records('plagiarism_turnitin_files', array('cm' => $eventdata->cmid));
- $DB->delete_records('plagiarism_turnitin_config', array('cm' => $eventdata->cmid));
-
- return true;
-}
-
-/**
- * Upload content to Turnitin
- *
- * @param type $eventdata
- * @return type
- */
-function plagiarism_turnitin_event_content_uploaded($eventdata) {
- $eventdata->event_type = 'content_uploaded';
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->event_handler($eventdata);
-}
-
-/**
- * Handle cron call from scheduled task
- */
-function plagiarism_turnitin_cron() {
- $pluginturnitin = new plagiarism_plugin_turnitin();
- return $pluginturnitin->cron();
-}
\ No newline at end of file
diff --git a/settings.php b/settings.php
index fd4d553d..110b7b5b 100644
--- a/settings.php
+++ b/settings.php
@@ -40,10 +40,10 @@
}
$plagiarismpluginturnitin = new plagiarism_plugin_turnitin();
-$supported_mods = array('assign', 'forum', 'workshop');
+$supportedmods = array('assign', 'forum', 'workshop');
-if ($DB->record_exists('modules',array('name'=>'coursework','visible'=>1))) {
- $supported_mods[] = 'coursework';
+if ($DB->record_exists('modules', array('name' => 'coursework', 'visible' => 1))) {
+ $supportedmods[] = 'coursework';
}
// Get plugin config.
@@ -51,7 +51,7 @@
$pluginconfig['turnitin_use'] = get_config('plagiarism', 'turnitin_use');
// Check that mod enabled setting has been initialised.
-foreach ($supported_mods as $mod) {
+foreach ($supportedmods as $mod) {
$pluginconfig['turnitin_use_mod_'.$mod] = $plagiarismpluginturnitin->get_config_settings('mod_'.$mod);
}
@@ -61,12 +61,12 @@
if (!empty($action)) {
switch ($action) {
case "config":
- // Overall plugin use setting
+ // Overall plugin use setting.
$turnitinoveralluse = optional_param('turnitin_use', 0, PARAM_INT);
set_config('turnitin_use', $turnitinoveralluse, 'plagiarism');
// Allow Turnitin to be on for Individual modules.
- foreach ($supported_mods as $mod) {
+ foreach ($supportedmods as $mod) {
$turnitinuse = optional_param('turnitin_use_mod_'.$mod, 0, PARAM_INT);
$turnitinuse = ($turnitinoveralluse == 0) ? 0 : $turnitinuse;
@@ -92,7 +92,7 @@
$defaultfield = new stdClass();
$defaultfield->cm = null;
$defaultfield->name = $field;
- if ($field == 'plagiarism_locked_message'){
+ if ($field == 'plagiarism_locked_message') {
$defaultfield->value = optional_param($field, '', PARAM_TEXT);
} else {
$defaultfield->value = optional_param($field, '', PARAM_ALPHANUMEXT);
diff --git a/tests/turnitin_test.php b/tests/turnitin_test.php
new file mode 100644
index 00000000..f7e5d679
--- /dev/null
+++ b/tests/turnitin_test.php
@@ -0,0 +1,47 @@
+.
+
+/**
+ * Plagiarism Turnitin tests.
+ *
+ * @package plagiarism_turnitin
+ * @copyright 2016 Catalyst IT
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+use core_competency\course_competency;
+
+/**
+ * Plagiarism Turnitin tests.
+ *
+ * @package plagiarism_turnitin
+ * @copyright 2016 Catalyst IT
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class plagiarism_turnitin_testcase extends advanced_testcase {
+ /**
+ * Isolates a problem found running core tests in Moodle 31.
+ */
+ public function test_problem_moodle31_coretests() {
+ $this->resetAfterTest();
+
+ $c1 = $this->getDataGenerator()->create_course();
+
+ reset_course_userdata((object)['id' => $c1->id, 'reset_competency_ratings' => true]);
+ }
+}
diff --git a/turnitinplugin_view.class.php b/turnitinplugin_view.class.php
index 4635ab9d..c27745d3 100644
--- a/turnitinplugin_view.class.php
+++ b/turnitinplugin_view.class.php
@@ -14,6 +14,10 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
+if (!defined('MOODLE_INTERNAL')) {
+ die('Direct access to this script is forbidden.'); // It must be included from a Moodle page.
+}
+
require_once($CFG->dirroot.'/mod/turnitintooltwo/turnitintooltwo_form.class.php');
require_once(__DIR__.'/lib.php');
@@ -57,9 +61,9 @@ public function draw_settings_tab_menu($currenttab, $notice = null) {
* @return output
*/
public function show_config_form($pluginconfig) {
- global $CFG, $DB, $OUTPUT;
+ global $CFG, $DB;
- // Populate elements array which will generate the form elements
+ // Populate elements array which will generate the form elements.
// Each element is in following format: (type, name, label, helptext (minus _help), options (if select).
$elements = array();
$elements[] = array('header', 'config', get_string('turnitinconfig', 'plagiarism_turnitin'));
@@ -67,16 +71,17 @@ public function show_config_form($pluginconfig) {
$elements[] = array('advcheckbox', 'turnitin_use', get_string('useturnitin', 'plagiarism_turnitin'), '', array(0, 1));
- // Enable Turnitin for specific modules
- $supported_mods = array('assign', 'forum', 'workshop');
-
- if ($DB->record_exists('modules',array('name'=>'coursework','visible'=>1))) {
- $supported_mods[] = 'coursework';
+ // Enable Turnitin for specific modules.
+ $supportedmods = array('assign', 'forum', 'workshop');
+
+ if ($DB->record_exists('modules', array('name' => 'coursework', 'visible' => 1))) {
+ $supportedmods[] = 'coursework';
}
- foreach ($supported_mods as $mod) {
- $elements[] = array('checkbox', 'turnitin_use_mod_'.$mod, get_string('useturnitin_mod', 'plagiarism_turnitin', $mod), '',
- '', '', '', array('turnitin_use', '==', 1));
+ foreach ($supportedmods as $mod) {
+ $elements[] = array('checkbox', 'turnitin_use_mod_'.$mod,
+ get_string('useturnitin_mod', 'plagiarism_turnitin', $mod), '',
+ '', '', '', array('turnitin_use', '==', 1));
}
$elements[] = array('html', get_string('pp_configuredesc', 'plagiarism_turnitin', $CFG->wwwroot));
@@ -110,7 +115,7 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$PAGE->requires->string_for_js('closebutton', 'plagiarism_turnitin');
$config = turnitintooltwo_admin_config();
- $config_warning = '';
+ $configwarning = '';
$rubrics = array();
if ($location == "activity") {
@@ -153,17 +158,18 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$cssurl = new moodle_url('/mod/turnitintooltwo/css/colorbox.css');
$PAGE->requires->css($cssurl);
- // Refresh Grades
+ // Refresh Grades.
$refreshgrades = '';
if ($cmid != 0) {
- // If assignment has submissions then show a refresh grades button
+ // If assignment has submissions then show a refresh grades button.
$numsubs = $DB->count_records('plagiarism_turnitin_files', array('cm' => $cmid));
if ($numsubs > 0) {
$refreshgrades = html_writer::tag('div', $OUTPUT->pix_icon('refresh', get_string('turnitinrefreshsubmissions', 'plagiarism_turnitin'), 'plagiarism_turnitin').
html_writer::tag('span', get_string('turnitinrefreshsubmissions', 'plagiarism_turnitin')),
array('class' => 'plagiarism_turnitin_refresh_grades'));
- $refreshgrades .= html_writer::tag('div', $OUTPUT->pix_icon('loading', get_string('turnitinrefreshingsubmissions', 'plagiarism_turnitin'), 'plagiarism_turnitin').
+ $refreshgrades .= html_writer::tag('div', $OUTPUT->pix_icon('loading',
+ get_string('turnitinrefreshingsubmissions', 'plagiarism_turnitin'), 'plagiarism_turnitin').
html_writer::tag('span', get_string('turnitinrefreshingsubmissions', 'plagiarism_turnitin')),
array('class' => 'plagiarism_turnitin_refreshing_grades'));
}
@@ -183,11 +189,11 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$quickmarkmanagerlink .= $OUTPUT->box_end(true);
}
- $use_turnitin = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cmid, 'name' => 'use_turnitin'));
+ $useturnitin = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cmid, 'name' => 'use_turnitin'));
// Peermark Manager.
$peermarkmanagerlink = '';
- if (!empty($config->enablepeermark) && !empty($use_turnitin->value)) {
+ if (!empty($config->enablepeermark) && !empty($useturnitin->value)) {
if ($cmid != 0) {
$peermarkmanagerlink .= $OUTPUT->box_start('row_peermark_manager', '');
$peermarkmanagerlink .= html_writer::link($CFG->wwwroot.
@@ -210,7 +216,7 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$locks = $DB->get_records_sql("SELECT name, value FROM {plagiarism_turnitin_config} WHERE cm IS NULL");
- if (empty($config_warning)) {
+ if (empty($configwarning)) {
$mform->addElement('select', 'use_turnitin', get_string("useturnitin", "turnitintooltwo"), $options);
$this->lock($mform, $location, $locks);
@@ -234,21 +240,21 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$suboptions = array(0 => get_string('norepository', 'plagiarism_turnitin'),
1 => get_string('standardrepository', 'plagiarism_turnitin'));
switch ($config->repositoryoption) {
- case 0; // Standard options
+ case 0; // Standard options.
$mform->addElement('select', 'plagiarism_submitpapersto', get_string('submitpapersto', 'plagiarism_turnitin'), $suboptions);
$this->lock($mform, $location, $locks);
break;
- case 1; // Standard options + Allow Instituional Repository
+ case 1; // Standard options + Allow Instituional Repository.
$suboptions[2] = get_string('institutionalrepository', 'plagiarism_turnitin');
$mform->addElement('select', 'plagiarism_submitpapersto', get_string('submitpapersto', 'plagiarism_turnitin'), $suboptions);
$this->lock($mform, $location, $locks);
break;
- case 2; // Force Standard Repository
+ case 2; // Force Standard Repository.
$mform->addElement('hidden', 'plagiarism_submitpapersto', 1);
$mform->setType('plagiarism_submitpapersto', PARAM_RAW);
break;
- case 3; // Force No Repository
+ case 3; // Force No Repository.
$mform->addElement('hidden', 'plagiarism_submitpapersto', 0);
$mform->setType('plagiarism_submitpapersto', PARAM_RAW);
break;
@@ -286,7 +292,7 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
$mform->addRule('plagiarism_exclude_matches_value', null, 'numeric', null, 'client');
$mform->disabledIf('plagiarism_exclude_matches_value', 'plagiarism_exclude_matches', 'eq', 0);
- if ($location == 'defaults'){
+ if ($location == 'defaults') {
$mform->addElement('text', 'plagiarism_locked_message', get_string("locked_message", "plagiarism_turnitin"), 'maxlength="50" size="50"' );
$mform->setType('plagiarism_locked_message', PARAM_TEXT);
$mform->setDefault('plagiarism_locked_message', get_string("locked_message_default", "plagiarism_turnitin") );
@@ -297,8 +303,7 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
// Populate Rubric options.
$rubricoptions = array('' => get_string('norubric', 'plagiarism_turnitin')) + $rubrics;
if (!empty($currentrubric)) {
- $rubricoptions[$currentrubric] = (isset($rubricoptions[$currentrubric])) ?
- $rubricoptions[$currentrubric] : get_string('otherrubric', 'plagiarism_turnitin');
+ $rubricoptions[$currentrubric] = (isset($rubricoptions[$currentrubric])) ? $rubricoptions[$currentrubric] : get_string('otherrubric', 'plagiarism_turnitin');
}
$mform->addElement('select', 'plagiarism_rubric', get_string('attachrubric', 'plagiarism_turnitin'), $rubricoptions);
@@ -523,13 +528,13 @@ public function show_file_errors_table($page = 0) {
public function lock($mform, $location, $locks) {
$field = end($mform->_elements)->_attributes['name'];
- if ($location == 'defaults'){
- // If we are on the site config level, show the lock UI
+ if ($location == 'defaults') {
+ // If we are on the site config level, show the lock UI.
$mform->addElement('advcheckbox', $field . '_lock', '', get_string('locked', 'admin'), array('group' => 1) );
} else {
- // If we are at the plugin level, and we are locked then freeze
+ // If we are at the plugin level, and we are locked then freeze.
$locked = (isset($locks[$field.'_lock']->value)) ? $locks[$field.'_lock']->value : 0;
if ($locked) {
$mform->freeze($field);
diff --git a/version.php b/version.php
index 62e684a5..3b96c1af 100644
--- a/version.php
+++ b/version.php
@@ -1,23 +1,37 @@
.
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+/**
+ * @package turnitintooltwo
+ * @copyright 2012 iParadigms LLC
*/
-$plugin->version = 2016091401;
-$plugin->release = "2.6+";
-$plugin->requires = 2013111800;
+$plugin->version = 2017012501;
+$plugin->release = "2.7+";
+$plugin->requires = 2014051200;
$plugin->component = 'plagiarism_turnitin';
$plugin->maturity = MATURITY_STABLE;
global $CFG;
$plugin->cron = 0;
if (!empty($CFG->version)) {
- $plugin->cron = ($CFG->version > 2014051200) ? 0 : 300;
+ $plugin->cron = ($CFG->version > 2014051200) ? 0 : 300;
}
$plugin->dependencies = array(
- 'mod_turnitintooltwo' => 2016091401,
+ 'mod_turnitintooltwo' => 2016091401,
'mod_assign' => 2013110500
);