Update of /cvsroot/php-blog/serendipity
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26578
Modified Files:
Tag: branch-smarty
serendipity_functions.inc.php
Log Message:
MFH
Index: serendipity_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_functions.inc.php,v
retrieving revision 1.419.2.14
retrieving revision 1.419.2.15
diff -u -d -r1.419.2.14 -r1.419.2.15
--- serendipity_functions.inc.php 14 Sep 2004 13:11:16 -0000 1.419.2.14
+++ serendipity_functions.inc.php 14 Sep 2004 16:29:46 -0000 1.419.2.15
@@ -1270,8 +1270,7 @@
} // end function serendipity_printEntries
-function serendipity_deleteComment($id, $entry_id, $type='comments')
-{
+function serendipity_deleteComment($id, $entry_id, $type='comments') {
global $serendipity;
if ($_SESSION['serendipityAuthedUser'] === true) {
@@ -1280,13 +1279,23 @@
$admin = " AND authorid = " . (int)$_SESSION['serendipityAuthorid'] ."'";
}
- $query = "DELETE FROM {$serendipity['dbPrefix']}comments WHERE entry_id = '". (int)$entry_id ."' AND id = '". (int)$id ."' $admin";
- serendipity_db_query($query);
- $affected = serendipity_db_affected_rows();
+ /* We have to figure out if the comment we are about to delete, is awaiting approval,
+ if so - we should *not* subtract it from the entries table */
+ $sql = serendipity_db_query("SELECT status FROM {$serendipity['dbPrefix']}comments
+ WHERE entry_id = '". (int)$entry_id ."'
+ AND id = '". (int)$id ."'
+ $admin");
- $query = "UPDATE {$serendipity['dbPrefix']}entries SET $type = $type-1 WHERE id = '". (int)$entry_id ."' $admin";
- serendipity_db_query($query);
- return $affected;
+ serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}comments
+ WHERE entry_id = '". (int)$entry_id ."'
+ AND id = '". (int)$id ."'
+ $admin");
+
+ if ( $sql['status'] !== 'pending' ) {
+ serendipity_db_query("UPDATE {$serendipity['dbPrefix']}entries SET $type = $type-1 WHERE id = '". (int)$entry_id ."' $admin");
+ }
+
+ return true;
} else {
return false;
}
|