Moved the Agents into their own repo. Kept the agent.pl just for reference

This commit is contained in:
Frank Harris 2025-09-11 13:27:32 -04:00
parent 22381be29a
commit 8680a02b13
18132 changed files with 0 additions and 2569420 deletions

View file

@ -1,634 +0,0 @@
<script type="text/javascript">
$(document).ready(function(){
$( "#privilegies" ).change(function() {
this.form.submit();
});
$( "#remote_server_id" ).change(function() {
if( $(this).val() != "0" )
{
$( "input#mysql_ip" ).val('localhost').prop('readonly', true);
}
else
{
$( "input#mysql_ip" ).prop('readonly', false);
}
});
if( $( "#remote_server_id" ).val() != "0" )
{
$( "input#mysql_ip" ).prop('readonly', true);
}
});
</script>
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
require_once('includes/form_table_class.php');
require_once('includes/lib_remote.php');
if ( function_exists('mysqli_connect') )
require_once("modules/mysql/mysqli_database.php");
else
require_once("modules/mysql/mysql_database.php");
function exec_ogp_module() {
$modDb = new MySQLModuleDatabase();
require("includes/config.inc.php");
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
global $view, $db;
$mysql_server_id = @$_REQUEST['mysql_server_id'];
$mysql_server = $modDb->getMysqlServer($mysql_server_id);
if($mysql_server['remote_server_id'] == "0")
$server_homes = $db->getGameHomes();
else
$server_homes = $modDb->getGameHomesByRemoteServerId($mysql_server['remote_server_id']);
$homes_array[0] = get_lang('select_game_server');
foreach($server_homes as $server_home)
{
$homes_array["$server_home[home_id]"] = "(ID ".$server_home['home_id'].") ".$server_home['home_name'];
}
if ( $mysql_server === FALSE )
{
print_failure(get_lang_f('invalid_mysql_server_id',$mysql_server_id));
$view->refresh("?m=mysql&p=mysql_admin");
return;
}
if ( isset($_REQUEST['add_db']) )
{
$home_id = $_POST['home_id'];
$db_user = trim($_POST['db_user']);
$db_passwd = trim($_POST['db_passwd']);
$db_name = trim($_POST['db_name']);
$enabled = $_POST['enabled'];
if ( empty($db_user) ){
print_failure(get_lang('enter_db_user'));
}
elseif ( empty($db_passwd) ){
print_failure(get_lang('enter_db_password'));
}
elseif ( empty($db_name) ){
print_failure(get_lang('enter_db_name'));
}
elseif ( $home_id == 0 ){
print_failure(get_lang('select_game_server'));
}
else
{
$db_id = $modDb->addMysqlServerDB($mysql_server_id, $home_id, $db_user, $db_passwd, $db_name, $enabled);
if(!$db_id)
{
print_failure(get_lang_f('there_is_another_db_named_or_user_named',$db_name,$db_user));
}
else
{
$mysql_db = $modDb->getMysqlDBbyId($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)
{
$SQL = "CREATE DATABASE IF NOT EXISTS \\`".$mysql_db['db_name']."\\`;".
"GRANT ".$mysql_db['privilegies_str']." ON \\`".$mysql_db['db_name']."\\`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$mysql_db['db_passwd']."';".
"FLUSH PRIVILEGES;";
$command = "mysql --host=localhost --port=".$mysql_db['mysql_port']." -uroot -p".$mysql_db['mysql_root_passwd']." -e \"".$SQL."\"";
$result = $remote->exec($command);
}
}
}
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 )
{
@$link = mysqli_connect($mysql_db['mysql_ip'], 'root', $mysql_db['mysql_root_passwd'], "", $mysql_db['mysql_port']);
if ( $link !== FALSE )
{
$queries = array("CREATE DATABASE IF NOT EXISTS `".$mysql_db['db_name']."`;",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$mysql_db['db_passwd']."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysqli_query($link, $query);
if(!$return)
{
break;
}
}
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 )
{
@$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], 'root', $mysql_db['mysql_root_passwd']);
if ( $link !== FALSE )
{
$queries = array("CREATE DATABASE IF NOT EXISTS `".$mysql_db['db_name']."`;",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$mysql_db['db_passwd']."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
{
break;
}
}
mysql_close($link);
}
}
}
}
print_success(get_lang_f('db_added_for_home_id',$_POST['home_id']));
}
}
$view->refresh("?m=mysql&p=mysql_admin&amp;p=edit&amp;mysql_server_id=".$mysql_server_id."&amp;assign",5);
}
else if ( isset($_REQUEST['remove_db']) )
{
$db_id = $_REQUEST['db_id'];
$mysql_db = $modDb->getMysqlDBbyId($db_id);
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 )
{
$remote->exec('mysql --host=localhost --port='.$mysql_db['mysql_port'].' -uroot -p'.$mysql_db['mysql_root_passwd'].
' -e "DROP DATABASE '.$mysql_db['db_name'].";DROP USER '".$mysql_db['db_user']."'@'%';\"");
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_db['mysql_ip'], 'root', $mysql_db['mysql_root_passwd'], "", $mysql_db['mysql_port']);
if ( $link !== FALSE )
{
$queries = array("DROP DATABASE ".$mysql_db['db_name'].";",
"DROP USER '".$mysql_db['db_user']."'@'%';");
foreach( $queries as $query )
{
@$return = mysqli_query($link, $query);
if(!$return)
break;
}
mysqli_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
else
{
@$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], 'root', $mysql_db['mysql_root_passwd']);
if ( $link !== FALSE )
{
$queries = array("DROP DATABASE ".$mysql_db['db_name'].";",
"DROP USER '".$mysql_db['db_user']."'@'%';");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
break;
}
mysql_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
}
if ( $modDb->removeMysqlServerDB($db_id) === FALSE )
{
print_failure(get_lang('could_not_remove_db'));
}
else
{
print_success(get_lang_f('db_removed_successfully_from_mysql_server_named',$mysql_db['mysql_name']));
}
$view->refresh("?m=mysql&p=mysql_admin&amp;p=edit&amp;mysql_server_id=".$mysql_server_id."&amp;assign");
}
else if ( isset($_POST['save_db_changes']) )
{
$db_id = $_POST['db_id'];
$home_id = $_POST['home_id'];
$post_db_user = trim($_POST['db_user']);
$post_db_passwd = trim($_POST['db_passwd']);
$post_db_name = trim($_POST['db_name']);
$enabled = $_POST['enabled'];
if ( empty($post_db_passwd) ){
print_failure(get_lang('enter_db_password'));
}
elseif ( $home_id == 0 ){
print_failure(get_lang('select_game_server'));
}
else
{
$mysql_db = $modDb->getMysqlDBbyId($db_id);
if($post_db_passwd != $mysql_db['db_passwd'])
{
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 )
{
$SQL = "DROP USER '".$mysql_db['db_user']."'@'%';".
"GRANT ".$mysql_db['privilegies_str']." ON \\`".$mysql_db['db_name']."\\`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';".
"FLUSH PRIVILEGES;";
$command = "mysql --host=localhost --port=".$mysql_db['mysql_port']." -uroot -p".$mysql_db['mysql_root_passwd']." -e \"".$SQL."\"";
$remote->exec($command);
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_db['mysql_ip'], 'root', $mysql_db['mysql_root_passwd'], "", $mysql_db['mysql_port']);
if ( $link !== FALSE )
{
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysqli_query($link, $query);
if(!$return)
break;
}
mysqli_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
else
{
@$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], 'root', $mysql_db['mysql_root_passwd']);
if ( $link !== FALSE )
{
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
break;
}
mysql_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
}
}
if($enabled != $mysql_db['enabled'] )
{
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 )
{
if($enabled == "0")
$SQL = "DROP USER '".$mysql_db['db_user']."'@'%';".
"FLUSH PRIVILEGES;";
else
$SQL = "GRANT ".$mysql_db['privilegies_str']." ON \\`".$mysql_db['db_name']."\\`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';".
"FLUSH PRIVILEGES;";
$command = "mysql --host=localhost --port=".$mysql_db['mysql_port']." -uroot -p".$mysql_db['mysql_root_passwd']." -e \"".$SQL."\"";
$remote->exec($command);
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_db['mysql_ip'], 'root', $mysql_db['mysql_root_passwd'], "", $mysql_db['mysql_port']);
if ( $link !== FALSE )
{
if($enabled == "0")
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"FLUSH PRIVILEGES;");
else
$queries = array("GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysqli_query($link, $query);
if(!$return)
break;
}
mysqli_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
else
{
@$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], 'root', $mysql_db['mysql_root_passwd']);
if ( $link !== FALSE )
{
if($enabled == "0")
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"FLUSH PRIVILEGES;");
else
$queries = array("GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
break;
}
mysql_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
}
}
if ( $modDb->editMysqlServerDB($db_id, $home_id, $post_db_user, $post_db_passwd, $post_db_name, $enabled) === FALSE )
{
print_failure(get_lang('could_not_be_changed'));
}
else
{
print_success(get_lang_f('db_changed_successfully',$post_db_name));
}
}
$view->refresh("?m=mysql&p=mysql_admin&amp;p=edit&amp;mysql_server_id=".$mysql_server_id."&amp;assign");
}
else if ( isset($_REQUEST['delete']) )
{
if ( !isset($_REQUEST['y'] ) )
{
echo "<p>".get_lang_f('areyousure_remove_mysql_server',$mysql_server['mysql_name'])."</p>
<p><a href='?m=mysql&p=mysql_admin&amp;p=edit&amp;mysql_server_id=".$mysql_server_id."&amp;delete&amp;y=y'>".
get_lang('yes')."</a> <a href='?m=mysql&p=mysql_admin'>".
get_lang('no')."</a></p>";
return;
}
else
{
$mysql_dbs = $modDb->getMysqlServerDBs($mysql_server_id);
if(!empty($mysql_dbs))
{
foreach($mysql_dbs as $mysql_db)
{
if($mysql_server['remote_server_id'] != "0")
{
$remote_server = $db->getRemoteServer($mysql_server['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 )
{
$remote->exec('mysql --host=localhost --port='.$mysql_server['mysql_port'].' -uroot -p'.$mysql_server['mysql_root_passwd'].
' -e "DROP DATABASE '.$mysql_db['db_name'].";DROP USER '".$mysql_db['db_user']."'@'%';\"");
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_server['mysql_ip'], 'root', $mysql_server['mysql_root_passwd'], "", $mysql_server['mysql_port']);
if ( $link !== FALSE )
{
$queries = array("DROP DATABASE ".$mysql_db['db_name'].";",
"DROP USER '".$mysql_db['db_user']."'@'%';");
foreach( $queries as $query )
{
@$return = mysqli_query($query);
if(!$return)
break;
}
mysqli_close($link);
}
}
else
{
@$link = mysql_connect($mysql_server['mysql_ip'].':'.$mysql_server['mysql_port'], 'root', $mysql_server['mysql_root_passwd']);
if ( $link !== FALSE )
{
$queries = array("DROP DATABASE ".$mysql_db['db_name'].";",
"DROP USER '".$mysql_db['db_user']."'@'%';");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
break;
}
mysql_close($link);
}
}
}
}
}
if ( $modDb->removeMysqlServer($mysql_server_id) === FALSE )
print_failure(get_lang('error_while_remove'));
else
print_success(get_lang_f('mysql_server_removed',$mysql_server['mysql_name']));
}
$view->refresh("?m=mysql&p=mysql_admin");
return;
}
else if ( isset($_POST['save_settings']) )
{
foreach ($_POST as $name => $value)
{
$get[$name] = trim($value);
}
if ( empty($get['mysql_ip']) ){
print_failure(get_lang('enter_mysql_ip'));
}
elseif ( !isPortValid($get['mysql_port']) ){
print_failure(get_lang('enter_valid_port'));
}
elseif ( empty($get['mysql_root_passwd']) ){
print_failure(get_lang('enter_mysql_root_password'));
}
elseif ( empty($get['mysql_name']) ){
print_failure(get_lang('enter_mysql_name'));
}
elseif(!$modDb->editMysqlServer($mysql_server_id,$get['remote_server_id'],$get['mysql_name'],$get['mysql_ip'],$get['mysql_port'],$get['mysql_root_passwd'],$mysql_server['privilegies_str']))
print_failure(get_lang_f('unable_to_set_changes_to',$mysql_server['mysql_name']));
else
print_success(get_lang_f('mysql_server_settings_changed',$mysql_server['mysql_name']));
$view->refresh("?m=mysql&p=mysql_admin&amp;p=edit&amp;mysql_server_id=".$mysql_server_id."&amp;edit",5);
}
elseif ( isset($_GET['edit']) )
{
echo "<h2>".get_lang_f('editing_mysql_server',$mysql_server['mysql_name'])."</h2>";
$mysql_server = $modDb->getMysqlServer($mysql_server_id);
$servers = $db->getRemoteServers();
$conn_method[0] = get_lang('direct_connection');
foreach ( $servers as $server_row )
{
$id = $server_row['remote_server_id'];
$name = get_lang_f('connection_through_remote_server_named',$server_row['remote_server_name']);
$conn_method[$id] = $name;
}
$ft = new FormTable();
$ft->start_form('?m=mysql&amp;p=edit&amp;mysql_server_id='.$mysql_server_id.'&amp;edit');
$ft->start_table();
$ft->add_custom_field('connection_method',
create_drop_box_from_array($conn_method,"remote_server_id",$mysql_server['remote_server_id'],false));
$ft->add_field('string','mysql_name',$mysql_server['mysql_name']);
$ft->add_field('string','mysql_ip',$mysql_server['mysql_ip']);
$ft->add_field('string','mysql_port',$mysql_server['mysql_port']);
$ft->add_field('string','mysql_root_passwd',$mysql_server['mysql_root_passwd']);
$ft->end_table();
$ft->add_button("submit","save_settings",get_lang('save_settings'));
$ft->end_form();
echo create_back_button('mysql','mysql_admin');
}
elseif ( isset($_GET['assign']) )
{
echo "<h2>".get_lang_f('mysql_dbs_for',$mysql_server['mysql_name'])."</h2>";
$mysql_server_dbs = $modDb->getMysqlServerDBs($mysql_server['mysql_server_id']);
if ( !empty($mysql_server_dbs) )
{
echo "<h4>".get_lang('edit_dbs')."</h4>";
foreach ( $mysql_server_dbs as $mysql_db )
{
$home_info = $db->getGameHomeWithoutMods($mysql_db['home_id']);
$db_array["$mysql_db[db_id]"] = $mysql_db['db_name']." (".$home_info['home_name'].")";
}
$ft = new FormTable();
$ft->start_form('','GET');
$ft->add_field_hidden('m', 'mysql');
$ft->add_field_hidden('p', 'edit');
$ft->add_field_hidden('mysql_server_id', $mysql_server_id);
$ft->add_field_hidden('assign', 'true');
$ft->start_table();
$ft->add_custom_field('select_db',
create_drop_box_from_array($db_array,"db_id",isset($_GET['db_id'])?$_GET['db_id']:"",false));
$ft->end_table();
$ft->add_button('submit','edit_db_settings',get_lang('edit_db_settings'));
$ft->add_button('submit','remove_db',get_lang('remove_db'));
$ft->end_form();
if(isset($_GET['edit_db_settings']))
{
$mysql_db = $modDb->getMysqlDBbyId($_GET['db_id']);
$ft = new FormTable();
$ft->start_form('');
$ft->add_field_hidden('db_id',$mysql_db['db_id']);
$ft->start_table();
$ft->add_custom_field('game_server',
create_drop_box_from_array($homes_array,"home_id",$mysql_db['home_id'],false));
$ft->add_field('string','db_user',$mysql_db['db_user'],"50","readonly");
$ft->add_field('string','db_passwd',$mysql_db['db_passwd']);
$ft->add_field('string','db_name',$mysql_db['db_name'],"50","readonly");
$ft->add_field('on_off','enabled',$mysql_db['enabled']);
$ft->end_table();
$ft->add_button('submit','save_db_changes',get_lang('save_db_changes'));
$ft->end_form();
}
}
echo "<h4>".get_lang('add_db')."</h4>";
$ft = new FormTable();
$ft->start_form('');
$ft->start_table();
$ft->add_custom_field('game_server',
create_drop_box_from_array($homes_array,"home_id","0",false));
$ft->add_field('string','db_user','');
$ft->add_field('string','db_passwd',genRandomString('10'));
$ft->add_field('string','db_name','');
$ft->add_field('on_off','enabled','1');
$ft->end_table();
$ft->add_button('submit','add_db',get_lang('add_db'));
$ft->end_form();
echo create_back_button('mysql','mysql_admin');
}
else
{
print_failure("Invalid url.");
$view->refresh("?m=mysql&p=mysql_admin");
}
}
?>

View file

@ -1,14 +0,0 @@
<?php
function suhosin_function_exists($func) {
if (extension_loaded('suhosin')) {
$suhosin = @ini_get("suhosin.executor.func.blacklist");
if (empty($suhosin) == false) {
$suhosin = explode(',', $suhosin);
$suhosin = array_map('trim', $suhosin);
$suhosin = array_map('strtolower', $suhosin);
return (function_exists($func) == true && array_search($func, $suhosin) === false);
}
}
return function_exists($func);
}
?>

View file

@ -1,60 +0,0 @@
<?php
require_once('includes/lib_remote.php');
if ( function_exists('mysqli_connect') )
require_once("modules/mysql/mysqli_database.php");
else
require_once("modules/mysql/mysql_database.php");
function exec_ogp_module() {
$modDb = new MySQLModuleDatabase();
require("includes/config.inc.php");
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
global $db;
$isAdmin = $db->isAdmin( $_SESSION['user_id'] );
if( $isAdmin )
$game_home = $db->getGameHome($_REQUEST['home_id']);
else
$game_home = $db->getUserGameHome($_SESSION['user_id'],$_GET['home_id']);
if ( ! $game_home and ! $isAdmin )
return;
$home_dbs = $modDb->getMysqlDBsbyHomeId($game_home['home_id']);
if(empty($home_dbs))
{
return;
}
$db_id = $_REQUEST['db_id'];
$mysql_db = $modDb->getMysqlHomeDBbyId($game_home['home_id'],$db_id);
if(!$mysql_db)
return;
$command = 'mysqldump --host='.$mysql_db['mysql_ip'].' --port='.$mysql_db['mysql_port'].' --user='.$mysql_db['db_user'].
' --password='.$mysql_db['db_passwd'].' '.$mysql_db['db_name']/* .'>backup-' . date("d-m-Y") . '.sql && cat backup-' . date("d-m-Y") . '.sql' */;
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 )
{
$dump = $remote->exec($command,$output);
}
}
else
{
$dump = system($command);
}
header( "Content-Type: text/plain" );
header( 'Content-Disposition: attachment; filename="backup-' . $mysql_db['db_name'] . '-' . date("d-m-Y") . '.sql"' );
echo $dump;
}

View file

@ -1,59 +0,0 @@
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
// Module general information
$module_title = "MySQL";
$module_version = "0.1";
$db_version = 0;
$module_required = TRUE;
$module_menus = array( array( 'subpage' => 'mysql_admin', 'name'=>'MySQL Admin', 'group'=>'admin' ) );
$install_queries[0] = array(
"DROP TABLE IF EXISTS `".OGP_DB_PREFIX."mysql_servers`;",
"CREATE TABLE IF NOT EXISTS `".OGP_DB_PREFIX."mysql_servers` (
`mysql_server_id` int(11) NOT NULL auto_increment,
`remote_server_id` int(11) NOT NULL,
`mysql_name` varchar(100) NOT NULL,
`mysql_ip` varchar(255) NOT NULL,
`mysql_port` int(11) NOT NULL,
`mysql_root_passwd` VARCHAR( 32 ) NULL,
`privilegies_str` LONGTEXT NULL,
PRIMARY KEY (`mysql_server_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;",
"DROP TABLE IF EXISTS ".OGP_DB_PREFIX."mysql_databases",
"CREATE TABLE IF NOT EXISTS `".OGP_DB_PREFIX."mysql_databases` (
`db_id` int(11) NOT NULL auto_increment,
`mysql_server_id` int(11) NOT NULL,
`home_id` int(11) NOT NULL,
`db_user` varchar(50) NOT NULL,
`db_passwd` varchar(50) NOT NULL,
`db_name` varchar(50) NOT NULL,
`enabled` int(11) NOT NULL,
PRIMARY KEY (`db_id`),
UNIQUE KEY (`mysql_server_id`,`db_name`),
UNIQUE KEY (`mysql_server_id`,`db_user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
?>

View file

@ -1,32 +0,0 @@
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
$module_buttons = array(
"<a class='monitorbutton' target='_blank' href='http://" . $server_home['ip'] . "/phpmyadmin' '>
<img src='" . check_theme_image("modules/administration/images/mysql_admin.png") . "' title='". get_lang("mysql_databases") ."'>
<span>". get_lang("mysql_databases") ."</span>
</a>"
);
?>

View file

@ -1,38 +0,0 @@
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
$mysql_dbs = $db->resultQuery("SELECT db_id FROM OGP_DB_PREFIXmysql_databases WHERE enabled=1 AND home_id=".$server_home['home_id']);
if(!empty($mysql_dbs))
{
$module_buttons = array(
"<a class='monitorbutton' href='?m=mysql&p=user_db&home_id=".$server_home['home_id']."'>
<img src='" . check_theme_image("modules/administration/images/mysql_admin.png") . "' title='". get_lang("mysql_databases") ."'>
<span>". get_lang("mysql_databases") ."</span>
</a>"
);
}
else
$module_buttons = array();
?>

View file

@ -1,270 +0,0 @@
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
class MySQLModuleDatabase extends OGPDatabaseMySQL
{
protected $link;
protected $table_prefix;
public function __construct() {
}
public function __destruct() {
parent::__destruct();
}
public function connect($db_host, $db_user, $db_pass, $db_name, $table_prefix = NULL) {
if ( !extension_loaded("mysql") )
return -99;
$this->table_prefix = $table_prefix;
/// \todo We might want to do other checks here as well?
if ( $db_host === NULL )
return -1;
$this->link = mysql_connect($db_host, $db_user, $db_pass);
if ( $this->link === FALSE )
return -11;
if ( mysql_select_db($db_name,$this->link) === FALSE )
return -12;
return TRUE;
}
private function listQuery($query) {
if ( !$this->link ) return FALSE;
++$this->queries_;
$result = mysql_query($query, $this->link);
if ( mysql_errno($this->link) > 0 )
print mysql_error($this->link);
if ( $result === FALSE )
return FALSE;
if ( mysql_num_rows($result) == 0 )
return FALSE;
$results = array();
while ( $row = mysql_fetch_assoc( $result ) )
array_push($results,$row);
return $results;
}
public function addMysqlServer($remote_server_id,$mysql_name,$mysql_ip,$mysql_port,$mysql_root_passwd,$privilegies_str)
{
if ( empty($mysql_ip) )
return false;
else if ( empty($mysql_port) )
return false;
else if ( empty($mysql_root_passwd) )
return false;
$query = sprintf("INSERT INTO `%smysql_servers` (`remote_server_id`,`mysql_name`,`mysql_ip`,`mysql_port`,`mysql_root_passwd`,`privilegies_str`)
VALUES('%s','%s','%s','%s','%s','%s');",
$this->table_prefix,
mysql_real_escape_string($remote_server_id,$this->link),
mysql_real_escape_string($mysql_name,$this->link),
mysql_real_escape_string($mysql_ip,$this->link),
mysql_real_escape_string($mysql_port,$this->link),
mysql_real_escape_string($mysql_root_passwd,$this->link),
mysql_real_escape_string($privilegies_str,$this->link));
++$this->queries_;
mysql_query($query,$this->link);
if( mysql_errno($this->link) != 0 )
{
return false;
}
return mysql_insert_id($this->link);
}
public function editMysqlServer($mysql_server_id,$remote_server_id,$mysql_name,$mysql_ip,$mysql_port,$mysql_root_passwd,$privilegies_str)
{
$query = sprintf("UPDATE `%smysql_servers` SET `remote_server_id` = '%s',
`mysql_name` = '%s', `mysql_ip` = '%s', `mysql_port` = '%s',
`mysql_root_passwd` = '%s', `privilegies_str` = '%s'
WHERE `mysql_server_id` = %s;",
$this->table_prefix,
mysql_real_escape_string($remote_server_id,$this->link),
mysql_real_escape_string($mysql_name,$this->link),
mysql_real_escape_string($mysql_ip,$this->link),
mysql_real_escape_string($mysql_port,$this->link),
mysql_real_escape_string($mysql_root_passwd,$this->link),
mysql_real_escape_string($privilegies_str,$this->link),
mysql_real_escape_string($mysql_server_id,$this->link));
++$this->queries_;
if ( mysql_query($query) === FALSE )
return FALSE;
return TRUE;
}
public function getMysqlServers(){
$query = sprintf("SELECT * FROM %smysql_servers;",
$this->table_prefix);
return $this->listQuery($query);
}
public function getMysqlServer($id) {
if ( !$this->link ) return FALSE;
$query = sprintf("SELECT * FROM `%smysql_servers` WHERE `mysql_server_id` = %d",
$this->table_prefix,
mysql_real_escape_string($id,$this->link));
++$this->queries_;
$result = mysql_query($query, $this->link);
// If there are no servers then we can stop here.
if ( mysql_num_rows($result) != 1 )
return FALSE;
return mysql_fetch_assoc( $result );
}
public function removeMysqlServer($mysql_server_id){
$mysql_server_id = mysql_real_escape_string($mysql_server_id, $this->link);
$return = TRUE;
$queries = array("DELETE FROM `%smysql_databases` WHERE mysql_server_id = %d;",
"DELETE FROM `%smysql_servers` WHERE mysql_server_id = %d;");
foreach ( $queries as $query )
{
$query = sprintf($query,$this->table_prefix,$mysql_server_id);
++$this->queries_;
$result = mysql_query($query,$this->link);
$return = ($result === FALSE) ? FALSE : $return;
}
return $return;
}
public function getMysqlServerDBs($mysql_server_id){
$query = sprintf("SELECT * FROM `%smysql_databases` WHERE mysql_server_id = %d;",
$this->table_prefix,
mysql_real_escape_string($mysql_server_id,$this->link));
return $this->listQuery($query);
}
public function addMysqlServerDB($mysql_server_id, $home_id, $db_user, $db_passwd, $db_name, $enabled){
$query = sprintf("INSERT INTO `%smysql_databases` (`mysql_server_id`, `home_id`, `db_user`, `db_passwd`, `db_name`, `enabled`)
VALUES('%d','%d','%s','%s','%s','%d');",
$this->table_prefix,
mysql_real_escape_string($mysql_server_id,$this->link),
mysql_real_escape_string($home_id,$this->link),
mysql_real_escape_string($db_user,$this->link),
mysql_real_escape_string($db_passwd,$this->link),
mysql_real_escape_string($db_name,$this->link),
mysql_real_escape_string($enabled,$this->link));
++$this->queries_;
mysql_query($query,$this->link);
if( mysql_errno($this->link) != 0 )
{
return false;
}
return mysql_insert_id($this->link);
}
public function getMysqlDBbyId($db_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` NATURAL JOIN `%1$smysql_servers` WHERE db_id = %2$d;',
$this->table_prefix,
mysql_real_escape_string($db_id,$this->link));
$db_info = $this->listQuery($query);
return $db_info[0];
}
public function getMysqlDBsbyHomeId($home_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` WHERE enabled = 1 AND home_id = %2$d;',
$this->table_prefix,
mysql_real_escape_string($home_id,$this->link));
return $this->listQuery($query);
}
public function getMysqlHomeDBbyId($home_id,$db_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` NATURAL JOIN `%1$smysql_servers` WHERE home_id = %2$d AND db_id = %3$d;',
$this->table_prefix,
mysql_real_escape_string($home_id,$this->link),
mysql_real_escape_string($db_id,$this->link));
$db_info = $this->listQuery($query);
return $db_info[0];
}
public function editMysqlServerDB($db_id, $home_id, $db_user, $db_passwd, $db_name, $enabled)
{
$query = sprintf("UPDATE `%smysql_databases`
SET `home_id`='%d', `db_user`='%s', `db_passwd`='%s', `db_name`='%s',`enabled`='%d'
WHERE `db_id` = '%d';",
$this->table_prefix,
mysql_real_escape_string($home_id, $this->link),
mysql_real_escape_string($db_user, $this->link),
mysql_real_escape_string($db_passwd, $this->link),
mysql_real_escape_string($db_name, $this->link),
mysql_real_escape_string($enabled, $this->link),
mysql_real_escape_string($db_id, $this->link) );
++$this->queries_;
mysql_query($query,$this->link);
if( mysql_errno($this->link) != 0 )
return FALSE;
return true;
}
public function removeMysqlServerDB($db_id)
{
$query = sprintf("DELETE FROM `%smysql_databases`
WHERE `db_id` = '%d'",
$this->table_prefix,
mysql_real_escape_string($db_id, $this->link));
++$this->queries_;
if ( mysql_query($query) === FALSE )
return FALSE;
return TRUE;
}
public function getGameHomesByRemoteServerId($remote_server_id){
$query = sprintf('SELECT %1$sserver_homes.*,%1$sremote_servers.*, %1$sconfig_homes.game_name
FROM `%1$sserver_homes` NATURAL JOIN `%1$sconfig_homes` NATURAL JOIN `%1$sremote_servers` WHERE remote_server_id=%2$s;',
$this->table_prefix,
mysql_real_escape_string($remote_server_id,$this->link));
return $this->listQuery($query);
}
}
?>

View file

@ -1,270 +0,0 @@
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
class MySQLModuleDatabase extends OGPDatabaseMySQL
{
protected $link;
protected $table_prefix;
public function __construct() {
}
public function __destruct() {
parent::__destruct();
}
public function connect($db_host, $db_user, $db_pass, $db_name, $table_prefix = NULL) {
if ( !extension_loaded("mysqli") )
return -99;
$this->table_prefix = $table_prefix;
/// \todo We might want to do other checks here as well?
if ( $db_host === NULL )
return -1;
$this->link = mysqli_connect($db_host, $db_user, $db_pass);
if ( $this->link === FALSE )
return -11;
if ( mysqli_select_db($this->link,$db_name) === FALSE )
return -12;
return TRUE;
}
private function listQuery($query) {
if ( !$this->link ) return FALSE;
++$this->queries_;
$result = mysqli_query($this->link,$query);
if ( mysqli_errno($this->link) > 0 )
print mysqli_error($this->link);
if ( $result === FALSE )
return FALSE;
if ( mysqli_num_rows($result) == 0 )
return FALSE;
$results = array();
while ( $row = mysqli_fetch_assoc( $result ) )
array_push($results,$row);
return $results;
}
public function addMysqlServer($remote_server_id,$mysql_name,$mysql_ip,$mysql_port,$mysql_root_passwd,$privilegies_str)
{
if ( empty($mysql_ip) )
return false;
else if ( empty($mysql_port) )
return false;
else if ( empty($mysql_root_passwd) )
return false;
$query = sprintf("INSERT INTO `%smysql_servers` (`remote_server_id`,`mysql_name`,`mysql_ip`,`mysql_port`,`mysql_root_passwd`,`privilegies_str`)
VALUES('%s','%s','%s','%s','%s','%s');",
$this->table_prefix,
mysqli_real_escape_string($this->link,$remote_server_id),
mysqli_real_escape_string($this->link,$mysql_name),
mysqli_real_escape_string($this->link,$mysql_ip),
mysqli_real_escape_string($this->link,$mysql_port),
mysqli_real_escape_string($this->link,$mysql_root_passwd),
mysqli_real_escape_string($this->link,$privilegies_str));
++$this->queries_;
mysqli_query($this->link,$query);
if( mysqli_errno($this->link) != 0 )
{
return false;
}
return mysqli_insert_id($this->link);
}
public function editMysqlServer($mysql_server_id,$remote_server_id,$mysql_name,$mysql_ip,$mysql_port,$mysql_root_passwd,$privilegies_str)
{
$query = sprintf("UPDATE `%smysql_servers` SET `remote_server_id` = '%s',
`mysql_name` = '%s', `mysql_ip` = '%s', `mysql_port` = '%s',
`mysql_root_passwd` = '%s', `privilegies_str` = '%s'
WHERE `mysql_server_id` = %s;",
$this->table_prefix,
mysqli_real_escape_string($this->link,$remote_server_id),
mysqli_real_escape_string($this->link,$mysql_name),
mysqli_real_escape_string($this->link,$mysql_ip),
mysqli_real_escape_string($this->link,$mysql_port),
mysqli_real_escape_string($this->link,$mysql_root_passwd),
mysqli_real_escape_string($this->link,$privilegies_str),
mysqli_real_escape_string($this->link,$mysql_server_id));
++$this->queries_;
if ( mysqli_query($this->link,$query) === FALSE )
return FALSE;
return TRUE;
}
public function getMysqlServers(){
$query = sprintf("SELECT * FROM %smysql_servers;",
$this->table_prefix);
return $this->listQuery($query);
}
public function getMysqlServer($id) {
if ( !$this->link ) return FALSE;
$query = sprintf("SELECT * FROM `%smysql_servers` WHERE `mysql_server_id` = %d",
$this->table_prefix,
mysqli_real_escape_string($this->link,$id));
++$this->queries_;
$result = mysqli_query($this->link,$query);
// If there are no servers then we can stop here.
if ( mysqli_num_rows($result) != 1 )
return FALSE;
return mysqli_fetch_assoc( $result );
}
public function removeMysqlServer($mysql_server_id){
$mysql_server_id = mysqli_real_escape_string($this->link,$mysql_server_id);
$return = TRUE;
$queries = array("DELETE FROM `%smysql_databases` WHERE mysql_server_id = %d;",
"DELETE FROM `%smysql_servers` WHERE mysql_server_id = %d;");
foreach ( $queries as $query )
{
$query = sprintf($query,$this->table_prefix,$mysql_server_id);
++$this->queries_;
$result = mysqli_query($this->link,$query);
$return = ($result === FALSE) ? FALSE : $return;
}
return $return;
}
public function getMysqlServerDBs($mysql_server_id){
$query = sprintf("SELECT * FROM `%smysql_databases` WHERE mysql_server_id = %d;",
$this->table_prefix,
mysqli_real_escape_string($this->link,$mysql_server_id));
return $this->listQuery($query);
}
public function addMysqlServerDB($mysql_server_id, $home_id, $db_user, $db_passwd, $db_name, $enabled){
$query = sprintf("INSERT INTO `%smysql_databases` (`mysql_server_id`, `home_id`, `db_user`, `db_passwd`, `db_name`, `enabled`)
VALUES('%d','%d','%s','%s','%s','%d');",
$this->table_prefix,
mysqli_real_escape_string($this->link,$mysql_server_id),
mysqli_real_escape_string($this->link,$home_id),
mysqli_real_escape_string($this->link,$db_user),
mysqli_real_escape_string($this->link,$db_passwd),
mysqli_real_escape_string($this->link,$db_name),
mysqli_real_escape_string($this->link,$enabled));
++$this->queries_;
mysqli_query($this->link,$query);
if( mysqli_errno($this->link) != 0 )
{
return false;
}
return mysqli_insert_id($this->link);
}
public function getMysqlDBbyId($db_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` NATURAL JOIN `%1$smysql_servers` WHERE db_id = %2$d;',
$this->table_prefix,
mysqli_real_escape_string($this->link,$db_id));
$db_info = $this->listQuery($query);
return $db_info[0];
}
public function getMysqlDBsbyHomeId($home_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` WHERE enabled = 1 AND home_id = %2$d;',
$this->table_prefix,
mysqli_real_escape_string($this->link,$home_id));
return $this->listQuery($query);
}
public function getMysqlHomeDBbyId($home_id,$db_id){
$query = sprintf('SELECT * FROM `%1$smysql_databases` NATURAL JOIN `%1$smysql_servers` WHERE home_id = %2$d AND db_id = %3$d;',
$this->table_prefix,
mysqli_real_escape_string($this->link,$home_id),
mysqli_real_escape_string($this->link,$db_id));
$db_info = $this->listQuery($query);
return $db_info[0];
}
public function editMysqlServerDB($db_id, $home_id, $db_user, $db_passwd, $db_name, $enabled)
{
$query = sprintf("UPDATE `%smysql_databases`
SET `home_id`='%d', `db_user`='%s', `db_passwd`='%s', `db_name`='%s',`enabled`='%d'
WHERE `db_id` = '%d';",
$this->table_prefix,
mysqli_real_escape_string($this->link,$home_id),
mysqli_real_escape_string($this->link,$db_user),
mysqli_real_escape_string($this->link,$db_passwd),
mysqli_real_escape_string($this->link,$db_name),
mysqli_real_escape_string($this->link,$enabled),
mysqli_real_escape_string($this->link,$db_id) );
++$this->queries_;
mysqli_query($this->link,$query);
if( mysqli_errno($this->link) != 0 )
return FALSE;
return true;
}
public function removeMysqlServerDB($db_id)
{
$query = sprintf("DELETE FROM `%smysql_databases`
WHERE `db_id` = '%d'",
$this->table_prefix,
mysqli_real_escape_string($this->link,$db_id));
++$this->queries_;
if ( mysqli_query($this->link,$query) === FALSE )
return FALSE;
return TRUE;
}
public function getGameHomesByRemoteServerId($remote_server_id){
$query = sprintf('SELECT %1$sserver_homes.*,%1$sremote_servers.*, %1$sconfig_homes.game_name
FROM `%1$sserver_homes` NATURAL JOIN `%1$sconfig_homes` NATURAL JOIN `%1$sremote_servers` WHERE remote_server_id=%2$s;',
$this->table_prefix,
mysqli_real_escape_string($this->link,$remote_server_id));
return $this->listQuery($query);
}
}
?>

View file

@ -1,6 +0,0 @@
<navigation>
<page key="mysql_admin" file="servers.php" access="admin" />
<page key="edit" file="edit_server.php" access="admin" />
<page key="user_db" file="user_db.php" access="admin,user,subuser" />
<page key="get_dump" file="get_dump.php" access="admin,user,subuser" />
</navigation>

View file

@ -1,301 +0,0 @@
<script type="text/javascript">
$(document).ready(function(){
$( "#privilegies" ).change(function() {
this.form.submit();
});
$( "#remote_server_id" ).change(function() {
if( $(this).val() != "0" )
{
$( "input#mysql_ip" ).val('localhost').prop('readonly', true);
}
else
{
$( "input#mysql_ip" ).prop('readonly', false);
}
});
});
</script>
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
require_once('includes/lib_remote.php');
if ( function_exists('mysqli_connect') )
require_once("modules/mysql/mysqli_database.php");
else
require_once("modules/mysql/mysql_database.php");
function exec_ogp_module() {
$modDb = new MySQLModuleDatabase();
require("includes/config.inc.php");
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
global $view,$db;
echo "<h2>".get_lang('add_new_mysql_host')."</h2>";
if(isset($_GET['add_mysql_server']))
{
foreach ($_GET as $name => $value)
{
$get[$name] = trim($value);
}
if ( empty($get['mysql_ip']) ){
print_failure(get_lang('enter_mysql_ip'));
}
if ( !isPortValid($get['mysql_port']) ){
print_failure(get_lang('enter_valid_port'));
}
if ( empty($get['mysql_root_passwd']) ){
print_failure(get_lang('enter_mysql_root_password'));
}
if ( empty($get['mysql_name']) ){
print_failure(get_lang('enter_mysql_name'));
}
if ($get['privilegies'] == "custom")
{
$priv = $get;
$privilegies_str = "";
unset($priv['m'],$priv['p'],$priv['remote_server_id'],$priv['mysql_ip'],$priv['mysql_port'],$priv['mysql_root_passwd'],$priv['mysql_name'],$priv['privilegies'],$priv['add_mysql_server']);
foreach($priv as $name => $value)
{
$privilegies_str .= str_replace("_"," ",$name).", ";
}
}
else
{
$privilegies_str = "ALL";
}
$privilegies_str = rtrim( $privilegies_str , ', ' );
$mysql_server_id = $modDb->addMysqlServer($get['remote_server_id'],$get['mysql_name'],$get['mysql_ip'],$get['mysql_port'],$get['mysql_root_passwd'],$privilegies_str);
if ( !$mysql_server_id )
{
print_failure(get_lang('could_not_add_mysql_server'));
$view->refresh("?m=mysql&p=mysql_admin");
return;
}
print_success(get_lang('server_added'));
$view->refresh("?m=mysql&p=mysql_admin");
return;
}
echo "<p>".get_lang('note_mysql_host')."</p>";
$servers = $db->getRemoteServers();
$conn_method[0] = get_lang('direct_connection');
foreach ( $servers as $server_row )
{
$id = $server_row['remote_server_id'];
$name = get_lang_f('connection_through_remote_server_named',$server_row['remote_server_name']);
$conn_method[$id] = $name;
}
require_once("includes/form_table_class.php");
$ft = new FormTable();
$ft->start_form("", "GET");
$ft->start_table();
$ft->add_field_hidden('m', 'mysql');
$ft->add_field_hidden('p', 'mysql_admin');
$ft->add_custom_field('connection_method',
create_drop_box_from_array($conn_method,"remote_server_id","0",false));
$ft->add_field('string','mysql_name',isset($_GET['mysql_name']) ? $_GET['mysql_name'] : "");
$ft->add_field('string','mysql_ip',isset($_GET['mysql_ip']) ? $_GET['mysql_ip'] : "localhost");
$ft->add_field('string','mysql_port',isset($_GET['mysql_port']) ? $_GET['mysql_port'] : "3306");
$ft->add_field('string','mysql_root_passwd',isset($_GET['mysql_root_passwd']) ? $_GET['mysql_root_passwd'] : "");
$ft->add_custom_field('privilegies',
create_drop_box_from_array(array('all' => get_lang('all'), 'custom' => get_lang('custom')),"privilegies",isset($_GET['privilegies']) ? $_GET['privilegies'] : "all",false));
if(isset($_GET['privilegies']) and $_GET['privilegies'] == "custom")
{
$ft->add_custom_field('sql_alter','<input type="checkbox" name="ALTER" checked="checked" >');
$ft->add_custom_field('sql_create','<input type="checkbox" name="CREATE" checked="checked" >');
$ft->add_custom_field('sql_create_temporary_tables','<input type="checkbox" name="CREATE TEMPORARY TABLES" checked="checked" >');
$ft->add_custom_field('sql_delete','<input type="checkbox" name="DELETE" checked="checked" >');
$ft->add_custom_field('sql_drop','<input type="checkbox" name="DROP" checked="checked" >');
$ft->add_custom_field('sql_index','<input type="checkbox" name="INDEX" checked="checked" >');
$ft->add_custom_field('sql_insert','<input type="checkbox" name="INSERT" checked="checked" >');
$ft->add_custom_field('sql_lock_tables','<input type="checkbox" name="LOCK TABLES" checked="checked" >');
$ft->add_custom_field('sql_select','<input type="checkbox" name="SELECT" checked="checked" >');
$ft->add_custom_field('sql_update','<input type="checkbox" name="UPDATE" checked="checked" >');
$ft->add_custom_field('sql_grant_option','<input type="checkbox" name="GRANT OPTION" checked="checked" >');
}
$ft->end_table();
$ft->add_button("submit","add_mysql_server",get_lang('add_mysql_server'));
$ft->end_form();
$mysql_servers = $modDb->getMysqlServers();
if ( $mysql_servers === FALSE )
return;
$tr = 0;
?><table id="servermonitor" class="tablesorter remote">
<thead>
<tr>
<th colspan="4" class="sorter-false"><?php print_lang('configured_mysql_hosts'); ?></th>
</tr>
</thead>
<tbody> <?php
foreach ( $mysql_servers as $mysql_server )
{
if($mysql_server['remote_server_id'] != 0)
{
$remote_server = $db->getRemoteServer($mysql_server['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 === 0 )
{
$server_status = "<span class='failure'>".get_lang('offline')."</span> ";
}
elseif( $host_stat === 1)
{
$server_status = "<span class='success'>".get_lang('online')."</span>";
$command = "mysql -h ".$mysql_server['mysql_ip']." -P ".$mysql_server['mysql_port']." -u root -p".$mysql_server['mysql_root_passwd'].' -e exit; echo $?';
$test_mysql_conn = $remote->exec($command);
if($test_mysql_conn == 0)
{
$server_status .= " / <span class='success'>".get_lang('mysql_online')."</span>";
}
else
{
$server_status .= "/<span class='failure'>".get_lang('mysql_offline')."</span>";
}
}
elseif( $host_stat === -1 )
{
$server_status = "<span class='failure'>".get_lang('encryption_key_mismatch')."</span>\n";
}
else
{
$server_status = "<span class='failure'>".get_lang('unknown_error').": $host_stat</span>\n";
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_server['mysql_ip'], 'root', $mysql_server['mysql_root_passwd'], "", $mysql_server['mysql_port']);
if ( $link === FALSE )
{
$server_status = "<span class='failure'>".get_lang('mysql_offline')."</span>";
}
else
{
$server_status = "<span class='success'>".get_lang('mysql_online')."</span>";
mysqli_close($link);
}
}
else
{
@$link = mysql_connect($mysql_server['mysql_ip'].':'.$mysql_server['mysql_port'], 'root', $mysql_server['mysql_root_passwd']);
if ( $link === FALSE )
{
$server_status = "<span class='failure'>".get_lang('mysql_offline')."</span>";
}
else
{
$server_status = "<span class='success'>".get_lang('mysql_online')."</span>";
mysql_close($link);
}
}
}
$databases = "";
$mysql_server_dbs = $modDb->getMysqlServerDBs($mysql_server['mysql_server_id']);
if ( !empty($mysql_server_dbs) )
{
foreach ( $mysql_server_dbs as $mysql_db )
{
$databases .= $mysql_db['db_name']."<a href='?m=mysql&p=edit&mysql_server_id=".$mysql_server['mysql_server_id'].
"&assign=true&db_id=".$mysql_db['db_id']."&edit_db_settings'>[".get_lang('edit')."]</a>\n".
"<a href='?m=mysql&p=edit&mysql_server_id=".$mysql_server['mysql_server_id'].
"&assign=true&db_id=".$mysql_db['db_id']."&remove_db'>[".get_lang('remove')."]</a>\n".
"<br>";
}
}
$conection_type = $mysql_server['remote_server_id'] == 0 ?
get_lang('direct_connection') :
get_lang_f('connection_through_remote_server_named',$remote_server['remote_server_name']);
$buttons = "<a href='?m=mysql&amp;p=edit&amp;mysql_server_id=".
$mysql_server['mysql_server_id']."&amp;delete'>[".get_lang('remove')."]</a>\n".
"<a href='?m=mysql&amp;p=edit&amp;mysql_server_id=".$mysql_server['mysql_server_id'].
"&amp;edit'>[".get_lang('edit')."]</a>\n".
"<a href='?m=mysql&amp;p=edit&amp;mysql_server_id=".$mysql_server['mysql_server_id'].
"&amp;assign'>[".get_lang('assign_db')."]</a>\n";
$tittle = "<b>ID#:</b> <b style='color:red;'>".$mysql_server['mysql_server_id']."</b></td>
<td class='collapsible' ><b>".get_lang('mysql_server_name').":</b> ".$mysql_server['mysql_name']."</td>
<td class='collapsible' ><b>".get_lang('server_status').": </b>$server_status</td>";
$data = "<tr class='expand-child' >
<td>
<b>".get_lang('mysql_ip_port').":</b> ".$mysql_server['mysql_ip'].":".$mysql_server['mysql_port']."<br />
<b>".get_lang('mysql_root_passwd').":</b> ".$mysql_server['mysql_root_passwd']."<br />
<b>".get_lang('connection_method').":</b> ".$conection_type."<br />
<b>".get_lang('user_privilegies').":</b> ".$mysql_server['privilegies_str']."<br />
</td>
<td>
<b>".get_lang('current_dbs').":</b><br />".$databases.
"</td>
<td>
$buttons
</td>
</tr>";
// Template
$first = "<tr class='maintr'><td class='collapsible' >$tittle</td></tr>";
$second = $data;
//Echo them all
echo "$first$second";
}
echo "</tbody>";
echo "</table>\n";
?>
<script type="text/javascript">
$(document).ready(function(){
$("#servermonitor")
.collapsible("td.collapsible", {collapse: true});
});
</script>
<?php
unset($modDb);
}

View file

@ -1,33 +0,0 @@
.database{
margin:5%;
width:90%;
float:middle;
}
.database td{
width:50%;
vertical-align:top;
}
.database pre{
width:100%;
height:100%;
float:left;
}
.bloc{
cursor:default;
}
.bloc h4{
cursor:default;
position:relative;
top:-3px;
}
.database_info{
width:100%;
margin:30px;
}
.database_info td{
border:1px solid transparent;
}
.database xmp{
text-align:left;
}

View file

@ -1,336 +0,0 @@
<script type="text/javascript">
$(document).ready(function(){
$( "#db_id" ).change(function() {
this.form.submit();
});
});
</script>
<?php
/*
*
* OGP - Open Game Panel
* Copyright (C) 2008 - 2018 The OGP Development Team
*
* http://www.opengamepanel.org/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
require_once("modules/mysql/functions.php");
require_once('includes/form_table_class.php');
require_once('includes/lib_remote.php');
if ( function_exists('mysqli_connect') )
require_once("modules/mysql/mysqli_database.php");
else
require_once("modules/mysql/mysql_database.php");
function exec_ogp_module() {
$modDb = new MySQLModuleDatabase();
require("includes/config.inc.php");
$modDb->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 "<h2>".get_lang_f('mysql_dbs_for',htmlentities($game_home['home_name']))."</h2>";
$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);
}
//voltar para o game monitor
echo "<div align='center'><form action='' method='get'>
<input type='hidden' name='m' value='gamemanager' />
<input type='hidden' name='p' value='game_monitor' />
<input type='hidden' name='home_id' value='".$_GET['home_id']."' />
<input type='submit' value='<<&lt;Back to Game Monitor' />
</form></div>";
if($server_online and $database_exists)
{
?>
<form action="" method="post" class="form-group">
<input type="hidden" name="db_id" value="<?php echo $db_id; ?>">
<?php
echo "<table class='database' ><tr><td>\n<div class='dragbox bloc rounded' ><h4>".get_lang('db_info')."</h4>\n".
"<table class='database_info' ><tr>".
"<td><b>Sign in to :<a href='http://".$mysql_db['mysql_ip'] ."/phpmyadmin' target='_blank'>&nbsp;&nbsp;Phpmyadmin</a></td><td></td></tr>".
"<td><b>Download do :<a href='https://www.heidisql.com/installers/HeidiSQL_11.0.0.5919_Setup.exe' target='_blank'> &nbsp;&nbsp;HeidiSQL</a></td><td></td></tr>".
"<td><b>".get_lang('mysql_ip')." :</b></td><td>".$mysql_db['mysql_ip']."</td></tr>\n".
"<td><b>".get_lang('mysql_port')." :</b></td><td>".$mysql_db['mysql_port']."</td></tr>\n".
"<td><b>".get_lang('db_name')." :</b></td><td>".$mysql_db['db_name']."</td></tr>\n".
"<td><b>".get_lang('db_user')." :</b></td><td>".$mysql_db['db_user']."</td></tr>\n".
"<td><b>".get_lang('db_passwd')." :</b></td><td>".$mysql_db['db_passwd']."</td></tr>\n".
'<td><b>New database password :</b></td><td><input type="text" id="db_passwd" name="db_passwd" value="" size="25" class="form-control"></td></tr>'."\n".
'<td></td><td><input type="submit" name="save_db_changes" value="Save new password" class="btn btn-sm btn-primary"></td></tr>'."\n".
"<td><b>".get_lang('privilegies')." :</b></td><td>".$mysql_db['privilegies_str']."</td></tr></table></div>\n".
"<td><div class='dragbox bloc rounded' style='background:black;' ><h4>".get_lang('db_tables')."</h4>".
"<pre><xmp>".$user_db."</xmp></pre></div></td></tr></table>";
?>
</form>
<?php
/*
echo "<table class='database' ><tr><td>\n<div class='dragbox bloc rounded' ><h4>".get_lang('db_info')."</h4>\n".
"<table class='database_info' ><tr>".
"<td><b>Fazer login no :<a href='http://".$mysql_db['mysql_ip'] ."/phpmyadmin' target='_blank'>&nbsp;&nbsp;Phpmyadmin</a></td><td></td></tr>".
"<td><b>Download do :<a href='https://www.heidisql.com/installers/HeidiSQL_11.0.0.5919_Setup.exe' target='_blank'> &nbsp;&nbsp;HeidiSQL</a></td><td></td></tr>".
"<td><b>".get_lang('mysql_ip')." :</b></td><td>".$mysql_db['mysql_ip']."</td></tr>\n".
"<td><b>".get_lang('mysql_port')." :</b></td><td>".$mysql_db['mysql_port']."</td></tr>\n".
"<td><b>".get_lang('db_name')." :</b></td><td>".$mysql_db['db_name']."</td></tr>\n".
"<td><b>".get_lang('db_user')." :</b></td><td>".$mysql_db['db_user']."</td></tr>\n".
"<td><b>".get_lang('db_passwd')." :</b></td><td>".$mysql_db['db_passwd']."</td></tr>\n".
"<td><b>".get_lang('privilegies')." :</b></td><td>".$mysql_db['privilegies_str']."</td></tr></table></div>\n".
"<td><div class='dragbox bloc rounded' style='background:black;' ><h4>".get_lang('db_tables')."</h4>".
"<pre><xmp>".$user_db."</xmp></pre></div></td></tr></table>";
*/
if (isset($_POST['save_db_changes']))
{
$db_id = $db_id;
$home_id = $game_home['home_id'];
$post_db_user = trim($mysql_db['db_user']);
$post_db_passwd = trim($_POST['db_passwd']);
$post_db_name = trim($mysql_db['db_name']);
$enabled = 1;
if ( empty($post_db_passwd) ){
//print_failure(get_lang('enter_db_password'));
print_failure("Enter a new password!");
}
else
{
$mysql_db = $modDb->getMysqlDBbyId($db_id);
if($post_db_passwd != $mysql_db['db_passwd'])
{
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 )
{
$SQL = "DROP USER '".$mysql_db['db_user']."'@'%';".
"GRANT ".$mysql_db['privilegies_str']." ON \\`".$mysql_db['db_name']."\\`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';".
"FLUSH PRIVILEGES;";
$command = "mysql --host=localhost --port=".$mysql_db['mysql_port']." -uroot -p".$mysql_db['mysql_root_passwd']." -e \"".$SQL."\"";
$remote->exec($command);
}
}
else
{
if( function_exists('mysqli_connect') )
{
@$link = mysqli_connect($mysql_db['mysql_ip'], 'root', $mysql_db['mysql_root_passwd'], "", $mysql_db['mysql_port']);
if ( $link !== FALSE )
{
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysqli_query($link, $query);
if(!$return)
break;
}
mysqli_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
else
{
@$link = mysql_connect($mysql_db['mysql_ip'].':'.$mysql_db['mysql_port'], 'root', $mysql_db['mysql_root_passwd']);
if ( $link !== FALSE )
{
$queries = array("DROP USER '".$mysql_db['db_user']."'@'%';",
"GRANT ".$mysql_db['privilegies_str']." ON `".$mysql_db['db_name']."`.* TO '".$mysql_db['db_user']."'@'%' IDENTIFIED BY '".$post_db_passwd."';",
"FLUSH PRIVILEGES;");
foreach( $queries as $query )
{
@$return = mysql_query($query);
if(!$return)
break;
}
mysql_close($link);
$modDb->connect($db_host,$db_user,$db_pass,$db_name,$table_prefix);
}
}
}
if ( $modDb->editMysqlServerDB($db_id, $home_id, $post_db_user, $post_db_passwd, $post_db_name, $enabled) === FALSE )
{
print_failure(get_lang('could_not_be_changed'));
}
else
{
print_success(get_lang_f('db_changed_successfully',$post_db_name));
}
$view->refresh('?m=mysql&p=user_db&home_id='.$game_home['home_id'].'&db_id='.$db_id."&amp;assign");
}
}
}
if(suhosin_function_exists('system') or $mysql_db['remote_server_id'] != "0")
{
echo "<h2>".get_lang('db_backup')."</h2>";
?>
<table class='administration-table'>
<tr>
<td>
<form method="POST" action="?m=mysql&p=get_dump&home_id=<?php echo $game_home['home_id']; ?>&db_id=<?php echo $db_id; ?>&type=cleared" >
<button name="download"><?php print_lang('download_db_backup'); ?></button>
</form>
<br>
<form method="POST" action="?m=mysql&p=user_db&home_id=<?php echo $game_home['home_id']; ?>&db_id=<?php echo $db_id; ?>" enctype="multipart/form-data">
<label for="file"><?php print_lang('sql_file'); ?>:</label>
<input type="file" name="file" id="file" />
<button name="restore"><?php print_lang('restore_db_backup'); ?></button>
</form>
</td>
</tr>
</table>
<?php
}
}
}
}