Skip to content

Commit

Permalink
UTCT-46: Supereditor role and Anonymous (SAML) users.
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Gilligan <[email protected]>
  • Loading branch information
UTCGilligan committed Dec 24, 2023
1 parent cebcb2c commit 5bba162
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions user/plugins/auth-mgr-plus/plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

class ampRoles {
const Administrator = 'Administrator';
const Supereditor = 'Supereditor';
const Editor = 'Editor';
const Contributor = 'Contributor';
}
Expand Down Expand Up @@ -241,8 +242,7 @@ function amp_require_capability( $capability ) {
$errorpage = file_get_contents('user/plugins/auth-mgr-plus/403-error.html');
yourls_status_header( 403 );
echo $errorpage;
die();
}
die(); }
// Otherwise, render errors in admin interface
yourls_redirect( yourls_admin_url( '?access=denied' ), 302 );
die();
Expand Down Expand Up @@ -276,8 +276,8 @@ function amp_have_capability( $capability ) {
if (amp_user_has_role($user, $rolename))
$user_caps = array_merge($user_caps, $rolecaps);
}
elseif ( isset( $amp_default_role ) && in_array ($amp_default_role, array_keys( $amp_role_capabilities ) ) )
$user_caps = $amp_role_capabilities [ $amp_default_role ];
elseif ( isset( $amp_default_role ) && in_array ($amp_default_role, array_keys( $amp_role_capabilities ) ) )
$user_caps = $amp_role_capabilities [ $amp_default_role ];

$user_caps = array_unique( $user_caps );
// Is the requested capability in this list?
Expand Down Expand Up @@ -427,7 +427,15 @@ function amp_env_check() {
global $amp_allowed_plugin_pages;

if ( !isset( $amp_anon_capabilities) ) {
$amp_anon_capabilities = array();
$amp_anon_capabilities = array(
ampCap::ShowAdmin,
ampCap::AddURL,
ampCap::EditURL,
ampCap::DeleteURL,
ampCap::ShareURL,
ampCap::APIu,
ampCap::ViewStats,
);
}

if ( !isset( $amp_role_capabilities) ) {
Expand All @@ -447,6 +455,19 @@ function amp_env_check() {
ampCap::ViewStats,
ampCap::ViewAll,
),
ampRoles::Supereditor => array(
ampCap::ShowAdmin,
ampCap::AddURL,
ampCap::EditURL,
ampCap::DeleteURL,
ampCap::ShareURL,
ampCap::Traceless,
ampCap::ManageAnonURL,
ampCap::ManageUsrsURL,
ampCap::APIu,
ampCap::ViewStats,
ampCap::ViewAll,
),
ampRoles::Editor => array(
ampCap::ShowAdmin,
ampCap::AddURL,
Expand Down Expand Up @@ -483,6 +504,7 @@ function amp_env_check() {

if ( !isset( $amp_allowed_plugin_pages ) ) {
$amp_allowed_plugin_pages = array(
'sleeky-backend'
);
}

Expand Down

0 comments on commit 5bba162

Please sign in to comment.