connect($db_host,$db_user,$db_pass,$db_name,$table_prefix); global $view,$db; $isAdmin = $db->isAdmin( $_SESSION['user_id'] ); if( $isAdmin ) $game_home = $db->getGameHome($_GET['home_id']); else $game_home = $db->getUserGameHome($_SESSION['user_id'],$_GET['home_id']); if ( ! $game_home and ! $isAdmin ) return; echo "

".get_lang_f('mysql_dbs_for',htmlentities($game_home['home_name']))."

"; $home_dbs = $modDb->getMysqlDBsbyHomeId($game_home['home_id']); if(empty($home_dbs)) { print_failure(get_lang_f('there_are_no_databases_assigned_for',htmlentities($game_home['home_name']))); return; } $db_array["0"] = get_lang('select_db'); foreach ( $home_dbs as $home_db ) { $db_array[$home_db['db_id']] = $home_db['db_name']; } $ft = new FormTable(); $ft->start_form(''); $ft->start_table(); $ft->add_custom_field('select_db', create_drop_box_from_array($db_array,"db_id",isset($_REQUEST['db_id'])?$_REQUEST['db_id']:"0",false)); $ft->end_table(); $ft->end_form(); $database_exists = FALSE; $server_online = FALSE; if(isset($_REQUEST['db_id']) AND $_REQUEST['db_id'] != "0") { $db_id = $_REQUEST['db_id']; $mysql_db = $modDb->getMysqlHomeDBbyId($game_home['home_id'],$db_id); if(!$mysql_db) return; if($mysql_db['remote_server_id'] != "0") { $remote_server = $db->getRemoteServer($mysql_db['remote_server_id']); $remote = new OGPRemoteLibrary($remote_server['agent_ip'],$remote_server['agent_port'],$remote_server['encryption_key'],$remote_server['timeout']); $host_stat = $remote->status_chk(); if($host_stat === 1 ) { $command = "mysql -h localhost -P ".$mysql_db['mysql_port']." -u root -p".$mysql_db['mysql_root_passwd'].' -e exit; echo $?'; $test_mysql_conn = $remote->exec($command); if($test_mysql_conn == 0) { $user_db = $remote->exec('mysqlshow --user='.$mysql_db['db_user'].' --password='.$mysql_db['db_passwd'].' '.$mysql_db['db_name']); if($user_db != "") $database_exists = TRUE; $server_online = TRUE; } } } else { if( function_exists('mysqli_connect') ) { $link = mysqli_connect($mysql_db['mysql_ip'], $mysql_db['db_user'], $mysql_db['db_passwd'], $mysql_db['db_name'], $mysql_db['mysql_port']); if ( $link !== FALSE ) { $server_online = TRUE; $database_exists = TRUE; $databases = mysqli_query($link, "SHOW TABLES;"); $user_db = "Database: ".$mysql_db['db_name']."\nTables:\n"; while ( $table = mysqli_fetch_array($databases) ) { $user_db .= $table[0] . "\n"; } mysqli_close($link); } } else { @$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], $mysql_db['db_user'], $mysql_db['db_passwd']); if ( $link !== FALSE ) { $server_online = TRUE; if ( mysql_select_db($mysql_db['db_name'],$link) !== FALSE ) { $databases = mysql_query("SHOW TABLES;"); $user_db = "Database: ".$mysql_db['db_name']."\nTables:\n"; while ( $table = mysql_fetch_array($databases) ) { $user_db .= $table[0] . "\n"; } $database_exists = TRUE; } mysql_close($link); } } } if(isset($_POST['restore'])) { $command = 'mysql --host='.$mysql_db['mysql_ip'].' --port='.$mysql_db['mysql_port'].' --user='.$mysql_db['db_user']. ' --password='.$mysql_db['db_passwd'].' '.$mysql_db['db_name'].' < '; $local_tmp = sys_get_temp_dir()."/".$_FILES["file"]["name"]; move_uploaded_file($_FILES["file"]["tmp_name"], $local_tmp); if($mysql_db['remote_server_id'] != "0") { $temp_dir = trim($remote->exec('mktemp -d')); $writefile = $temp_dir."/".$_FILES["file"]["name"]; $content = file_get_contents($local_tmp); $command .= $writefile; if($remote->remote_writefile($writefile, $content) === 1) $remote->exec($command); } else { $command .= $local_tmp; system($command); } unlink($local_tmp); $view->refresh('?m=mysql&p=user_db&home_id='.$game_home['home_id'].'&db_id='.$db_id,0); } if($server_online and $database_exists) { echo "
\n

".get_lang('db_info')."

\n". "". "\n". "\n". "\n". "\n". "\n". "
".get_lang('mysql_ip')." :".$mysql_db['mysql_ip']."
".get_lang('mysql_port')." :".$mysql_db['mysql_port']."
".get_lang('db_name')." :".$mysql_db['db_name']."
".get_lang('db_user')." :".$mysql_db['db_user']."
".get_lang('db_passwd')." :".$mysql_db['db_passwd']."
".get_lang('privilegies')." :".$mysql_db['privilegies_str']."
\n". "

".get_lang('db_tables')."

". "
".$user_db."
"; if(suhosin_function_exists('system') or $mysql_db['remote_server_id'] != "0") { echo "

".get_lang('db_backup')."

"; ?>