From ac623b61ba321a844d5c187124d84e6fd13bf1a8 Mon Sep 17 00:00:00 2001 From: AndreaChirulescu Date: Mon, 7 Feb 2022 20:50:53 +0100 Subject: Made giglog visible for admins only --- giglogadmin.php | 190 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 98 insertions(+), 92 deletions(-) diff --git a/giglogadmin.php b/giglogadmin.php index 71d7849..c0dfa49 100644 --- a/giglogadmin.php +++ b/giglogadmin.php @@ -1,21 +1,21 @@ // SPDX-FileCopyrightText: 2021 Harald Eilertsen @@ -61,12 +61,15 @@ if ( !class_exists( 'GiglogAdmin_Plugin' ) ) { } /** - * Adds the 'Giglog' top level menu to the left side WordPress admin - * menu. Other subpages will come later. - * - * @return void - */ + * Adds the 'Giglog' top level menu to the left side WordPress admin + * menu. Other subpages will come later. + * + * @return void + */ static function add_admin_pages(): void { + if ( ! current_user_can( 'manage_options' ) ) { + return; + } $top = add_menu_page( "Giglog admin", // Page title "Giglog", // Menu title @@ -76,74 +79,77 @@ if ( !class_exists( 'GiglogAdmin_Plugin' ) ) { 'dashicons-tickets-alt', // Icon url 11); // Position, just below 'Media' - add_action( 'load-' . $top, array( 'GiglogAdmin_AdminPage', 'update' ) ); - - $import_hook = add_submenu_page( - "giglog", // parent slug - "Import gigs", // page title - "Import gigs", // menu title - "upload_files", // required capability - "giglog_import", // menu slug - array( 'GiglogAdmin_ImportGigsPage', 'render_html' )); // callable - - if ($import_hook !== false) { - add_action( - 'load-' . $import_hook, - array( 'GiglogAdmin_ImportGigsPage', 'submit_form' ) ); - } - - wp_register_style( 'css_style', plugins_url( '/includes/css/main.css', __FILE__ ) ); - wp_enqueue_style('css_style'); - } - - static function add_help_pages(): void { - add_menu_page( - "Help for ET users", // Page title - "Help for ET users", // Menu title - "upload_files", // Will show for users with this capability - "helpfiles", // menu slug - array( 'Instructions_Page', 'render_instr_html' ), // callable - 'dashicons-tickets-alt', // Icon url - 10); // Position, just below 'Media' - - add_submenu_page( - "helpfiles", // parent slug - "Reviewer help files", // page title - "Reviewer help files", // menu title - "upload_files", // required capability - "reviewer_help", // menu slug - array( 'Instructions_Reviewers', 'render_instr_rev_html' )); // callable - - add_submenu_page( - "helpfiles", // parent slug - "Photogalleries help files", // page title - "Photogalleries help files", // menu title - "upload_files", // required capability - "photog_help", // menu slug - array( 'Instructions_Photogs', 'render_instr_photo_html' )); // callable - } - - /* - * Show menus based on whether user is logged in or not. - * - * Giglog admin pages should only be visible for logged in users/can eventually - * be customized by role if needed - */ - static function nav_menu_args( array $args = [] ) : array { - if ( is_user_logged_in() ) { - $args['menu'] = 'Loggedusers'; - } else { - $args['menu'] = 'Notloggedusers'; - } - - return $args; - } - - } - - register_activation_hook( __FILE__, array( 'GiglogAdmin_Plugin', 'activate' )); - register_deactivation_hook( __FILE__, array( 'GiglogAdmin_Plugin', 'deactivate' )); - - GiglogAdmin_Plugin::init(); -} -?> + add_action( 'load-' . $top, array( 'GiglogAdmin_AdminPage', 'update' ) ); + + $import_hook = add_submenu_page( + "giglog", // parent slug + "Import gigs", // page title + "Import gigs", // menu title + "upload_files", // required capability + "giglog_import", // menu slug + array( 'GiglogAdmin_ImportGigsPage', 'render_html' )); // callable + + if ($import_hook !== false) { + add_action( + 'load-' . $import_hook, + array( 'GiglogAdmin_ImportGigsPage', 'submit_form' ) ); + } + + wp_register_style( 'css_style', plugins_url( '/includes/css/main.css', __FILE__ ) ); + wp_enqueue_style('css_style'); + } + + static function add_help_pages(): void { + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + add_menu_page( + "Help for ET users", // Page title + "Help for ET users", // Menu title + "upload_files", // Will show for users with this capability + "helpfiles", // menu slug + array( 'Instructions_Page', 'render_instr_html' ), // callable + 'dashicons-tickets-alt', // Icon url + 10); // Position, just below 'Media' + + add_submenu_page( + "helpfiles", // parent slug + "Reviewer help files", // page title + "Reviewer help files", // menu title + "upload_files", // required capability + "reviewer_help", // menu slug + array( 'Instructions_Reviewers', 'render_instr_rev_html' )); // callable + + add_submenu_page( + "helpfiles", // parent slug + "Photogalleries help files", // page title + "Photogalleries help files", // menu title + "upload_files", // required capability + "photog_help", // menu slug + array( 'Instructions_Photogs', 'render_instr_photo_html' )); // callable + } + + /* + * Show menus based on whether user is logged in or not. + * + * Giglog admin pages should only be visible for logged in users/can eventually + * be customized by role if needed + */ + static function nav_menu_args( array $args = [] ) : array { + if ( is_user_logged_in() ) { + $args['menu'] = 'Loggedusers'; + } else { + $args['menu'] = 'Notloggedusers'; + } + + return $args; + } + + } + + register_activation_hook( __FILE__, array( 'GiglogAdmin_Plugin', 'activate' )); + register_deactivation_hook( __FILE__, array( 'GiglogAdmin_Plugin', 'deactivate' )); + + GiglogAdmin_Plugin::init(); + } + ?> -- cgit v1.2.3