{--CATEGORY_ALREADY_EXISTS--}'; // Add a new category $result = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `cat`='%s' LIMIT 1", array(postRequestElement('catname')), __FILE__, __LINE__); if (ifSqlHasZeroNumRows($result)) { // Category does not exists, we simply add it... sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_cats` (`cat`, `visible`, `sort`) VALUES ('%s','%s','%s')", array( postRequestElement('catname'), postRequestElement('visible'), bigintval(postRequestElement('parent') + 1) ), __FILE__, __LINE__); // Category has been added $content = '{--CATEGORY_ADDED--}'; } // END - if // Free memory sqlFreeResult($result); // Display message displayMessage($content); } elseif ((isFormSent()) && (ifPostContainsSelections('id'))) { // Change or delete categories... $TEXT = ''; foreach (postRequestElement('id') as $id => $cat) { // Secure id $id = bigintval($id); // Is the entry set? if (!empty($cat)) { switch (getRequestElement('do')) { case 'edit': // Change categories sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_cats` SET `cat`='%s',`visible`='%s',`sort`=%s WHERE `id`=%s LIMIT 1", array( $cat, postRequestElement('visible', $id), postRequestElement('sort', $id), $id ), __FILE__, __LINE__); $TEXT = '{--ADMIN_CATEGORIES_SAVED--}'; break; case 'delete': // Delete categories sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1", array($id), __FILE__, __LINE__); sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `cat_id`=%s", array($id), __FILE__, __LINE__); $TEXT = '{--ADMIN_CATEGORIES_DELETED--}'; break; } // END - switch } else { // Entry not saved $TEXT .= '{%message,ADMIN_CATEGORY_NOT_SAVED=' . $id . '%}'; } } // END - foreach if (isset($TEXT)) { // Display message displayMessage($TEXT); } // END - if } elseif ((isFormSent('delete')) && (ifPostContainsSelections())) { // Delete categories $OUT = ''; foreach (postRequestElement('sel') as $id => $value) { // Load row template and switch colors $OUT .= loadTemplate('admin_delete_cats_row', TRUE, $id); } // END - foreach // Load main template loadTemplate('admin_delete_cats', FALSE, $OUT); } elseif ((isFormSent('edit')) && (ifPostContainsSelections())) { // Edit categories $OUT = ''; foreach (postRequestElement('sel') as $id => $value) { // Load data from the category $result = sqlQueryEscaped("SELECT `id`, `visible`, `sort` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__); $content = sqlFetchArray($result); // Free result sqlFreeResult($result); // Prepare data for the row template $content['visible_selection'] = addSelectionBox('yn', $content['visible'], 'visible', $content['id']); // Load row template and switch colors $OUT .= loadTemplate('admin_edit_cats_row', TRUE, $content); } // END - foreach // Load main template loadTemplate('admin_edit_cats', FALSE, $OUT); } else { // Init variable here $CATS = ''; // Load all categories $result = sqlQuery("SELECT `id`, `cat`, `visible`, `sort` FROM `{?_MYSQL_PREFIX?}_cats` ORDER BY `sort` ASC", __FILE__, __LINE__); if (!ifSqlHasZeroNumRows($result)) { // Init variables $OUT = ''; // List already existing categories for editing while ($content = sqlFetchArray($result)) { // Put cat descriptions into variable for the selection box if (strlen($content['cat']) > 40) $content['cat'] = substr($content['cat'], 0, 37) . '...'; $CATS .= ''; // Load row template and switch color $OUT .= loadTemplate('admin_list_cats_row', TRUE, $content); } // END - while // Free memory sqlFreeResult($result); // Load main template loadTemplate('admin_list_cats', FALSE, $OUT); } // END - if // Remember in array $content['cats'] = $CATS; // Form to add a new category loadTemplate('admin_add_cat', FALSE, $content); } // [EOF] ?>