MDL-67818 check: Improved Check API to reduce boilerplate
This commit is contained in:
@@ -41,13 +41,22 @@ use core\check\result;
|
||||
class defaultuserrole extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_defaultuserrole_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
global $CFG;
|
||||
$this->id = 'defaultuserrole';
|
||||
$this->name = get_string('check_defaultuserrole_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/roles/define.php?action=view&roleid=' . $CFG->defaultuserroleid),
|
||||
get_string('userpolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,21 @@ use core\check\result;
|
||||
class frontpagerole extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'frontpagerole';
|
||||
$this->name = get_string('check_frontpagerole_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_frontpagerole_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=frontpagesettings#admin-defaultfrontpageroleid'),
|
||||
get_string('frontpagesettings', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,13 +41,21 @@ use core\check\result;
|
||||
class guestrole extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_guestrole_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'guestrole';
|
||||
$this->name = get_string('check_guestrole_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=userpolicies'),
|
||||
get_string('userpolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,21 @@ use core\check\result;
|
||||
class riskadmin extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'riskadmin';
|
||||
$this->name = get_string('check_riskadmin_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_riskadmin_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/roles/admins.php'),
|
||||
get_string('siteadministrators', 'role'));
|
||||
}
|
||||
|
||||
@@ -39,13 +39,21 @@ use core\check\result;
|
||||
class riskbackup extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_riskbackup_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'riskbackup';
|
||||
$this->name = get_string('check_riskbackup_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/roles/manage.php'),
|
||||
get_string('manageroles', 'role'));
|
||||
}
|
||||
|
||||
@@ -46,13 +46,21 @@ use core\check\result;
|
||||
class riskxss extends \core\check\check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_riskxss_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'riskxss';
|
||||
$this->name = get_string('check_riskxss_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/roles/manage.php'),
|
||||
get_string('manageroles', 'role'));
|
||||
}
|
||||
|
||||
+11
-19
@@ -41,21 +41,6 @@ abstract class check {
|
||||
*/
|
||||
protected $component = 'core';
|
||||
|
||||
/**
|
||||
* @var string $id - Should be unique identifier within a component.
|
||||
*/
|
||||
protected $id = '';
|
||||
|
||||
/**
|
||||
* @var string $name - Name for the check, should be the same regardless of state.
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* @var action_link - an optional link to a place to address the check.
|
||||
*/
|
||||
protected $actionlink = null;
|
||||
|
||||
/**
|
||||
* Get the frankenstyle component name
|
||||
*
|
||||
@@ -77,10 +62,16 @@ abstract class check {
|
||||
/**
|
||||
* Get the check's id
|
||||
*
|
||||
* @return string must be unique for it's component
|
||||
* This defaults to the base name of the class which is ok in the most
|
||||
* cases but if you have a check which can have multiple instances then
|
||||
* you should override this to be unique.
|
||||
*
|
||||
* @return string must be unique within a component
|
||||
*/
|
||||
public function get_id(): string {
|
||||
return $this->id;
|
||||
$class = get_class($this);
|
||||
$id = explode("\\", $class);
|
||||
return end($id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -103,7 +94,8 @@ abstract class check {
|
||||
* @return string
|
||||
*/
|
||||
public function get_name(): string {
|
||||
return $this->name;
|
||||
$id = $this->get_id();
|
||||
return get_string("check{$id}", $this->get_component());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,7 +104,7 @@ abstract class check {
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return $this->actionlink;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,12 +41,12 @@ use core\check\result;
|
||||
class configrw extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
global $CFG;
|
||||
$this->id = 'configrw';
|
||||
$this->name = get_string('check_configrw_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_configrw_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -47,12 +47,12 @@ use core\check\check;
|
||||
class displayerrors extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
$this->id = 'displayerrors';
|
||||
$this->name = get_string('check_displayerrors_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_displayerrors_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,12 +41,12 @@ use core\check\result;
|
||||
class nodemodules extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
global $CFG;
|
||||
$this->id = 'nodemodules';
|
||||
$this->name = get_string('check_nodemodules_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_nodemodules_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,13 +41,12 @@ use core\check\result;
|
||||
class preventexecpath extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
global $CFG;
|
||||
$this->id = 'preventexecpath';
|
||||
$this->name = get_string('check_preventexecpath_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_preventexecpath_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,14 +40,12 @@ use core\check\result;
|
||||
class unsecuredataroot extends \core\check\check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
global $CFG;
|
||||
|
||||
$this->id = 'unsecuredataroot';
|
||||
$this->name = get_string('check_unsecuredataroot_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_unsecuredataroot_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,12 +41,12 @@ use core\check\result;
|
||||
class vendordir extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
global $CFG;
|
||||
$this->id = 'vendordir';
|
||||
$this->name = get_string('check_vendordir_name', 'report_security');
|
||||
public function get_name(): string {
|
||||
return get_string('check_vendordir_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,13 +45,21 @@ use core\check\result;
|
||||
class cookiesecure extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_cookiesecure_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'cookiesecure';
|
||||
$this->name = get_string('check_cookiesecure_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=httpsecurity#admin-cookiesecure'),
|
||||
get_string('httpsecurity', 'admin'));
|
||||
}
|
||||
|
||||
@@ -47,13 +47,21 @@ use core\check\result;
|
||||
class crawlers extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_crawlers_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'crawlers';
|
||||
$this->name = get_string('check_crawlers_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-opentowebcrawlers'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,21 @@ use core\check\result;
|
||||
class emailchangeconfirmation extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'emailchangeconfirmation';
|
||||
$this->name = get_string('check_emailchangeconfirmation_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_emailchangeconfirmation_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-emailchangeconfirmation'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,21 @@ use core\check\result;
|
||||
class embed extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'embed';
|
||||
$this->name = get_string('check_embed_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_embed_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-allowobjectembed'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,13 +41,21 @@ use core\check\result;
|
||||
class mediafilterswf extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
global $CFG;
|
||||
$this->id = 'mediafilterswf';
|
||||
$this->name = get_string('check_mediafilterswf_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_mediafilterswf_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=managemediaplayers'),
|
||||
get_string('managemediaplayers', 'media'));
|
||||
}
|
||||
|
||||
@@ -41,13 +41,21 @@ use core\check\result;
|
||||
class openprofiles extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
public function get_name(): string {
|
||||
return get_string('check_openprofiles_name', 'report_security');
|
||||
}
|
||||
|
||||
$this->id = 'openprofiles';
|
||||
$this->name = get_string('check_openprofiles_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-forcelogin'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,21 @@ use core\check\result;
|
||||
class passwordpolicy extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'passwordpolicy';
|
||||
$this->name = get_string('check_passwordpolicy_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
public function get_name(): string {
|
||||
return get_string('check_passwordpolicy_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-passwordpolicy'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
@@ -41,14 +41,23 @@ use core\check\result;
|
||||
class webcron extends check {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Get the short check name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'webcron';
|
||||
$this->name = get_string('check_webcron_name', 'report_security');
|
||||
$this->actionlink = new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-cronclionly'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
public function get_name(): string {
|
||||
return get_string('check_webcron_name', 'report_security');
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to a place to action this
|
||||
*
|
||||
* @return action_link|null
|
||||
*/
|
||||
public function get_action_link(): ?\action_link {
|
||||
return new \action_link(
|
||||
new \moodle_url('/admin/settings.php?section=sitepolicies#admin-cronclionly'),
|
||||
get_string('sitepolicies', 'admin'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user