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
|
<?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) {
|
function selected($selected, $current) {
|
||||||
if ($selected == $current) echo ' selected="selected"';
|
if ($selected == $current) echo ' selected="selected"';
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,19 +2,37 @@
|
||||||
$title = 'Edit Comments';
|
$title = 'Edit Comments';
|
||||||
$parent_file = 'edit.php';
|
$parent_file = 'edit.php';
|
||||||
require_once('admin-header.php');
|
require_once('admin-header.php');
|
||||||
|
if (empty($_GET['mode'])) $mode = 'view';
|
||||||
|
else $mode = $_GET['mode'];
|
||||||
?>
|
?>
|
||||||
<ul id="adminmenu2">
|
<ul id="adminmenu2">
|
||||||
<li><a href="edit.php">Posts</a></li>
|
<li><a href="edit.php">Posts</a></li>
|
||||||
<li><a href="edit-comments.php" class="current">Comments</a></li>
|
<li><a href="edit-comments.php" class="current">Comments</a></li>
|
||||||
<li class="last"><a href="moderation.php">Awaiting Moderation</a></li>
|
<li class="last"><a href="moderation.php">Awaiting Moderation</a></li>
|
||||||
</ul>
|
</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">
|
<div class="wrap">
|
||||||
<form name="searchform" action="" method="get">
|
<form name="searchform" action="" method="get">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Show Comments That Contain...</legend>
|
<legend>Show Comments That Contain...</legend>
|
||||||
<input type="text" name="s" value="<?php echo $s; ?>" size="17" />
|
<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>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<p><a href="?mode=view">View Mode</a> | <a href="?mode=edit">Mass Edit Mode</a></p>
|
<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_url LIKE ('%$s%') OR
|
||||||
comment_author_IP LIKE ('%$s%') OR
|
comment_author_IP LIKE ('%$s%') OR
|
||||||
comment_content LIKE ('%$s%')
|
comment_content LIKE ('%$s%')
|
||||||
ORDER BY comment_date");
|
ORDER BY comment_date DESC");
|
||||||
} else {
|
} 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) {
|
if ($comments) {
|
||||||
echo '<ol>';
|
echo '<ol>';
|
||||||
foreach ($comments as $comment) {
|
foreach ($comments as $comment) {
|
||||||
|
@ -58,6 +77,48 @@ if ($s) {
|
||||||
<?php
|
<?php
|
||||||
} // end foreach
|
} // end foreach
|
||||||
echo '</ol>';
|
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 {
|
} else {
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -67,7 +128,7 @@ if ($s) {
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
} // end if ($comments)
|
} // end if ($comments)
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -96,9 +96,9 @@ default:
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<ul id="adminmenu2">
|
<ul id="adminmenu2">
|
||||||
<li><a href="edit.php">Latest Posts</a></li>
|
<li><a href="edit.php"> Posts</a></li>
|
||||||
<li><a href="edit-comments.php">Latest Comments</a></li>
|
<li><a href="edit-comments.php"> Comments</a></li>
|
||||||
<li class="last"><a href="moderation.php" class="current">Comments Awaiting Moderation</a></li>
|
<li class="last"><a href="moderation.php" class="current">Awaiting Moderation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ echo "<a href=\"post.php?action=editcomment&comment=".$comment->comment_ID."
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ol>
|
</ol>
|
||||||
<input type="submit" name="submit" value="Moderate Comments" class="search" />
|
<input type="submit" name="submit" value="Moderate Comments" />
|
||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -6,16 +6,20 @@ add_filter('comment_author', 'wptexturize');
|
||||||
add_filter('comment_author', 'convert_chars');
|
add_filter('comment_author', 'convert_chars');
|
||||||
|
|
||||||
add_filter('comment_email', 'remove_slashes', 5);
|
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_url', 'clean_url');
|
||||||
|
|
||||||
|
add_filter('comment_text', 'remove_slashes', 5);
|
||||||
add_filter('comment_text', 'convert_chars');
|
add_filter('comment_text', 'convert_chars');
|
||||||
add_filter('comment_text', 'make_clickable');
|
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', 'balanceTags');
|
||||||
add_filter('comment_text', 'convert_smilies', 20);
|
add_filter('comment_text', 'convert_smilies', 20);
|
||||||
|
|
||||||
|
add_filter('comment_excerpt', 'remove_slashes', 5);
|
||||||
|
add_filter('comment_excerpt', 'convert_chars');
|
||||||
|
|
||||||
function clean_url($url) {
|
function clean_url($url) {
|
||||||
$url = str_replace('http://url', '', $url);
|
$url = str_replace('http://url', '', $url);
|
||||||
$url = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $url);
|
$url = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $url);
|
||||||
|
@ -129,7 +133,7 @@ function comment_author_link() {
|
||||||
if ($url) {
|
if ($url) {
|
||||||
echo $url;
|
echo $url;
|
||||||
} else {
|
} else {
|
||||||
echo 'mailto:'.antispambot($email);
|
echo "mailto:$email";
|
||||||
}
|
}
|
||||||
echo '" rel="external">' . $author . '</a>';
|
echo '" rel="external">' . $author . '</a>';
|
||||||
}
|
}
|
||||||
|
@ -153,7 +157,7 @@ function comment_author_email_link($linktext='', $before='', $after='') {
|
||||||
global $comment;
|
global $comment;
|
||||||
$email = apply_filters('comment_email', $comment->comment_author_email);
|
$email = apply_filters('comment_email', $comment->comment_author_email);
|
||||||
if ((!empty($email)) && ($email != '@')) {
|
if ((!empty($email)) && ($email != '@')) {
|
||||||
$display = ($linktext != '') ? $linktext : antispambot(stripslashes($email));
|
$display = ($linktext != '') ? $linktext : stripslashes($email);
|
||||||
echo $before;
|
echo $before;
|
||||||
echo "<a href='mailto:$email'>$display</a>";
|
echo "<a href='mailto:$email'>$display</a>";
|
||||||
echo $after;
|
echo $after;
|
||||||
|
@ -184,6 +188,27 @@ function comment_text() {
|
||||||
echo apply_filters('comment_text', $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='') {
|
function comment_date($d='') {
|
||||||
global $comment;
|
global $comment;
|
||||||
if ('' == $d) {
|
if ('' == $d) {
|
||||||
|
|
Loading…
Reference in New Issue