WordPress/wp-admin/includes/comment.php

205 lines
5.2 KiB
PHP

<?php
/**
* WordPress Comment Administration API
*
* @package WordPress
* @subpackage Administration
*/
/**
* {@internal Missing Short Description}}
*
* @since unknown
* @uses $wpdb
*
* @param string $comment_author
* @param string $comment_date
* @return mixed Comment ID on success.
*/
function comment_exists($comment_author, $comment_date) {
global $wpdb;
return $wpdb->get_var( $wpdb->prepare("SELECT comment_post_ID FROM $wpdb->comments
WHERE comment_author = %s AND comment_date = %s", $comment_author, $comment_date) );
}
/**
* {@internal Missing Short Description}}
*
* @since unknown
*/
function edit_comment() {
$comment_post_ID = (int) $_POST['comment_post_ID'];
if (!current_user_can( 'edit_post', $comment_post_ID ))
wp_die( __('You are not allowed to edit comments on this post, so you cannot edit this comment.' ));
$_POST['comment_author'] = $_POST['newcomment_author'];
$_POST['comment_author_email'] = $_POST['newcomment_author_email'];
$_POST['comment_author_url'] = $_POST['newcomment_author_url'];
$_POST['comment_approved'] = $_POST['comment_status'];
$_POST['comment_content'] = $_POST['content'];
$_POST['comment_ID'] = (int) $_POST['comment_ID'];
foreach ( array ('aa', 'mm', 'jj', 'hh', 'mn') as $timeunit ) {
if ( !empty( $_POST['hidden_' . $timeunit] ) && $_POST['hidden_' . $timeunit] != $_POST[$timeunit] ) {
$_POST['edit_date'] = '1';
break;
}
}
if (!empty ( $_POST['edit_date'] ) ) {
$aa = $_POST['aa'];
$mm = $_POST['mm'];
$jj = $_POST['jj'];
$hh = $_POST['hh'];
$mn = $_POST['mn'];
$ss = $_POST['ss'];
$jj = ($jj > 31 ) ? 31 : $jj;
$hh = ($hh > 23 ) ? $hh -24 : $hh;
$mn = ($mn > 59 ) ? $mn -60 : $mn;
$ss = ($ss > 59 ) ? $ss -60 : $ss;
$_POST['comment_date'] = "$aa-$mm-$jj $hh:$mn:$ss";
}
wp_update_comment( $_POST);
}
/**
* {@internal Missing Short Description}}
*
* @since unknown
*
* @param unknown_type $id
* @return unknown
*/
function get_comment_to_edit( $id ) {
if ( !$comment = get_comment($id) )
return false;
$comment->comment_ID = (int) $comment->comment_ID;
$comment->comment_post_ID = (int) $comment->comment_post_ID;
$comment->comment_content = format_to_edit( $comment->comment_content );
$comment->comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content);
$comment->comment_author = format_to_edit( $comment->comment_author );
$comment->comment_author_email = format_to_edit( $comment->comment_author_email );
$comment->comment_author_url = clean_url($comment->comment_author_url);
$comment->comment_author_url = format_to_edit( $comment->comment_author_url );
return $comment;
}
/**
* {@internal Missing Short Description}}
*
* @since unknown
* @uses $wpdb
*
* @param int $post_id Post ID
* @return unknown
*/
function get_pending_comments_num( $post_id ) {
global $wpdb;
$single = false;
if ( !is_array($post_id) ) {
$post_id = (array) $post_id;
$single = true;
}
$post_id = array_map('intval', $post_id);
$post_id = "'" . implode("', '", $post_id) . "'";
$pending = $wpdb->get_results( "SELECT comment_post_ID, COUNT(comment_ID) as num_comments FROM $wpdb->comments WHERE comment_post_ID IN ( $post_id ) AND comment_approved = '0' GROUP BY comment_post_ID", ARRAY_N );
if ( empty($pending) )
return 0;
if ( $single )
return $pending[0][1];
$pending_keyed = array();
foreach ( $pending as $pend )
$pending_keyed[$pend[0]] = $pend[1];
return $pending_keyed;
}
/**
* Add avatars to relevant places in admin, or try to.
*
* @since unknown
* @uses $comment
*
* @param string $name User name.
* @return string Avatar with Admin name.
*/
function floated_admin_avatar( $name ) {
global $comment;
$id = $avatar = false;
if ( $comment->comment_author_email )
$id = $comment->comment_author_email;
if ( $comment->user_id )
$id = $comment->user_id;
if ( $id )
$avatar = get_avatar( $id, 32 );
return "$avatar $name";
}
if ( is_admin() && ('edit-comments.php' == $pagenow || 'edit.php' == $pagenow) ) {
if ( get_option('show_avatars') )
add_filter( 'comment_author', 'floated_admin_avatar' );
}
function wp_get_inbox_items() {
$r = array();
$r[] = (object) array(
'text' => 'Your take on the evolution of Dr. Who is ridiculous. The fact that the actors are getting younger has nothing to do with Gallifrey lore, and everything to do with celebrity culture.',
'date' => '2008/09/07',
'time' => '4:19pm',
'from' => 'I. monroe',
'type' => 'comment',
'parent' => '1',
'href' => '#'
);
$r[] = (object) array(
'text' => 'Announcement: WordPress introduces new features for mobile blogging.',
'date' => '2008/09/06',
'time' => '3:24pm',
'from' => 'WordPress.org',
'type' => 'announcement',
'parent' => '0',
'href' => '#'
);
$r[] = (object) array(
'text' => 'Great review. You left out a few things, but maybe you were trying to avoid spoilers? Will check back later in a week.',
'date' => '2008/09/06',
'time' => '2:46pm',
'from' => 'matt',
'type' => 'comment',
'parent' => '2',
'href' => '#'
);
$r[] = (object) array(
'text' => 'nice picture!',
'date' => '2008/08/05',
'time' => '9:17am',
'from' => 'caped crusader',
'type' => 'comment',
'parent' => '3',
'href' => '#'
);
return $r;
}
?>