Update of /cvsroot/php-blog/serendipity
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2972
Modified Files:
serendipity_admin_category.inc.php
Log Message:
Fix delete category code to work with new model
Index: serendipity_admin_category.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_admin_category.inc.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- serendipity_admin_category.inc.php 7 Jun 2004 14:22:47 -0000 1.14
+++ serendipity_admin_category.inc.php 8 Jun 2004 08:42:23 -0000 1.15
@@ -40,12 +40,19 @@
} elseif (isset($_POST['REMOVE'])) {
if ($cat_to_edit != 0) {
$remaining_cat = (int)$_POST['serendipity']['cat']['remaining_catid'];
- $del = serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}category WHERE categoryid=$cat_to_edit $admin_category");
- if ($del[0] > 0) {
- serendipity_db_query("UPDATE {$serendipity['dbPrefix']}entries SET categoryid=$remaining_cat WHERE categoryid=$cat_to_edit");
- $msg = sprintf(CATEGORY_DELETED_ARTICLES_MOVED, $cat_to_edit, $remaining_cat);
- } else {
- $msg = sprintf(CATEGORY_DELETED, $cat_to_edit);
+ $category_range = implode(' AND ', serendipity_fetchCategoryRange($cat_to_edit));
+ $query = "UPDATE {$serendipity['dbPrefix']}entries e,
+ {$serendipity['dbPrefix']}entrycat ec,
+ {$serendipity['dbPrefix']}category c
+ SET ec.categoryid={$remaining_cat}
+ WHERE e.id = ec.entryid
+ AND c.categoryid = ec.categoryid
+ AND category_left BETWEEN {$category_range}
+ {$admin_category}";
+ if ( serendipity_db_query($query) ) {
+ if ( serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}category WHERE category_left BETWEEN {$category_range} {$admin_category}") ) {
+ $msg = $remaining_cat ? sprintf(CATEGORY_DELETED_ARTICLES_MOVED, $cat_to_edit, $remaining_cat) : sprintf(CATEGORY_DELETED, $cat_to_edit);
+ }
}
} else {
$msg = INVALID_CATEGORY;
|