Edit comments improvement, multiple comment delete not implemented yet.
git-svn-id: http://svn.automattic.com/wordpress/trunk@887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
d5374b68b6
commit
67fa9206a3
|
@ -1,5 +1,15 @@
|
|||
<?php
|
||||
|
||||
function url_shorten ($url) {
|
||||
$short_url = str_replace('http://', '', stripslashes($url));
|
||||
$short_url = str_replace('www.', '', $short_url);
|
||||
if ('/' == substr($short_url, -1))
|
||||
$short_url = substr($short_url, 0, -1);
|
||||
if (strlen($short_url) > 35)
|
||||
$short_url = substr($short_url, 0, 32).'...';
|
||||
return $short_url;
|
||||
}
|
||||
|
||||
function selected($selected, $current) {
|
||||
if ($selected == $current) echo ' selected="selected"';
|
||||
}
|
||||
|
|
|
@ -2,19 +2,37 @@
|
|||
$title = 'Edit Comments';
|
||||
$parent_file = 'edit.php';
|
||||
require_once('admin-header.php');
|
||||
if (empty($_GET['mode'])) $mode = 'view';
|
||||
else $mode = $_GET['mode'];
|
||||
?>
|
||||
<ul id="adminmenu2">
|
||||
<li><a href="edit.php">Posts</a></li>
|
||||
<li><a href="edit-comments.php" class="current">Comments</a></li>
|
||||
<li class="last"><a href="moderation.php">Awaiting Moderation</a></li>
|
||||
</ul>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function checkAll(form)
|
||||
{
|
||||
for (i = 0, n = form.elements.length; i < n; i++) {
|
||||
if(form.elements[i].type == "checkbox") {
|
||||
if(form.elements[i].checked == true)
|
||||
form.elements[i].checked = false;
|
||||
else
|
||||
form.elements[i].checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<div class="wrap">
|
||||
<form name="searchform" action="" method="get">
|
||||
<fieldset>
|
||||
<legend>Show Comments That Contain...</legend>
|
||||
<input type="text" name="s" value="<?php echo $s; ?>" size="17" />
|
||||
<input type="submit" name="submit" value="Search" />
|
||||
<input type="submit" name="submit" value="Search" />
|
||||
<input type="hidden" name="mode" value="<?php echo $mode; ?>" />
|
||||
(Searches within comment text, email, URI, and IP address.)
|
||||
</fieldset>
|
||||
</form>
|
||||
<p><a href="?mode=view">View Mode</a> | <a href="?mode=edit">Mass Edit Mode</a></p>
|
||||
|
@ -27,10 +45,11 @@ if ($s) {
|
|||
comment_author_url LIKE ('%$s%') OR
|
||||
comment_author_IP LIKE ('%$s%') OR
|
||||
comment_content LIKE ('%$s%')
|
||||
ORDER BY comment_date");
|
||||
ORDER BY comment_date DESC");
|
||||
} else {
|
||||
$comments = $wpdb->get_results("SELECT * FROM $tablecomments ORDER BY comment_date $commentorder LIMIT 20");
|
||||
$comments = $wpdb->get_results("SELECT * FROM $tablecomments ORDER BY comment_date DESC LIMIT 20");
|
||||
}
|
||||
if ('view' == $mode) {
|
||||
if ($comments) {
|
||||
echo '<ol>';
|
||||
foreach ($comments as $comment) {
|
||||
|
@ -58,6 +77,48 @@ if ($s) {
|
|||
<?php
|
||||
} // end foreach
|
||||
echo '</ol>';
|
||||
} else {
|
||||
|
||||
?>
|
||||
<p>
|
||||
<strong>No results found.</strong></p>
|
||||
|
||||
<?php
|
||||
} // end if ($comments)
|
||||
} elseif ('edit' == $mode) {
|
||||
if ($comments) {
|
||||
echo '<form name="deletecomments" id="deletecomments" action="" method="post">
|
||||
<table width="100%" cellpadding="3" cellspacing="3">
|
||||
<tr>
|
||||
<th scope="col">*</th>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">Email</th>
|
||||
<th scope="col">IP</th>
|
||||
<th scope="col">Comment Excerpt</th>
|
||||
<th scope="col">Edit</th>
|
||||
<th scope="col">Delete</th>
|
||||
</tr>';
|
||||
foreach ($comments as $comment) {
|
||||
$bgcolor = ('#eee' == $bgcolor) ? 'none' : '#eee';
|
||||
?>
|
||||
<tr style='background-color: <?php echo $bgcolor; ?>'>
|
||||
<td><input type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /></td>
|
||||
<th scope="row"><?php comment_author_link() ?></th>
|
||||
<td><?php comment_author_email_link() ?></td>
|
||||
<td><a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></td>
|
||||
<td><?php comment_excerpt(); ?></td>
|
||||
<td><?php if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
|
||||
echo "<a href='post.php?action=editcomment&comment=$comment->comment_ID' class='edit'>Edit</a>"; } ?></td>
|
||||
<td><?php if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
|
||||
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.')\" class='delete'>Delete</a>"; } ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
} // end foreach
|
||||
?></table>
|
||||
<p><a href="javascript:;" onclick="checkAll(document.getElementById('deletecomments')); return false; ">Invert Checkbox Selection</a></p>
|
||||
<p style="text-align: right;"><input type="submit" name="Submit" value="Delete Checked Comments" onclick="return confirm('You are about to delete these comments permanently \n \'Cancel\' to stop, \'OK\' to delete.')" /> </p>
|
||||
</form>
|
||||
<?php
|
||||
} else {
|
||||
|
||||
?>
|
||||
|
@ -67,7 +128,7 @@ if ($s) {
|
|||
|
||||
<?php
|
||||
} // end if ($comments)
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -96,9 +96,9 @@ default:
|
|||
}
|
||||
?>
|
||||
<ul id="adminmenu2">
|
||||
<li><a href="edit.php">Latest Posts</a></li>
|
||||
<li><a href="edit-comments.php">Latest Comments</a></li>
|
||||
<li class="last"><a href="moderation.php" class="current">Comments Awaiting Moderation</a></li>
|
||||
<li><a href="edit.php"> Posts</a></li>
|
||||
<li><a href="edit-comments.php"> Comments</a></li>
|
||||
<li class="last"><a href="moderation.php" class="current">Awaiting Moderation</a></li>
|
||||
</ul>
|
||||
<?php
|
||||
|
||||
|
@ -166,7 +166,7 @@ echo "<a href=\"post.php?action=editcomment&comment=".$comment->comment_ID."
|
|||
}
|
||||
?>
|
||||
</ol>
|
||||
<input type="submit" name="submit" value="Moderate Comments" class="search" />
|
||||
<input type="submit" name="submit" value="Moderate Comments" />
|
||||
</form>
|
||||
<?php
|
||||
} else {
|
||||
|
|
|
@ -6,16 +6,20 @@ add_filter('comment_author', 'wptexturize');
|
|||
add_filter('comment_author', 'convert_chars');
|
||||
|
||||
add_filter('comment_email', 'remove_slashes', 5);
|
||||
add_filter('comment_email', 'antispambot', 5);
|
||||
add_filter('comment_email', 'antispambot');
|
||||
|
||||
add_filter('comment_url', 'clean_url');
|
||||
|
||||
add_filter('comment_text', 'remove_slashes', 5);
|
||||
add_filter('comment_text', 'convert_chars');
|
||||
add_filter('comment_text', 'make_clickable');
|
||||
add_filter('comment_text', 'wpautop');
|
||||
add_filter('comment_text', 'wpautop', 30);
|
||||
add_filter('comment_text', 'balanceTags');
|
||||
add_filter('comment_text', 'convert_smilies', 20);
|
||||
|
||||
|
||||
add_filter('comment_excerpt', 'remove_slashes', 5);
|
||||
add_filter('comment_excerpt', 'convert_chars');
|
||||
|
||||
function clean_url($url) {
|
||||
$url = str_replace('http://url', '', $url);
|
||||
$url = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $url);
|
||||
|
@ -129,7 +133,7 @@ function comment_author_link() {
|
|||
if ($url) {
|
||||
echo $url;
|
||||
} else {
|
||||
echo 'mailto:'.antispambot($email);
|
||||
echo "mailto:$email";
|
||||
}
|
||||
echo '" rel="external">' . $author . '</a>';
|
||||
}
|
||||
|
@ -153,7 +157,7 @@ function comment_author_email_link($linktext='', $before='', $after='') {
|
|||
global $comment;
|
||||
$email = apply_filters('comment_email', $comment->comment_author_email);
|
||||
if ((!empty($email)) && ($email != '@')) {
|
||||
$display = ($linktext != '') ? $linktext : antispambot(stripslashes($email));
|
||||
$display = ($linktext != '') ? $linktext : stripslashes($email);
|
||||
echo $before;
|
||||
echo "<a href='mailto:$email'>$display</a>";
|
||||
echo $after;
|
||||
|
@ -184,6 +188,27 @@ function comment_text() {
|
|||
echo apply_filters('comment_text', $comment_text);
|
||||
}
|
||||
|
||||
function comment_excerpt() {
|
||||
global $comment;
|
||||
$comment_text = str_replace('<trackback />', '', $comment->comment_content);
|
||||
$comment_text = str_replace('<pingback />', '', $comment_text);
|
||||
$comment_text = strip_tags($comment_text);
|
||||
$blah = explode(' ', $comment_text);
|
||||
if (count($blah) > 20) {
|
||||
$k = 20;
|
||||
$use_dotdotdot = 1;
|
||||
} else {
|
||||
$k = count($blah);
|
||||
$use_dotdotdot = 0;
|
||||
}
|
||||
$excerpt = '';
|
||||
for ($i=0; $i<$k; $i++) {
|
||||
$excerpt .= $blah[$i] . ' ';
|
||||
}
|
||||
$excerpt .= ($use_dotdotdot) ? '...' : '';
|
||||
echo apply_filters('comment_excerpt', $excerpt);
|
||||
}
|
||||
|
||||
function comment_date($d='') {
|
||||
global $comment;
|
||||
if ('' == $d) {
|
||||
|
|
Loading…
Reference in New Issue