X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_cats.php;h=48069a94b8185ed3801d9f30ce978bbd456e1003;hp=863f1f602016a5e7ca45e1ff7eeec80927d72899;hb=02926f5327b32cae01d13b3db3fdfad971393982;hpb=963e55ca1ea79e255f235e359cde9f7862191dc5
diff --git a/inc/modules/admin/what-list_cats.php b/inc/modules/admin/what-list_cats.php
index 863f1f6020..48069a94b8 100644
--- a/inc/modules/admin/what-list_cats.php
+++ b/inc/modules/admin/what-list_cats.php
@@ -1,20 +1,24 @@
".$sname." ".$fname."");
-
- // Ok, list categories of this user
- $result_cats = SQL_QUERY("SELECT id, cat FROM "._MYSQL_PREFIX."_cats ORDER BY sort", __FILE__, __LINE__);
-
- if (SQL_NUMROWS($result_cats) > 0) {
- // List categories
- $cnt = "1"; $SW = 2; $OUT = "";
- while (list($cid, $cat) = SQL_FETCHROW($result_cats)) {
- // Check user's selection
- $result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s AND cat_id=%s LIMIT 1",
- array(bigintval($_GET['u_id']), bigintval($cid)), __FILE__, __LINE__);
-
- // Set selection
- $SELECTED = "".NO."";
- if (SQL_NUMROWS($result_user) == 1) $SELECTED = "".YES."";
-
- // Prepare array for the row template
- $content = array(
- 'sw' => $SW,
- 'cnt' => $cnt,
- 'cat' => $cat,
- 'sel' => $SELECTED,
- );
-
- // Load row template and switch colors + count up
- $OUT .= LOAD_TEMPLATE("admin_list_cats_row", true, $content);
- $SW = 3 - $SW; $cnt++;
- }
-
- // Free memory
- SQL_FREERESULT($result);
- define('__CATS_ROWS', $OUT);
-
- // Load main template
- LOAD_TEMPLATE("admin_list_cats");
- } else {
- // No categories selected! :-(
- LOAD_TEMPLATE("admin_list_cats_404");
- }
+// Init variable to avoid a notice
+$CATS = '';
+
+if (isFormSent('add')) {
+ // Add a new category
+ $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `cat`='%s' LIMIT 1",
+ array(postRequestElement('catname')), __FILE__, __LINE__);
+ if (SQL_HASZERONUMS($result)) {
+ // Category does not exists, we simply add it...
+ SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_cats` (`cat`, `visible`, `sort`) VALUES ('%s','%s','%s')",
+ array(
+ postRequestElement('catname'),
+ postRequestElement('visible'),
+ bigintval(postRequestElement('parent') + 1)
+ ), __FILE__, __LINE__);
+ $content = '{--CATEGORY_ADDED--}';
} else {
- // User not found
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MEMBER_404_1.__UID.ADMIN_MEMBER_404_2);
+ // Category does already exists
+ $content = '{--CATEGORY_ALREADY_EXISTS--}';
}
+
+ // Free memory
+ SQL_FREERESULT($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
+ SQL_QUERY_ESC("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
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1",
+ array($id), __FILE__, __LINE__);
+ SQL_QUERY_ESC("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 = SQL_QUERY_ESC("SELECT `id`, `visible`, `sort` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1",
+ array(bigintval($id)), __FILE__, __LINE__);
+ $content = SQL_FETCHARRAY($result);
+
+ // Free result
+ SQL_FREERESULT($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 {
- // Output selection form with all confirmed user accounts listed
- ADD_MEMBER_SELECTION_BOX();
+ // Init variable here
+ $CATS = '';
+
+ // Load all categories
+ $result = SQL_QUERY("SELECT `id`, `cat`, `visible`, `sort` FROM `{?_MYSQL_PREFIX?}_cats` ORDER BY `sort` ASC", __FILE__, __LINE__);
+ if (!SQL_HASZERONUMS($result)) {
+ // Init variables
+ $OUT = '';
+
+ // List already existing categories for editing
+ while ($content = SQL_FETCHARRAY($result)) {
+ // Put cat descriptions into variable for the selection box
+ $cat = $content['cat'];
+ if (strlen($cat) > 40) $cat = substr($cat, 0, 37) . '...';
+ $CATS .= '';
+
+ // Load row template and switch color
+ $OUT .= loadTemplate('admin_list_cats_row', TRUE, $content);
+ } // END - while
+
+ // Free memory
+ SQL_FREERESULT($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]
?>