From 97f8247b84bcf6d6547168613e83dd62a2c4d00a Mon Sep 17 00:00:00 2001 From: root Date: Wed, 20 May 2015 13:04:16 -0400 Subject: [PATCH] Sending possible modifications back to development --- activate.php | 49 ++++++++++++++++++++++++++++++++++++++----- controllers/admin.php | 19 +++++++++-------- glm-member-db.php | 3 +-- uninstall.php | 6 +++--- 4 files changed, 58 insertions(+), 19 deletions(-) diff --git a/activate.php b/activate.php index 181752a1..34e2bd21 100644 --- a/activate.php +++ b/activate.php @@ -98,10 +98,33 @@ class glmMembersPluginActivate extends glmPluginSupport } // Add user capabilties - // $this->addRoleCapability('glm_members_edit', false); + $this->addRoleCapability('glm_members_edit', + array( + 'author' => false, + 'contributor' => false, + 'editor' => true, + 'subscriber' => false + ) + ); + $this->addRoleCapability('glm_members_configure', + array( + 'author' => false, + 'contributor' => false, + 'editor' => false, + 'subscriber' => false + ) + ); + $this->addRoleCapability('glm_members_info', + array( + 'author' => false, + 'contributor' => false, + 'editor' => true, + 'subscriber' => false + ) + ); // Set current plugin version - update_option('glmMembersDatbasePluginVersion', GLM_MEMBERS_PLUGIN_VERSION); + update_option('glmMembersDatabasePluginVersion', GLM_MEMBERS_PLUGIN_VERSION); } } @@ -289,7 +312,13 @@ class glmMembersPluginActivate extends glmPluginSupport * Add a role capability to all current roles * * @param string $capability Name of capability to add - * @param string $default Whether capability should be on by default + * @param array $default Whether capability should be on by default + * array( + * 'author' => false, + * 'contributor' => false, + * 'editor' => false, + * 'subscriber' => false + * ) * * @return void * @access private @@ -305,12 +334,22 @@ class glmMembersPluginActivate extends glmPluginSupport // For each role object foreach ($roleObjects as $key => $role) { +//if ( isset($role->capabilities[$capability])) { +//$role->remove_cap($capability); +//} + // Check if the role exists in list of editable roles and capability // does not exist if (isset($roles[$key]) && ! isset($role->capabilities[$capability])) { + // Check for default value + $enabled = false; + if (isset($default[$role['name']])) { + $enabled = $default[$role['name']]; + } + // Add the role - $role->add_cap($capability, $default); + $role->add_cap($capability, $enabled); } } } @@ -319,4 +358,4 @@ class glmMembersPluginActivate extends glmPluginSupport } -?> \ No newline at end of file +?> diff --git a/controllers/admin.php b/controllers/admin.php index ed4c0377..f1c9e93a 100644 --- a/controllers/admin.php +++ b/controllers/admin.php @@ -268,7 +268,7 @@ class glmMembersAdmin extends GlmPluginSupport * its Dashboard menus. * * add menu function reference - * add_menu_page( $page_title, $menu_title, $capability, $menu_slub, $function, $icon_url, $position) + * add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position) * add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function) * * (no prameters) @@ -280,28 +280,29 @@ class glmMembersAdmin extends GlmPluginSupport { // Add a new main menu item for management and display of Members - add_menu_page('Members', 'Member DB', 'read', + add_menu_page('Members', 'Member DB', 'glm_members_edit', 'glm-members-admin-menu-members', array( $this, 'glmMembersAdminMenuMembers' - ), false, '20.2375'); + ), false, '91.123'); /* * Add a submenu for the "Members" section * Note that this uses the main menu item's slug for both the parent and menu slug - * to create a sub-menu with a title different from the main menu totle + * to create a sub-menu with a title different from the main menu title */ + add_submenu_page('glm-members-admin-menu-members', 'Members', - 'Members', 'glm_members_member', 'glm-members-admin-menu-members', + 'Members', 'glm_members_edit', 'glm-members-admin-menu-members', array( $this, 'glmMembersAdminMenuMembers' )); - // Add a submenu for TESTING + // Add a submenu for Member List add_submenu_page('glm-members-admin-menu-members', 'Member List', - '  Member List', 'glm_members_member', 'glm-members-admin-menu-members-list', + '  Member List', 'glm_members_edit', 'glm-members-admin-menu-members-list', array( $this, 'glmMembersAdminMenuMembersList' @@ -309,7 +310,7 @@ class glmMembersAdmin extends GlmPluginSupport // Add a submenu for the "Member" section add_submenu_page('glm-members-admin-menu-members', 'Member Information', - 'Add Member', 'glm_members_member', 'glm-members-admin-menu-member', + 'Add Member', 'glm_members_edit', 'glm-members-admin-menu-member', array( $this, 'glmMembersAdminMenuMember' @@ -327,7 +328,7 @@ class glmMembersAdmin extends GlmPluginSupport // Add a submenu for the "Shortcode Reference" section add_submenu_page('glm-members-admin-menu-members', 'Shortcode Reference', 'Shortcodes', - 'glm_members_shortcodes', 'glm-members-admin-menu-shortcodes', + 'glm_members_info', 'glm-members-admin-menu-shortcodes', array( $this, 'glmMembersAdminMenuShortcodes' diff --git a/glm-member-db.php b/glm-member-db.php index 81195ef4..105b5451 100644 --- a/glm-member-db.php +++ b/glm-member-db.php @@ -80,7 +80,6 @@ add_option('glmMembersDatabaseDbVersion', false); // Custom plugin post type (for wp_post entries) // define('GLM_MEMBERS_PLUGIN_POST_TYPE', ''); - /** * ******************************************************************************* * @@ -408,4 +407,4 @@ if (is_admin() && $notices && !GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) { } -?> \ No newline at end of file +?> diff --git a/uninstall.php b/uninstall.php index 168bbddb..a18599ff 100644 --- a/uninstall.php +++ b/uninstall.php @@ -22,12 +22,12 @@ if ( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit(); // Delete options -delete_option('glmMembersDatbasePluginVersion'); +delete_option('glmMembersDatabasePluginVersion'); delete_option('glmMembersDatabaseDbVersion'); delete_option('glmMembersAdminNotices'); // Same for Multi-site -delete_site_option('glmMembersDatbasePluginVersion'); +delete_site_option('glmMembersDatabasePluginVersion'); delete_site_option('glmMembersDatabaseDbVersion'); delete_site_option('glmMembersAdminNotices'); @@ -48,4 +48,4 @@ $sql = str_replace('{prefix}', GLM_MEMBERS_PLUGIN_DB_PREFIX, $sql); global $wpdb; $wpdb->query($sql); -?> \ No newline at end of file +?> -- 2.17.1