コード例 #1
0
ファイル: vip-compat.php プロジェクト: Shelob9/eight-day-week
/**
 * Add capabilities to an existing role
 *
 * Usage: add_role_caps( 'contributor', array( 'upload_files' ) );
 *
 * @param string $role Role name
 * @param array $caps Capabilities to add to the role
 */
function add_role_caps($role, $caps)
{
    if (function_exists('wpcom_vip_add_role_caps')) {
        wpcom_vip_add_role_caps($role, $caps);
    } else {
        $filtered_caps = array();
        foreach ((array) $caps as $cap) {
            $filtered_caps[$cap] = true;
        }
        merge_role_caps($role, $filtered_caps);
    }
}
コード例 #2
0
 protected function add_capabilities()
 {
     $admin_roles = array('brightcove_manipulate_accounts', 'brightcove_set_site_default_account', 'brightcove_set_user_default_account', 'brightcove_get_user_default_account', 'brightcove_manipulate_playlists', 'brightcove_manipulate_videos');
     $editor_roles = array('brightcove_manipulate_playlists', 'brightcove_manipulate_videos');
     if (defined('WPCOM_IS_VIP_ENV') && WPCOM_IS_VIP_ENV) {
         wpcom_vip_add_role_caps('administrator', $admin_roles);
         wpcom_vip_add_role_caps('editor', $editor_roles);
     } else {
         $administrator = get_role('administrator');
         $editor = get_role('editor');
         foreach ($admin_roles as $admin_role) {
             $administrator->add_cap($admin_role);
         }
         foreach ($editor_roles as $editor_role) {
             $editor->add_cap($editor_role);
         }
     }
 }
コード例 #3
0
/**
 * Helper function for vip_contrib_add_upload_cap() to change the user roles
 *
 * @link http://vip.wordpress.com/documentation/allow-contributors-to-upload-images/ Allow Contributors to Upload Images
 * @see vip_contrib_add_upload_cap()
 */
function _vip_contrib_add_upload_cap()
{
    if (!is_admin() && !defined('XMLRPC_REQUEST')) {
        return;
    }
    wpcom_vip_add_role_caps('contributor', array('upload_files'));
}
コード例 #4
0
/**
 * Helper function for vip_contrib_add_upload_cap() to change the user roles
 *
 * @link http://vip.wordpress.com/documentation/allow-contributors-to-upload-images/ Allow Contributors to Upload Images
 * @see vip_contrib_add_upload_cap()
 */
function _vip_contrib_add_upload_cap()
{
    if (!is_admin() && !defined('XMLRPC_REQUEST')) {
        return;
    }
    if (function_exists('wpcom_vip_add_role_caps')) {
        wpcom_vip_add_role_caps('contributor', array('upload_files'));
    } else {
        // Temp debug to track down broken themes
        if (function_exists('send_vip_team_irc_alert')) {
            send_vip_team_irc_alert('[vip-helper fatal] ' . site_url() . ' add_role_cap no exist for _vip_contrib_add_upload_cap: ' . wp_debug_backtrace_summary());
        }
    }
}
コード例 #5
0
<?php

// Add capabilities to admin + editor + author roles for the Post Forking plugin
add_action('init', function () {
    if (!function_exists('wpcom_vip_add_role_caps')) {
        return;
    }
    wpcom_vip_add_role_caps('administrator', array('edit_forks', 'edit_fork', 'edit_others_forks', 'edit_private_forks', 'edit_published_forks', 'read_forks', 'read_private_forks', 'delete_forks', 'delete_others_forks', 'delete_private_forks', 'delete_published_forks', 'publish_forks'));
    wpcom_vip_add_role_caps('editor', array('edit_forks', 'edit_fork', 'edit_others_forks', 'edit_private_forks', 'edit_published_forks', 'read_forks', 'read_private_forks', 'delete_forks', 'delete_others_forks', 'delete_private_forks', 'delete_published_forks', 'publish_forks'));
    wpcom_vip_remove_role_caps('editor', array('edit_others_forks', 'delete_others_forks'));
    wpcom_vip_add_role_caps('author', array('edit_forks', 'edit_private_forks', 'edit_published_forks', 'read_forks', 'read_private_forks', 'delete_forks', 'delete_private_forks', 'delete_published_forks', 'publish_forks'));
    wpcom_vip_add_role_caps('contributor', array('edit_forks', 'edit_published_forks', 'read_forks', 'delete_forks'));
    wpcom_vip_remove_role_caps('contributor', array('edit_others_forks', 'edit_private_forks', 'read_private_forks', 'delete_others_forks', 'delete_private_forks', 'delete_published_forks', 'publish_forks'));
});