Add debug mode
This commit is contained in:
parent
8187645ee1
commit
59185593d9
|
@ -55,6 +55,14 @@ class plagiarism_pchkorg_setup_form extends moodleform {
|
||||||
$mform->addRule('pchkorg_token', null, 'required', null, 'client');
|
$mform->addRule('pchkorg_token', null, 'required', null, 'client');
|
||||||
$mform->setType('pchkorg_token', PARAM_TEXT);
|
$mform->setType('pchkorg_token', PARAM_TEXT);
|
||||||
|
|
||||||
|
$mform->addElement(
|
||||||
|
'select',
|
||||||
|
'pchkorg_enable_debug',
|
||||||
|
get_string('pchkorg_enable_debug', 'plagiarism_pchkorg'),
|
||||||
|
array(get_string('no'), get_string('yes'))
|
||||||
|
);
|
||||||
|
$mform->addHelpButton('pchkorg_enable_debug', 'pchkorg_enable_debug', 'plagiarism_pchkorg');
|
||||||
|
|
||||||
$mform->registerRule('check_pchkorg_min_percent', 'callback', 'pchkorg_check_pchkorg_min_percent');
|
$mform->registerRule('check_pchkorg_min_percent', 'callback', 'pchkorg_check_pchkorg_min_percent');
|
||||||
|
|
||||||
$label = get_string('pchkorg_min_percent', 'plagiarism_pchkorg');
|
$label = get_string('pchkorg_min_percent', 'plagiarism_pchkorg');
|
||||||
|
|
|
@ -42,8 +42,19 @@ $string['pchkorg_min_percent_range'] = 'Must be between 0 and 99';
|
||||||
$string['pchkorg_exclude_self_plagiarism'] = 'Exclude self-plagiarism';
|
$string['pchkorg_exclude_self_plagiarism'] = 'Exclude self-plagiarism';
|
||||||
$string['pchkorg_include_referenced'] = 'Include References';
|
$string['pchkorg_include_referenced'] = 'Include References';
|
||||||
$string['pchkorg_include_citation'] = 'Include Quotes';
|
$string['pchkorg_include_citation'] = 'Include Quotes';
|
||||||
|
$string['pchkorg_enable_debug'] = 'Enable debug information';
|
||||||
|
$string['pchkorg_enable_debug_help'] = 'This information can help you to understand why something not work';
|
||||||
$string['pchkorg_enable_quiz'] = 'Enable PlagiarismCheck in Quizzes';
|
$string['pchkorg_enable_quiz'] = 'Enable PlagiarismCheck in Quizzes';
|
||||||
$string['pchkorg_enable_forum'] = 'Enable PlagiarismCheck in Forum Activity';
|
$string['pchkorg_enable_forum'] = 'Enable PlagiarismCheck in Forum Activity';
|
||||||
|
$string['pchkorg_debug_mime'] = 'Mime of file is not supported';
|
||||||
|
$string['pchkorg_debug_disabled'] = 'Plugin is disabled';
|
||||||
|
$string['pchkorg_debug_empty_context'] = 'Plugin is not supported in this place';
|
||||||
|
$string['pchkorg_debug_user_has_no_permission'] = 'User has no moodle-permission to see this';
|
||||||
|
$string['pchkorg_debug_disabled_acitivity'] = 'Plugin is disabled for this activity';
|
||||||
|
$string['pchkorg_debug_not_member'] = 'User is not a member of plagiarismcheck group';
|
||||||
|
$string['pchkorg_debug_user_has_no_capability'] = 'User does not have capability';
|
||||||
|
$string['pchkorg_debug_no_check'] = 'There is no checks for this activity';
|
||||||
|
$string['pchkorg_debug_status_error'] = 'Some error for this file';
|
||||||
$string['pchkorg_disclosure'] = 'Submission will be sent to <a target="_blank" href="https://plagiarismcheck.org/">PlagiarismCheck.org</a> for check.
|
$string['pchkorg_disclosure'] = 'Submission will be sent to <a target="_blank" href="https://plagiarismcheck.org/">PlagiarismCheck.org</a> for check.
|
||||||
<br />
|
<br />
|
||||||
By submitting assignment I agree with <a target="_blank" href="https://plagiarismcheck.org/terms-of-service/">Terms & Conditions</a>
|
By submitting assignment I agree with <a target="_blank" href="https://plagiarismcheck.org/terms-of-service/">Terms & Conditions</a>
|
||||||
|
|
74
lib.php
74
lib.php
|
@ -187,6 +187,7 @@ class plagiarism_plugin_pchkorg extends plagiarism_plugin {
|
||||||
|
|
||||||
$pchkorgconfigmodel = new plagiarism_pchkorg_config_model();
|
$pchkorgconfigmodel = new plagiarism_pchkorg_config_model();
|
||||||
$apitoken = $pchkorgconfigmodel->get_system_config('pchkorg_token');
|
$apitoken = $pchkorgconfigmodel->get_system_config('pchkorg_token');
|
||||||
|
$isdebugenabled = $pchkorgconfigmodel->get_system_config('pchkorg_enable_debug') === '1';
|
||||||
$apiprovider = new plagiarism_pchkorg_api_provider($apitoken);
|
$apiprovider = new plagiarism_pchkorg_api_provider($apitoken);
|
||||||
|
|
||||||
$cmid = $linkarray['cmid'];
|
$cmid = $linkarray['cmid'];
|
||||||
|
@ -199,13 +200,22 @@ class plagiarism_plugin_pchkorg extends plagiarism_plugin {
|
||||||
|
|
||||||
// We can do nothing with submissions which we can not handle.
|
// We can do nothing with submissions which we can not handle.
|
||||||
if (null !== $file && !$apiprovider->is_supported_mime($file->get_mimetype())) {
|
if (null !== $file && !$apiprovider->is_supported_mime($file->get_mimetype())) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
sprintf(
|
||||||
|
'%s (%s)',
|
||||||
|
get_string('pchkorg_debug_mime', 'plagiarism_pchkorg'),
|
||||||
|
$file->get_mimetype()),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SQL will be called only once, result is static.
|
// SQL will be called only once, result is static.
|
||||||
$config = $pchkorgconfigmodel->get_system_config('pchkorg_use');
|
$config = $pchkorgconfigmodel->get_system_config('pchkorg_use');
|
||||||
if ('1' !== $config) {
|
if ('1' !== $config) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
get_string('pchkorg_debug_disabled', 'plagiarism_pchkorg'),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
$context = null;
|
$context = null;
|
||||||
$component = !empty($linkarray['component']) ? $linkarray['component'] : '';
|
$component = !empty($linkarray['component']) ? $linkarray['component'] : '';
|
||||||
|
@ -223,17 +233,26 @@ class plagiarism_plugin_pchkorg extends plagiarism_plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($context)) {
|
if (empty($context)) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
get_string('pchkorg_debug_empty_context', 'plagiarism_pchkorg'),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$canview = has_capability(capability::VIEW_SIMILARITY, $context);
|
$canview = has_capability(capability::VIEW_SIMILARITY, $context);
|
||||||
if (!$canview) {
|
if (!$canview) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
get_string('pchkorg_debug_user_has_no_permission', 'plagiarism_pchkorg'),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SQL will be called only once per page. There is static result inside.
|
// SQL will be called only once per page. There is static result inside.
|
||||||
if (!$pchkorgconfigmodel->is_enabled_for_module($cmid)) {
|
if (!$pchkorgconfigmodel->is_enabled_for_module($cmid)) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
get_string('pchkorg_debug_disabled_acitivity', 'plagiarism_pchkorg'),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only for some type of account, method will call a remote HTTP API.
|
// Only for some type of account, method will call a remote HTTP API.
|
||||||
|
@ -242,12 +261,24 @@ class plagiarism_plugin_pchkorg extends plagiarism_plugin {
|
||||||
// Even if service will be unavailable, method will try call API only once.
|
// Even if service will be unavailable, method will try call API only once.
|
||||||
// Also, we don't use raw user email.
|
// Also, we don't use raw user email.
|
||||||
if (!$apiprovider->is_group_member($USER->email)) {
|
if (!$apiprovider->is_group_member($USER->email)) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
sprintf(
|
||||||
|
'%s (%s)',
|
||||||
|
get_string('pchkorg_debug_not_member', 'plagiarism_pchkorg'),
|
||||||
|
$USER->email),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$isgranted = !empty($context) && has_capability('mod/assign:view', $context, null);
|
$isgranted = !empty($context) && has_capability('mod/assign:view', $context, null);
|
||||||
if (!$isgranted) {
|
if (!$isgranted) {
|
||||||
return '';
|
return $this->exit_message(
|
||||||
|
sprintf(
|
||||||
|
'%s (%s)',
|
||||||
|
get_string('pchkorg_debug_user_has_no_capability', 'plagiarism_pchkorg'),
|
||||||
|
'mod/assign:view'),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$where = new \stdClass();
|
$where = new \stdClass();
|
||||||
|
@ -426,9 +457,38 @@ display: inline-block;"
|
||||||
<img src="' . $imgsrc . '" alt="logo" width="20" />
|
<img src="' . $imgsrc . '" alt="logo" width="20" />
|
||||||
' . $label . '
|
' . $label . '
|
||||||
</span>';
|
</span>';
|
||||||
|
} else {
|
||||||
|
return $this->exit_message(
|
||||||
|
sprintf(
|
||||||
|
'%s (%s)',
|
||||||
|
get_string('pchkorg_debug_status_error', 'plagiarism_pchkorg'),
|
||||||
|
$filerecord->state),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $this->exit_message(
|
||||||
|
sprintf(
|
||||||
|
'%s (%s)',
|
||||||
|
get_string('pchkorg_debug_no_check', 'plagiarism_pchkorg'),
|
||||||
|
$cmid),
|
||||||
|
$isdebugenabled
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render message with reason why do we stop plugin.
|
||||||
|
*
|
||||||
|
* @param string $message - exit message
|
||||||
|
* @param bool $debug - is debug enabled.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function exit_message($message, $debug) {
|
||||||
|
if ($debug) {
|
||||||
|
return $message;
|
||||||
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,11 +26,11 @@ defined('MOODLE_INTERNAL') || die();
|
||||||
if (!isset($plugin)) {
|
if (!isset($plugin)) {
|
||||||
$plugin = new stdClass();
|
$plugin = new stdClass();
|
||||||
}
|
}
|
||||||
$plugin->version = 2022061418;
|
$plugin->version = 2022071720;
|
||||||
$plugin->requires = 2020061501; // Requires Moodle 3.9 .
|
$plugin->requires = 2020061501; // Requires Moodle 3.9 .
|
||||||
$plugin->release = 'v3.9.6';
|
$plugin->release = 'v3.9.7';
|
||||||
$plugin->component = 'plagiarism_pchkorg';
|
$plugin->component = 'plagiarism_pchkorg';
|
||||||
$plugin->maturity = MATURITY_STABLE;
|
$plugin->maturity = MATURITY_STABLE;
|
||||||
$plugin->dependencies = array(
|
$plugin->dependencies = array(
|
||||||
'mod_assign' => ANY_VERSION,
|
'mod_assign' => ANY_VERSION,
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue