/** * Unregister courses * @return array 1 if unregistration was successfull */ public static function unregister_courses($courseids) { global $DB; // Ensure the current user is allowed to run this function $context = context_system::instance(); self::validate_context($context); require_capability('local/hub:unregistercourse', $context); $params = self::validate_parameters(self::unregister_courses_parameters(), array('courseids' => $courseids)); $transaction = $DB->start_delegated_transaction(); //retieve site url $token = optional_param('wstoken', '', PARAM_ALPHANUM); $hub = new local_hub(); $siteurl = $hub->get_communication(WSSERVER, REGISTEREDSITE, null, $token)->remoteurl; foreach ($params['courseids'] as $courseid) { $hub->unregister_course($courseid, $siteurl); //'true' indicates registration update mode } $transaction->allow_commit(); return true; }