-ADD_DESCR('admin', __FILE__);
-
-if (REQUEST_ISSET_GET('uid')) {
- // Check if the user already exists
- $result = SQL_QUERY_ESC("SELECT `surname`, `family`, `email` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval(REQUEST_GET('uid'))), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1) {
- // Loads surname, family's name and the email address
- list($sname, $fname, $email) = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
-
- // Prepare constants
- define('__CATS_BASE' , "<a href=\"{!URL!}/modules.php?module=admin&uid=");
- define('__UID' , bigintval(REQUEST_GET('uid')));
- define('__MEMBER_LINKS', generateMemberAdminActionLinks(constant('__UID')));
- define('__EMAIL' , "<a href=\"".generateEmailLink($email, 'user_data')."\">".$sname." ".$fname."</a>");
-
- // Ok, list categories of this user
- $result_cats = SQL_QUERY("SELECT `id`, `cat` FROM `{!_MYSQL_PREFIX!}_cats` ORDER BY `sort` ASC", __FILE__, __LINE__);
-
- if (SQL_NUMROWS($result_cats) > 0) {
- // List categories
- $cnt = 1; $OUT = ''; $SW = 2;
- while ($content = SQL_FETCHARRAY($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(REQUEST_GET('uid')), bigintval($content['id'])), __FILE__, __LINE__);
-
- // Set selection
- $selection = "<font color=\"#ee0000\">{--NO--}</div>";
- if (SQL_NUMROWS($result_user) == 1) $selection = "<font color=\"#00ee00\">{--YES--}</div>";
-
- // Add more elements
- $content['sw'] = $SW;
- $content['cnt'] = $cnt;
- $content['sel'] = $selection;
-
- // Load row template and switch colors + count up
- $OUT .= LOAD_TEMPLATE('admin_list_cats_row', true, $content);
- $SW = 3 - $SW; $cnt++;
- } // END - while
-
- // Free memory
- SQL_FREERESULT($result);
-
- // @TODO Rewrite this constant
- define('__CATS_ROWS', $OUT);
-
- // Load main template
- LOAD_TEMPLATE('admin_list_cats');
+addYouAreHereLink('admin', __FILE__);
+
+// Init variable to avoid a notice
+$CATS = '';
+
+if (isFormSent('add')) {
+ // Default message
+ $content = '<span class="bad">{--CATEGORY_ALREADY_EXISTS--}</span>';
+
+ // 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