/** * Initialise the API object * * @return object \APITurnitin */ public function initialise_api($testingconnection = false) { global $CFG, $tiipp; $api = new TurnitinAPI($this->tiiaccountid, $this->tiiapiurl, $this->tiisecretkey, $this->tiiintegrationid, $this->langcode); // Enable logging if diagnostic mode is turned on. if ($this->diagnostic) { $api->setLogPath($CFG->tempdir . '/turnitintooltwo/logs/'); } // Use Moodle's proxy settings if specified if (!empty($CFG->proxyhost)) { $api->setProxyHost($CFG->proxyhost); } if (!empty($CFG->proxyport)) { $api->setProxyPort($CFG->proxyport); } if (!empty($CFG->proxyuser)) { $api->setProxyUser($CFG->proxyuser); } if (!empty($CFG->proxypassword)) { $api->setProxyPassword($CFG->proxypassword); } if (!empty($CFG->proxytype)) { $api->setProxyType($CFG->proxytype); } if (!empty($CFG->proxybypass)) { $api->setProxyBypass($CFG->proxybypass); } $plugin_version = turnitintooltwo_get_version(); $api->setIntegrationVersion($CFG->version); $api->setPluginVersion($plugin_version); if (is_readable("{$CFG->dataroot}/moodleorgca.crt")) { $certificate = realpath("{$CFG->dataroot}/moodleorgca.crt"); $api->setSSLCertificate($certificate); } // Offline mode provided by Androgogic if (!empty($CFG->tiioffline) && !$istestingconnection && empty($tiipp->in_use)) { turnitintooltwo_print_error('turnitintoolofflineerror', 'turnitintooltwo'); } $api->setTestingConnection($testingconnection); $api->setPerformanceLog(new turnitintooltwo_performancelog()); return $api; }
$elements[] = array('text', 'nonsubmitters_subject', get_string('nonsubmitterssubject', 'turnitintooltwo'), '', '', 'required', get_string('nonsubmitterssubjecterror', 'turnitintooltwo'), PARAM_TEXT); $elements[] = array('textarea', 'nonsubmitters_message', get_string('nonsubmittersmessage', 'turnitintooltwo'), '', '', 'required', get_string('nonsubmittersmessageerror', 'turnitintooltwo'), PARAM_TEXT); $elements[] = array('advcheckbox', 'nonsubmitters_sendtoself', get_string('nonsubmitterssendtoself', 'turnitintooltwo'), '', array(0, 1)); $customdata["checkbox_label_after"] = true; $elements[] = array('hidden', 'id', $cm->id); $elements[] = array('hidden', 'part', $part); $elements[] = array('hidden', 'action', 'emailnonsubmitters'); $elements[] = array('submit', 'send_email', get_string('nonsubmitterssubmit', 'turnitintooltwo')); $customdata["elements"] = $elements; $customdata["hide_submit"] = true; $customdata["disable_form_change_checker"] = true; $optionsform = new turnitintooltwo_form('', $customdata); echo html_writer::tag('div', $output . $optionsform->display(), array('class' => 'nonsubmittersform')); unset($_SESSION['form_data']); break; case "emailsent": echo html_writer::tag('div', get_string('nonsubmittersformsuccess', 'turnitintooltwo'), array('class' => 'nonsubmittersformsuccessmsg')); break; } echo html_writer::end_tag("div"); echo html_writer::end_tag("div"); echo $OUTPUT->footer(); // This comment is here as it is useful for product support. $partsstring = "("; foreach ($parts as $part) { $partsstring .= $partsstring != "(" ? " | " : ""; $partsstring .= $part->partname . ': ' . $part->tiiassignid; } $partsstring .= ")"; echo '<!-- Turnitin Moodle Direct Version: ' . turnitintooltwo_get_version() . ' - ' . $partsstring . ' -->';
$output = $helpdeskwizard->output_wizard($id); break; case "supportform": include "classes/helpdeskwizard/helpdeskwizard.php"; $helpdeskwizard = new helpdeskwizard(); $title = get_string('turnitinhelpdesk', 'turnitintooltwo'); // Get the Turnitin class id if we are in a class context. $tiiclass = 0; if ($id != 0) { $course = turnitintooltwo_assignment::get_course_data($course->id); $tiiclass = isset($course->turnitin_cid) ? $course->turnitin_cid : 0; } $category = optional_param('category', "", PARAM_ALPHAEXT); $sub_category = optional_param('sub_category', "", PARAM_ALPHAEXT); $config = turnitintooltwo_admin_config(); $plugin_version = turnitintooltwo_get_version(); // Parameters to pass to support form. $params = array('category' => $category, 'sub_category' => $sub_category, 'class_id' => $tiiclass, 'vle_version' => 'Moodle (' . $CFG->branch . ') ' . $CFG->version, 'integration_id' => 'MoodleDirectV2', 'integration_version' => $plugin_version, 'account_id' => $config->accountid); // Output Iframe containing Turnitin Helpdesk form. $output = $helpdeskwizard->output_form($params); break; case "courses": require_capability('moodle/course:create', context_system::instance()); $title = get_string('restorationheader', 'turnitintooltwo'); $jsrequired = true; $output .= html_writer::tag('h2', get_string('restorationheader', 'turnitintooltwo')); $output .= html_writer::tag('p', get_string('coursebrowserdesc', 'turnitintooltwo')); $coursesearchform = html_writer::label(get_string('coursetitle', 'turnitintooltwo') . ': ', 'search_course_title'); $coursesearchform .= html_writer::empty_tag('input', array('type' => 'text', 'id' => 'search_course_title', 'name' => 'search_course_title')); $coursesearchform .= html_writer::label(get_string('integration', 'turnitintooltwo') . ': ', 'search_course_integration'); $coursesearchform .= html_writer::select($tiiintegrationids, 'search_course_integration', '', array('' => 'choosedots'), array('id' => 'search_course_integration'));
public function definition() { global $CFG, $DB, $USER, $COURSE; $config = turnitintooltwo_admin_config(); // Module string is useful for product support. $modulestring = '<!-- Turnitin Moodle Direct Version: ' . turnitintooltwo_get_version() . ' - ('; // Get Moodle Course Object. $course = turnitintooltwo_assignment::get_course_data($COURSE->id); // Create or edit the class in Turnitin. if ($course->turnitin_cid == 0) { $tiicoursedata = turnitintooltwo_assignment::create_tii_course($course, $USER->id); $course->turnitin_cid = $tiicoursedata->turnitin_cid; $course->turnitin_ctl = $tiicoursedata->turnitin_ctl; } else { turnitintooltwo_assignment::edit_tii_course($course); $course->turnitin_ctl = $course->fullname . " (Moodle TT)"; } // Join this user to the class as an instructor and get their rubrics. $instructor = new turnitintooltwo_user($USER->id, 'Instructor'); $instructor->join_user_to_class($course->turnitin_cid); $instructor->set_user_values_from_tii(); $instructorrubrics = $instructor->get_instructor_rubrics(); // Get rubrics that are shared on the account. $turnitinclass = new turnitintooltwo_class($course->id); $turnitinclass->read_class_from_tii(); // Merge the arrays, prioitising instructor owned arrays. $rubrics = $instructorrubrics + $turnitinclass->sharedrubrics; $this->numsubs = 0; if (isset($this->_cm->id)) { $turnitintooltwoassignment = new turnitintooltwo_assignment($this->_cm->instance); $turnitintooltwoassignment->update_assignment_from_tii(); $this->turnitintooltwo = $DB->get_record("turnitintooltwo", array("id" => $this->_cm->instance)); $parts = $DB->get_records("turnitintooltwo_parts", array("turnitintooltwoid" => $this->_cm->instance, "deleted" => 0), 'id'); $i = 0; foreach ($parts as $part) { $i++; $attributes = array("id", "partname", "dtstart", "dtdue", "dtpost", "maxmarks"); foreach ($attributes as $att) { $attribute = $att . $i; $this->current->{$attribute} = $part->{$att}; } $attribute = "numsubs" . $i; $this->current->{$attribute} = $DB->count_records('turnitintooltwo_submissions', array('turnitintooltwoid' => $this->turnitintooltwo->id, 'submission_part' => $part->id)); $this->numsubs += $this->current->{$attribute}; $modulestring .= $modulestring != "(" ? " | " : ""; $modulestring .= $part->partname . ': ' . $part->tiiassignid; } $this->updating = true; } else { $this->updating = false; $instructordefaults = $instructor->get_instructor_defaults(); if (empty($instructordefaults)) { $instructordefaults = array(); } foreach ($instructordefaults as $k => $v) { $this->current->{$k} = $v; } } // Overwrite instructor default repository if admin is forcing repository setting switch ($config->repositoryoption) { case 2: // Force Standard Repository $this->current->submitpapersto = 1; break; case 3: // Force No Repository $this->current->submitpapersto = 0; break; } $modulestring .= ') -->'; $this->show_form($rubrics, $modulestring, $course->turnitin_cid); }