$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 = '{--RALLYE_DELETED--}'; } else { // No rallye selected to delete! $message = '{--RALLYE_DELETE_NOTHING_SELECTED--}'; } } elseif (isFormSent('do_edit')) { // Change rallye if (ifPostContainsSelections('title')) { // Init SQLs initSqls(); // Change selected rallyes and all it's data foreach (postRequestParameter('title') as $id => $title) { // Secure id number $id = bigintval($id); // Generate timestamps $START = mktime(postRequestParameter('start_hour', $id), postRequestParameter('start_min', $id), postRequestParameter('start_sec', $id), postRequestParameter('start_month', $id), postRequestParameter('start_day', $id), postRequestParameter('start_year', $id)); $END = mktime(postRequestParameter('end_hour', $id) , postRequestParameter('end_min', $id) , postRequestParameter('end_sec', $id) , postRequestParameter('end_month', $id) , postRequestParameter('end_day', $id) , postRequestParameter('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, postRequestParameter('descr', $id), postRequestParameter('templ', $id), bigintval($START), bigintval($END), bigintval(postRequestParameter('min_users', $id)), bigintval(postRequestParameter('min_prices', $id)), $id ), __FILE__, __LINE__, false)); } // Run SQLS runFilterChain('run_sqls'); // Output message $message = '{--RALLYE_CHANGED--}'; } } if (isFormSent('edit')) { // Check for selections if (ifPostContainsSelections()) { // Make all selected and deactivated rallyes editable $OUT = ''; foreach (postRequestParameter('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' , getSecond($content['start_time']) , 'start', $id); $content['s_min'] = addSelectionBox('min' , getMinute($content['start_time']) , 'start', $id); $content['s_hour'] = addSelectionBox('hour' , getShortHour($content['start_time']), 'start', $id); $content['s_day'] = addSelectionBox('day' , getDay($content['start_time']) , 'start', $id); $content['s_month'] = addSelectionBox('month', getMonth($content['start_time']) , 'start', $id); $content['s_year'] = addSelectionBox('year' , getYear($content['start_time']) , 'start', $id); // Ending day $content['e_sec'] = addSelectionBox('sec' , getSecond($content['end_time']) , 'end' , $id); $content['e_min'] = addSelectionBox('min' , getMinute($content['end_time']) , 'end' , $id); $content['e_hour'] = addSelectionBox('hour' , getShortHour($content['end_time']) , 'end' , $id); $content['e_day'] = addSelectionBox('day' , getDay($content['end_time']) , 'end' , $id); $content['e_month'] = addSelectionBox('month', getMonth($content['end_time']) , 'end' , $id); $content['e_year'] = addSelectionBox('year' , getYear($content['end_time']) , 'end' , $id); // Remember other values $content['templ'] = addReferalRallyeTemplateSelection('templ['.$id.']', $content['template']); $content['id'] = $id; // Output row $OUT .= loadTemplate('admin_edit_rallyes_row', true, $content); } // END - foreach // Load final template loadTemplate('admin_edit_rallyes', false, $OUT); } else { // Nothing selected to edit displayMessage('{--RALLYE_NO_RALLYES_SELECTED--}'); } } elseif ((getRequestParameter('sub') == 'users') && (getRequestParameter('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(getRequestParameter('rallye'))), __FILE__, __LINE__); if (!SQL_HASZERONUMS($result)) { $OUT = ''; $content['rallye'] = getRequestParameter('rallye'); while ($row = SQL_FETCHARRAY($result)) { // Check for referal count $count = getReferalRallyeRefsCount($row['userid'], $row['refs']); // Init variables $bl = ''; $br = ''; // Output row if (($row['curr_points'] > 0) && ($count > 0)) { $bl = ''; $br = ''; } // END - if // Get user points $points = countSumTotalData($row['userid'], 'user_points', 'points', 'userid', false, " AND `ref_depth`=1 LIMIT 1"); //* DEBUG: */ debugOutput(basename(__FILE__).':userid='.$row['userid'].',points='.$points.',opoints='.$row['curr_points']); // Prepare content $row = array( 'userid' => $row['userid'], 'bold_l' => $bl , 'bold_r' => $br , 'refs' => $row['refs'], 'cnt' => $count, 'opoints' => ($points - $row['curr_points']), ); // Load row template and switch color $OUT .= loadTemplate('admin_list_rallye_usr_row', true, $row); } // END - while // Remember rows $content['rows'] = $OUT; $content['rallye'] = getRequestParameter('rallye'); // Free memory SQL_FREERESULT($result); // Load template loadTemplate('admin_list_rallye_usr', false, $content); } else { // No entries found? displayMessage('{--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_HASZERONUMS($result)) { // List found rallyes $OUT = ''; while ($data = SQL_FETCHARRAY($result)) { // Count joined userids $users = countSumTotalData($data['id'], 'rallye_users', 'id', 'rallye_id', true); // Did some users joined this rallye? if ($users > 0) { // List joined users $users = '' . $users . ''; } // END - if // Transfer data into array for the template $row = array( 'select' => '', 'admin_id' => $data['admin_id'], 'id' => $data['id'], 'title' => $data['title'], 'template' => $data['template'], 'users_content' => $users, 'start_date' => generateDateTime($data['start_time'], 2), 'end_date' => generateDateTime($data['end_time'] , 2), 'is_active' => $data['is_active'], 'send_notify' => $data['send_notify'], 'auto_add_new_user' => $data['auto_add_new_user'], 'notified' => $data['notified'], 'prices_cnt' => 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'] = '