2003-11-12 10:22:47 -05:00
< ? php
2003-12-07 22:46:42 -05:00
$title = 'Moderate comments' ;
$parent_file = 'edit.php' ;
2003-11-12 10:22:47 -05:00
/* <Moderation> */
function add_magic_quotes ( $array ) {
foreach ( $array as $k => $v ) {
if ( is_array ( $v )) {
$array [ $k ] = add_magic_quotes ( $v );
} else {
$array [ $k ] = addslashes ( $v );
}
}
return $array ;
}
if ( ! get_magic_quotes_gpc ()) {
$HTTP_GET_VARS = add_magic_quotes ( $HTTP_GET_VARS );
$HTTP_POST_VARS = add_magic_quotes ( $HTTP_POST_VARS );
$HTTP_COOKIE_VARS = add_magic_quotes ( $HTTP_COOKIE_VARS );
}
2003-12-18 04:36:13 -05:00
$wpvarstoreset = array ( 'action' , 'item_ignored' , 'item_deleted' , 'item_approved' );
for ( $i = 0 ; $i < count ( $wpvarstoreset ); $i += 1 ) {
$wpvar = $wpvarstoreset [ $i ];
if ( ! isset ( $$wpvar )) {
if ( empty ( $HTTP_POST_VARS [ " $wpvar " ])) {
if ( empty ( $HTTP_GET_VARS [ " $wpvar " ])) {
$$wpvar = '' ;
2003-11-12 10:22:47 -05:00
} else {
2003-12-18 04:36:13 -05:00
$$wpvar = $HTTP_GET_VARS [ " $wpvar " ];
2003-11-12 10:22:47 -05:00
}
} else {
2003-12-18 04:36:13 -05:00
$$wpvar = $HTTP_POST_VARS [ " $wpvar " ];
2003-11-12 10:22:47 -05:00
}
}
}
2004-01-01 19:49:13 -05:00
$comment = array ();
if ( isset ( $HTTP_POST_VARS [ " comment " ])) {
foreach ( $HTTP_POST_VARS [ " comment " ] as $k => $v ) {
$comment [ intval ( $k )] = $v ;
}
}
2003-11-12 10:22:47 -05:00
switch ( $action ) {
case 'update' :
$standalone = 1 ;
2003-12-10 19:22:36 -05:00
require_once ( 'admin-header.php' );
2003-11-12 10:22:47 -05:00
if ( $user_level < 3 ) {
2003-11-15 03:58:18 -05:00
die ( '<p>Your level is not high enough to moderate comments. Ask for a promotion from your <a href="mailto:$admin_email">blog admin</a>. :)</p>' );
2003-11-12 10:22:47 -05:00
}
$item_ignored = 0 ;
$item_deleted = 0 ;
$item_approved = 0 ;
foreach ( $comment as $key => $value ) {
switch ( $value ) {
2003-11-15 03:58:18 -05:00
case 'later' :
// do nothing with that comment
// wp_set_comment_status($key, "hold");
++ $item_ignored ;
break ;
case 'delete' :
wp_set_comment_status ( $key , 'delete' );
++ $item_deleted ;
break ;
case 'approve' :
wp_set_comment_status ( $key , 'approve' );
if ( get_settings ( 'comments_notify' ) == true ) {
wp_notify_postauthor ( $key );
}
++ $item_approved ;
break ;
2003-11-12 10:22:47 -05:00
}
}
$file = basename ( __FILE__ );
header ( " Location: $file ?ignored= $item_ignored &deleted= $item_deleted &approved= $item_approved " );
exit ();
break ;
default :
2003-12-10 19:22:36 -05:00
require_once ( 'admin-header.php' );
2003-11-12 10:22:47 -05:00
if ( $user_level <= 3 ) {
2003-11-15 03:58:18 -05:00
die ( '<p>Your level is not high enough to moderate comments. Ask for a promotion from your <a href="mailto:$admin_email">blog admin</a>. :)</p>' );
2003-11-12 10:22:47 -05:00
}
2003-11-30 17:13:53 -05:00
?>
< ul id = " adminmenu2 " >
< li >< a href = " edit.php " > Latest Posts </ a ></ li >
< li >< a href = " edit-comments.php " > Latest Comments </ a ></ li >
2003-12-10 19:22:36 -05:00
< li class = " last " >< a href = " moderation.php " class = " current " > Comments Awaiting Moderation </ a ></ li >
2003-11-30 17:13:53 -05:00
</ ul >
< ? php
2003-11-12 10:22:47 -05:00
// if we come here after deleting/approving comments we give
// a short overview what has been done
if (( $deleted ) || ( $approved ) || ( $ignored )) {
echo " <div class= \" wrap \" > \n " ;
if ( $approved ) {
if ( $approved == " 1 " ) {
echo " 1 comment approved <br /> \n " ;
} else {
echo " $approved comments approved <br /> \n " ;
}
}
if ( $deleted ) {
if ( $deleted == " 1 " ) {
echo " 1 comment deleted <br /> \n " ;
} else {
echo " $approved comments deleted <br /> \n " ;
}
}
if ( $ignored ) {
if ( $deleted == " 1 " ) {
2003-11-30 17:13:53 -05:00
echo " 1 comment unchanged <br /> \n " ;
2003-11-12 10:22:47 -05:00
} else {
2003-11-30 17:13:53 -05:00
echo " $approved comments unchanged <br /> \n " ;
2003-11-12 10:22:47 -05:00
}
}
echo " </div> \n " ;
}
?>
< div class = " wrap " >
2003-11-30 17:13:53 -05:00
< ? php
2003-11-22 20:15:24 -05:00
$comments = $wpdb -> get_results ( " SELECT * FROM $tablecomments WHERE comment_approved = '0' " );
2003-11-12 10:22:47 -05:00
if ( $comments ) {
// list all comments that are waiting for approval
$file = basename ( __FILE__ );
2003-11-30 17:13:53 -05:00
?>
< p > The following comments wait for approval :</ p >
2004-01-01 19:49:13 -05:00
< form name = " approval " action = " moderation.php " method = " post " >
2003-11-30 17:13:53 -05:00
< input type = " hidden " name = " action " value = " update " />
< ol id = " comments " >
< ? php
2003-11-12 10:22:47 -05:00
foreach ( $comments as $comment ) {
$comment_date = mysql2date ( get_settings ( " date_format " ) . " @ " . get_settings ( " time_format " ), $comment -> comment_date );
$post_title = $wpdb -> get_var ( " SELECT post_title FROM $tableposts WHERE ID=' $comment->comment_post_ID ' " );
2003-11-30 17:13:53 -05:00
echo " \n \t <li id='comment- $comment->comment_ID '> " ;
?>
< p >< strong > Name :</ strong > < ? php comment_author () ?> <?php if ($comment->comment_author_email) { ?>| <strong>Email:</strong> <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_email) { ?> | <strong>URI:</strong> <?php comment_author_url_link() ?> <?php } ?>| <strong>IP:</strong> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
< ? php comment_text () ?>
< p >< ? php
2003-12-10 19:22:36 -05:00
echo " <a href= \" post.php?action=editcomment&comment= " . $comment -> comment_ID . " \" >Edit</a> " ;
echo " | <a href= \" post.php?action=deletecomment&p= " . $comment -> comment_post_ID . " &comment= " . $comment -> comment_ID . " \" onclick= \" return confirm('You are about to delete this comment by \ ' " . $comment -> comment_author . " \ ' \\ n \ 'Cancel \ ' to stop, \ 'OK \ ' to delete.') \" >Delete just this comment</a> | " ; ?> Bulk action:
2003-12-07 04:45:57 -05:00
< input type = " radio " name = " comment[<?php echo $comment->comment_ID ; ?>] " id = " comment[<?php echo $comment->comment_ID ; ?>]-approve " value = " approve " /> < label for = " comment[<?php echo $comment->comment_ID ; ?>]-approve " > Approve </ label >
< input type = " radio " name = " comment[<?php echo $comment->comment_ID ; ?>] " id = " comment[<?php echo $comment->comment_ID ; ?>]-delete " value = " delete " /> < label for = " comment[<?php echo $comment->comment_ID ; ?>]-delete " > Delete </ label >
< input type = " radio " name = " comment[<?php echo $comment->comment_ID ; ?>] " id = " comment[<?php echo $comment->comment_ID ; ?>]-nothing " value = " later " checked = " checked " /> < label for = " comment[<?php echo $comment->comment_ID ; ?>]-nothing " > Do nothing </ label >
2003-11-30 17:13:53 -05:00
</ li >
< ? php
2003-11-12 10:22:47 -05:00
}
2003-11-30 17:13:53 -05:00
?>
</ ol >
< input type = " submit " name = " submit " value = " Moderate Comments " class = " search " />
</ form >
< ? php
2003-11-12 10:22:47 -05:00
} else {
// nothing to approve
2003-11-30 17:13:53 -05:00
echo " Currently there are no comments to be approved. \n " ;
2003-11-12 10:22:47 -05:00
}
2003-11-30 17:13:53 -05:00
?>
2003-11-12 10:22:47 -05:00
</ div >
< ? php
if ( $comments ) {
// show this help text only if there are comments waiting
?>
< div class = " wrap " >
< p > For each comment you have to choose either < em > approve </ em > , < em > delete </ em > or < em > later </ em >:</ p >
< p >< em > approve </ em >: approves comment , so that it will be publically visible
< ? php
2003-11-30 17:13:53 -05:00
if ( '1' == get_settings ( 'comments_notify' )) {
2003-11-12 10:22:47 -05:00
echo " ; the author of the post will be notified about the new comment on his post.</p> \n " ;
} else {
echo " .</p> \n " ;
}
?>
< p >< em > delete </ em >: remove the content from your blog ( note : you won ' t be asked again , so you should double - check
that you really want to delete the comment - once deleted you can & #8242;t bring them back!)</p>
< p >< em > later </ em >: don & #8242;t change the comment′s status at all now.</p>
</ div >
< ? php
} // if comments
break ;
}
/* </Template> */
2003-12-10 19:22:36 -05:00
include ( " admin-footer.php " ) ?>