|
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 ?> |