/** * Handles access restriction capability modifications from bulk-editing. * This is called once for each post that is included in bulk-editing. * The fields that are handled here are rendered through the * bulk_edit_custom_box() method in this class. * * @param int $post_id */ public static function save_post($post_id) { if (isset($_REQUEST['capabilities-action'])) { if (wp_verify_nonce($_REQUEST['bulk-post-capability-nonce'], 'post-capability')) { $field = Groups_Post_Access::POSTMETA_PREFIX . 'bulk-' . Groups_Post_Access::READ_POST_CAPABILITY; if (!empty($_REQUEST[$field]) && is_array($_REQUEST[$field])) { if (Groups_Access_Meta_Boxes::user_can_restrict()) { $valid_read_caps = Groups_Access_Meta_Boxes::get_valid_read_caps_for_user(); foreach ($_REQUEST[$field] as $capability_name) { if ($capability = Groups_Capability::read_by_capability($capability_name)) { if (in_array($capability->capability, $valid_read_caps)) { switch ($_REQUEST['capabilities-action']) { case 'add-capability': Groups_Post_Access::create(array('post_id' => $post_id, 'capability' => $capability->capability)); break; case 'remove-capability': Groups_Post_Access::delete($post_id, $capability->capability); break; } } } } } } } } }