From 4a0707e942a96b80ecea6bb83d0bf1acf4fe1e59 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Fri, 30 Oct 2009 03:19:03 +0000 Subject: [PATCH] Better feedback for saving categories --- inc/language/de.php | 1 + inc/modules/member/what-categories.php | 53 +++++++++++++++++--------- 2 files changed, 36 insertions(+), 18 deletions(-) diff --git a/inc/language/de.php b/inc/language/de.php index 044f9408d4..995254eb8c 100644 --- a/inc/language/de.php +++ b/inc/language/de.php @@ -343,6 +343,7 @@ addMessages(array( 'MEMBER_NO_CATS' => "Es wurden bis jetzt noch keine Kategorien eingerichtet!", 'SELECT_CAT' => "Mails aus Kategorie empfangen?", 'MEMBER_CATS_SAVED' => "Kategorien gespeichert.", + 'MEMBER_CATS_NOT_SAVED' => "Kategorien wurden nicht geändert.", 'YOUR_PERSONAL_REFLINK' => "Ihr persönlicher Ref-Link zum Werben neuer Mitglieder lautet", 'YOUR_REFCLICKS' => "Klicks auf Ihren Referal-Link", 'CLICKS' => "Klicks", diff --git a/inc/modules/member/what-categories.php b/inc/modules/member/what-categories.php index 24b550ea4e..c6674511b9 100644 --- a/inc/modules/member/what-categories.php +++ b/inc/modules/member/what-categories.php @@ -59,48 +59,65 @@ if ($cats > 0) { $cnt = 0; foreach (postRequestElement('cat') as $cat => $joined) { if ($joined != 'Y') $cnt++; - } + } // END - foreach if (($cats - $cnt) < getConfig('least_cats')) { unsetPostRequestElement('ok'); $LEAST = true; - } - } + } // END - if + } // END - if + // Is the form sent? if (isFormSent()) { + // Start counting all + $cnt = 0; + + // Go through all entries foreach (postRequestElement('cat') as $cat => $joined) { + // Ini sql here + $sql = ''; + + // Has the user joined on this category? switch ($joined) { case 'Y': - $sql = ''; - $result_user = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND cat_id=%s LIMIT 1", - array($UID, bigintval($cat)), __FILE__, __LINE__); + $result_user = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1", + array($UID, bigintval($cat)), __FILE__, __LINE__); if (SQL_NUMROWS($result_user) == 0) { $sql = "INSERT INTO `{?_MYSQL_PREFIX?}_user_cats` (userid, cat_id) VALUES ('%s','%s')"; - } else { - // Free memory - SQL_FREERESULT($result_user); - } + } // END - if + + // Free memory + SQL_FREERESULT($result_user); break; case 'N': - $sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND cat_id=%s LIMIT 1"; + $sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1"; break; - } + } // END - switch if (!empty($sql)) { // Run SQL command - $result = SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); - } + SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); + + // Count this row + $cnt += SQL_AFFECTEDROWS(); + } // END - if + } // END - foreach + + // Categories saved? + if ($cnt > 0) { + // Output message + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_SAVED')); + } else { + // None save + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_NOT_SAVED')); } - - // Categories saved... - loadTemplate('admin_settings_saved', true, getMessage('MEMBER_CATS_SAVED')); } else { if ($LEAST) { // Also here we have to secure it... :( loadTemplate('admin_settings_saved', false, sprintf(getMessage('CATS_LEAST'), getConfig('least_cats'))); - } + } // END - if // Put some data into constants for the template $content['rows'] = ($cats*2+4); -- 2.39.5