Example #1
0
<?php

require INC_TR_DB_INIT;
$up_add = $down_add = $bl_add = 0;
$output = $lp_inf = array();
$current_time = isset($_GET['time']) && $_GET['time'] == 'all' ? 0 : time();
// Tracker config
if (!$tr_cfg) {
    require_once INC_TR_FUNC_CACHE;
    $tr_cfg = get_config_ary(BT_CONFIG_TABLE);
    if (TR_USE_CACHE && check_cache_dir(CACHE_DIR)) {
        $cfg_cached = write_cfg_to_cache(CACHE_TR_CFG, $tr_cfg, '$tr_cfg');
    }
}
$u_stat_upd_intrv = $tr_cfg['user_statistic_upd_interval'] * 60;
// Output mode
init_output();
// Exit if tracker is disabled
if ($tr_cfg['off']) {
    error_exit($tr_cfg['off_reason'], '', '', 'off');
}
// Browser redirect
if ($tr_cfg['browser_redirect_url']) {
    browser_redirect();
}
// Clean peers table
if ($tr_cfg['autoclean'] && $tr_cfg['last_clean_time'] + $tr_cfg['autoclean_interval'] * 60 < $current_time) {
    $peer_dead_time = $current_time - $tr_cfg['autoclean_interval'] * 60;
    $sql = 'DELETE FROM ' . BT_TRACKER_TABLE . "\r\n\t\tWHERE expire_time < {$peer_dead_time}";
    if (!$db->sql_query($sql)) {
        error_exit('DB error', __FILE__, __LINE__, 'db');
    require FT_ROOT . 'language/lang_' . $ft_cfg['default_lang'] . '/lang_admin_bt.php';
} else {
    require FT_ROOT . 'language/lang_english/lang_admin_bt.php';
}
$submit = isset($_POST['submit']) ? TRUE : FALSE;
$confirm = isset($_POST['confirm']) ? TRUE : FALSE;
$ch = 'checked="checked"';
$cfg = array();
// All config names with default values
$default_cfg_str = array('bt_announce_url' => 'http://yourdomain.com/bt/', 'bt_add_comment' => '', 'bt_add_publisher' => '');
$default_cfg_bool = array('bt_show_peers' => 1, 'bt_add_auth_key' => 1, 'bt_show_dl_list' => 1, 'bt_dl_list_only_1st_page' => 1, 'bt_dl_list_only_count' => 1, 'bt_gen_passkey_on_reg' => 1, 'bt_replace_ann_url' => 1, 'bt_show_ip_only_moder' => 1, 'bt_show_port_only_moder' => 1, 'bt_check_announce_url' => 0, 'bt_show_dl_list_buttons' => 1, 'bt_show_dl_but_will' => 1, 'bt_show_dl_but_down' => 0, 'bt_show_dl_but_compl' => 0, 'bt_show_dl_but_cancel' => 1, 'bt_show_dl_stat_on_index' => 1, 'bt_newtopic_auto_reg' => 1, 'bt_tor_browse_only_reg' => 1, 'bt_search_bool_mode' => 0, 'bt_allow_spmode_change' => 1, 'bt_force_passkey' => 1, 'bt_del_addit_ann_urls' => 1, 'bt_set_dltype_on_tor_reg' => 1, 'bt_unset_dltype_on_tor_unreg' => 0);
$default_cfg_num = array('bt_dl_list_expire' => 30, 'bt_show_peers_mode' => SHOW_PEERS_COUNT);
$default_cfg = array_merge($default_cfg_str, $default_cfg_bool, $default_cfg_num);
$db_fields_bool = array('allow_reg_tracker' => 0, 'allow_dl_topic' => 0, 'dl_type_default' => 0, 'show_dl_buttons' => 0, 'self_moderated' => 0);
// Get config
$cfg = get_config_ary(CONFIG_TABLE);
// Submit new config
if ($submit && $confirm) {
    foreach ($db_fields_bool as $field_name => $field_def_val) {
        update_table_bool(FORUMS_TABLE, 'forum_id', $field_name, $field_def_val);
    }
    update_config_table(CONFIG_TABLE, $default_cfg_str, $cfg, 'str');
    update_config_table(CONFIG_TABLE, $default_cfg_bool, $cfg, 'bool');
    update_config_table(CONFIG_TABLE, $default_cfg_num, $cfg, 'num');
    $message = $lang['config_upd'] . '<br /><br />' . sprintf($lang['return_config'], '<a href="' . append_sid("admin_bt_forum_cfg.php") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.php?pane=right") . '">', '</a>');
    message_die(GENERAL_MESSAGE, $message);
}
// Set template vars
set_tpl_vars($default_cfg_str, $cfg);
set_tpl_vars_lang($default_cfg_str);
set_tpl_vars_bool($default_cfg_bool, $cfg);