taxonomies->get($taxonomy) ) wp_die(__('Invalid taxonomy', 'scoper')); $is_administrator = is_administrator_rs($tx, 'user'); $role_bases = array(); if ( USER_ROLES_RS && ( $is_administrator || $scoper_admin->user_can_admin_terms($taxonomy) ) ) $role_bases []= ROLE_BASIS_USER; if ( GROUP_ROLES_RS && ( $is_administrator || $scoper_admin->user_can_admin_terms($taxonomy) || current_user_can('manage_groups') ) ) $role_bases []= ROLE_BASIS_GROUPS; if ( empty($role_bases) ) wp_die(__awp('Cheatin’ uh?')); require_once( dirname(__FILE__).'/admin-bulk_rs.php' ); require_once( dirname(__FILE__).'/role_assignment_lib_rs.php'); $role_assigner = init_role_assigner(); $nonce_id = 'scoper-assign-roles'; $agents = ScoperAdminBulk::get_agents($role_bases); $agent_names = ScoperAdminBulk::agent_names($agents); $agent_list_prefix = ScoperAdminBulk::agent_list_prefixes(); $agent_caption_plural = ScoperAdminBulk::agent_captions_plural($role_bases); $role_bases = array_keys($agents); $role_codes = ScoperAdminBulk::get_role_codes(); echo ''; // retrieve all terms to track hierarchical relationship, even though some may not be adminable by current user $val = ORDERBY_HIERARCHY_RS; $args = array( 'order_by' => $val ); $all_terms = $scoper->get_terms($taxonomy, UNFILTERED_RS, COLS_ALL_RS, 0, $args); // =========================== Submission Handling ========================= if ( isset($_POST['rs_submit']) ) $err = ScoperAdminBulk::role_submission(TERM_SCOPE_RS, ROLE_ASSIGNMENT_RS, $role_bases, $taxonomy, $role_codes, $agent_caption_plural, $nonce_id); else $err = 0; // =========================== Prepare Data =============================== //$term_roles [role_basis] [src_name] [object_id] [role_handle] [agent_id] = array( 'assign_for' => ENUM , 'inherited_from' => assignment_id) $term_roles = array(); foreach ( $role_bases as $role_basis ) $term_roles[$role_basis] = ScoperRoleAssignments::get_assigned_roles( TERM_SCOPE_RS, $role_basis, $taxonomy ); $tx_src = $scoper->data_sources->get( $tx->source ); if ( $col_id = $tx_src->cols->id ) { // determine which terms current user can admin if ( $admin_terms = $scoper->get_terms($taxonomy, ADMIN_TERMS_FILTER_RS, COL_ID_RS) ) { $admin_terms = array_fill_keys( $admin_terms, true ); } } else { $admin_terms = array(); } // =========================== Display UI =============================== ?>