0) { $LEAST = false; if (IS_FORM_SENT()) { $cnt = 0; foreach (REQUEST_POST('cat') as $cat => $joined) { if ($joined == "N") $cnt++; } if (($cats - $cnt) < getConfig('least_cats')) { REQUEST_UNSET_POST('ok'); $LEAST = true; } } if (IS_FORM_SENT()) { foreach (REQUEST_POST('cat') as $cat => $joined) { 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__); 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); } break; case "N": $sql = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_cats` WHERE userid=%s AND cat_id=%s LIMIT 1"; break; } if (!empty($sql)) { // Run SQL command $result = SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); } } // Categories saved... LOAD_TEMPLATE("admin_settings_saved", true, getMessage('MEMBER_CATS_SAVED')); } else { if ($LEAST) { // Also here we have to secure it... :( LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('CATS_LEAST'), getConfig('least_cats'))); } // Put some data into constants for the template define('__ROWS', ($cats*2+4)); // Load header template LOAD_TEMPLATE("member_cats_header"); // Start switching colors and load all visible categories // @TODO Rewrite this to use $OUT .= ... $OUT = ""; $SW = 2; 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 (REQUEST_ISSET_POST(('cat'))) { // Form sent? if (REQUEST_POST('cat', $content['id']) =='Y') { $content['jy'] = " checked=\"checked\""; $content['jn'] = ""; } } else { // Check if he has an entry if (GET_TOTAL_DATA($UID, "user_cats", "id", "userid", true, sprintf(" AND cat_id=%s", bigintval($content['id']))) == 1) { $content['jn'] = ""; $content['jy'] = " checked=\"checked\""; } } // Add some more $content['sw'] = $SW; // Load row template and switch colors LOAD_TEMPLATE("member_cat_row", false, $content); $SW = 3 - $SW; } // Load footer template LOAD_TEMPLATE("member_cats_footer"); } } else { // No cateogries are defined yet LOAD_TEMPLATE("admin_settings_saved", true, getMessage('MEMBER_NO_CATS')); } // Free result SQL_FREERESULT($result); // ?>