X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-categories.php;h=bb928879ff3dbc1ec32103cf0d77818d3eaa3a90;hb=6c6f24bd5a3817573d1d49ed114700914ae8c920;hp=c6674511b9ebb259c71f5de9deac71333594a4ef;hpb=4a0707e942a96b80ecea6bb83d0bf1acf4fe1e59;p=mailer.git diff --git a/inc/modules/member/what-categories.php b/inc/modules/member/what-categories.php index c6674511b9..bb928879ff 100644 --- a/inc/modules/member/what-categories.php +++ b/inc/modules/member/what-categories.php @@ -1,7 +1,7 @@ 0) { - $LEAST = false; +// Are there entries? +if (!SQL_HASZERONUMS($result)) { + $LEAST = FALSE; if (isFormSent()) { - $cnt = 0; - foreach (postRequestElement('cat') as $cat => $joined) { - if ($joined != 'Y') $cnt++; + $count = '0'; + foreach (postRequestElement('cat') as $categoryId => $joined) { + if ($joined != 'Y') $count++; } // END - foreach - if (($cats - $cnt) < getConfig('least_cats')) { + if ((SQL_NUMROWS($result) - $count) < getLeastCats()) { unsetPostRequestElement('ok'); - $LEAST = true; + $LEAST = TRUE; } // END - if } // END - if // Is the form sent? if (isFormSent()) { // Start counting all - $cnt = 0; + $count = '0'; - // Go through all entries - foreach (postRequestElement('cat') as $cat => $joined) { - // Ini sql here - $sql = ''; + // Ini SQLs here + initSqls(); + // Go through all entries + foreach (postRequestElement('cat') as $categoryId => $joined) { // Has the user joined on this category? switch ($joined) { case 'Y': - $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')"; + // Check if this category has an entry + if (countSumTotalData(getMemberId(), 'user_cats', 'id', 'userid', TRUE, sprintf(' AND `cat_id`=%s', bigintval($categoryId))) == 0) { + // No, so add it + addSql(sprintf('INSERT INTO `{?_MYSQL_PREFIX?}_user_cats` (`userid`, `cat_id`) VALUES (%s,%s)', getMemberId(), bigintval($categoryId))); } // 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"; + addSql(sprintf('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1', getMemberId(), bigintval($categoryId))); break; } // END - switch - - if (!empty($sql)) { - // Run SQL command - SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); - - // Count this row - $cnt += SQL_AFFECTEDROWS(); - } // END - if } // END - foreach + // Are there entries? + if (countSqls() > 0) { + // Run SQL commands + $count = runFilterChain('run_sqls'); + } // END - if + // Categories saved? - if ($cnt > 0) { + if ($count > 0) { // Output message - loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_SAVED')); + displayMessage('{--MEMBER_CATEGORIES_SAVED--}'); } else { // None save - loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_NOT_SAVED')); + displayMessage('{--MEMBER_CATEGORIES_NOT_SAVED--}'); } } else { - if ($LEAST) { + if ($LEAST === TRUE) { // Also here we have to secure it... :( - loadTemplate('admin_settings_saved', false, sprintf(getMessage('CATS_LEAST'), getConfig('least_cats'))); + displayMessage('{--CHOOSE_MORE_CATEGORIES--}'); } // END - if - // Put some data into constants for the template - $content['rows'] = ($cats*2+4); - - // Load header template - loadTemplate('member_cats_header', false, $content); - - // Start switching colors and load all visible categories - // @TODO Rewrite this to use $OUT .= ... - $OUT = ''; $SW = 2; + // Load all categories of this member + $OUT = ''; while ($content = SQL_FETCHARRAY($result)) { - // Default he has not joined + // Default he has not joined, add color switch $content['jn'] = ' checked="checked"'; $content['jy'] = ''; // When we found an entry don't read it, just change the jx elements - if (isPostRequestElementSet(('cat'))) { + if ((isFormSent()) && (isPostRequestElementSet('cat'))) { // Form sent? if (postRequestElement('cat', $content['id']) =='Y') { $content['jy'] = ' checked="checked"'; $content['jn'] = ''; - } + } // END - if } else { // Check if he has an entry - if (countSumTotalData($UID, 'user_cats', 'id', 'userid', true, sprintf(" AND `cat_id`=%s", bigintval($content['id']))) == 1) { + if (countSumTotalData(getMemberId(), 'user_cats', 'id', 'userid', TRUE, sprintf(' AND `cat_id`=%s', bigintval($content['id']))) == 1) { $content['jn'] = ''; $content['jy'] = ' checked="checked"'; - } + } // END - if } - // Add some more - $content['sw'] = $SW; + // Load row template + $OUT .= loadTemplate('member_cats_row', TRUE, $content); + } // END - while - // Load row template and switch colors - loadTemplate('member_cat_row', false, $content); - $SW = 3 - $SW; - } + // Free result + SQL_FREERESULT($result); // Load footer template - loadTemplate('member_cats_footer'); + loadTemplate('member_cats', FALSE, $OUT); } } else { // No cateogries are defined yet - loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_CATS')); + displayMessage('{--MEMBER_NO_CATEGORIES--}'); } // Free result SQL_FREERESULT($result); -// +// [EOF] ?>