X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_cats.php;h=53cdead13af9c8d193358f96a4198202b1cd4e53;hb=8cab12aa2bd0bd1de03a377b37cd42faae64b0e1;hp=b01d71320c88ed40de91fe8ae7b7e7d849e0a6a4;hpb=6032b7018b83778f1592383238f4e0d28f718622;p=mailer.git diff --git a/inc/modules/admin/what-list_cats.php b/inc/modules/admin/what-list_cats.php index b01d71320c..53cdead13a 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"); - } +addYouAreHereLink('admin', __FILE__); + +// Init variable to avoid a notice +$CATS = ''; + +if (isFormSent('add')) { + // Add a new category + $result = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `cat`='%s' LIMIT 1", + array(postRequestElement('catname')), __FILE__, __LINE__); + if (ifSqlHasZeroNums($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__); + $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 + 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 { - // Output selection form with all confirmed user accounts listed - ADD_MEMBER_SELECTION_BOX(); + // 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 (!ifSqlHasZeroNums($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] ?>