-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplagiarism_form.php
81 lines (66 loc) · 2.98 KB
/
plagiarism_form.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
75
76
77
78
79
80
81
<?php
require_once($CFG->dirroot . '/lib/formslib.php');
class plagiarism_setup_form extends moodleform
{
/// Define the form
function definition()
{
global $CFG;
$mform = &$this->_form;
$mform->addElement(
'header',
'adminconfigheader',
get_string('adminconfig', 'plagiarism_origai', null, true)
);
$supportedmodules = array('assign', 'forum', 'quiz');
foreach ($supportedmodules as $module) {
$mform->addElement(
'advcheckbox',
'plagiarism_origai_mod_' . $module,
get_string('enablemodule', 'plagiarism_origai', ucfirst($module == 'assign' ? 'Assignment' : $module))
);
}
$mform->addElement('text', 'apiurl', get_string('apiurl', 'plagiarism_origai'));
$mform->setType('apiurl', PARAM_TEXT);
$mform->addRule('apiurl', get_string('apiurlrequired', 'plagiarism_origai'), 'required');
$mform->addElement('text', 'apikey', get_string('apikey', 'plagiarism_origai'));
$mform->setType('apikey', PARAM_TEXT);
$mform->addRule('apikey', get_string('apikeyrequired', 'plagiarism_origai'), 'required');
$mform->addElement('select',
'aiModel', // Name of the form field.
get_string('aiModel', 'plagiarism_origai'), // Field label.
array(
'standard' => get_string('standard', 'plagiarism_origai'),
'lite' => get_string('lite', 'plagiarism_origai'),
'turbo' => get_string('turbo', 'plagiarism_origai'),
'multilang' => get_string('multilang', 'plagiarism_origai'),
)
);
// Set default value for the dropdown.
$mform->setDefault('aiModel', 'lite');
$mform->addElement('html', '<div class="form-group row fitem"><div class="col-md-12 col-form-label">'.get_string("apikeyhelp","plagiarism_origai"));
$this->add_action_buttons(true);
}
function init_form_data()
{
$data = get_config('plagiarism_origai');
$this->set_data($data);
}
function save(stdClass $data)
{
set_config('apiurl', $data->apiurl, 'plagiarism_origai');
set_config('apikey', $data->apikey, 'plagiarism_origai');
set_config('aiModel', $data->aiModel, 'plagiarism_origai');
set_config('plagiarism_origai_mod_assign', $data->plagiarism_origai_mod_assign, 'plagiarism_origai');
set_config('plagiarism_origai_mod_forum', $data->plagiarism_origai_mod_forum, 'plagiarism_origai');
set_config('plagiarism_origai_mod_quiz', $data->plagiarism_origai_mod_quiz, 'plagiarism_origai');
$supportedmodules = array('assign', 'forum', 'quiz');
$pluginenabled = 0;
foreach ($supportedmodules as $module) {
if ($data->{'plagiarism_origai_mod_' . $module}) {
$pluginenabled = 1;
}
}
set_config('enabled', $pluginenabled, 'plagiarism_origai');
}
}