".get_lang("fast_dl")."\n"; $remote_servers = $db->getRemoteServers(); if ( !$remote_servers ) return; if(isset($_GET['access_rules'])) { echo "

".get_lang("create_access_rules")."

\n"; echo print_failure(get_lang("warning_access_rules_applied_once_alias_created")); $game_cfgs = $db->getGameCfgs(); $select_game = "\n\n\n\n\n"; $ft1 = new FormTable(); $ft1->start_form("home.php" , "get"); $ft1->add_field_hidden("m", $_GET['m']); $ft1->add_field_hidden("access_rules", get_lang("access_rules")); $ft1->start_table(); $ft1->add_custom_field('select_game',$select_game); $ft1->end_table(); $ft1->end_form(); if( !isset($_GET['home_cfg_id']) ) $_GET['home_cfg_id'] = '0'; if(isset($_POST['remove'])) { del_access_rule($_POST['remove']); } if(isset($_POST['save_access_rules'])) { $check = check_access_rules_entries(); if(($check['match_client_ip'] == "" and $check['ip_entry_fail']) == FALSE) { set_access_rule($_GET['home_cfg_id'], $check['match_file_extension'], $check['match_client_ip']); } } $rules = get_access_rules($_GET['home_cfg_id']); $ft2 = new FormTable(); $ft2->start_form("?m=fast_download&home_cfg_id=".$_GET['home_cfg_id']."&access_rules=".$_GET['access_rules'] , "post"); $ft2->start_table(); $ft2->add_field('text','match_file_extension',@$rules['match_file_extension']); $ft2->add_field('text','match_client_ip',@$rules['match_client_ip']); $ft2->end_table(); $ft2->add_button("submit","save_access_rules",get_lang("save_access_rules")); $ft2->end_form(); $all_rules = get_access_rules(); if(is_array($all_rules)) { ?> ".get_lang("current_access_rules")."\n"; echo "\n". "\n"; foreach($all_rules as $rule) { if($rule['home_cfg_id'] != '0') { $home_cfg = $db->getGameCfg($rule['home_cfg_id']); $game_name = $home_cfg['game_name']; if ( preg_match("/win(32|64)/i", $home_cfg['game_key']) ) $game_name .= " (Windows)"; else $game_name .= " (Linux)"; if ( preg_match("/(win|linux)64/i", $home_cfg['game_key']) ) $game_name .= " (64Bit)"; else $game_name .= " (32Bit)"; } else { $game_name = get_lang("games_without_specified_rules"); } echo "\n"; } echo "\n
".get_lang("game_name")."".get_lang("match_file_extension")."".get_lang("match_client_ip")."
$game_name
$rule[match_file_extension]$rule[match_client_ip]
\n"; } echo create_back_button($_GET['m']); } else { if(isset( $_GET['advanced'] ) and isset( $_POST['configuration'] ) and isset( $_GET['remote_server_id'] ) and $_GET['remote_server_id'] != "") { echo "

".get_lang("fast_dl_advanced")."

"; $remote_server_id = $_GET['remote_server_id']; $remote_server = $db->getRemoteServer($remote_server_id); $rserver = $db->getRemoteServerById($remote_server_id); $remote = new OGPRemoteLibrary( $rserver['agent_ip'], $rserver['agent_port'], $rserver['encryption_key'], $rserver['timeout']); $fastdl_info = $remote->fastdl_get_info(); $fastdl_settings = get_fastdl_settings($remote_server_id); if($fastdl_info !== -1) { if( preg_match("/^(127|0)/",$fastdl_info['ip']) ) $fastdl_info['ip'] = $rserver['agent_ip']; } else { $fastdl_info = array(); $fastdl_info['ip'] = $rserver['agent_ip']; $fastdl_info['port'] = '8080'; $fastdl_info['listing'] = "1"; } $ft1 = new FormTable(); $ft1->start_form("?m=fast_download&remote_server_id=".$_GET['remote_server_id'] , "post"); $ft1->add_field_hidden("stop_fastdl", ''); $ft1->add_button("submit","stop_fastdl",get_lang("stop_fastdl")); $ft1->end_form(); $ft1->start_form("?m=fast_download&remote_server_id=".$_GET['remote_server_id'] , "post"); $ft1->start_table(); $ft1->add_field('string','fastdl_ip',$fastdl_info['ip']); $ft1->add_field('string','fastdl_port',$fastdl_info['port']); $ft1->add_field('on_off','listing',$fastdl_info['listing']); $ft1->add_field('on_off','autostart_on_agent_startup',$fastdl_info['autostart_on_agent_startup']); $ft1->add_field('on_off','port_forwarded_to_80',@$fastdl_settings['port_forwarded_to_80']); $ft1->add_field_hidden("conf_fastdl", ''); $ft1->end_table(); $ft1->add_button("submit","conf_fastdl",get_lang("apply_settings_and_restart_fastdl")); $ft1->end_form(); echo create_back_button($_GET['m']."&remote_server_id=".$_GET['remote_server_id']); ?> \n". "\n". "\n". "\n
\n". get_lang("select_remote_server").": ". "\n"; } if( isset( $_GET['remote_server_id'] ) and $_GET['remote_server_id'] != "" and !isset($_GET['access_rules']) and !isset( $_GET['advanced'] ) and !isset( $_POST['configuration'] ) and !isset( $_GET['create_aliases'] )) { $remote_server_id = $_GET['remote_server_id']; $rserver = $db->getRemoteServerById($remote_server_id); $remote = new OGPRemoteLibrary( $rserver['agent_ip'], $rserver['agent_port'], $rserver['encryption_key'], $rserver['timeout']); if($remote->status_chk() == 1) { $fd_status = $remote->fastdl_status(); if(isset( $_POST['conf_fastdl'] )) { $fastdl_info = $remote->fastdl_get_info(); $fastdl_ip = $_POST['fastdl_ip']; $fastdl_port = $_POST['fastdl_port']; $listing = $_POST['listing']; $autostart_on_agent_startup = $_POST['autostart_on_agent_startup']; unset($_POST['fastdl_ip'], $_POST['fastdl_port'], $_POST['listing'], $_POST['autostart_on_agent_startup'],$_POST['conf_fastdl']); set_fastdl_settings($remote_server_id, $_POST); if($remote->fastdl_create_config($fastdl_ip, $fastdl_port, $listing, $autostart_on_agent_startup) !== -1) { if($remote->restart_fastdl() !== 1) { echo get_lang("fastdl_could_not_be_restarted"); } } else echo get_lang("configuration_file_could_not_be_written"); $firewall_settings = $db->getFirewallSettings($remote_server_id); if ($firewall_settings['status'] == "enable") { if($fastdl_info !== -1) set_firewall($remote, $firewall_settings, 'deny', $fastdl_info['port'], $fastdl_info['ip']); set_firewall($remote, $firewall_settings, 'allow', $fastdl_port, $fastdl_ip); } $fd_status = $remote->fastdl_status(); } elseif(isset( $_POST['stop_fastdl'] )) { $remote->stop_fastdl(); $fd_status = $remote->fastdl_status(); } $fastdl_info = $remote->fastdl_get_info(); if($fastdl_info !== -1) { if( preg_match("/^(127|0)/",$fastdl_info['ip']) ) $fastdl_info['ip'] = $rserver['agent_ip']; echo "

".get_lang("current_aliases_at_remote_server").":

"; $aliases = $remote->fastdl_get_aliases(); if($aliases !== -1) { if( isset( $_POST['delete'] ) ) { $response_del = $remote->fastdl_del_alias($_POST['aliases']); foreach($_POST['aliases'] as $alias) { if( $response_del != -1 and $remote->rfile_exists($aliases[$alias]['home']) === 1 and isset($_POST['remove'])) $remote->shell_action('remove_recursive', $aliases[$alias]['home']); } $aliases = $remote->fastdl_get_aliases(); } if($aliases !== -1) { echo "
"; $fastdl_settings = get_fastdl_settings($remote_server_id); $address = ($fastdl_info['port'] == '80' OR ($fastdl_settings and $fastdl_settings['port_forwarded_to_80'] == '1')) ? $fastdl_info['ip'] : $fastdl_info['ip'].":".$fastdl_info['port']; foreach( $aliases as $alias => $info ) { echo "$alias". "( http://$address/$alias )
"; } echo "
".get_lang("remove_folders")."
"; } } if($aliases == -1) print_success( get_lang("no_aliases_defined") ); } if($fd_status !== -1) print_success( get_lang("fast_download_daemon_running") ); else print_failure( get_lang("fast_download_daemon_not_running") ); echo "
"; } else { print_failure( "Agent not running" ); } } elseif( isset($_GET['create_aliases']) ) { $server_homes = $db->getIpPorts(); if( $server_homes === FALSE ) { print_failure(get_lang("no_game_homes_assigned")); return; } echo "
".get_lang("create_alias_for"). ":"; $extra_inputs = array(array('type' => 'hidden','name' => 'create_aliases','value' => get_lang("create_aliases"))); create_home_selector_address($_GET['m'], "", $server_homes, $extra_inputs); echo "
"; if( isset( $_GET['home_id-mod_id-ip-port'] ) and $_GET['home_id-mod_id-ip-port'] != "" ) { list($home_id, $mod_id, $ip, $port) = explode( "-", $_GET['home_id-mod_id-ip-port'] ); $server_home = $db->getGameHomeByIP($ip, $port); if ( !$server_home ) return; $remote = new OGPRemoteLibrary($server_home['agent_ip'], $server_home['agent_port'], $server_home['encryption_key'], $server_home['timeout']); $fastdl_info = $remote->fastdl_get_info(); $fastdl_settings = get_fastdl_settings($server_home['remote_server_id']); if( preg_match("/^(127|0)/",$fastdl_info['ip']) ) $fastdl_info['ip'] = $server_home['agent_ip']; $fastdl_display_ip = checkDisplayPublicIP($server_home['display_public_ip'],$server_home['ip'] != $fastdl_info['ip'] ? $server_home['ip'] : $fastdl_info['ip']); $address = ($fastdl_info['port'] == '80' OR ($fastdl_settings and $fastdl_settings['port_forwarded_to_80'] == '1')) ? $fastdl_display_ip : $fastdl_display_ip.":".$fastdl_info['port']; $alias = isset( $_POST['alias'] ) ? $_POST['alias'] : str_replace(".","_",$ip)."_$port"; $path = isset( $_POST['path'] ) ? $_POST['path'] : "fastdl"; $aliases = $remote->fastdl_get_aliases(); if( isset( $_POST['delete'] ) ) { $rmalias = $_POST['rmalias']; if( $remote->fastdl_del_alias($rmalias) !== -1 and $remote->rfile_exists($aliases[$rmalias]['home']) === 1 and isset($_POST['remove']) ) $remote->shell_action('remove_recursive', $aliases[$rmalias]['home']); $aliases = $remote->fastdl_get_aliases(); } $aliases = $aliases === -1 ? array() : $aliases; if( isset( $_POST['create'] ) ) { $check = check_access_rules_entries(); if(!$check['ip_entry_fail'] and !$check['extension_entry_fail']) { if(!array_key_exists($alias , $aliases)) { $home = clean_path($server_home['home_path']."/".clean_string($_POST['path'])); $alias = clean_string($_POST['alias']); if( $remote->rfile_exists( $home ) !== 1 ) { $remote->shell_action('create_dir', $home); } $index = createIndexString( get_lang_f( "fast_download_service_for", $server_home["home_name"] ), $view->charset ); $file = clean_path("$home/index.html"); $remote->remote_writefile($file, $index); if( $remote->fastdl_add_alias($alias,$home,$_POST['match_file_extension'],$_POST['match_client_ip']) == 1 ) { echo "

".get_lang("success")."

"; } else { echo "

".get_lang("failure")."

"; } } else echo "

".get_lang_f('alias_already_exists',$alias)."

"; $aliases = $remote->fastdl_get_aliases(); } } $alias_info = get_alias_by_home_path($server_home['home_path'], $aliases); $rules = get_access_rules($server_home['home_cfg_id']); if(is_array($alias_info)) { $url = "http://$address/".$alias_info['alias'].""; echo "
". "". "\n". "\n". "\n". "\n". "\n". "". "\n". "
".get_lang("at_url").": $url
".get_lang("to_the_path").": $alias_info[home]
".get_lang("match_file_extension").": $alias_info[match_file_extension]
".get_lang("match_client_ip").": $alias_info[match_client_ip]
".get_lang("remove_folder")."
"; } else { $home_path = clean_path($server_home['home_path']."/"); $ft3 = new FormTable(); $ft3->start_form("" , "post"); $ft3->start_table(); $ft3->add_custom_field('at_url',"http://$address/". ""); $ft3->add_custom_field('to_the_path',"$home_path". ""); $ft3->add_field('text','match_file_extension',@$rules['match_file_extension']); $ft3->add_field('text','match_client_ip',@$rules['match_client_ip']); $ft3->end_table(); $ft3->add_button("submit","create",get_lang("create_alias")); $ft3->end_form(); } } echo create_back_button($_GET['m']); } } } ?>