Add site admin capabilities for multisite

This commit is contained in:
Brian Miyaji
2014-01-24 03:22:48 +11:00
parent ef3136801f
commit 8a2fb895b1
3 changed files with 58 additions and 104 deletions

View File

@@ -0,0 +1,36 @@
<?php
function sportspress_admin_init() {
$post_types = array(
'sp_events',
'sp_calendars',
'sp_teams',
'sp_tables',
'sp_players',
'sp_lists',
'sp_staffs',
'sp_configs',
);
$caps = array(
'publish',
'delete',
'delete_others',
'delete_private',
'delete_published',
'edit',
'edit_others',
'edit_private',
'edit_published',
'read_private',
);
// Site Admin
$administrator = get_role( 'administrator' );
foreach( $post_types as $post_type ):
foreach ( $caps as $cap ):
$administrator->add_cap( $cap . '_' . $post_type );
endforeach;
endforeach;
}
add_action( 'admin_init', 'sportspress_admin_init' );

View File

@@ -1,112 +1,29 @@
<?php
function sportspress_activation_hook() {
$admin_capabilites = array(
'read_sp_events',
'read_private_sp_events',
'edit_sp_event',
'edit_sp_events',
'edit_published_sp_events',
'edit_private_sp_events',
'edit_others_sp_events',
'delete_sp_event',
'delete_published_sp_events',
'delete_private_sp_events',
'delete_others_sp_events',
'publish_sp_events',
'read_sp_calendars',
'read_private_sp_calendars',
'edit_sp_calendar',
'edit_sp_calendars',
'edit_published_sp_calendars',
'edit_private_sp_calendars',
'edit_others_sp_calendars',
'delete_sp_calendar',
'delete_published_sp_calendars',
'delete_private_sp_calendars',
'delete_others_sp_calendars',
'publish_sp_calendars',
'read_sp_teams',
'read_private_sp_teams',
'edit_sp_team',
'edit_sp_teams',
'edit_published_sp_teams',
'edit_private_sp_teams',
'edit_others_sp_teams',
'delete_sp_team',
'delete_published_sp_teams',
'delete_private_sp_teams',
'delete_others_sp_teams',
'publish_sp_teams',
'read_sp_tables',
'read_private_sp_tables',
'edit_sp_table',
'edit_sp_tables',
'edit_published_sp_tables',
'edit_private_sp_tables',
'edit_others_sp_tables',
'delete_sp_table',
'delete_published_sp_tables',
'delete_private_sp_tables',
'delete_others_sp_tables',
'publish_sp_tables',
'read_sp_players',
'read_private_sp_players',
'edit_sp_player',
'edit_sp_players',
'edit_published_sp_players',
'edit_private_sp_players',
'edit_others_sp_players',
'delete_sp_player',
'delete_published_sp_players',
'delete_private_sp_players',
'delete_others_sp_players',
'publish_sp_players',
'read_sp_lists',
'read_private_sp_lists',
'edit_sp_list',
'edit_sp_lists',
'edit_published_sp_lists',
'edit_private_sp_lists',
'edit_others_sp_lists',
'delete_sp_list',
'delete_published_sp_lists',
'delete_private_sp_lists',
'delete_others_sp_lists',
'publish_sp_lists',
'read_sp_staffs',
'read_private_sp_staffs',
'edit_sp_staff',
'edit_sp_staffs',
'edit_published_sp_staffs',
'edit_private_sp_staffs',
'edit_others_sp_staffs',
'delete_sp_staff',
'delete_published_sp_staffs',
'delete_private_sp_staffs',
'delete_others_sp_staffs',
'publish_sp_staffs',
'read_sp_configs',
'read_private_sp_configs',
'edit_sp_config',
'edit_sp_configs',
'edit_published_sp_configs',
'edit_private_sp_configs',
'edit_others_sp_configs',
'delete_sp_config',
'delete_published_sp_configs',
'delete_private_sp_configs',
'delete_others_sp_configs',
'publish_sp_configs',
// Team Manager
remove_role( 'sp_site_admin' );
add_role(
'sp_team_manager',
__( 'Team Manager', 'sportspress' ),
array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'read_sp_players' => true,
'edit_sp_players' => true,
'edit_others_sp_players' => true,
'delete_sp_player' => true,
'publish_sp_players' => true,
'read_sp_staffs' => true,
'edit_sp_staffs' => true,
'edit_others_sp_staffs' => true,
'delete_sp_staff' => true,
'publish_sp_staffs' => true
)
);
// Site Admin
$role = get_role( 'administrator' );
foreach( $admin_capabilities as $capability ):
$role->add_cap( $capability );
endforeach;
// Team Manager
remove_role( 'sp_team_manager' );
add_role(

View File

@@ -78,6 +78,7 @@ require_once dirname( __FILE__ ) . '/admin/hooks/after-setup-theme.php';
require_once dirname( __FILE__ ) . '/admin/hooks/wp-enqueue-scripts.php';
// Admin request actions
require_once dirname( __FILE__ ) . '/admin/hooks/admin-init.php';
require_once dirname( __FILE__ ) . '/admin/hooks/admin-menu.php';
require_once dirname( __FILE__ ) . '/admin/hooks/admin-enqueue-scripts.php';
require_once dirname( __FILE__ ) . '/admin/hooks/admin-print-styles.php';