0) { $LEAST = false; if (isFormSent()) { $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 (isFormSent()) { 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); // ?>