0) { // Init SQLs initSqls(); // Delete selected rallyes and all it's data foreach (postRequestElement('sel') as $id => $selected) { // Remove selected rallye entirely... addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE `id`=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__, false)); addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE rallye_id=%s", array(bigintval($id)), __FILE__, __LINE__, false)); addSql(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 (isPostRequestElementSet('change')) { // Change rallye $SEL = countSelection(postRequestElement('title')); if ($SEL > 0) { // Init SQLs initSqls(); // Change selected rallyes and all it's data foreach (postRequestElement('title') as $id => $title) { // Secure id number $id = bigintval($id); // Generate timestamps $START = mktime(postRequestElement('start_hour', $id), postRequestElement('start_min', $id), postRequestElement('start_sec', $id), postRequestElement('start_month', $id), postRequestElement('start_day', $id), postRequestElement('start_year', $id)); $END = mktime(postRequestElement('end_hour', $id) , postRequestElement('end_min', $id) , postRequestElement('end_sec', $id) , postRequestElement('end_month', $id) , postRequestElement('end_day', $id) , postRequestElement('end_year', $id) ); // Update entry addSql(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`='%s' LIMIT 1", array( $title, postRequestElement('descr', $id), postRequestElement('templ', $id), bigintval($START), bigintval($END), bigintval(postRequestElement('min_users', $id)), bigintval(postRequestElement('min_prices', $id)), $id ), __FILE__, __LINE__, false)); } // Run SQLS runFilterChain('run_sqls'); // Output message $message = getMessage('RALLYE_CHANGED'); } } if (isPostRequestElementSet('edit')) { // Check for selections $SEL = countPostSelection(); if ($SEL > 0) { // Make all selected and deactivated rallyes editable $OUT = ''; $SW = 2; foreach (postRequestElement('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'] = addSelectionBox('sec' , date('s', $content['start_time']), 'start', $id); $content['s_min'] = addSelectionBox('min' , date('i', $content['start_time']), 'start', $id); $content['s_hour'] = addSelectionBox('hour' , date('G', $content['start_time']), 'start', $id); $content['s_day'] = addSelectionBox('day' , date('d', $content['start_time']), 'start', $id); $content['s_month'] = addSelectionBox('month', date('m', $content['start_time']), 'start', $id); $content['s_year'] = addSelectionBox('year' , date('Y', $content['start_time']), 'start', $id); // Ending day $content['e_sec'] = addSelectionBox('sec' , date('s', $content['end_time']) , 'end' , $id); $content['e_min'] = addSelectionBox('min' , date('i', $content['end_time']) , 'end' , $id); $content['e_hour'] = addSelectionBox('hour' , date('G', $content['end_time']) , 'end' , $id); $content['e_day'] = addSelectionBox('day' , date('d', $content['end_time']) , 'end' , $id); $content['e_month'] = addSelectionBox('month', date('m', $content['end_time']) , 'end' , $id); $content['e_year'] = addSelectionBox('year' , date('Y', $content['end_time']) , 'end' , $id); // Remember other values $content['templ'] = addReferalRallyeTemplateSelection('templ['.$id.']', $content['template']); $content['sw'] = $SW; $content['id'] = $id; // Output row $OUT .= loadTemplate('admin_edit_rallyes_row', true, $content); // Color switching $SW = 3 - $SW; } // Load final template loadTemplate('admin_edit_rallyes', false, $OUT); } else { // Nothing selected to edit loadTemplate('admin_settings_saved', false, loadTemplate('admin_list_rallye_noselect', true)); } } elseif ((getRequestElement('sub') == 'users') && (getRequestElement('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` ASC", array(bigintval(getRequestElement('rallye'))), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { $OUT = ''; $SW = 2; $content['rallye'] = getRequestElement('rallye'); while ($row = SQL_FETCHARRAY($result)) { // Check for referal count $cnt = getReferalRallyeRefsCount($row['userid'], $row['refs']); // Init variables $bl = ''; $br = ''; // Output row if (($row['curr_points'] > 0) && ($cnt > 0)) { $bl = ""; $br = ""; } if (($row['refs'] > 0) || ($cnt > 0)) { // Insert link to referal list //* DEBUG: */ outputHtml('-'.$row['userid'].'/'.$cnt.'/'.$row['refs']."-
"); $cnt = generateUserProfileLink($row['userid'], $cnt, 'list_refs'); $row['refs'] = generateUserProfileLink($row['userid'], $row['refs'], 'list_refs'); } // END - if // Get user points $points = countSumTotalData($row['userid'], 'user_points', 'points', 'userid', false, " AND `ref_depth`=1 LIMIT 1"); //* DEBUG: */ outputHtml(basename(__FILE__).":userid={$row['userid']},points={$points},opoints={$row['curr_points']}
"); // Prepare content // @TODO Rewritings: userid->userid,opoints->curr_points,old->refs in template $row = array( 'sw' => $SW , 'userid' => $row['userid'], 'bold_l' => $bl , 'bold_r' => $br , 'old' => $row['refs'], 'cnt' => $cnt, 'opoints' => translateComma($points - $row['curr_points']), ); // Load row template and switch color $OUT .= loadTemplate('admin_list_rallye_usr_row', true, $row); $SW = 3 - $SW; } // END - while // Free memory SQL_FREERESULT($result); // Load template loadTemplate('admin_list_rallye_usr', false, $OUT); } else { // No entries found? loadTemplate('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__); // Records found? if (SQL_NUMROWS($result) > 0) { // List found rallyes $OUT = ''; $SW = 2; while ($data = SQL_FETCHARRAY($result)) { // Load admin login $data['login'] = getAdminLogin($data['admin_id']); // Count joined userids $joined = countSumTotalData($data['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($data['login'])) $data['login'] = '???'; if (empty($data['template'])) $data['template'] = '---'; if (empty($data['descr'])) $data['descr'] = '---'; // Transfer data into array for the template $row = array( 'select' => "", 'admin_id' => $data['admin_id'], 'email_link' => generateEmailLink($data['admin_id']), 'login' => $data['login'], 'id' => $data['id'], 'sw' => $SW, 'title' => $data['title'], 'template' => $data['template'], 'joined' => $joined, 'start_date' => generateDateTime($data['start_time'], 2), 'end_date' => generateDateTime($data['end_time'] , 2), 'active_lnk' => translateYesNo($data['is_active']), 'notify_lnk' => translateYesNo($data['send_notify']), 'auto_lnk' => translateYesNo($data['auto_add_new_user']), 'notified' => translateYesNo($data['notified']), 'prices_cnt' => translateComma(countSumTotalData($data['id'], 'rallye_prices', 'id', 'rallye_id', true)), 'descr' => $data['descr'], 'min_users' => $data['min_users'], 'min_prices' => $data['min_prices'], ); // Is the rallye active or not? switch ($data['is_active']) { case 'Y': // Rallye is active so do not edit it! $row['select'] = "
".$row['id']."
"; $row['active_title'] = getMessage('RALLYE_DEACTIVATE_NOW'); $row['active'] = 0; break; case 'N': $row['active_title'] = getMessage('RALLYE_ACTIVATE_NOW'); $row['active'] = 1; break; } // Notification to members? switch ($data['send_notify']) { case 'Y': $row['notify_title'] = getMessage('RALLYE_STOP_NOTIFY_NOW'); $row['notify'] = 0; break; case 'N': $row['notify_title'] = getMessage('RALLYE_START_NOTIFY_NOW'); $row['notify'] = 1; break; } // Auto-add of new joined members? switch ($data['auto_add_new_user']) { case 'Y': $row['auto_title'] = getMessage('RALLYE_STOP_AUTO_ADD_NOW'); $row['auto'] = 0; break; case 'N': $row['auto_title'] = getMessage('RALLYE_START_AUTO_ADD_NOW'); $row['auto'] = 1; break; } // Output row $OUT .= loadTemplate('admin_list_rallyes_row', true, $row); $SW = 3 - $SW; } // END - while // Free memory SQL_FREERESULT($result); // Remember rows in array $content['rows'] = $OUT; // Load template loadTemplate('admin_list_rallyes', false, $content); } else { // No rallyes setup so far loadTemplate('admin_settings_saved', false, getMessage('RALLYE_NO_RALLYES_SETUP')); } } // [EOF] ?>