13 import(
'lib.pkp.classes.plugins.GenericPlugin');
19 public function register($category, $path, $mainContextId =
null) {
20 $success = parent::register($category, $path, $mainContextId);
33 return __(
'plugins.generic.plagiarism.displayName');
40 return Config::getVar(
'ithenticate',
'ithenticate')?__(
'plugins.generic.plagiarism.description'):__(
'plugins.generic.plagiarism.description.seeReadme');
47 if (!parent::getCanEnable())
return false;
55 if (!parent::getEnabled())
return false;
68 $submission = $submissionDao->getById(
$request->getUserVar(
'submissionId'));
70 require_once(dirname(__FILE__) .
'/vendor/autoload.php');
72 $ithenticate = new \bsobbe\ithenticate\Ithenticate(
78 $groupList = $ithenticate->fetchGroupList();
79 $contextName = $context->getLocalizedName($context->getPrimaryLocale());
80 if (!($groupId = array_search($contextName, $groupList))) {
82 $groupId = $ithenticate->createGroup($contextName);
84 error_log(
'Could not create folder group for context ' . $contextName .
' on iThenticate.');
90 if (!($folderId = $ithenticate->createFolder(
91 'Submission_' . $submission->getId(),
92 'Submission_' . $submission->getId() .
': ' . $submission->getLocalizedTitle($submission->getLocale()),
96 error_log(
'Could not create folder for submission ID ' . $submission->getId() .
' on iThenticate.');
101 $submissionFiles = $submissionFileDao->getBySubmissionId($submission->getId());
102 $authors = $submission->getAuthors();
103 $author = array_shift($authors);
104 foreach ($submissionFiles as $submissionFile) {
105 if (!$ithenticate->submitDocument(
106 $submissionFile->getLocalizedName(),
107 $author->getFirstName(),
108 $author->getLastName(),
109 $submissionFile->getOriginalFileName(),
110 file_get_contents($submissionFile->getFilePath()),
113 error_log(
'Could not submit ' . $submissionFile->getFilePath() .
' to iThenticate.');