109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
* WordPress AJAX Process Execution. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
* @package WordPress |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
* @subpackage Administration |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
* Executing AJAX process. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
define('DOING_AJAX', true); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
define('WP_ADMIN', true); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
require_once('../wp-load.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
require_once('includes/admin.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
@header('Content-Type: text/html; charset=' . get_option('blog_charset')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
do_action('admin_init'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
if ( ! is_user_logged_in() ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
if ( $_POST['action'] == 'autosave' ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
$id = isset($_POST['post_ID'])? (int) $_POST['post_ID'] : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
if ( ! $id ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
$message = sprintf( __('<strong>ALERT: You are logged out!</strong> Could not save draft. <a href="%s" target="blank">Please log in again.</a>'), wp_login_url() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
'what' => 'autosave', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
'id' => $id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
'data' => $message |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
if ( !empty( $_POST['action']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
do_action( 'wp_ajax_nopriv_' . $_POST['action'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
if ( isset( $_GET['action'] ) ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
switch ( $action = $_GET['action'] ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
case 'ajax-tag-search' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
if ( !current_user_can( 'edit_posts' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
$s = $_GET['q']; // is this slashed already? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
if ( isset($_GET['tax']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
$taxonomy = sanitize_title($_GET['tax']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
if ( false !== strpos( $s, ',' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
$s = explode( ',', $s ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
$s = $s[count( $s ) - 1]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
$s = trim( $s ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
if ( strlen( $s ) < 2 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
die; // require 2 chars for matching |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
$results = $wpdb->get_col( "SELECT t.name FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = '$taxonomy' AND t.name LIKE ('%" . $s . "%')" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
echo join( $results, "\n" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
case 'wp-compression-test' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
if ( !current_user_can( 'manage_options' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
if ( ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
update_site_option('can_compress_scripts', 0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
if ( isset($_GET['test']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
header( 'Cache-Control: no-cache, must-revalidate, max-age=0' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
header( 'Pragma: no-cache' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
header('Content-Type: application/x-javascript; charset=UTF-8'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
$force_gzip = ( defined('ENFORCE_GZIP') && ENFORCE_GZIP ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
$test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
if ( 1 == $_GET['test'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
echo $test_str; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
} elseif ( 2 == $_GET['test'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
header('Content-Encoding: deflate'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
$out = gzdeflate( $test_str, 1 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
header('Content-Encoding: gzip'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
$out = gzencode( $test_str, 1 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
echo $out; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
} elseif ( 'no' == $_GET['test'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
update_site_option('can_compress_scripts', 0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
} elseif ( 'yes' == $_GET['test'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
update_site_option('can_compress_scripts', 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
default : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
do_action( 'wp_ajax_' . $_GET['action'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
endswitch; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
* Sends back current comment total and new page links if they need to be updated. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
* Contrary to normal success AJAX response ("1"), die with time() on success. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
* @since 2.7 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
* @param int $comment_id |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
* @return die |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
function _wp_ajax_delete_comment_response( $comment_id ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
$total = (int) @$_POST['_total']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
$per_page = (int) @$_POST['_per_page']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
$page = (int) @$_POST['_page']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
$url = esc_url_raw( @$_POST['_url'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
// JS didn't send us everything we need to know. Just die with success message |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
if ( !$total || !$per_page || !$page || !$url ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
die( (string) time() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
if ( --$total < 0 ) // Take the total from POST and decrement it (since we just deleted one) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
$total = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
if ( 0 != $total % $per_page && 1 != mt_rand( 1, $per_page ) ) // Only do the expensive stuff on a page-break, and about 1 other time per page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
die( (string) time() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
$status = 'total_comments'; // What type of comment count are we looking for? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
$parsed = parse_url( $url ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
if ( isset( $parsed['query'] ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
parse_str( $parsed['query'], $query_vars ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
if ( !empty( $query_vars['comment_status'] ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
$status = $query_vars['comment_status']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
$comment_count = wp_count_comments(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
$time = time(); // The time since the last comment count |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
$total = $comment_count->$status; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
// else use the decremented value from above |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
$page_links = paginate_links( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
'base' => add_query_arg( 'apage', '%#%', $url ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
'format' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
'prev_text' => __('«'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
'next_text' => __('»'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
'total' => ceil($total / $per_page), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
'current' => $page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
'what' => 'comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
'id' => $comment_id, // here for completeness - not used |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
'supplemental' => array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
'pageLinks' => $page_links, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
'total' => $total, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
'time' => $time |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
$id = isset($_POST['id'])? (int) $_POST['id'] : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
switch ( $action = $_POST['action'] ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
case 'delete-comment' : // On success, die with time() instead of 1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
check_ajax_referer( "delete-comment_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
if ( !$comment = get_comment( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
die( (string) time() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
if ( isset($_POST['spam']) && 1 == $_POST['spam'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
if ( 'spam' == wp_get_comment_status( $comment->comment_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
die( (string) time() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
$r = wp_set_comment_status( $comment->comment_ID, 'spam' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
$r = wp_delete_comment( $comment->comment_ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
if ( $r ) // Decide if we need to send back '1' or a more complicated response including page links and comment counts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
_wp_ajax_delete_comment_response( $comment->comment_ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
die( '0' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
case 'delete-cat' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
check_ajax_referer( "delete-category_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
$cat = get_category( $id ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
if ( !$cat || is_wp_error( $cat ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
if ( wp_delete_category( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
case 'delete-tag' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
check_ajax_referer( "delete-tag_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
if ( !empty($_POST['taxonomy']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
$taxonomy = $_POST['taxonomy']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
$taxonomy = 'post_tag'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
$tag = get_term( $id, $taxonomy ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
if ( !$tag || is_wp_error( $tag ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
if ( wp_delete_term($id, $taxonomy)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
case 'delete-link-cat' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
check_ajax_referer( "delete-link-category_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
$cat = get_term( $id, 'link_category' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
if ( !$cat || is_wp_error( $cat ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
$cat_name = get_term_field('name', $id, 'link_category'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
$default = get_option('default_link_category'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
// Don't delete the default cats. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
if ( $id == $default ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
$x = new WP_AJAX_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
'what' => 'link-cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
'id' => $id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
'data' => new WP_Error( 'default-link-cat', sprintf(__("Can’t delete the <strong>%s</strong> category: this is the default one"), $cat_name) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
$r = wp_delete_term($id, 'link_category', array('default' => $default)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
if ( !$r ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
if ( is_wp_error($r) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
$x = new WP_AJAX_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
'what' => 'link-cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
'id' => $id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
'data' => $r |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
case 'delete-link' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
check_ajax_referer( "delete-bookmark_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
if ( !current_user_can( 'manage_links' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
$link = get_bookmark( $id ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
if ( !$link || is_wp_error( $link ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
278 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
279 |
if ( wp_delete_link( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
280 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
281 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
282 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
283 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
284 |
case 'delete-meta' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
285 |
check_ajax_referer( "delete-meta_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
286 |
if ( !$meta = get_post_meta_by_id( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
287 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
288 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
289 |
if ( !current_user_can( 'edit_post', $meta->post_id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
290 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
291 |
if ( delete_meta( $meta->meta_id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
292 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
293 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
294 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
295 |
case 'delete-post' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
296 |
check_ajax_referer( "{$action}_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
297 |
if ( !current_user_can( 'delete_post', $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
298 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
299 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
300 |
if ( !get_post( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
301 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
302 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
303 |
if ( wp_delete_post( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
304 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
305 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
306 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
307 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
308 |
case 'delete-page' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
309 |
check_ajax_referer( "{$action}_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
310 |
if ( !current_user_can( 'delete_page', $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
311 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
312 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
313 |
if ( !get_page( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
314 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
315 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
316 |
if ( wp_delete_post( $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
317 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
318 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
319 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
320 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
321 |
case 'dim-comment' : // On success, die with time() instead of 1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
322 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
323 |
if ( !$comment = get_comment( $id ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
324 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
325 |
'what' => 'comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
326 |
'id' => new WP_Error('invalid_comment', sprintf(__('Comment %d does not exist'), $id)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
327 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
328 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
329 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
330 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
331 |
if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
332 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
333 |
if ( !current_user_can( 'moderate_comments' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
334 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
335 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
336 |
$current = wp_get_comment_status( $comment->comment_ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
337 |
if ( $_POST['new'] == $current ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
338 |
die( (string) time() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
339 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
340 |
$r = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
341 |
if ( in_array( $current, array( 'unapproved', 'spam' ) ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
342 |
check_ajax_referer( "approve-comment_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
343 |
$result = wp_set_comment_status( $comment->comment_ID, 'approve', true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
344 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
345 |
check_ajax_referer( "unapprove-comment_$id" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
346 |
$result = wp_set_comment_status( $comment->comment_ID, 'hold', true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
347 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
348 |
if ( is_wp_error($result) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
349 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
350 |
'what' => 'comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
351 |
'id' => $result |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
352 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
353 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
354 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
355 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
356 |
// Decide if we need to send back '1' or a more complicated response including page links and comment counts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
357 |
_wp_ajax_delete_comment_response( $comment->comment_ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
358 |
die( '0' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
359 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
360 |
case 'add-category' : // On the Fly |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
361 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
362 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
363 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
364 |
$names = explode(',', $_POST['newcat']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
365 |
if ( 0 > $parent = (int) $_POST['newcat_parent'] ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
366 |
$parent = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
367 |
$post_category = isset($_POST['post_category'])? (array) $_POST['post_category'] : array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
368 |
$checked_categories = array_map( 'absint', (array) $post_category ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
369 |
$popular_ids = isset( $_POST['popular_ids'] ) ? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
370 |
array_map( 'absint', explode( ',', $_POST['popular_ids'] ) ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
371 |
false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
372 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
373 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
374 |
foreach ( $names as $cat_name ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
375 |
$cat_name = trim($cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
376 |
$category_nicename = sanitize_title($cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
377 |
if ( '' === $category_nicename ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
378 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
379 |
$cat_id = wp_create_category( $cat_name, $parent ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
380 |
$checked_categories[] = $cat_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
381 |
if ( $parent ) // Do these all at once in a second |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
382 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
383 |
$category = get_category( $cat_id ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
384 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
385 |
wp_category_checklist( 0, $cat_id, $checked_categories, $popular_ids ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
386 |
$data = ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
387 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
388 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
389 |
'what' => 'category', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
390 |
'id' => $cat_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
391 |
'data' => $data, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
392 |
'position' => -1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
393 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
394 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
395 |
if ( $parent ) { // Foncy - replace the parent and all its children |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
396 |
$parent = get_category( $parent ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
397 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
398 |
dropdown_categories( 0, $parent ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
399 |
$data = ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
400 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
401 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
402 |
'what' => 'category', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
403 |
'id' => $parent->term_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
404 |
'old_id' => $parent->term_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
405 |
'data' => $data, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
406 |
'position' => -1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
407 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
408 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
409 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
410 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
411 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
412 |
case 'add-link-category' : // On the Fly |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
413 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
414 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
415 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
416 |
$names = explode(',', $_POST['newcat']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
417 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
418 |
foreach ( $names as $cat_name ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
419 |
$cat_name = trim($cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
420 |
$slug = sanitize_title($cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
421 |
if ( '' === $slug ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
422 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
423 |
if ( !$cat_id = is_term( $cat_name, 'link_category' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
424 |
$cat_id = wp_insert_term( $cat_name, 'link_category' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
425 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
426 |
$cat_id = $cat_id['term_id']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
427 |
$cat_name = esc_html(stripslashes($cat_name)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
428 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
429 |
'what' => 'link-category', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
430 |
'id' => $cat_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
431 |
'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
432 |
'position' => -1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
433 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
434 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
435 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
436 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
437 |
case 'add-cat' : // From Manage->Categories |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
438 |
check_ajax_referer( 'add-category' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
439 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
440 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
441 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
442 |
if ( '' === trim($_POST['cat_name']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
443 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
444 |
'what' => 'cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
445 |
'id' => new WP_Error( 'cat_name', __('You did not enter a category name.') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
446 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
447 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
448 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
449 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
450 |
if ( category_exists( trim( $_POST['cat_name'] ), $_POST['category_parent'] ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
451 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
452 |
'what' => 'cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
453 |
'id' => new WP_Error( 'cat_exists', __('The category you are trying to create already exists.'), array( 'form-field' => 'cat_name' ) ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
454 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
455 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
456 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
457 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
458 |
$cat = wp_insert_category( $_POST, true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
459 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
460 |
if ( is_wp_error($cat) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
461 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
462 |
'what' => 'cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
463 |
'id' => $cat |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
464 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
465 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
466 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
467 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
468 |
if ( !$cat || (!$cat = get_category( $cat )) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
469 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
470 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
471 |
$level = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
472 |
$cat_full_name = $cat->name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
473 |
$_cat = $cat; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
474 |
while ( $_cat->parent ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
475 |
$_cat = get_category( $_cat->parent ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
476 |
$cat_full_name = $_cat->name . ' — ' . $cat_full_name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
477 |
$level++; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
478 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
479 |
$cat_full_name = esc_attr($cat_full_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
480 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
481 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
482 |
'what' => 'cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
483 |
'id' => $cat->term_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
484 |
'position' => -1, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
485 |
'data' => _cat_row( $cat, $level, $cat_full_name ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
486 |
'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->term_id", $cat_full_name)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
487 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
488 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
489 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
490 |
case 'add-link-cat' : // From Blogroll -> Categories |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
491 |
check_ajax_referer( 'add-link-category' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
492 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
493 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
494 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
495 |
if ( '' === trim($_POST['name']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
496 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
497 |
'what' => 'link-cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
498 |
'id' => new WP_Error( 'name', __('You did not enter a category name.') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
499 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
500 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
501 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
502 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
503 |
$r = wp_insert_term($_POST['name'], 'link_category', $_POST ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
504 |
if ( is_wp_error( $r ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
505 |
$x = new WP_AJAX_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
506 |
'what' => 'link-cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
507 |
'id' => $r |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
508 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
509 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
510 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
511 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
512 |
extract($r, EXTR_SKIP); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
513 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
514 |
if ( !$link_cat = link_cat_row( $term_id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
515 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
516 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
517 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
518 |
'what' => 'link-cat', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
519 |
'id' => $term_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
520 |
'position' => -1, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
521 |
'data' => $link_cat |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
522 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
523 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
524 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
525 |
case 'add-tag' : // From Manage->Tags |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
526 |
check_ajax_referer( 'add-tag' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
527 |
if ( !current_user_can( 'manage_categories' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
528 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
529 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
530 |
if ( '' === trim($_POST['name']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
531 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
532 |
'what' => 'tag', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
533 |
'id' => new WP_Error( 'name', __('You did not enter a tag name.') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
534 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
535 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
536 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
537 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
538 |
if ( !empty($_POST['taxonomy']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
539 |
$taxonomy = $_POST['taxonomy']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
540 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
541 |
$taxonomy = 'post_tag'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
542 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
543 |
$tag = wp_insert_term($_POST['name'], $taxonomy, $_POST ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
544 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
545 |
if ( is_wp_error($tag) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
546 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
547 |
'what' => 'tag', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
548 |
'id' => $tag |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
549 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
550 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
551 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
552 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
553 |
if ( !$tag || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
554 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
555 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
556 |
$tag_full_name = $tag->name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
557 |
$tag_full_name = esc_attr($tag_full_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
558 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
559 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
560 |
'what' => 'tag', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
561 |
'id' => $tag->term_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
562 |
'position' => '-1', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
563 |
'data' => _tag_row( $tag, '', $taxonomy ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
564 |
'supplemental' => array('name' => $tag_full_name, 'show-link' => sprintf(__( 'Tag <a href="#%s">%s</a> added' ), "tag-$tag->term_id", $tag_full_name)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
565 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
566 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
567 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
568 |
case 'get-tagcloud' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
569 |
if ( !current_user_can( 'edit_posts' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
570 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
571 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
572 |
if ( isset($_POST['tax']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
573 |
$taxonomy = sanitize_title($_POST['tax']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
574 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
575 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
576 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
577 |
$tags = get_terms( $taxonomy, array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
578 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
579 |
if ( empty( $tags ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
580 |
die( __('No tags found!') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
581 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
582 |
if ( is_wp_error($tags) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
583 |
die($tags->get_error_message()); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
584 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
585 |
foreach ( $tags as $key => $tag ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
586 |
$tags[ $key ]->link = '#'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
587 |
$tags[ $key ]->id = $tag->term_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
588 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
589 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
590 |
// We need raw tag names here, so don't filter the output |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
591 |
$return = wp_generate_tag_cloud( $tags, array('filter' => 0) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
592 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
593 |
if ( empty($return) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
594 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
595 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
596 |
echo $return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
597 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
598 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
599 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
600 |
case 'add-comment' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
601 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
602 |
if ( !current_user_can( 'edit_post', $id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
603 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
604 |
$search = isset($_POST['s']) ? $_POST['s'] : false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
605 |
$status = isset($_POST['comment_status']) ? $_POST['comment_status'] : 'all'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
606 |
$per_page = isset($_POST['per_page']) ? (int) $_POST['per_page'] + 8 : 28; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
607 |
$start = isset($_POST['page']) ? ( intval($_POST['page']) * $per_page ) -1 : $per_page - 1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
608 |
if ( 1 > $start ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
609 |
$start = 27; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
610 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
611 |
$mode = isset($_POST['mode']) ? $_POST['mode'] : 'detail'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
612 |
$p = isset($_POST['p']) ? $_POST['p'] : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
613 |
$comment_type = isset($_POST['comment_type']) ? $_POST['comment_type'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
614 |
list($comments, $total) = _wp_get_comment_list( $status, $search, $start, 1, $p, $comment_type ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
615 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
616 |
if ( get_option('show_avatars') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
617 |
add_filter( 'comment_author', 'floated_admin_avatar' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
618 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
619 |
if ( !$comments ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
620 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
621 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
622 |
foreach ( (array) $comments as $comment ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
623 |
get_comment( $comment ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
624 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
625 |
_wp_comment_row( $comment->comment_ID, $mode, $status, true, true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
626 |
$comment_list_item = ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
627 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
628 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
629 |
'what' => 'comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
630 |
'id' => $comment->comment_ID, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
631 |
'data' => $comment_list_item |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
632 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
633 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
634 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
635 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
636 |
case 'get-comments' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
637 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
638 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
639 |
$post_ID = (int) $_POST['post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
640 |
if ( !current_user_can( 'edit_post', $post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
641 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
642 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
643 |
$start = isset($_POST['start']) ? intval($_POST['start']) : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
644 |
$num = isset($_POST['num']) ? intval($_POST['num']) : 10; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
645 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
646 |
list($comments, $total) = _wp_get_comment_list( false, false, $start, $num, $post_ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
647 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
648 |
if ( !$comments ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
649 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
650 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
651 |
$comment_list_item = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
652 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
653 |
foreach ( (array) $comments as $comment ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
654 |
get_comment( $comment ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
655 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
656 |
_wp_comment_row( $comment->comment_ID, 'single', false, false ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
657 |
$comment_list_item .= ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
658 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
659 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
660 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
661 |
'what' => 'comments', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
662 |
'data' => $comment_list_item |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
663 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
664 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
665 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
666 |
case 'replyto-comment' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
667 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
668 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
669 |
$comment_post_ID = (int) $_POST['comment_post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
670 |
if ( !current_user_can( 'edit_post', $comment_post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
671 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
672 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
673 |
$status = $wpdb->get_var( $wpdb->prepare("SELECT post_status FROM $wpdb->posts WHERE ID = %d", $comment_post_ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
674 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
675 |
if ( empty($status) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
676 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
677 |
elseif ( in_array($status, array('draft', 'pending') ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
678 |
die( __('Error: you are replying to a comment on a draft post.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
679 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
680 |
$user = wp_get_current_user(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
681 |
if ( $user->ID ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
682 |
$comment_author = $wpdb->escape($user->display_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
683 |
$comment_author_email = $wpdb->escape($user->user_email); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
684 |
$comment_author_url = $wpdb->escape($user->user_url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
685 |
$comment_content = trim($_POST['content']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
686 |
if ( current_user_can('unfiltered_html') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
687 |
if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
688 |
kses_remove_filters(); // start with a clean slate |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
689 |
kses_init_filters(); // set up the filters |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
690 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
691 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
692 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
693 |
die( __('Sorry, you must be logged in to reply to a comment.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
694 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
695 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
696 |
if ( '' == $comment_content ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
697 |
die( __('Error: please type a comment.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
698 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
699 |
$comment_parent = absint($_POST['comment_ID']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
700 |
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
701 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
702 |
$comment_id = wp_new_comment( $commentdata ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
703 |
$comment = get_comment($comment_id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
704 |
if ( ! $comment ) die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
705 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
706 |
$modes = array( 'single', 'detail', 'dashboard' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
707 |
$mode = isset($_POST['mode']) && in_array( $_POST['mode'], $modes ) ? $_POST['mode'] : 'detail'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
708 |
$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
709 |
$checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
710 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
711 |
if ( get_option('show_avatars') && 'single' != $mode ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
712 |
add_filter( 'comment_author', 'floated_admin_avatar' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
713 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
714 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
715 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
716 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
717 |
if ( 'dashboard' == $mode ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
718 |
require_once( ABSPATH . 'wp-admin/includes/dashboard.php' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
719 |
_wp_dashboard_recent_comments_row( $comment, false ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
720 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
721 |
_wp_comment_row( $comment->comment_ID, $mode, false, $checkbox ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
722 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
723 |
$comment_list_item = ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
724 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
725 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
726 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
727 |
'what' => 'comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
728 |
'id' => $comment->comment_ID, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
729 |
'data' => $comment_list_item, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
730 |
'position' => $position |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
731 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
732 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
733 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
734 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
735 |
case 'edit-comment' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
736 |
check_ajax_referer( 'replyto-comment' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
737 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
738 |
$comment_post_ID = (int) $_POST['comment_post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
739 |
if ( ! current_user_can( 'edit_post', $comment_post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
740 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
741 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
742 |
if ( '' == $_POST['content'] ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
743 |
die( __('Error: please type a comment.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
744 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
745 |
$comment_id = (int) $_POST['comment_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
746 |
$_POST['comment_status'] = $_POST['status']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
747 |
edit_comment(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
748 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
749 |
$mode = ( isset($_POST['mode']) && 'single' == $_POST['mode'] ) ? 'single' : 'detail'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
750 |
$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
751 |
$checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
752 |
$comments_listing = isset($_POST['comments_listing']) ? $_POST['comments_listing'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
753 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
754 |
if ( get_option('show_avatars') && 'single' != $mode ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
755 |
add_filter( 'comment_author', 'floated_admin_avatar' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
756 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
757 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
758 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
759 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
760 |
_wp_comment_row( $comment_id, $mode, $comments_listing, $checkbox ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
761 |
$comment_list_item = ob_get_contents(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
762 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
763 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
764 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
765 |
'what' => 'edit_comment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
766 |
'id' => $comment->comment_ID, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
767 |
'data' => $comment_list_item, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
768 |
'position' => $position |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
769 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
770 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
771 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
772 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
773 |
case 'add-meta' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
774 |
check_ajax_referer( 'add-meta' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
775 |
$c = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
776 |
$pid = (int) $_POST['post_id']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
777 |
if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
778 |
if ( !current_user_can( 'edit_post', $pid ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
779 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
780 |
if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
781 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
782 |
if ( $pid < 0 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
783 |
$now = current_time('timestamp', 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
784 |
if ( $pid = wp_insert_post( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
785 |
'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
786 |
) ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
787 |
if ( is_wp_error( $pid ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
788 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
789 |
'what' => 'meta', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
790 |
'data' => $pid |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
791 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
792 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
793 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
794 |
if ( !$mid = add_meta( $pid ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
795 |
die(__('Please provide a custom field value.')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
796 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
797 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
798 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
799 |
} else if ( !$mid = add_meta( $pid ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
800 |
die(__('Please provide a custom field value.')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
801 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
802 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
803 |
$meta = get_post_meta_by_id( $mid ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
804 |
$pid = (int) $meta->post_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
805 |
$meta = get_object_vars( $meta ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
806 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
807 |
'what' => 'meta', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
808 |
'id' => $mid, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
809 |
'data' => _list_meta_row( $meta, $c ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
810 |
'position' => 1, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
811 |
'supplemental' => array('postid' => $pid) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
812 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
813 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
814 |
$mid = (int) array_pop(array_keys($_POST['meta'])); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
815 |
$key = $_POST['meta'][$mid]['key']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
816 |
$value = $_POST['meta'][$mid]['value']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
817 |
if ( !$meta = get_post_meta_by_id( $mid ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
818 |
die('0'); // if meta doesn't exist |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
819 |
if ( !current_user_can( 'edit_post', $meta->post_id ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
820 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
821 |
if ( $meta->meta_value != stripslashes($value) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
822 |
if ( !$u = update_meta( $mid, $key, $value ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
823 |
die('0'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems). |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
824 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
825 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
826 |
$key = stripslashes($key); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
827 |
$value = stripslashes($value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
828 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
829 |
'what' => 'meta', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
830 |
'id' => $mid, 'old_id' => $mid, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
831 |
'data' => _list_meta_row( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
832 |
'meta_key' => $key, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
833 |
'meta_value' => $value, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
834 |
'meta_id' => $mid |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
835 |
), $c ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
836 |
'position' => 0, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
837 |
'supplemental' => array('postid' => $meta->post_id) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
838 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
839 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
840 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
841 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
842 |
case 'add-user' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
843 |
check_ajax_referer( $action ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
844 |
if ( !current_user_can('create_users') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
845 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
846 |
require_once(ABSPATH . WPINC . '/registration.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
847 |
if ( !$user_id = add_user() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
848 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
849 |
elseif ( is_wp_error( $user_id ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
850 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
851 |
'what' => 'user', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
852 |
'id' => $user_id |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
853 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
854 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
855 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
856 |
$user_object = new WP_User( $user_id ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
857 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
858 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
859 |
'what' => 'user', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
860 |
'id' => $user_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
861 |
'data' => user_row( $user_object, '', $user_object->roles[0] ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
862 |
'supplemental' => array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
863 |
'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
864 |
'role' => $user_object->roles[0] |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
865 |
) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
866 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
867 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
868 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
869 |
case 'autosave' : // The name of this action is hardcoded in edit_post() |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
870 |
define( 'DOING_AUTOSAVE', true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
871 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
872 |
$nonce_age = check_ajax_referer( 'autosave', 'autosavenonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
873 |
global $current_user; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
874 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
875 |
$_POST['post_category'] = explode(",", $_POST['catslist']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
876 |
if($_POST['post_type'] == 'page' || empty($_POST['post_category'])) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
877 |
unset($_POST['post_category']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
878 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
879 |
$do_autosave = (bool) $_POST['autosave']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
880 |
$do_lock = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
881 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
882 |
$data = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
883 |
/* translators: draft saved date format, see http://php.net/date */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
884 |
$draft_saved_date_format = __('g:i:s a'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
885 |
$message = sprintf( __('Draft Saved at %s.'), date_i18n( $draft_saved_date_format ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
886 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
887 |
$supplemental = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
888 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
889 |
$id = $revision_id = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
890 |
if($_POST['post_ID'] < 0) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
891 |
$_POST['post_status'] = 'draft'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
892 |
$_POST['temp_ID'] = $_POST['post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
893 |
if ( $do_autosave ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
894 |
$id = wp_write_post(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
895 |
$data = $message; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
896 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
897 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
898 |
$post_ID = (int) $_POST['post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
899 |
$_POST['ID'] = $post_ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
900 |
$post = get_post($post_ID); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
901 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
902 |
if ( $last = wp_check_post_lock( $post->ID ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
903 |
$do_autosave = $do_lock = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
904 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
905 |
$last_user = get_userdata( $last ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
906 |
$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
907 |
$data = new WP_Error( 'locked', sprintf( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
908 |
$_POST['post_type'] == 'page' ? __( 'Autosave disabled: %s is currently editing this page.' ) : __( 'Autosave disabled: %s is currently editing this post.' ), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
909 |
esc_html( $last_user_name ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
910 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
911 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
912 |
$supplemental['disable_autosave'] = 'disable'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
913 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
914 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
915 |
if ( 'page' == $post->post_type ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
916 |
if ( !current_user_can('edit_page', $post_ID) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
917 |
die(__('You are not allowed to edit this page.')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
918 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
919 |
if ( !current_user_can('edit_post', $post_ID) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
920 |
die(__('You are not allowed to edit this post.')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
921 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
922 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
923 |
if ( $do_autosave ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
924 |
// Drafts are just overwritten by autosave |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
925 |
if ( 'draft' == $post->post_status ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
926 |
$id = edit_post(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
927 |
} else { // Non drafts are not overwritten. The autosave is stored in a special post revision. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
928 |
$revision_id = wp_create_post_autosave( $post->ID ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
929 |
if ( is_wp_error($revision_id) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
930 |
$id = $revision_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
931 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
932 |
$id = $post->ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
933 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
934 |
$data = $message; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
935 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
936 |
$id = $post->ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
937 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
938 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
939 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
940 |
if ( $do_lock && $id && is_numeric($id) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
941 |
wp_set_post_lock( $id ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
942 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
943 |
if ( $nonce_age == 2 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
944 |
$supplemental['replace-autosavenonce'] = wp_create_nonce('autosave'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
945 |
$supplemental['replace-getpermalinknonce'] = wp_create_nonce('getpermalink'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
946 |
$supplemental['replace-samplepermalinknonce'] = wp_create_nonce('samplepermalink'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
947 |
$supplemental['replace-closedpostboxesnonce'] = wp_create_nonce('closedpostboxes'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
948 |
if ( $id ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
949 |
if ( $_POST['post_type'] == 'post' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
950 |
$supplemental['replace-_wpnonce'] = wp_create_nonce('update-post_' . $id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
951 |
elseif ( $_POST['post_type'] == 'page' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
952 |
$supplemental['replace-_wpnonce'] = wp_create_nonce('update-page_' . $id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
953 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
954 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
955 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
956 |
$x = new WP_Ajax_Response( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
957 |
'what' => 'autosave', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
958 |
'id' => $id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
959 |
'data' => $id ? $data : '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
960 |
'supplemental' => $supplemental |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
961 |
) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
962 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
963 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
964 |
case 'autosave-generate-nonces' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
965 |
check_ajax_referer( 'autosave', 'autosavenonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
966 |
$ID = (int) $_POST['post_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
967 |
if($_POST['post_type'] == 'post') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
968 |
if(current_user_can('edit_post', $ID)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
969 |
die(wp_create_nonce('update-post_' . $ID)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
970 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
971 |
if($_POST['post_type'] == 'page') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
972 |
if(current_user_can('edit_page', $ID)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
973 |
die(wp_create_nonce('update-page_' . $ID)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
974 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
975 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
976 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
977 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
978 |
case 'closed-postboxes' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
979 |
check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
980 |
$closed = isset( $_POST['closed'] ) ? $_POST['closed'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
981 |
$closed = explode( ',', $_POST['closed'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
982 |
$hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
983 |
$hidden = explode( ',', $_POST['hidden'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
984 |
$page = isset( $_POST['page'] ) ? $_POST['page'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
985 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
986 |
if ( !preg_match( '/^[a-z_-]+$/', $page ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
987 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
988 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
989 |
if ( ! $user = wp_get_current_user() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
990 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
991 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
992 |
if ( is_array($closed) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
993 |
update_usermeta($user->ID, 'closedpostboxes_'.$page, $closed); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
994 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
995 |
if ( is_array($hidden) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
996 |
$hidden = array_diff( $hidden, array('submitdiv', 'pagesubmitdiv', 'linksubmitdiv') ); // postboxes that are always shown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
997 |
update_usermeta($user->ID, 'meta-box-hidden_'.$page, $hidden); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
998 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
999 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1000 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1001 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1002 |
case 'hidden-columns' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1003 |
check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1004 |
$hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1005 |
$hidden = explode( ',', $_POST['hidden'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1006 |
$page = isset( $_POST['page'] ) ? $_POST['page'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1007 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1008 |
if ( !preg_match( '/^[a-z_-]+$/', $page ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1009 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1010 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1011 |
if ( ! $user = wp_get_current_user() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1012 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1013 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1014 |
if ( is_array($hidden) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1015 |
update_usermeta($user->ID, "manage-$page-columns-hidden", $hidden); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1016 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1017 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1018 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1019 |
case 'meta-box-order': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1020 |
check_ajax_referer( 'meta-box-order' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1021 |
$order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1022 |
$page_columns = isset( $_POST['page_columns'] ) ? (int) $_POST['page_columns'] : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1023 |
$page = isset( $_POST['page'] ) ? $_POST['page'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1024 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1025 |
if ( !preg_match( '/^[a-z_-]+$/', $page ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1026 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1027 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1028 |
if ( ! $user = wp_get_current_user() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1029 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1030 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1031 |
if ( $order ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1032 |
update_user_option($user->ID, "meta-box-order_$page", $order); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1033 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1034 |
if ( $page_columns ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1035 |
update_usermeta($user->ID, "screen_layout_$page", $page_columns); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1036 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1037 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1038 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1039 |
case 'get-permalink': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1040 |
check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1041 |
$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1042 |
die(add_query_arg(array('preview' => 'true'), get_permalink($post_id))); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1043 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1044 |
case 'sample-permalink': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1045 |
check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1046 |
$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1047 |
$title = isset($_POST['new_title'])? $_POST['new_title'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1048 |
$slug = isset($_POST['new_slug'])? $_POST['new_slug'] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1049 |
die(get_sample_permalink_html($post_id, $title, $slug)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1050 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1051 |
case 'inline-save': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1052 |
check_ajax_referer( 'inlineeditnonce', '_inline_edit' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1053 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1054 |
if ( ! isset($_POST['post_ID']) || ! ( $post_ID = (int) $_POST['post_ID'] ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1055 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1056 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1057 |
if ( 'page' == $_POST['post_type'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1058 |
if ( ! current_user_can( 'edit_page', $post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1059 |
die( __('You are not allowed to edit this page.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1060 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1061 |
if ( ! current_user_can( 'edit_post', $post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1062 |
die( __('You are not allowed to edit this post.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1063 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1064 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1065 |
if ( $last = wp_check_post_lock( $post_ID ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1066 |
$last_user = get_userdata( $last ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1067 |
$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1068 |
printf( $_POST['post_type'] == 'page' ? __( 'Saving is disabled: %s is currently editing this page.' ) : __( 'Saving is disabled: %s is currently editing this post.' ), esc_html( $last_user_name ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1069 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1070 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1071 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1072 |
$data = &$_POST; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1073 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1074 |
$post = get_post( $post_ID, ARRAY_A ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1075 |
$post = add_magic_quotes($post); //since it is from db |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1076 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1077 |
$data['content'] = $post['post_content']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1078 |
$data['excerpt'] = $post['post_excerpt']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1079 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1080 |
// rename |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1081 |
$data['user_ID'] = $GLOBALS['user_ID']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1082 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1083 |
if ( isset($data['post_parent']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1084 |
$data['parent_id'] = $data['post_parent']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1085 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1086 |
// status |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1087 |
if ( isset($data['keep_private']) && 'private' == $data['keep_private'] ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1088 |
$data['post_status'] = 'private'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1089 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1090 |
$data['post_status'] = $data['_status']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1091 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1092 |
if ( empty($data['comment_status']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1093 |
$data['comment_status'] = 'closed'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1094 |
if ( empty($data['ping_status']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1095 |
$data['ping_status'] = 'closed'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1096 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1097 |
// update the post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1098 |
edit_post(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1099 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1100 |
$post = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1101 |
if ( 'page' == $_POST['post_type'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1102 |
$post[] = get_post($_POST['post_ID']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1103 |
page_rows($post); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1104 |
} elseif ( 'post' == $_POST['post_type'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1105 |
$mode = $_POST['post_view']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1106 |
$post[] = get_post($_POST['post_ID']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1107 |
post_rows($post); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1108 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1109 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1110 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1111 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1112 |
case 'inline-save-tax': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1113 |
check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1114 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1115 |
if ( ! current_user_can('manage_categories') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1116 |
die( __('Cheatin’ uh?') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1117 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1118 |
if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1119 |
die(-1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1121 |
switch ($_POST['tax_type']) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1122 |
case 'cat' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1123 |
$data = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1124 |
$data['cat_ID'] = $id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1125 |
$data['cat_name'] = $_POST['name']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1126 |
$data['category_nicename'] = $_POST['slug']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1127 |
if ( isset($_POST['parent']) && (int) $_POST['parent'] > 0 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1128 |
$data['category_parent'] = $_POST['parent']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1129 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1130 |
$cat = get_category($id, ARRAY_A); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1131 |
$data['category_description'] = $cat['category_description']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1132 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1133 |
$updated = wp_update_category($data); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1134 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1135 |
if ( $updated && !is_wp_error($updated) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1136 |
echo _cat_row( $updated, 0 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1137 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1138 |
die( __('Category not updated.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1139 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1140 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1141 |
case 'link-cat' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1142 |
$updated = wp_update_term($id, 'link_category', $_POST); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1143 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1144 |
if ( $updated && !is_wp_error($updated) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1145 |
echo link_cat_row($updated['term_id']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1146 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1147 |
die( __('Category not updated.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1148 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1149 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1150 |
case 'tag' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1151 |
if ( !empty($_POST['taxonomy']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1152 |
$taxonomy = $_POST['taxonomy']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1153 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1154 |
$taxonomy = 'post_tag'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1155 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1156 |
$tag = get_term( $id, $taxonomy ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1157 |
$_POST['description'] = $tag->description; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1158 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1159 |
$updated = wp_update_term($id, $taxonomy, $_POST); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1160 |
if ( $updated && !is_wp_error($updated) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1161 |
$tag = get_term( $updated['term_id'], $taxonomy ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1162 |
if ( !$tag || is_wp_error( $tag ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1163 |
die( __('Tag not updated.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1164 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1165 |
echo _tag_row($tag); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1166 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1167 |
die( __('Tag not updated.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1168 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1169 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1170 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1171 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1172 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1173 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1174 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1175 |
case 'find_posts': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1176 |
check_ajax_referer( 'find-posts' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1177 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1178 |
if ( empty($_POST['ps']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1179 |
exit; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1180 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1181 |
$what = isset($_POST['pages']) ? 'page' : 'post'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1182 |
$s = stripslashes($_POST['ps']); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1183 |
preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1184 |
$search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1185 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1186 |
$searchand = $search = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1187 |
foreach( (array) $search_terms as $term) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1188 |
$term = addslashes_gpc($term); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1189 |
$search .= "{$searchand}(($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%'))"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1190 |
$searchand = ' AND '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1191 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1192 |
$term = $wpdb->escape($s); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1193 |
if ( count($search_terms) > 1 && $search_terms[0] != $s ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1194 |
$search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1195 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1196 |
$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND $search ORDER BY post_date_gmt DESC LIMIT 50" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1197 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1198 |
if ( ! $posts ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1199 |
exit( __('No posts found.') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1200 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1201 |
$html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Time').'</th><th>'.__('Status').'</th></tr></thead><tbody>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1202 |
foreach ( $posts as $post ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1203 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1204 |
switch ( $post->post_status ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1205 |
case 'publish' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1206 |
case 'private' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1207 |
$stat = __('Published'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1208 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1209 |
case 'future' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1210 |
$stat = __('Scheduled'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1211 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1212 |
case 'pending' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1213 |
$stat = __('Pending Review'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1214 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1215 |
case 'draft' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1216 |
$stat = __('Unpublished'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1217 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1218 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1219 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1220 |
if ( '0000-00-00 00:00:00' == $post->post_date ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1221 |
$time = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1222 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1223 |
/* translators: date format in table columns, see http://php.net/date */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1224 |
$time = mysql2date(__('Y/m/d'), $post->post_date); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1225 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1226 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1227 |
$html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1228 |
$html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1229 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1230 |
$html .= '</tbody></table>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1231 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1232 |
$x = new WP_Ajax_Response(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1233 |
$x->add( array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1234 |
'what' => $what, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1235 |
'data' => $html |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1236 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1237 |
$x->send(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1238 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1239 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1240 |
case 'lj-importer' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1241 |
check_ajax_referer( 'lj-api-import' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1242 |
if ( !current_user_can( 'publish_posts' ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1243 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1244 |
if ( empty( $_POST['step'] ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1245 |
die( '-1' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1246 |
define('WP_IMPORTING', true); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1247 |
include( ABSPATH . 'wp-admin/import/livejournal.php' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1248 |
$result = $lj_api_import->{ 'step' . ( (int) $_POST['step'] ) }(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1249 |
if ( is_wp_error( $result ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1250 |
echo $result->get_error_message(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1251 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1252 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1253 |
case 'widgets-order' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1254 |
check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1255 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1256 |
if ( !current_user_can('switch_themes') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1257 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1258 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1259 |
unset( $_POST['savewidgets'], $_POST['action'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1260 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1261 |
// save widgets order for all sidebars |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1262 |
if ( is_array($_POST['sidebars']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1263 |
$sidebars = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1264 |
foreach ( $_POST['sidebars'] as $key => $val ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1265 |
$sb = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1266 |
if ( !empty($val) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1267 |
$val = explode(',', $val); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1268 |
foreach ( $val as $k => $v ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1269 |
if ( strpos($v, 'widget-') === false ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1270 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1271 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1272 |
$sb[$k] = substr($v, strpos($v, '_') + 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1273 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1274 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1275 |
$sidebars[$key] = $sb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1276 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1277 |
wp_set_sidebars_widgets($sidebars); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1278 |
die('1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1279 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1280 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1281 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1282 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1283 |
case 'save-widget' : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1284 |
check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1285 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1286 |
if ( !current_user_can('switch_themes') || !isset($_POST['id_base']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1287 |
die('-1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1288 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1289 |
unset( $_POST['savewidgets'], $_POST['action'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1290 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1291 |
do_action('load-widgets.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1292 |
do_action('widgets.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1293 |
do_action('sidebar_admin_setup'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1294 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1295 |
$id_base = $_POST['id_base']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1296 |
$widget_id = $_POST['widget-id']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1297 |
$sidebar_id = $_POST['sidebar']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1298 |
$multi_number = !empty($_POST['multi_number']) ? (int) $_POST['multi_number'] : 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1299 |
$settings = isset($_POST['widget-' . $id_base]) && is_array($_POST['widget-' . $id_base]) ? $_POST['widget-' . $id_base] : false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1300 |
$error = '<p>' . __('An error has occured. Please reload the page and try again.') . '</p>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1301 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1302 |
$sidebars = wp_get_sidebars_widgets(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1303 |
$sidebar = isset($sidebars[$sidebar_id]) ? $sidebars[$sidebar_id] : array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1304 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1305 |
// delete |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1306 |
if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1307 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1308 |
if ( !isset($wp_registered_widgets[$widget_id]) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1309 |
die($error); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1310 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1311 |
$sidebar = array_diff( $sidebar, array($widget_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1312 |
$_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1313 |
} elseif ( $settings && preg_match( '/__i__|%i%/', key($settings) ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1314 |
if ( !$multi_number ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1315 |
die($error); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1316 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1317 |
$_POST['widget-' . $id_base] = array( $multi_number => array_shift($settings) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1318 |
$widget_id = $id_base . '-' . $multi_number; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1319 |
$sidebar[] = $widget_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1320 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1321 |
$_POST['widget-id'] = $sidebar; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1322 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1323 |
foreach ( (array) $wp_registered_widget_updates as $name => $control ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1324 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1325 |
if ( $name == $id_base ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1326 |
if ( !is_callable( $control['callback'] ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1327 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1328 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1329 |
ob_start(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1330 |
call_user_func_array( $control['callback'], $control['params'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1331 |
ob_end_clean(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1332 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1333 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1334 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1335 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1336 |
if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1337 |
$sidebars[$sidebar_id] = $sidebar; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1338 |
wp_set_sidebars_widgets($sidebars); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1339 |
echo "deleted:$widget_id"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1340 |
die(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1341 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1342 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1343 |
if ( !empty($_POST['add_new']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1344 |
die(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1345 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1346 |
if ( $form = $wp_registered_widget_controls[$widget_id] ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1347 |
call_user_func_array( $form['callback'], $form['params'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1348 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1349 |
die(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1350 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1351 |
default : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1352 |
do_action( 'wp_ajax_' . $_POST['action'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1353 |
die('0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1354 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1355 |
endswitch; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1356 |
?> |