-
Notifications
You must be signed in to change notification settings - Fork 70
/
turnitin_class.class.php
74 lines (59 loc) · 2.28 KB
/
turnitin_class.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// 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
// 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 <http://www.gnu.org/licenses/>.
use Integrations\PhpSdk\TiiClass;
// @package plagiarism_turnitin
// @copyright 2012 iParadigms LLC
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot.'/plagiarism/turnitin/classes/turnitin_comms.class.php');
class turnitin_class {
private $id;
private $turnitinid;
private $title;
private $turnitintitle;
public $sharedrubrics;
public function __construct($id) {
global $DB;
$this->id = $id;
if ($turnitincourse = $DB->get_record('plagiarism_turnitin_courses', array("courseid" => $id))) {
$this->turnitinid = $turnitincourse->turnitin_cid;
$this->turnitintitle = $turnitincourse->turnitin_ctl;
}
}
/**
* Update class from Turnitin, mainly to get shared rubrics
*
* @return
*/
public function read_class_from_tii() {
// Initialise Comms Object.
$turnitincomms = new turnitin_comms();
$turnitincall = $turnitincomms->initialise_api();
$tiiclass = new TiiClass();
try {
$tiiclass->setClassId($this->turnitinid);
$response = $turnitincall->readClass($tiiclass);
$readclass = $response->getClass();
$rubrics = $readclass->getSharedRubrics();
$rubricarray = array();
foreach ($rubrics as $rubric) {
$rubricarray[$rubric->getRubricGroupName()][$rubric->getRubricId()] = $rubric->getRubricName();
}
$this->sharedrubrics = $rubricarray;
} catch (Exception $e) {
$turnitincomms->handle_exceptions($e, 'coursegeterror', false);
}
}
}