/**
  * Bulk category actions.
  *
  * @access public
  * @since 0.7.7
  * @uses current_user_can()
  * @uses check_admin_referer()
  * @uses wp_redirect()
  * @uses get_admin_url()
  * @uses get_current_blog_id()
  * @return void
  */
 public static function categoryManagement()
 {
     // Grab an instance of the Connections object.
     $instance = Connections_Directory();
     $action = '';
     if (isset($_REQUEST['action']) && '-1' !== $_REQUEST['action']) {
         $action = $_REQUEST['action'];
     } elseif (isset($_REQUEST['action2']) && '-1' !== $_REQUEST['action2']) {
         $action = $_REQUEST['action2'];
     }
     /*
      * Check whether user can edit Settings
      */
     if (current_user_can('connections_edit_categories')) {
         switch ($action) {
             case 'delete':
                 check_admin_referer('bulk-terms');
                 foreach ((array) $_POST['category'] as $id) {
                     $result = $instance->retrieve->category(absint($id));
                     $category = new cnCategory($result);
                     $category->delete();
                 }
                 break;
         }
         $url = get_admin_url(get_current_blog_id(), 'admin.php?page=connections_categories');
         if (isset($_REQUEST['paged']) && !empty($_REQUEST['paged'])) {
             $page = absint($_REQUEST['paged']);
             $url = add_query_arg(array('paged' => $page), $url);
         }
         wp_redirect($url);
         exit;
     } else {
         cnMessage::set('error', 'capability_categories');
     }
 }
Esempio n. 2
0
function processDeleteCategory($type)
{
	global $connections;
	
	switch ($type)
	{
		case 'delete':
			$id = esc_attr($_GET['id']);
			check_admin_referer('category_delete_' . $id);
			
			$result = $connections->retrieve->category($id);
			$category = new cnCategory($result);
			$category->delete();
		break;
		
		case 'bulk_delete':
			foreach ( (array) $_POST['category'] as $cat_ID )
			{
				$cat_ID = esc_attr($cat_ID);
				
				$result = $connections->retrieve->category(attribute_escape($cat_ID));
				$category = new cnCategory($result);
				$category->delete();
			}
		break;
	}
}