X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-categories.php;h=cb0453d670aefc3c5b6f5078d5d48d1ed00a5682;hp=13e65235e32ef219639a97f2a4fbdd1e90150011;hb=04b69ac9f33369cbf654396c4a42cb1fff710ff4;hpb=75ad748a68473ace540251427a74fb781b1145e9 diff --git a/inc/modules/member/what-categories.php b/inc/modules/member/what-categories.php index 13e65235e3..cb0453d670 100644 --- a/inc/modules/member/what-categories.php +++ b/inc/modules/member/what-categories.php @@ -1,7 +1,7 @@ 0) -{ +if ($cats > 0) { $LEAST = false; - if (isset($_POST['ok'])) - { - $cnt = 0; - foreach ($_POST['cat'] as $cat=>$joined) - { - if ($joined == "N") $cnt++; - } - if (($cats - $cnt) < $CONFIG['least_cats']) - { - unset($_POST['ok']); + if (isFormSent()) { + $cnt = '0'; + foreach (postRequestParameter('cat') as $cat => $joined) { + if ($joined != 'Y') $cnt++; + } // END - foreach + + if (($cats - $cnt) < getConfig('least_cats')) { + unsetPostRequestParameter('ok'); $LEAST = true; - } - } - if (isset($_POST['ok'])) - { - foreach ($_POST['cat'] as $cat=>$joined) - { - switch ($joined) - { - case "Y": - $sql = ""; - $result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%d AND cat_id=%d 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 + } // END - if + + // Is the form sent? + if (isFormSent()) { + // Start counting all + $cnt = '0'; + + // Go through all entries + foreach (postRequestParameter('cat') as $cat => $joined) { + // Ini sql here + $sql = ''; + + // 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__); + + if (!SQL_HASZERONUMS($result_user)) { + $sql = "INSERT INTO `{?_MYSQL_PREFIX?}_user_cats` (userid, cat_id) VALUES ('%s','%s')"; + } // END - if + + // Free memory + SQL_FREERESULT($result_user); break; - case "N": - $sql = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%d AND cat_id=%d LIMIT 1"; + case 'N': + $sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1"; break; - } - if (!empty($sql)) - { + } // 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(getMemberId(), 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, '{--MEMBER_CATS_SAVED--}'); + } else { + // None save + loadTemplate('admin_settings_saved', false, '{--MEMBER_CATS_NOT_SAVED--}'); } - // Categories saved... - LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_CATS_SAVED); - } - else - { - if ($LEAST) - { + } else { + if ($LEAST === true) { // Also here we have to secure it... :( - LOAD_TEMPLATE("admin_settings_saved", true, CATS_LEAST.": ".$CONFIG['least_cats']); - } + loadTemplate('admin_settings_saved', false, '{--CATS_LEAST--}'); + } // END - if + // Put some data into constants for the template - define('__ROWS', ($cats*2+4)); + $content['rows'] = ($cats*2+4); // Load header template - LOAD_TEMPLATE("member_cats_header"); + loadTemplate('member_cats_header', false, $content); // Start switching colors and load all visible categories - $SW = 2; - while (list($id, $cat) = SQL_FETCHROW($result)) - { + // @TODO Rewrite this to use $OUT .= ... + $OUT = ''; $SW = 2; + while ($content = SQL_FETCHARRAY($result)) { // Default he has not joined - $JOINED_N = " checked"; $JOINED_Y = ""; - - // Check category selection - $result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%d AND cat_id=%d LIMIT 1", - array($UID, bigintval($id)), __FILE__, __LINE__); - - // When we found an entry don't read it, just change the JOINED_x variables - if (isset($_POST['cat'])) - { - if ($_POST['cat'][$id] =="Y") { $JOINED_Y = " checked"; $JOINED_N = ""; } - } - else - { - if (SQL_NUMROWS($result_user) == 1) - { - $JOINED_Y = " checked"; $JOINED_N = ""; + $content['jn'] = ' checked="checked"'; + $content['jy'] = ''; + + // When we found an entry don't read it, just change the jx elements + if (isPostRequestParameterSet(('cat'))) { + // Form sent? + if (postRequestParameter('cat', $content['id']) =='Y') { + $content['jy'] = ' checked="checked"'; + $content['jn'] = ''; + } + } else { + // Check if he has an entry + if (countSumTotalData(getMemberId(), 'user_cats', 'id', 'userid', true, sprintf(" AND `cat_id`=%s", bigintval($content['id']))) == 1) { + $content['jn'] = ''; + $content['jy'] = ' checked="checked"'; } - - // Free memory - SQL_FREERESULT($result_user); } - // Prepare data for the template - $content = array( - 'sw' => $SW, - 'id' => $id, - 'cat' => $cat, - 'jy' => $JOINED_Y, - 'jn' => $JOINED_N, - ); + // Add some more + $content['sw'] = $SW; // Load row template and switch colors - LOAD_TEMPLATE("member_cat_row", false, $content); + loadTemplate('member_cat_row', false, $content); $SW = 3 - $SW; } // Load footer template - LOAD_TEMPLATE("member_cats_footer"); + loadTemplate('member_cats_footer'); } -} - else -{ +} else { // No cateogries are defined yet - LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_NO_CATS); + loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_CATS--}'); } +// Free result SQL_FREERESULT($result); -// +// [EOF] ?>