function mnt_delete_object($src_name, $args, $object_id)
 {
     $object = '';
     $defaults = array('object_type' => '', 'object' => '');
     $args = array_intersect_key($defaults, (array) $args);
     extract($args);
     if (!$object_id) {
         return;
     }
     // don't allow deletion of menu items for posts which user can't edit
     if ('nav-menus.php' == $GLOBALS['pagenow'] && !is_content_administrator_rs() && !empty($_POST) && scoper_get_option('admin_nav_menu_filter_items')) {
         require_once dirname(__FILE__) . '/filters-admin-nav_menus_rs.php';
         _rs_mnt_modify_nav_menu_item($object_id, 'delete');
     }
     // could defer role/cache maint to speed potential bulk deletion, but script may be interrupted before admin_footer
     $this->item_deletion_aftermath(OBJECT_SCOPE_RS, $src_name, $object_id);
     if (empty($object_type)) {
         $object_type = cr_find_object_type($src_name, $object_id);
     }
     if ('post' == $src_name) {
         if ($post_type_obj = get_post_type_object($object_type)) {
             if ($post_type_obj->hierarchical) {
                 scoper_flush_cache_groups('get_pages');
             }
         }
     }
     scoper_flush_roles_cache(OBJECT_SCOPE_RS);
 }
 function act_check_admin_referer($referer_name)
 {
     if (!empty($_POST['tag_ID']) && 'update-tag_' . $_POST['tag_ID'] == $referer_name) {
         // filter category parent selection for Category editing
         if (!isset($_POST['tag_ID'])) {
             return;
         }
         $taxonomy = $_POST['taxonomy'];
         if (!($tx = get_taxonomy($taxonomy))) {
             return;
         }
         if (!$tx->hierarchical) {
             return;
         }
         $stored_term = get_term_by('id', $_POST['tag_ID'], $taxonomy);
         $selected_parent = $_POST['parent'];
         if (-1 == $selected_parent) {
             $selected_parent = 0;
         }
         if ($stored_term->parent != $selected_parent) {
             global $scoper;
             if ($tx_obj = get_taxonomy($taxonomy)) {
                 if ($selected_parent) {
                     $user_terms = $scoper->qualify_terms($tx_obj->cap->manage_terms, $taxonomy);
                     $permit = in_array($selected_parent, $user_terms);
                 } else {
                     $permit = cr_user_can($tx_obj->cap->manage_terms, 0, 0, array('skip_id_generation' => true, 'skip_any_term_check' => true));
                 }
             }
             if (!$permit) {
                 wp_die(__('You do not have permission to select that Category Parent', 'scoper'));
             }
         }
     } elseif ('update-nav_menu' == $referer_name) {
         $tx = get_taxonomy('nav_menu');
         $use_term_roles = scoper_get_otype_option('use_term_roles', 'post', 'nav_menu');
         if (empty($GLOBALS['current_user']->allcaps['edit_theme_options']) || !empty($use_term_roles['nav_menu'])) {
             if (!cr_user_can($tx->cap->manage_terms, $_REQUEST['menu'], 0, array('skip_id_generation' => true, 'skip_any_term_check' => true))) {
                 if ($_REQUEST['menu']) {
                     wp_die(__('You do not have permission to update that Navigation Menu', 'scoper'));
                 } else {
                     wp_die(__('You do not have permission to create new Navigation Menus', 'scoper'));
                 }
             }
         }
     } elseif (false !== strpos($referer_name, 'delete-menu_item_')) {
         if (scoper_get_option('admin_nav_menu_filter_items')) {
             $menu_item_id = substr($referer_name, strlen('delete-menu_item_'));
             require_once SCOPER_ABSPATH . '/admin/filters-admin-nav_menus_rs.php';
             _rs_mnt_modify_nav_menu_item($menu_item_id, 'delete');
         }
     } elseif ($referer_name == 'move-menu_item') {
         if (scoper_get_option('admin_nav_menu_filter_items')) {
             require_once SCOPER_ABSPATH . '/admin/filters-admin-nav_menus_rs.php';
             _rs_mnt_modify_nav_menu_item($_REQUEST['menu-item'], 'move');
         }
     } elseif ('add-bookmark' == $referer_name) {
         require_once dirname(__FILE__) . '/hardway-admin-links_rs.php';
         $link_category = !empty($_POST['link_category']) ? $_POST['link_category'] : array();
         $_POST['link_category'] = scoper_flt_newlink_category($link_category);
     } elseif (0 === strpos($referer_name, 'update-bookmark_')) {
         require_once dirname(__FILE__) . '/hardway-admin-links_rs.php';
         $link_category = !empty($_POST['link_category']) ? $_POST['link_category'] : array();
         $_POST['link_category'] = scoper_flt_link_category($link_category);
     }
 }