. /** * Show a user the policy documents to be agreed to. * * Script parameters: * agreedoc= Policy version id which have been accepted by the user. * behalfid= The user id to view the policy version as (such as child's id). * * @package tool_policy * @copyright 2018 Sara Arjona (sara@moodle.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ use tool_policy\api; use tool_policy\output\page_agreedocs; // Do not check for the site policies in require_login() to avoid the redirect loop. define('NO_SITEPOLICY_CHECK', true); // @codingStandardsIgnoreLine See the {@link page_agreedocs} for the access control checks. require(__DIR__.'/../../../config.php'); $submit = optional_param('submit', null, PARAM_NOTAGS); $cancel = optional_param('cancel', null, PARAM_NOTAGS); $agreedocs = optional_param_array('agreedoc', null, PARAM_INT); $behalfid = optional_param('userid', null, PARAM_INT); $PAGE->set_context(context_system::instance()); $PAGE->set_pagelayout('standard'); $PAGE->set_url('/admin/tool/policy/index.php'); $PAGE->set_popup_notification_allowed(false); if (isloggedin() && !isguestuser()) { // Existing user. $haspermissionagreedocs = api::can_accept_policies($behalfid); } else { // New user. $haspermissionagreedocs = true; } if (!$haspermissionagreedocs) { $outputpage = new \tool_policy\output\page_nopermission($behalfid); } else if ($cancel) { redirect(new moodle_url('/')); } else { if (!$behalfid && \core\session\manager::is_loggedinas()) { $behalfid = $USER->id; } $outputpage = new \tool_policy\output\page_agreedocs($agreedocs, $behalfid, $submit); } $output = $PAGE->get_renderer('tool_policy'); echo $output->header(); echo $output->render($outputpage); echo $output->footer();