. /** * A page displaying the user's contact requests. * * This is a temporary (well, should be) page until the new UI is introduced for 3.6. * * @package core_message * @copyright 2018 Mark Nelson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('../config.php'); require_once($CFG->dirroot . '/message/externallib.php'); require_login(null, false); if (isguestuser()) { redirect($CFG->wwwroot); } if (empty($CFG->messaging)) { print_error('disabled', 'message'); } $id = optional_param('id', '', PARAM_INT); // The id of the request. $action = optional_param('action', '', PARAM_ALPHA); // Confirm the request is able to be approved/disapproved. if ($id) { $request = $DB->get_record('message_contact_requests', ['id' => $id, 'requesteduserid' => $USER->id], '*', MUST_EXIST); } // Use external functions as these are what we will be using in the new UI. if ($id && $action && confirm_sesskey()) { if ($action == 'approve') { core_message_external::confirm_contact_request($request->userid, $USER->id); } else if ($action == 'decline') { core_message_external::decline_contact_request($request->userid, $USER->id); } redirect(new moodle_url('/message/pendingcontactrequests.php')); } $table = new html_table(); $headers = []; $headers[] = ''; $headers[] = ''; $table->head = $headers; // Use external functions as these are what we will be using in the new UI. if ($contactrequests = core_message_external::get_contact_requests($USER->id)) { foreach ($contactrequests as $contactrequest) { $approvelink = new moodle_url('/message/pendingcontactrequests.php', ['id' => $contactrequest->contactrequestid, 'action' => 'approve', 'sesskey' => sesskey()]); $declinelink = new moodle_url('/message/pendingcontactrequests.php', ['id' => $contactrequest->contactrequestid, 'action' => 'decline', 'sesskey' => sesskey()]); $cells = array(); $cells[] = fullname($contactrequest); $cells[] = html_writer::link($approvelink, get_string('approve')) . " | " . html_writer::link($declinelink, get_string('cancel')); $table->data[] = new html_table_row($cells); } } $url = new moodle_url('/message/pendingcontactrequests.php'); $PAGE->set_url($url); $PAGE->set_context(context_user::instance($USER->id)); $PAGE->set_pagelayout('standard'); $PAGE->set_title('Pending contact requests'); $PAGE->set_heading('Pending contact requests'); echo $OUTPUT->header(); echo html_writer::table($table); echo $OUTPUT->footer();