diff --git a/lang/en/webservice.php b/lang/en/webservice.php index 0017e1d85dc92..c5721de58230b 100644 --- a/lang/en/webservice.php +++ b/lang/en/webservice.php @@ -164,6 +164,7 @@ $string['requiredcapability'] = 'Required capability'; $string['requiredcapability_help'] = 'If set, only users with the required capability can access the service.'; $string['requiredcaps'] = 'Required capabilities'; +$string['resettokencomplete'] = 'The selected token was reset'; $string['resettokenconfirm'] = 'Do you really want to reset this web service key for {$a->user} on the service {$a->service}?'; $string['resettokenconfirmsimple'] = 'Do you really want to reset this key? Any saved links containing the old key will not work anymore.'; $string['response'] = 'Response'; diff --git a/lib/adminlib.php b/lib/adminlib.php index f1c4be464dbe0..43671806bd28a 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -10143,7 +10143,7 @@ public function output_html($data, $query='') { /// 8. Create token for the specific user $row = array(); - $url = new moodle_url("/admin/webservice/tokens.php?sesskey=" . sesskey() . "&action=create"); + $url = new moodle_url('/admin/webservice/tokens.php', ['action' => 'create']); $row[0] = "8. " . html_writer::tag('a', get_string('createtokenforuser', 'webservice'), array('href' => $url)); $row[1] = ""; diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 15fab891139a4..4c63c7b6aafe7 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -5174,7 +5174,7 @@ protected function generate_user_settings($courseid, $userid, $gstitle='usercurr } // Security keys. if ($currentuser && $enablemanagetokens) { - $url = new moodle_url('/user/managetoken.php', array('sesskey'=>sesskey())); + $url = new moodle_url('/user/managetoken.php'); $useraccount->add(get_string('securitykeys', 'webservice'), $url, self::TYPE_SETTING); } diff --git a/rss/renderer.php b/rss/renderer.php index 4d3ecb2f50875..79e7726abcb29 100644 --- a/rss/renderer.php +++ b/rss/renderer.php @@ -35,12 +35,10 @@ class core_rss_renderer extends plugin_renderer_base { * @return string html */ public function user_reset_rss_token_confirmation() { - global $CFG; - $managetokenurl = $CFG->wwwroot."/user/managetoken.php?sesskey=" . sesskey(); - $optionsyes = array('action' => 'resetrsstoken', 'confirm' => 1, 'sesskey' => sesskey()); - $optionsno = array('section' => 'webservicetokens', 'sesskey' => sesskey()); + $managetokenurl = '/user/managetoken.php'; + $optionsyes = ['action' => 'resetrsstoken', 'confirm' => 1]; $formcontinue = new single_button(new moodle_url($managetokenurl, $optionsyes), get_string('reset')); - $formcancel = new single_button(new moodle_url($managetokenurl, $optionsno), get_string('cancel'), 'get'); + $formcancel = new single_button(new moodle_url($managetokenurl), get_string('cancel'), 'get'); $html = $this->output->confirm(get_string('resettokenconfirmsimple', 'webservice'), $formcontinue, $formcancel); return $html; } @@ -69,8 +67,9 @@ public function user_rss_token_box($token) { $table->data = array(); if (!empty($token)) { - $reset = "wwwroot."/user/managetoken.php?sesskey=".sesskey(). - "&action=resetrsstoken\">".get_string('reset').""; + $reset = html_writer::link(new moodle_url('/user/managetoken.php', [ + 'action' => 'resetrsstoken', + ]), get_string('reset')); $table->data[] = array($token, $reset); diff --git a/user/managetoken.php b/user/managetoken.php index 390f70cfb63fb..87b4163fc25e9 100644 --- a/user/managetoken.php +++ b/user/managetoken.php @@ -26,7 +26,6 @@ require('../config.php'); require_login(); -require_sesskey(); $usercontext = context_user::instance($USER->id); @@ -57,7 +56,9 @@ $resetconfirmation = $wsrenderer->user_reset_token_confirmation($token); } else { // Delete the token that need to be regenerated. + require_sesskey(); $webservice->delete_user_ws_token($tokenid); + redirect($PAGE->url, get_string('resettokencomplete', 'core_webservice')); } } @@ -92,7 +93,9 @@ if (!$confirm) { $resetconfirmation = $rssrenderer->user_reset_rss_token_confirmation(); } else { + require_sesskey(); rss_delete_token($USER->id); + redirect($PAGE->url, get_string('resettokencomplete', 'core_webservice')); } } if (empty($resetconfirmation)) { diff --git a/webservice/classes/token_table.php b/webservice/classes/token_table.php index ad6a54b6b84bb..5643fae7ae719 100644 --- a/webservice/classes/token_table.php +++ b/webservice/classes/token_table.php @@ -117,7 +117,6 @@ public function col_operation($data) { $tokenpageurl = new \moodle_url( "/admin/webservice/tokens.php", [ - "sesskey" => sesskey(), "action" => "delete", "tokenid" => $data->id ] diff --git a/webservice/renderer.php b/webservice/renderer.php index 30c7fc0387957..3ad1001b1bb59 100644 --- a/webservice/renderer.php +++ b/webservice/renderer.php @@ -263,15 +263,10 @@ public function admin_service_function_list($functions, $service) { * @return string html */ public function user_reset_token_confirmation($token) { - global $CFG; - $managetokenurl = $CFG->wwwroot . "/user/managetoken.php?sesskey=" . sesskey(); - $optionsyes = array('tokenid' => $token->id, 'action' => 'resetwstoken', 'confirm' => 1, - 'sesskey' => sesskey()); - $optionsno = array('section' => 'webservicetokens', 'sesskey' => sesskey()); - $formcontinue = new single_button(new moodle_url($managetokenurl, $optionsyes), - get_string('reset')); - $formcancel = new single_button(new moodle_url($managetokenurl, $optionsno), - get_string('cancel'), 'get'); + $managetokenurl = '/user/managetoken.php'; + $optionsyes = ['tokenid' => $token->id, 'action' => 'resetwstoken', 'confirm' => 1]; + $formcontinue = new single_button(new moodle_url($managetokenurl, $optionsyes), get_string('reset')); + $formcancel = new single_button(new moodle_url($managetokenurl), get_string('cancel'), 'get'); $html = $this->output->confirm(get_string('resettokenconfirm', 'webservice', (object) array('user' => $token->firstname . " " . $token->lastname, 'service' => $token->name)), @@ -318,9 +313,10 @@ public function user_webservice_tokens_box($tokens, $userid, $documentation = fa foreach ($tokens as $token) { if ($token->creatorid == $userid) { - $reset = "wwwroot . "/user/managetoken.php?sesskey=" - . sesskey() . "&action=resetwstoken&tokenid=" . $token->id . "\">"; - $reset .= get_string('reset') . ""; + $reset = html_writer::link(new moodle_url('/user/managetoken.php', [ + 'action' => 'resetwstoken', + 'tokenid' => $token->id, + ]), get_string('reset')); $creator = $token->firstname . " " . $token->lastname; } else { //retrieve administrator name @@ -347,7 +343,7 @@ public function user_webservice_tokens_box($tokens, $userid, $documentation = fa if ($documentation) { $doclink = new moodle_url('/webservice/wsdoc.php', - array('id' => $token->id, 'sesskey' => sesskey())); + array('id' => $token->id)); $row[] = html_writer::tag('a', get_string('doc', 'webservice'), array('href' => $doclink)); } diff --git a/webservice/wsdoc.php b/webservice/wsdoc.php index 9c5002a26f452..9e118f9461128 100644 --- a/webservice/wsdoc.php +++ b/webservice/wsdoc.php @@ -27,7 +27,6 @@ require($CFG->dirroot . '/webservice/lib.php'); require_login(); -require_sesskey(); $usercontext = context_user::instance($USER->id); $tokenid = required_param('id', PARAM_INT); @@ -43,9 +42,7 @@ $PAGE->navbar->ignore_active(true); $PAGE->navbar->add(get_string('preferences'), new moodle_url('/user/preferences.php')); $PAGE->navbar->add(get_string('useraccount')); -$PAGE->navbar->add(get_string('securitykeys', 'webservice'), - new moodle_url('/user/managetoken.php', - array('id' => $tokenid, 'sesskey' => sesskey()))); +$PAGE->navbar->add(get_string('securitykeys', 'webservice'), new moodle_url('/user/managetoken.php')); $PAGE->navbar->add(get_string('wsdocumentation', 'webservice')); // check web service are enabled