$value) { // Secure ID $id = bigintval($id); // Update entry $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_refdepths SET level='%s', percents='%s' WHERE id=%s LIMIT 1", array(bigintval($value), $_POST['perc'][$id], $id), __FILE__, __LINE__); } $TEXT = REF_DEPTHS_SAVED; break; case "del": foreach ($_POST['id'] as $id => $value) { $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_refdepths WHERE id=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__); } $TEXT = REF_DEPTHS_DELETED; break; } // Update cache file if (GET_EXT_VERSION("cache") >= "0.1.2") { if ($cacheInstance->cache_file("refdepths", true)) $cacheInstance->cache_destroy(); } break; case "settings": $REF = bigintval($_POST['ref_payout']); $SQL[] = sprintf("UPDATE "._MYSQL_PREFIX."_config SET allow_direct_pay='%s', reg_points_mode='%s', ref_payout='%s' WHERE config=0 LIMIT 1", $_POST['allow_direct_pay'], $_POST['reg_points_mode'], $REF ); if (($_CONFIG['ref_payout'] == 0) && ($_POST['ref_payout'] > 0)) { // Update account's ref_payout for "must-confirm" $SQL[] = sprintf("UPDATE "._MYSQL_PREFIX."_user_data SET ref_payout=(%s - mails_confirmed) WHERE mails_confirmed < %s", $REF, $REF); } elseif (($_CONFIG['ref_payout'] > 0) && ($_POST['ref_payout'] == 0)) { // Update account's ref_payout for "not-must-confirm" $SQL[] = "UPDATE "._MYSQL_PREFIX."_user_data SET ref_payout=0 WHERE ref_payout > 0"; $SQL[] = "UPDATE "._MYSQL_PREFIX."_user_points SET points=points+locked_points WHERE locked_points>0"; $SQL[] = "UPDATE "._MYSQL_PREFIX."_user_points SET locked_points=0 WHERE locked_points>0"; } break; } if ((isset($SQL)) && (is_array($SQL)) && (!empty($SQL[0]))) { if (strpos($SQL[0], "INSERT") > -1) { $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_refdepths WHERE level='%s' LIMIT 1", array(bigintval($_POST['lvl'])), __FILE__, __LINE__); SQL_FREERESULT($result); } if (count($SQL) > 0) { // Run all SQL commands foreach ($SQL as $s) { $result = SQL_QUERY($s, __FILE__, __LINE__); } $content = "".SETTINGS_SAVED.""; // Destroy config cache file here... REBUILD_CACHE("config", "config"); } else { $content = "".SETTINGS_NOT_SAVED.""; } unset($SQL); LOAD_TEMPLATE("admin_settings_saved", false, $content); } elseif (isset($TEXT)) { LOAD_TEMPLATE("admin_settings_saved", false, $TEXT); } } elseif ($_GET['sub'] == "settings") { // Setup some settings like direct pay and so on // Including new add-mode for one-time referral bonus switch ($_CONFIG['allow_direct_pay']) { case 'Y': define('__DIRECT_Y', " checked"); define('__DIRECT_N', ""); break; case 'N': define('__DIRECT_Y', ""); define('__DIRECT_N', " checked"); break; } // One-time referral bonus add-mode switch ($_CONFIG['reg_points_mode']) { case "ref" : define('__MODE_REF', " checked"); define('__MODE_DIRECT', ""); break; case "direct": define('__MODE_REF', ""); define('__MODE_DIRECT', " checked"); break; } // Referral payout value define('__REF_PAYOUT', round($_CONFIG['ref_payout'])); // Load template LOAD_TEMPLATE("admin_config_point_settings"); } elseif ($_GET['sub'] == "ref") { if ((isset($_POST['del'])) && ((SELECTION_COUNT($_POST['sel']) > 0) || (isset($_POST['sel'][0])))) { // Delete entries $SW = 2; $OUT = ""; foreach ($_POST['sel'] as $id => $value) { $result = SQL_QUERY_ESC("SELECT level, percents FROM "._MYSQL_PREFIX."_refdepths WHERE id=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__); list($lvl, $perc) = SQL_FETCHROW($result); SQL_FREERESULT($result); // Prepare data for the row template $content = array( 'sw' => $SW, 'id' => $id, 'lvl' => $lvl, 'per' => $perc, ); // Load row template and switch color $OUT .= LOAD_TEMPLATE("admin_points_del_row", true, $content); $SW = 3 - $SW; } define('__LEVEL_ROWS', $OUT); // Load main template LOAD_TEMPLATE("admin_points_del"); } elseif ((isset($_POST['edit'])) && ((SELECTION_COUNT($_POST['sel']) > 0) || (isset($_POST['sel'][0])))) { // Edit entries $SW = 2; $OUT = ""; foreach ($_POST['sel'] as $id => $value) { $result = SQL_QUERY_ESC("SELECT level, percents FROM "._MYSQL_PREFIX."_refdepths WHERE id=%s LIMIT 1", array(bigintval($id)), __FILE__, __LINE__); list($lvl, $perc) = SQL_FETCHROW($result); SQL_FREERESULT($result); // Prepare data for the row template $content = array( 'sw' => $SW, 'id' => $id, 'lvl' => $lvl, 'per' => $perc, ); // Load row template and switch color $OUT .= LOAD_TEMPLATE("admin_points_edit_row", true, $content); $SW = 3 - $SW; } define('__LEVEL_ROWS', $OUT); // Load main template LOAD_TEMPLATE("admin_points_edit"); } else { // Referral levels $result = SQL_QUERY("SELECT id, level, percents FROM "._MYSQL_PREFIX."_refdepths ORDER BY level", __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // Make referral levels editable and deletable $SW = 2; $OUT = ""; // List already existing categories for editing while (list($id, $lvl, $perc) = SQL_FETCHROW($result)) { // Prepare data for the row template $content = array( 'sw' => $SW, 'id' => $id, 'lvl' => $lvl, 'per' => $perc, ); // Load row template and switch color $OUT .= LOAD_TEMPLATE("admin_points_row", true, $content); $SW = 3 - $SW; } // Free memory SQL_FREERESULT($result); define('__LEVEL_ROWS', $OUT); // Load main template LOAD_TEMPLATE("admin_points"); } // Form for adding new referral levels LOAD_TEMPLATE("admin_add_reflvl"); } } elseif ($_GET['sub'] == "points") { // First points for registration and other fixed points including new add-mode for one-time referral bonus... define('P_REG_VALUE', $_CONFIG['points_register']); define('P_REF_VALUE', $_CONFIG['points_ref']); // Load templates LOAD_TEMPLATE("admin_config_sub_points"); } else { // Display selection box LOAD_TEMPLATE("admin_config_points"); } // ?>