Update of /cvsroot/php-blog/serendipity/include/admin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30440/include/admin
Modified Files:
category.inc.php
Log Message:
- A little more code cleanup
- Return error if a category of the same name already exist
Index: category.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/include/admin/category.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- category.inc.php 26 Dec 2004 21:38:56 -0000 1.6
+++ category.inc.php 3 Jan 2005 19:25:25 -0000 1.7
@@ -8,11 +8,11 @@
/* Add a new category */
if (isset($_POST['SAVE'])) {
- $name = addslashes($_POST['serendipity']['cat']['name']);
- $desc = addslashes($_POST['serendipity']['cat']['description']);
- $authorid = (isset($_POST['serendipity']['cat']['all_authors']) && $_POST['serendipity']['cat']['all_authors'] == 'true') ? '0' : $serendipity['authorid'];
- $icon = addslashes($_POST['serendipity']['cat']['icon']);
- $parentid = (isset($_POST['serendipity']['cat']['parent_cat']) && is_numeric($_POST['serendipity']['cat']['parent_cat'])) ? $_POST['serendipity']['cat']['parent_cat'] : 0;
+ $name = $serendipity['POST']['cat']['name'];
+ $desc = $serendipity['POST']['cat']['description'];
+ $authorid = (isset($serendipity['POST']['all_authors']) && $serendipity['POST']['all_authors'] == 'true') ? 0 : $serendipity['authorid'];
+ $icon = $serendipity['POST']['cat']['icon'];
+ $parentid = (isset($serendipity['POST']['cat']['parent_cat']) && is_numeric($serendipity['POST']['cat']['parent_cat'])) ? $serendipity['POST']['cat']['parent_cat'] : 0;
if ($serendipity['GET']['adminAction'] == 'new') {
if ($parentid != 0) {
@@ -23,18 +23,29 @@
serendipity_db_query("UPDATE {$serendipity['dbPrefix']}category SET category_left=category_left+2, category_right=category_right+2 WHERE category_right>{$res}");
*/
}
- $query = "INSERT INTO {$serendipity['dbPrefix']}category (category_name, category_description, authorid, category_icon, parentid, category_left, category_right) values ('$name', '$desc', $authorid, '$icon', $parentid, 0, 0)";
- serendipity_db_query($query);
- echo '<div class="serendipityAdminMsgSuccess">'. CATEGORY_SAVED .'</div>';
+
+ /* Check to see if category already exist */
+ $sql = serendipity_db_query("SELECT * FROM {$serendipity['dbPrefix']}category WHERE category_name = '". serendipity_db_escape_string($name) ."'", true);
+ if ( $sql ) {
+ echo '<div class="serendipityAdminMsgError">'. sprintf(CATEGORY_ALREADY_EXIST, $name) .'</div>';
+ } else {
+ $query = "INSERT INTO {$serendipity['dbPrefix']}category
+ (category_name, category_description, authorid, category_icon, parentid, category_left, category_right)
+ VALUES ('". serendipity_db_escape_string($name) ."', '". serendipity_db_escape_string($desc) ."', ". (int)$authorid .", '". serendipity_db_escape_string($icon) ."', ". (int)$parentid .", 0, 0)";
+ serendipity_db_query($query);
+ echo '<div class="serendipityAdminMsgSuccess">'. CATEGORY_SAVED .'</div>';
+ }
+
+
} elseif ($serendipity['GET']['adminAction'] == 'edit') {
+
/* Check to make sure parent is not a child of self */
$r = serendipity_db_query("SELECT categoryid FROM {$serendipity['dbPrefix']}category c WHERE c.categoryid={$parentid} AND c.category_left BETWEEN " . implode(' AND ', serendipity_fetchCategoryRange((int)$serendipity['GET']['cid'])));
if ( !is_array($r) ) {
$query = "UPDATE {$serendipity['dbPrefix']}category SET category_name='$name', category_description='$desc', authorid=$authorid, category_icon='$icon', parentid=$parentid WHERE categoryid=". (int)$serendipity['GET']['cid'] ." $admin_category";
serendipity_db_query($query);
echo '<div class="serendipityAdminMsgSuccess">'. CATEGORY_SAVED .'</div>';
- }
- else {
+ } else {
$r = serendipity_db_query("SELECT category_name FROM {$serendipity['dbPrefix']}category WHERE categoryid={$parentid}");
$msg = sprintf(ALREADY_SUBCATEGORY, $r[0]['category_name'], $name);
}
@@ -47,7 +58,7 @@
/* Delete a category */
if ($serendipity['GET']['adminAction'] == 'doDelete') {
if ($serendipity['GET']['cid'] != 0) {
- $remaining_cat = (int)$_POST['serendipity']['cat']['remaining_catid'];
+ $remaining_cat = (int)$serendipity['POST']['cat']['remaining_catid'];
$category_range = implode(' AND ', serendipity_fetchCategoryRange((int)$serendipity['GET']['cid']));
if (strtolower($serendipity['dbType']) == 'postgres') {
$query = "UPDATE {$serendipity['dbPrefix']}entrycat
@@ -172,8 +183,9 @@
-<?php if ( $serendipity['GET']['adminAction'] == 'view' ) {
- $cats = serendipity_fetchCategories('all');
+<?php
+if ( $serendipity['GET']['adminAction'] == 'view' ) {
+ $cats = serendipity_fetchCategories('all');
if ( is_array($cats) && sizeof($cats) > 0 ) {
echo CATEGORY_INDEX .':';
} else {
|