$joined) { if ($joined != 'Y') $count++; } // END - foreach if ((SQL_NUMROWS($result) - $count) < getLeastCats()) { unsetPostRequestParameter('ok'); $LEAST = true; } // END - if } // END - if // Is the form sent? if (isFormSent()) { // Start counting all $count = '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__); // 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)"; } // 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"; 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 // Categories saved? if ($count > 0) { // Output message loadTemplate('admin_settings_saved', false, '{--MEMBER_CATEGORIES_SAVED--}'); } else { // None save loadTemplate('admin_settings_saved', false, '{--MEMBER_CATEGORIES_NOT_SAVED--}'); } } else { if ($LEAST === true) { // Also here we have to secure it... :( loadTemplate('admin_settings_saved', false, '{--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 .= ... $OUT = ''; while ($content = SQL_FETCHARRAY($result)) { // Default he has not joined $content['jn'] = ' checked="checked"'; $content['jy'] = ''; // When we found an entry don't read it, just change the jx elements if ((isFormSent()) && (isPostRequestParameterSet('cat'))) { // Form sent? if (postRequestParameter('cat', $content['id']) =='Y') { $content['jy'] = ' checked="checked"'; $content['jn'] = ''; } // END - if } 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"'; } // END - if } // Load row template and switch colors loadTemplate('member_cat_row', false, $content); } // END - while // Load footer template loadTemplate('member_cats_footer'); } } else { // No cateogries are defined yet loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_CATEGORIES--}'); } // Free result SQL_FREERESULT($result); // [EOF] ?>