3 * Comment Management Panel
6 * @subpackage Administration
9 /** Load WordPress Bootstrap */
10 require_once('admin.php');
12 $parent_file = 'edit-comments.php';
13 $submenu_file = 'edit-comments.php';
15 wp_reset_vars( array('action') );
17 if ( isset( $_POST['deletecomment'] ) )
18 $action = 'deletecomment';
21 * Display error message at bottom of comments.
23 * @param string $msg Error Message. Assumed to contain HTML and be sanitized.
25 function comment_footer_die( $msg ) {
26 echo "<div class='wrap'><p>$msg</p></div>";
27 include('admin-footer.php');
34 $title = __('Edit Comment');
36 wp_enqueue_script('comment');
37 require_once('admin-header.php');
39 $comment_id = absint( $_GET['c'] );
41 if ( !$comment = get_comment( $comment_id ) )
42 comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'javascript:history.go(-1)') );
44 if ( !current_user_can('edit_post', $comment->comment_post_ID) )
45 comment_footer_die( __('You are not allowed to edit comments on this post.') );
47 $comment = get_comment_to_edit( $comment_id );
49 include('edit-form-comment.php');
56 require_once('admin-header.php');
58 $comment_id = absint( $_GET['c'] );
59 $formaction = 'cdc' == $action ? 'deletecomment' : 'approvecomment';
60 $nonce_action = 'cdc' == $action ? 'delete-comment_' : 'approve-comment_';
61 $nonce_action .= $comment_id;
63 if ( !$comment = get_comment_to_edit( $comment_id ) )
64 comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
66 if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
67 comment_footer_die( 'cdc' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
73 if ( 'spam' == $_GET['dt'] ) {
74 $caution_msg = __('You are about to mark the following comment as spam:');
75 $button = __('Spam Comment');
76 } elseif ( 'cdc' == $action ) {
77 $caution_msg = __('You are about to delete the following comment:');
78 $button = __('Delete Comment');
80 $caution_msg = __('You are about to approve the following comment:');
81 $button = __('Approve Comment');
85 <p><strong><?php _e('Caution:'); ?></strong> <?php echo $caution_msg; ?></p>
87 <p><?php _e('Are you sure you want to do that?'); ?></p>
89 <form action='comment.php' method='get'>
93 <td><input type='button' class="button" value='<?php esc_attr_e('No'); ?>' onclick="self.location='<?php echo admin_url('edit-comments.php'); ?>" /></td>
94 <td class="textright"><input type='submit' class="button" value='<?php echo esc_attr($button); ?>' /></td>
98 <?php wp_nonce_field( $nonce_action ); ?>
99 <input type='hidden' name='action' value='<?php echo esc_attr($formaction); ?>' />
100 <?php if ( 'spam' == $_GET['dt'] ) { ?>
101 <input type='hidden' name='dt' value='spam' />
103 <input type='hidden' name='p' value='<?php echo esc_attr($comment->comment_post_ID); ?>' />
104 <input type='hidden' name='c' value='<?php echo esc_attr($comment->comment_ID); ?>' />
105 <input type='hidden' name='noredir' value='1' />
108 <table class="form-table" cellpadding="5">
110 <th scope="row"><?php _e('Author'); ?></th>
111 <td><?php echo $comment->comment_author; ?></td>
113 <?php if ( $comment->comment_author_email ) { ?>
115 <th scope="row"><?php _e('E-mail'); ?></th>
116 <td><?php echo $comment->comment_author_email; ?></td>
119 <?php if ( $comment->comment_author_url ) { ?>
121 <th scope="row"><?php _e('URL'); ?></th>
122 <td><a href="<?php echo $comment->comment_author_url; ?>"><?php echo $comment->comment_author_url; ?></a></td>
126 <th scope="row" valign="top"><?php /* translators: field name in comment form */ echo _x('Comment', 'noun'); ?></th>
127 <td><?php echo $comment->comment_content; ?></td>
136 case 'deletecomment' :
137 $comment_id = absint( $_REQUEST['c'] );
138 check_admin_referer( 'delete-comment_' . $comment_id );
140 if ( isset( $_REQUEST['noredir'] ) )
145 if ( !$comment = get_comment( $comment_id ) )
146 comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit-comments.php') );
148 if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
149 comment_footer_die( __('You are not allowed to edit comments on this post.') );
151 if ( 'spam' == $_REQUEST['dt'] )
152 wp_set_comment_status( $comment->comment_ID, 'spam' );
154 wp_delete_comment( $comment->comment_ID );
156 if ( '' != wp_get_referer() && false == $noredir && false === strpos(wp_get_referer(), 'comment.php' ) )
157 wp_redirect( wp_get_referer() );
158 else if ( '' != wp_get_original_referer() && false == $noredir )
159 wp_redirect( wp_get_original_referer() );
161 wp_redirect( admin_url('edit-comments.php') );
166 case 'unapprovecomment' :
167 $comment_id = absint( $_GET['c'] );
168 check_admin_referer( 'unapprove-comment_' . $comment_id );
170 if ( isset( $_GET['noredir'] ) )
175 if ( !$comment = get_comment( $comment_id ) )
176 comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
178 if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
179 comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
181 wp_set_comment_status( $comment->comment_ID, 'hold' );
183 if ( '' != wp_get_referer() && false == $noredir )
184 wp_redirect( wp_get_referer() );
186 wp_redirect( admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) . '#comments') );
191 case 'approvecomment' :
192 $comment_id = absint( $_GET['c'] );
193 check_admin_referer( 'approve-comment_' . $comment_id );
195 if ( isset( $_GET['noredir'] ) )
200 if ( !$comment = get_comment( $comment_id ) )
201 comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
203 if ( !current_user_can('edit_post', $comment->comment_post_ID) )
204 comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
206 wp_set_comment_status( $comment->comment_ID, 'approve' );
208 if ( '' != wp_get_referer() && false == $noredir )
209 wp_redirect( wp_get_referer() );
211 wp_redirect( admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) . '#comments') );
216 case 'editedcomment' :
218 $comment_id = absint( $_POST['comment_ID'] );
219 $comment_post_id = absint( $_POST['comment_post_ID'] );
221 check_admin_referer( 'update-comment_' . $comment_id );
225 $location = ( empty( $_POST['referredby'] ) ? "edit-comments.php?p=$comment_post_id" : $_POST['referredby'] ) . '#comment-' . $comment_id;
226 $location = apply_filters( 'comment_edit_redirect', $location, $comment_id );
227 wp_redirect( $location );
233 wp_die( __('Unknown action.') );
238 include('admin-footer.php');