Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/rhodeworks/wp-content/plugins/nextgen-gallery/src/Legacy/admin/ |
Upload File : |
<?php // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } function nggallery_admin_roles() { if ( ! empty( $_POST ) ) { check_admin_referer( 'ngg_addroles' ); // now set or remove the capability. ngg_set_capability( $_POST['general'], 'NextGEN Gallery overview' ); ngg_set_capability( $_POST['tinymce'], 'NextGEN Use TinyMCE' ); ngg_set_capability( $_POST['add_gallery'], 'NextGEN Upload images' ); ngg_set_capability( $_POST['manage_gallery'], 'NextGEN Manage gallery' ); ngg_set_capability( $_POST['manage_others'], 'NextGEN Manage others gallery' ); ngg_set_capability( $_POST['manage_tags'], 'NextGEN Manage tags' ); ngg_set_capability( $_POST['edit_album'], 'NextGEN Edit album' ); ngg_set_capability( $_POST['change_style'], 'NextGEN Change style' ); ngg_set_capability( $_POST['change_options'], 'NextGEN Change options' ); ngg_set_capability( $_POST['attach_interface'], 'NextGEN Attach Interface' ); } ?> <div class="wrap"> <p> <?php esc_html_e( 'Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress.', 'nggallery' ); ?> <br /> </p> <?php wp_nonce_field( 'ngg_addroles' ); ?> <table class="form-table"> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Main NextGEN Gallery overview', 'nggallery' ); ?>:</th> <td><label for="general"><select name="general" id="general"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Gallery overview' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Use TinyMCE Button / Upload tab', 'nggallery' ); ?>:</th> <td><label for="tinymce"><select name="tinymce" id="tinymce"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Use TinyMCE' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Add gallery / Upload images', 'nggallery' ); ?>:</th> <td><label for="add_gallery"><select name="add_gallery" id="add_gallery"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Upload images' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Manage gallery', 'nggallery' ); ?>:</th> <td><label for="manage_gallery"><select name="manage_gallery" id="manage_gallery"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Manage gallery' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Manage others gallery', 'nggallery' ); ?>:</th> <td><label for="manage_others"><select name="manage_others" id="manage_others"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Manage others gallery' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Manage tags', 'nggallery' ); ?>:</th> <td><label for="manage_tags"><select name="manage_tags" id="manage_tags"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Manage tags' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Edit Album', 'nggallery' ); ?>:</th> <td><label for="edit_album"><select name="edit_album" id="edit_album"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Edit album' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Change style', 'nggallery' ); ?>:</th> <td><label for="change_style"><select name="change_style" id="change_style"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Change style' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'Change options', 'nggallery' ); ?>:</th> <td><label for="change_options"><select name="change_options" id="change_options"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Change options' ) ); ?></select></label></td> </tr> <tr valign="top"> <th scope="row"><?php esc_html_e( 'NextGEN Attach Interface', 'nggallery' ); ?>:</th> <td><label for="attach_interface"><select name="attach_interface" id="attach_interface"><?php wp_dropdown_roles( ngg_get_role( 'NextGEN Attach Interface' ) ); ?></select></label></td> </tr> </table> </div> <?php } function ngg_get_sorted_roles() { // This function returns all roles, sorted by user level (lowest to highest). global $wp_roles; $roles = $wp_roles->role_objects; $sorted = []; if ( class_exists( 'RoleManager' ) ) { foreach ( $roles as $role_key => $role_name ) { $role = get_role( $role_key ); if ( empty( $role ) ) { continue; } $role_user_level = array_reduce( array_keys( $role->capabilities ), [ 'WP_User', 'level_reduction' ], 0 ); $sorted[ $role_user_level ] = $role; } $sorted = array_values( $sorted ); } else { $role_order = [ 'subscriber', 'contributor', 'author', 'editor', 'administrator' ]; foreach ( $role_order as $role_key ) { $sorted[ $role_key ] = get_role( $role_key ); } } return $sorted; } function ngg_get_role( $capability ) { // This function return the lowest roles which has the capabilities. $check_order = ngg_get_sorted_roles(); $args = array_slice( func_get_args(), 1 ); $args = array_merge( [ $capability ], $args ); foreach ( $check_order as $check_role ) { if ( empty( $check_role ) ) { return false; } if ( call_user_func_array( [ &$check_role, 'has_cap' ], $args ) ) { return $check_role->name; } } return false; } function ngg_set_capability( $lowest_role, $capability ) { // This function set or remove the $capability. $check_order = ngg_get_sorted_roles(); $add_capability = false; foreach ( $check_order as $the_role ) { $role = $the_role->name; if ( $lowest_role == $role ) { $add_capability = true; } // If you rename the roles, then please use a role manager plugin. if ( empty( $the_role ) ) { continue; } $add_capability ? $the_role->add_cap( $capability ) : $the_role->remove_cap( $capability ); } } ?>