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