and the password goes too...

This commit is contained in:
sbyrd 2024-11-12 17:13:52 -05:00
parent 2569cf45c7
commit e06060b955
1 changed files with 71 additions and 8 deletions

View File

@ -4,12 +4,24 @@
Plugin Name: Plugin Control Plugin Name: Plugin Control
Plugin URI: https://cooini.com/services/dev/wordpress Plugin URI: https://cooini.com/services/dev/wordpress
Description: This plugin will disable access to the plugins and other pages Description: This plugin will disable access to the plugins and other pages
Version: 1.0 Version: 1.1.1
Author: sbyrd Author: sbyrd
Author URI: https://cooini.com/ Author URI: https://cooini.com/
License: MINE-all-mine License: MINE-all-mine
*/ */
function plugin_controls_isUserManagingService() : bool
{
$users = ['clpsupport','clsupport'];
$user = wp_get_current_user();
if (in_array($user->user_login, $users) )
return true;
elseif (preg_match("/courselauncher.io$/", $user->user_email ))
return true;
else
return false;
}
function plugin_controls_remove_menus() function plugin_controls_remove_menus()
{ {
$allow_plugin_file = plugin_dir_path(__FILE__)."/.allow_plugin_list"; $allow_plugin_file = plugin_dir_path(__FILE__)."/.allow_plugin_list";
@ -18,14 +30,53 @@ function plugin_controls_remove_menus()
{ {
touch( $allow_plugin_file ); touch( $allow_plugin_file );
} }
// else
{
if (!file_exists($allow_plugin_file)) { if (file_exists($allow_plugin_file) and (time() - filectime($allow_plugin_file) >= 60 * 60 * 12 ))
remove_menu_page('plugins.php'); {
remove_menu_page('update-core.php'); // File is older than threshold, delete
unlink($allow_plugin_file);
}
} }
$menus_to_hide = ['Plugins'=>'plugins.php',
'Updates'=>"update-core.php",
'Activity Log'=>'aryo-activity-log/aryo-activity-log.php'
];
if (plugin_controls_isUserManagingService() )
{
// This is us
add_action( 'admin_notices', function() use ($menus_to_hide) {
?>
<div class="notice notice-warning">
<h3>Wordpress Management</h3>
<p>Following menus are only visible to us</p>
<ul>
<?php
foreach ($menus_to_hide as $name => $value)
{
?><li><?php echo $name ?></li><?php
} }
?>
</ul>
</div>
<?php
} );
return;
}
else
{
foreach($menus_to_hide as $name => $value)
{
remove_menu_page($value);
}
}
}
function plugin_page_control() function plugin_page_control()
{ {
$allow_plugin_file = plugin_dir_path(__FILE__)."/.allow_updates"; $allow_plugin_file = plugin_dir_path(__FILE__)."/.allow_updates";
@ -49,9 +100,21 @@ function plugin_page_control()
{ {
define( 'DISALLOW_FILE_EDIT', false ); // allow define( 'DISALLOW_FILE_EDIT', false ); // allow
define( 'DISALLOW_FILE_MODS', false ); define( 'DISALLOW_FILE_MODS', false );
if (plugin_controls_isUserManagingService())
{
add_action( 'admin_notices', function() {
?>
<div class="notice notice-warning">
<p>Updates, file edits, are currently unlocked.</p>
</div>
<?php
} );
}
} }
else else
{ {
define( 'DISALLOW_FILE_EDIT', true ); // disable define( 'DISALLOW_FILE_EDIT', true ); // disable
define( 'DISALLOW_FILE_MODS', true); define( 'DISALLOW_FILE_MODS', true);
} }