0) { // Init SQLs INIT_SQLS(); // Delete selected rallyes and all it's data foreach (REQUEST_POST('sel') as $id => $selected) { // Remove selected rallye entirely... ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_data` WHERE id=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__, false)); ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s", array(bigintval($id)), __FILE__, __LINE__, false)); ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s", array(bigintval($id)), __FILE__, __LINE__, false)); } // END - foreach // Run SQLS runFilterChain('run_sqls'); // Output message $message = getMessage('RALLYE_DELETED'); } else { // No rallye selected to delete! $message = getMessage('RALLYE_DELETE_NOTHING_SELECTED'); } } elseif (REQUEST_ISSET_POST('change')) { // Change rallye $SEL = SELECTION_COUNT(REQUEST_POST('title')); if ($SEL > 0) { // Init SQLs INIT_SQLS(); // Change selected rallyes and all it's data foreach (REQUEST_POST('title') as $id => $title) { // Secure ID number $id = bigintval($id); // Generate timestamps $START = mktime(REQUEST_POST('start_hour', $id), REQUEST_POST('start_min', $id), REQUEST_POST('start_sec', $id), REQUEST_POST('start_month', $id), REQUEST_POST('start_day', $id), REQUEST_POST('start_year', $id)); $END = mktime(REQUEST_POST('end_hour', $id) , REQUEST_POST('end_min', $id) , REQUEST_POST('end_sec', $id) , REQUEST_POST('end_month', $id) , REQUEST_POST('end_day', $id) , REQUEST_POST('end_year', $id) ); // Update entry ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_data` SET title='%s', descr='%s', template='%s', start_time='%s', end_time='%s', min_users='%s', min_prices='%s' WHERE id='".$id."' LIMIT 1", array( $title, REQUEST_POST('descr', $id), REQUEST_POST('templ', $id), bigintval($START), bigintval($END), bigintval(REQUEST_POST('min_users', $id)), bigintval(REQUEST_POST('min_prices', $id)), $id ), __FILE__, __LINE__, false)); } // Run SQLS runFilterChain('run_sqls'); // Output message $message = getMessage('RALLYE_CHANGED'); } } if (REQUEST_ISSET_POST('edit')) { // Check for selections $SEL = SELECTION_COUNT(REQUEST_POST('sel')); if ($SEL > 0) { // Make all selected and deactivated rallyes editable $OUT = ''; $SW = 2; foreach (REQUEST_POST('sel') as $id => $selected) { // Load rallye basic data $result = SQL_QUERY_ESC("SELECT title, descr, template, start_time, end_time, min_users, min_prices FROM `{!_MYSQL_PREFIX!}_rallye_data` WHERE `id`=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__); // Fetch an array $content = SQL_FETCHARRAY($result); // Free result SQL_FREERESULT($result); // Starting day $content['s_sec'] = ADD_SELECTION("sec" , date("s", $content['start_time']), "start", $id); $content['s_min'] = ADD_SELECTION("min" , date("i", $content['start_time']), "start", $id); $content['s_hour'] = ADD_SELECTION("hour" , date("G", $content['start_time']), "start", $id); $content['s_day'] = ADD_SELECTION("day" , date("d", $content['start_time']), "start", $id); $content['s_month'] = ADD_SELECTION("month", date("m", $content['start_time']), "start", $id); $content['s_year'] = ADD_SELECTION("year" , date('Y', $content['start_time']), "start", $id); // Ending day $content['e_sec'] = ADD_SELECTION("sec" , date("s", $content['end_time']) , "end" , $id); $content['e_min'] = ADD_SELECTION("min" , date("i", $content['end_time']) , "end" , $id); $content['e_hour'] = ADD_SELECTION("hour" , date("G", $content['end_time']) , "end" , $id); $content['e_day'] = ADD_SELECTION("day" , date("d", $content['end_time']) , "end" , $id); $content['e_month'] = ADD_SELECTION("month", date("m", $content['end_time']) , "end" , $id); $content['e_year'] = ADD_SELECTION("year" , date('Y', $content['end_time']) , "end" , $id); // Remember other values $content['templ'] = RALLYE_TEMPLATE_SELECTION("templ[".$id."]", $content['template']); $content['sw'] = $SW; $content['id'] = $id; // Output row $OUT .= LOAD_TEMPLATE("admin_edit_rallyes_row", true, $content); // Color switching $SW = 3 - $SW; } // Remember rows in constant define('__RALLYE_ROWS', $OUT); // Load final template LOAD_TEMPLATE("admin_edit_rallyes"); } else { // Nothing selected to edit LOAD_TEMPLATE('admin_settings_saved', false, LOAD_TEMPLATE("admin_list_rallye_noselect", true)); } } elseif ((REQUEST_GET('sub') == "users") && (REQUEST_GET('rallye') > 0)) { // List users and their refs before start and current $result = SQL_QUERY_ESC("SELECT userid, refs, curr_points FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s ORDER BY userid", array(bigintval(REQUEST_GET('rallye'))), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { $OUT = ''; $SW = 2; // @TODO Rewrite this constant define('__RALLYE_VALUE', REQUEST_GET('rallye')); while ($content = SQL_FETCHARRAY($result)) { // Check for referal count $cnt = RALLYE_GET_REFCOUNT($content['userid'], $content['refs']); // Init variables $bl = ''; $br = ''; // Output row if (($content['curr_points'] > 0) && ($cnt > 0)) { $bl = ""; $br = ""; } if (($content['refs'] > 0) || ($cnt > 0)) { // Insert link to referal list //* DEBUG: */ echo "-".$content['userid']."/".$cnt."/".$content['refs']."-
"; $cnt = ADMIN_USER_PROFILE_LINK($content['userid'], $cnt, "list_refs"); $content['refs'] = ADMIN_USER_PROFILE_LINK($content['userid'], $content['refs'], "list_refs"); } // END - if // Get user points $points = GET_TOTAL_DATA($content['userid'], "user_points", "points", 'userid', false, " AND ref_depth=1 LIMIT 1"); //* DEBUG: */ echo basename(__FILE__).":uid={$content['userid']},points={$points},opoints={$content['curr_points']}
\n"; // Prepare content // @TODO Rewritings: uid->userid,opoints->curr_points,old->refs in template $content = array( 'sw' => $SW , 'uid' => $content['userid'], 'bold_l' => $bl , 'bold_r' => $br , 'old' => $content['refs'], 'cnt' => $cnt, 'opoints' => TRANSLATE_COMMA($points - $content['curr_points']), ); // Load row template and switch color $OUT .= LOAD_TEMPLATE("admin_list_rallye_usr_row", true, $content); $SW = 3 - $SW; } // END - while // Free memory SQL_FREERESULT($result); define('__RALLYE_USER_ROWS', $OUT); // Load template LOAD_TEMPLATE("admin_list_rallye_usr"); } else { // No entries found? LOAD_TEMPLATE('admin_settings_saved', false, getMessage('RALLYE_ADMIN_USERS_404')); } } else { // Start listing rallyes $result = SQL_QUERY("SELECT id, admin_id, title, descr, template, start_time, end_time, auto_add_new_user, is_active, send_notify, notified, min_users, min_prices FROM `{!_MYSQL_PREFIX!}_rallye_data` ORDER BY start_time DESC", __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // List found rallyes $OUT = ''; $SW = 2; while ($content = SQL_FETCHARRAY($result)) { // Load admin login $content['alogin'] = GET_ADMIN_LOGIN($content['admin_id']); // Count joined userids $joined = GET_TOTAL_DATA($content['id'], "rallye_users", "id", "rallye_id", true); // Did some users joined this rallye? if ($joined > 0) { // List joined users $joined = "".$joined.""; } // END - if // Alter some variables if (empty($content['alogin'])) $content['alogin'] = "???"; if (empty($content['template'])) $content['template'] = '---'; if (empty($content['descr'])) $content['descr'] = '---'; // Transfer data into array for the template // @TODO Rewritings: aid->admin_id in template $content = array( 'select' => "", 'aid' => $content['admin_id'], 'email_link' => CREATE_EMAIL_LINK($content['admin_id']), 'alogin' => $content['alogin'], 'id' => $content['id'], 'sw' => $SW, 'title' => $content['title'], 'template' => $content['template'], 'joined' => $joined, 'start_date' => MAKE_DATETIME($content['start_time'], "2"), 'end_date' => MAKE_DATETIME($content['end_time'] , "2"), 'active_lnk' => TRANSLATE_YESNO($content['is_active']), 'notify_lnk' => TRANSLATE_YESNO($content['send_notify']), 'auto_lnk' => TRANSLATE_YESNO($content['auto_add_new_user']), 'notified' => TRANSLATE_YESNO($content['notified']), 'prices_cnt' => TRANSLATE_COMMA(GET_TOTAL_DATA($content['id'], "rallye_prices", "id", "rallye_id", true)), 'descr' => COMPILE_CODE($content['descr']), 'min_users' => $content['min_users'], 'min_prices' => $content['min_prices'], ); // Is the rallye active or not? switch ($content['is_active']) { case 'Y': // Rallye is active so do not edit it! $content['select'] = "
".$content['id']."
"; $content['active_title'] = getMessage('RALLYE_DEACTIVATE_NOW'); $content['active'] = 0; break; case 'N': $content['active_title'] = getMessage('RALLYE_ACTIVATE_NOW'); $content['active'] = "1"; break; } // Notification to members? switch ($content['send_notify']) { case 'Y': $content['notify_title'] = getMessage('RALLYE_STOP_NOTIFY_NOW'); $content['notify'] = 0; break; case 'N': $content['notify_title'] = getMessage('RALLYE_START_NOTIFY_NOW'); $content['notify'] = "1"; break; } // Auto-add of new joined members? switch ($content['auto_add_new_user']) { case 'Y': $content['auto_title'] = getMessage('RALLYE_STOP_AUTO_ADD_NOW'); $content['auto'] = 0; break; case 'N': $content['auto_title'] = getMessage('RALLYE_START_AUTO_ADD_NOW'); $content['auto'] = "1"; break; } // Output row $OUT .= LOAD_TEMPLATE("admin_list_rallyes_row", true, $content); $SW = 3 - $SW; } // Free memory SQL_FREERESULT($result); define('__RALLYE_ROWS', $OUT); // Load template LOAD_TEMPLATE("admin_list_rallyes"); } else { // No rallyes setup so far LOAD_TEMPLATE('admin_settings_saved', false, getMessage('RALLYE_NO_RALLYES_SETUP')); } } // ?>