X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-categories.php;h=1789239edf630d7799e9a5130c6c882642c274c0;hb=49a9663311b732d12ba0c53af2f9eb39a7850fbc;hp=13075a351e7460a95849f4b0e5960920c7176cfa;hpb=d712e3a5c13266fc0017f6724e7cb372442c7cc3;p=mailer.git diff --git a/inc/modules/member/what-categories.php b/inc/modules/member/what-categories.php index 13075a351e..1789239edf 100644 --- a/inc/modules/member/what-categories.php +++ b/inc/modules/member/what-categories.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -37,31 +37,31 @@ // Some security stuff... if (!defined('__SECURITY')) { - die(); + exit(); } elseif (!isMember()) { redirectToIndexMemberOnlyModule(); } // Add description as navigation point -addMenuDescription('member', __FILE__); +addYouAreHereLink('member', __FILE__); $whereStatement = " WHERE `visible`='Y'"; if (isAdmin()) $whereStatement = ''; // Get all categories -$result = SQL_QUERY("SELECT `id`, `cat` FROM `{?_MYSQL_PREFIX?}_cats`".$whereStatement." ORDER BY `sort` ASC", __FILE__, __LINE__); +$result = SQL_QUERY("SELECT `id`,`cat` FROM `{?_MYSQL_PREFIX?}_cats`".$whereStatement." ORDER BY `sort` ASC", __FILE__, __LINE__); // Do we have entries? if (!SQL_HASZERONUMS($result)) { $LEAST = false; if (isFormSent()) { $count = '0'; - foreach (postRequestParameter('cat') as $cat => $joined) { + foreach (postRequestElement('cat') as $categoryId => $joined) { if ($joined != 'Y') $count++; } // END - foreach if ((SQL_NUMROWS($result) - $count) < getLeastCats()) { - unsetPostRequestParameter('ok'); + unsetPostRequestElement('ok'); $LEAST = true; } // END - if } // END - if @@ -71,74 +71,58 @@ if (!SQL_HASZERONUMS($result)) { // Start counting all $count = '0'; - // Go through all entries - foreach (postRequestParameter('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(getMemberId(), bigintval($cat)), __FILE__, __LINE__); - - // Debug message - //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'cat='.$cat.',joined='.$joined.',getMemberId()='.getMemberId().',SQL_HASZERONUMS()='.intval(SQL_HASZERONUMS($result_user))); - - if (SQL_HASZERONUMS($result_user)) { - $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(getMemberId(), bigintval($cat)), __FILE__, __LINE__); - - // Count this row - $count += SQL_AFFECTEDROWS(); - } // END - if } // END - foreach + // Do we have entries? + if (countSqls() > 0) { + // Run SQL commands + $count = runFilterChain('run_sqls'); + } // END - if + // Categories saved? if ($count > 0) { // Output message - loadTemplate('admin_settings_saved', false, '{--MEMBER_CATEGORIES_SAVED--}'); + displayMessage('{--MEMBER_CATEGORIES_SAVED--}'); } else { // None save - loadTemplate('admin_settings_saved', false, '{--MEMBER_CATEGORIES_NOT_SAVED--}'); + displayMessage('{--MEMBER_CATEGORIES_NOT_SAVED--}'); } } else { if ($LEAST === true) { // Also here we have to secure it... :( - loadTemplate('admin_settings_saved', false, '{--CHOOSE_MORE_CATEGORIES--}'); + displayMessage('{--CHOOSE_MORE_CATEGORIES--}'); } // END - if - // Put some data into constants for the template - $content['rows'] = (SQL_NUMROWS($result) * 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 .= ... + // 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 ((isFormSent()) && (isPostRequestParameterSet('cat'))) { + if ((isFormSent()) && (isPostRequestElementSet('cat'))) { // Form sent? - if (postRequestParameter('cat', $content['id']) =='Y') { + if (postRequestElement('cat', $content['id']) =='Y') { $content['jy'] = ' checked="checked"'; $content['jn'] = ''; } // END - if @@ -150,16 +134,19 @@ if (!SQL_HASZERONUMS($result)) { } // END - if } - // Load row template and switch colors - loadTemplate('member_cat_row', false, $content); + // Load row template + $OUT .= loadTemplate('member_cats_row', true, $content); } // END - while + // 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', false, '{--MEMBER_NO_CATEGORIES--}'); + displayMessage('{--MEMBER_NO_CATEGORIES--}'); } // Free result