Projects : mp-wp : mp-wp_genesis
1 | <?php |
2 | /** |
3 | * Manage link category administration actions. |
4 | * |
5 | * This page is accessed by the link management pages and handles the forms and |
6 | * AJAX processes for category actions. |
7 | * |
8 | * @package WordPress |
9 | * @subpackage Administration |
10 | */ |
11 | |
12 | /** Load WordPress Administration Bootstrap */ |
13 | require_once('admin.php'); |
14 | |
15 | wp_reset_vars(array('action', 'cat')); |
16 | |
17 | switch($action) { |
18 | |
19 | case 'addcat': |
20 | |
21 | check_admin_referer('add-link-category'); |
22 | |
23 | if ( !current_user_can('manage_categories') ) |
24 | wp_die(__('Cheatin’ uh?')); |
25 | |
26 | if ( wp_insert_term($_POST['name'], 'link_category', $_POST ) ) { |
27 | wp_redirect('edit-link-categories.php?message=1#addcat'); |
28 | } else { |
29 | wp_redirect('edit-link-categories.php?message=4#addcat'); |
30 | } |
31 | exit; |
32 | break; |
33 | |
34 | case 'delete': |
35 | $cat_ID = (int) $_GET['cat_ID']; |
36 | check_admin_referer('delete-link-category_' . $cat_ID); |
37 | |
38 | if ( !current_user_can('manage_categories') ) |
39 | wp_die(__('Cheatin’ uh?')); |
40 | |
41 | $cat_name = get_term_field('name', $cat_ID, 'link_category'); |
42 | $default_cat_id = get_option('default_link_category'); |
43 | |
44 | // Don't delete the default cats. |
45 | if ( $cat_ID == $default_cat_id ) |
46 | wp_die(sprintf(__("Can’t delete the <strong>%s</strong> category: this is the default one"), $cat_name)); |
47 | |
48 | wp_delete_term($cat_ID, 'link_category', array('default' => $default_cat_id)); |
49 | |
50 | $location = 'edit-link-categories.php'; |
51 | if ( $referer = wp_get_original_referer() ) { |
52 | if ( false !== strpos($referer, 'edit-link-categories.php') ) |
53 | $location = $referer; |
54 | } |
55 | |
56 | $location = add_query_arg('message', 2, $location); |
57 | |
58 | wp_redirect($location); |
59 | exit; |
60 | |
61 | break; |
62 | |
63 | case 'edit': |
64 | $title = __('Edit Category'); |
65 | $parent_file = 'link-manager.php'; |
66 | $submenu_file = 'edit-link-categories.php'; |
67 | require_once ('admin-header.php'); |
68 | $cat_ID = (int) $_GET['cat_ID']; |
69 | $category = get_term_to_edit($cat_ID, 'link_category'); |
70 | include('edit-link-category-form.php'); |
71 | include('admin-footer.php'); |
72 | exit; |
73 | break; |
74 | |
75 | case 'editedcat': |
76 | $cat_ID = (int) $_POST['cat_ID']; |
77 | check_admin_referer('update-link-category_' . $cat_ID); |
78 | |
79 | if ( !current_user_can('manage_categories') ) |
80 | wp_die(__('Cheatin’ uh?')); |
81 | |
82 | $location = 'edit-link-categories.php'; |
83 | if ( $referer = wp_get_original_referer() ) { |
84 | if ( false !== strpos($referer, 'edit-link-categories.php') ) |
85 | $location = $referer; |
86 | } |
87 | |
88 | $update = wp_update_term($cat_ID, 'link_category', $_POST); |
89 | |
90 | if ( $update && !is_wp_error($update) ) |
91 | $location = add_query_arg('message', 3, $location); |
92 | else |
93 | $location = add_query_arg('message', 5, $location); |
94 | |
95 | wp_redirect($location); |
96 | exit; |
97 | break; |
98 | } |
99 | |
100 | ?> |