| Server IP : 213.132.222.41 / Your IP : 216.73.216.254 Web Server : Apache System : Linux plesk4.nlhosting.net 6.1.0-0.deb11.50-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1~deb11u1 (2026-07-02) x86_64 User : thecovenant ( 10927) PHP Version : 8.3.32 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/vhosts/thecovenant.nl/httpdocs/wp-content/plugins/daisy-admin-bar/ |
Upload File : |
<?php
/**
* Plugin Name: Daisy Admin Bar
* Plugin URI: https://wordpress.org/plugins/daisy-admin-bar
* Description: Control visibility of the admin bar based on user roles.
* Version: 1.0.14
* Requires at least: 5.2
* Requires PHP: 7.2
* Author: DaisyPlugins
* Author URI: https://daisyplugins.com
* License: GPLv2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: daisy-admin-bar
*/
defined('ABSPATH') || exit;
// Register activation/deactivation hooks
register_activation_hook(__FILE__, 'daisy_admin_bar_activate');
register_deactivation_hook(__FILE__, 'daisy_admin_bar_deactivate');
function daisy_admin_bar_activate() {
// Set default options if needed
if (!get_option('daisy_admin_bar_roles')) {
update_option('daisy_admin_bar_roles', array());
}
}
function daisy_admin_bar_deactivate() {
// Deactivation cleanup if needed
}
// Register settings
add_action('admin_init', 'daisy_admin_bar_register_settings');
function daisy_admin_bar_register_settings() {
register_setting(
'daisy_admin_bar_settings_group',
'daisy_admin_bar_roles',
[
'type' => 'array',
'sanitize_callback' => 'daisy_admin_bar_sanitize_roles'
]
);
add_settings_section(
'daisy_admin_bar_main_section',
'',
'__return_empty_string',
'daisy-admin-bar'
);
add_settings_field(
'daisy_admin_bar_roles_field',
__('Hide Admin Bar for These Roles', 'daisy-admin-bar'),
'daisy_admin_bar_roles_field_callback',
'daisy-admin-bar',
'daisy_admin_bar_main_section'
);
}
function daisy_admin_bar_sanitize_roles($input) {
if (!is_array($input)) {
return array();
}
$output = array();
$editable_roles = get_editable_roles();
foreach ($input as $role) {
if (array_key_exists($role, $editable_roles)) {
$output[] = sanitize_key($role);
}
}
return $output;
}
function daisy_admin_bar_roles_field_callback() {
$selected_roles = get_option('daisy_admin_bar_roles', array());
$roles = get_editable_roles();
foreach ($roles as $role => $details) {
$name = translate_user_role($details['name']);
$checked = in_array($role, $selected_roles) ? 'checked="checked"' : '';
printf(
'<p><label><input type="checkbox" name="daisy_admin_bar_roles[]" value="%s" %s> %s</label></p>',
esc_attr($role),
$checked,
esc_html($name)
);
}
}
// Admin menu setup
add_action('admin_menu', 'daisy_admin_bar_add_menu_page');
function daisy_admin_bar_add_menu_page() {
add_menu_page(
__('Daisy Admin Bar', 'daisy-admin-bar'),
__('Daisy Admin Bar', 'daisy-admin-bar'),
'manage_options',
'daisy-admin-bar',
'daisy_admin_bar_settings_page',
'dashicons-remove',
80
);
}
function daisy_admin_bar_settings_page() {
if (!current_user_can('manage_options')) {
return;
}
wp_enqueue_style('daisy-admin-bar-styles');
wp_enqueue_script('daisy-admin-bar-scripts');
?>
<div class="wrap daisy-admin-bar-wrapper">
<div class="daisy-admin-bar-header">
<div class="daisy-admin-bar-title-section">
<h1><?php esc_html_e('Daisy Admin Bar', 'daisy-admin-bar'); ?></h1>
</div>
<div class="daisy-admin-bar-logo">
<span class="dashicons dashicons-remove"></span>
</div>
</div>
<div class="daisy-admin-bar-card-container">
<form action="options.php" method="post" class="daisy-admin-bar-settings-form">
<div class="daisy-admin-bar-card">
<div class="daisy-admin-bar-card-header">
<h2><span class="dashicons dashicons-remove"></span> <?php esc_html_e('Setting Options', 'daisy-admin-bar'); ?></h2>
</div>
<div class="daisy-admin-bar-card-body">
<p><?php esc_html_e('Select which user roles should have the admin bar hidden on the frontend:', 'daisy-admin-bar'); ?></p>
<?php
settings_fields('daisy_admin_bar_settings_group');
do_settings_sections('daisy-admin-bar');
?>
</div>
<div class="daisy-admin-bar-card-footer">
<?php submit_button(__('Save Settings', 'daisy-admin-bar'), 'primary large', 'submit', false); ?>
<div class="save-notice"><?php esc_html_e('Settings saved successfully!', 'daisy-admin-bar'); ?></div>
</div>
</div>
</form>
<div class="daisy-admin-bar-card">
<div class="daisy-admin-bar-card-header">
<h2><span class="dashicons dashicons-info"></span> <?php esc_html_e('About Plugin', 'daisy-admin-bar'); ?></h2>
</div>
<div class="daisy-admin-bar-card-body">
<div class="daisy-admin-bar-info-item">
<h3><span class="dashicons dashicons-admin-plugins"></span> <?php esc_html_e('Version', 'daisy-admin-bar'); ?></h3>
<p>1.0.12</p>
</div>
<div class="daisy-admin-bar-info-item">
<h3><span class="dashicons dashicons-admin-users"></span> <?php esc_html_e('Author', 'daisy-admin-bar'); ?></h3>
<p><a href="https://profiles.wordpress.org/daisyplugins/">DaisyPlugins</a></p>
</div>
<div class="daisy-admin-bar-info-item">
<h3><span class="dashicons dashicons-editor-help"></span> <?php esc_html_e('Need Help?', 'daisy-admin-bar'); ?></h3>
<p><a href="https://wordpress.org/support/plugin/daisy-admin-bar/"><?php esc_html_e('View support forum', 'daisy-admin-bar'); ?></a></p>
</div>
<div class="daisy-admin-bar-info-item">
<h3><span class="dashicons dashicons-heart"></span> <?php esc_html_e('Support Us!', 'daisy-admin-bar'); ?></h3>
<p><a href="https://wordpress.org/support/plugin/daisy-admin-bar/reviews/?filter=5#new-post" style="text-decoration: none;"><b><?php esc_html_e('Post a', 'daisy-admin-bar'); ?></b> <span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span> <b><?php esc_html_e('review', 'daisy-admin-bar'); ?></b></a></p>
</div>
</div>
</div>
</div>
</div>
<?php
}
// Enqueue assets
add_action('admin_enqueue_scripts', 'daisy_admin_bar_enqueue_assets');
function daisy_admin_bar_enqueue_assets($hook) {
if ('toplevel_page_daisy-admin-bar' !== $hook) {
return;
}
wp_register_style(
'daisy-admin-bar-styles',
plugins_url('assets/css/admin.css', __FILE__),
array(),
'1.0.12'
);
wp_register_script(
'daisy-admin-bar-scripts',
plugins_url('assets/js/admin.js', __FILE__),
array('jquery'),
'1.0.12',
true
);
}
// Plugin action links
add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'daisy_admin_bar_add_settings_link');
function daisy_admin_bar_add_settings_link($links) {
$settings_link = sprintf(
'<a href="%s">%s</a>',
esc_url(admin_url('admin.php?page=daisy-admin-bar')),
esc_html__('Settings', 'daisy-admin-bar')
);
array_unshift($links, $settings_link);
return $links;
}
// Control admin bar visibility
add_action('init', 'daisy_admin_bar_control_visibility');
function daisy_admin_bar_control_visibility() {
if (is_admin()) {
return;
}
$user = wp_get_current_user();
if (!($user instanceof WP_User)) {
return;
}
$disabled_roles = get_option('daisy_admin_bar_roles', array());
$user_roles = $user->roles;
foreach ($user_roles as $role) {
if (in_array($role, $disabled_roles)) {
add_filter('show_admin_bar', '__return_false');
break;
}
}
}
// Migration notice for old plugin
add_action('admin_notices', 'daisy_admin_bar_show_cleanup_notice');
function daisy_admin_bar_show_cleanup_notice() {
if (!is_plugin_active('hide-admin-navbar/hide-admin-navbar.php')) {
return;
}
$deactivate_url = wp_nonce_url(
add_query_arg([
'action' => 'deactivate',
'plugin' => 'hide-admin-navbar/hide-admin-navbar.php'
], admin_url('plugins.php')),
'deactivate-plugin_hide-admin-navbar/hide-admin-navbar.php'
);
$delete_url = wp_nonce_url(
add_query_arg([
'action' => 'delete-selected',
'checked[]' => 'hide-admin-navbar/hide-admin-navbar.php',
'plugin_status' => 'all'
], admin_url('plugins.php')),
'bulk-plugins'
);
?>
<div class="notice notice-warning">
<h3><?php esc_html_e('Plugin Cleanup Recommended', 'daisy-admin-bar'); ?></h3>
<p>
<?php esc_html_e('You now have "Daisy Admin Bar" active which replaces the old "Hide Admin Navbar" plugin. The old plugin is no longer needed and should be removed to prevent potential conflicts.', 'daisy-admin-bar'); ?>
</p>
<p>
<a href="<?php echo esc_url($deactivate_url); ?>" class="button">
<?php esc_html_e('Deactivate Hide Admin Navbar', 'daisy-admin-bar'); ?>
</a>
<a href="<?php echo esc_url($delete_url); ?>" class="button button-danger" onclick="return confirm('<?php esc_attr_e('Are you sure you want to delete the old plugin?', 'daisy-admin-bar'); ?>')">
<?php esc_html_e('Delete Hide Admin Navbar', 'daisy-admin-bar'); ?>
</a>
</p>
</div>
<?php
}
// Uninstall cleanup
register_uninstall_hook(__FILE__, 'daisy_admin_bar_uninstall');
function daisy_admin_bar_uninstall() {
delete_option('daisy_admin_bar_roles');
}