diff --git a/admin/tool/licensemanager/classes/helper.php b/admin/tool/licensemanager/classes/helper.php
index b71a9aac185..fbc67f61bfd 100644
--- a/admin/tool/licensemanager/classes/helper.php
+++ b/admin/tool/licensemanager/classes/helper.php
@@ -14,19 +14,11 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-/**
- * License manager helper class.
- *
- * @package tool_licensemanager
- * @copyright 2019 Tom Dickman
- * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
namespace tool_licensemanager;
use moodle_url;
-defined('MOODLE_INTERNAL') || die();
/**
* License manager helper class.
@@ -48,12 +40,7 @@ class helper {
* @return \moodle_url
*/
public static function get_licensemanager_url() : moodle_url {
- global $CFG;
-
- $url = new moodle_url($CFG->wwwroot . self::MANAGER_PATH,
- ['sesskey' => sesskey()]);
-
- return $url;
+ return new moodle_url(self::MANAGER_PATH);
}
/**
@@ -90,9 +77,8 @@ class helper {
* @return \moodle_url
*/
public static function get_create_license_url() : moodle_url {
- $url = new moodle_url(self::MANAGER_PATH,
- ['action' => manager::ACTION_CREATE, 'sesskey' => sesskey()]);
-
+ $url = self::get_licensemanager_url();
+ $url->params(['action' => manager::ACTION_CREATE]);
return $url;
}
@@ -104,9 +90,8 @@ class helper {
* @return \moodle_url
*/
public static function get_update_license_url(string $licenseshortname) : moodle_url {
- $url = new moodle_url(self::MANAGER_PATH,
- ['action' => manager::ACTION_UPDATE, 'license' => $licenseshortname, 'sesskey' => sesskey()]);
-
+ $url = self::get_licensemanager_url();
+ $url->params(['action' => manager::ACTION_UPDATE, 'license' => $licenseshortname]);
return $url;
}
diff --git a/admin/tool/licensemanager/classes/manager.php b/admin/tool/licensemanager/classes/manager.php
index 85d37544cf5..e7cbcc7c439 100644
--- a/admin/tool/licensemanager/classes/manager.php
+++ b/admin/tool/licensemanager/classes/manager.php
@@ -14,22 +14,12 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-/**
- * License manager.
- *
- * @package tool_licensemanager
- * @copyright 2019 Tom Dickman
- * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
namespace tool_licensemanager;
use tool_licensemanager\form\edit_license;
use license_manager;
use stdClass;
-defined('MOODLE_INTERNAL') || die();
-
/**
* License manager, main controller for tool_licensemanager.
*
@@ -95,18 +85,25 @@ class manager {
}
$viewmanager = true;
+ $redirect = helper::get_licensemanager_url();
switch ($action) {
case self::ACTION_DISABLE:
+ require_sesskey();
license_manager::disable($license);
+ redirect($redirect);
break;
case self::ACTION_ENABLE:
+ require_sesskey();
license_manager::enable($license);
+ redirect($redirect);
break;
case self::ACTION_DELETE:
+ require_sesskey();
license_manager::delete($license);
+ redirect($redirect);
break;
case self::ACTION_CREATE:
@@ -116,7 +113,9 @@ class manager {
case self::ACTION_MOVE_UP:
case self::ACTION_MOVE_DOWN:
+ require_sesskey();
$this->change_license_order($action, $license);
+ redirect($redirect);
break;
case self::ACTION_VIEW_LICENSE_MANAGER:
diff --git a/admin/tool/licensemanager/index.php b/admin/tool/licensemanager/index.php
index 123dd9db6e0..4c287337ebe 100644
--- a/admin/tool/licensemanager/index.php
+++ b/admin/tool/licensemanager/index.php
@@ -28,15 +28,9 @@ require_once($CFG->libdir . '/licenselib.php');
require_admin();
-$returnurl = \tool_licensemanager\helper::get_licensemanager_url();
-
$action = optional_param('action', '', PARAM_ALPHANUMEXT);
$license = optional_param('license', '', PARAM_SAFEDIR);
-if (!confirm_sesskey()) {
- redirect($returnurl);
-}
-
// Route via the manager.
$licensemanager = new \tool_licensemanager\manager();
$PAGE->set_context(context_system::instance());