connect($db_host,$db_user,$db_pass,$db_name,$table_prefix,isset($db_port)?$db_port:NULL);
global $view,$db;
echo "
".get_lang('add_new_mysql_host')."
";
if(isset($_GET['add_mysql_server']))
{
foreach ((array)$_GET as $name => $value)
{
$get[$name] = trim($value);
}
if ( empty($get['mysql_ip']) ){
print_failure(get_lang('enter_mysql_ip'));
}
if ( empty($get['mysql_admin_user']) ){
print_failure(get_lang('enter_mysql_admin_user'));
}
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_admin_user'],$priv['mysql_root_passwd'],$priv['mysql_name'],$priv['privilegies'],$priv['add_mysql_server']);
foreach ((array)$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_admin_user'],$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 "".get_lang('note_mysql_host')."
";
$servers = $db->getRemoteServers();
$conn_method[0] = get_lang('direct_connection');
foreach ((array)$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_admin_user',isset($_GET['mysql_admin_user']) ? $_GET['mysql_admin_user'] : (isset($db_user) ? $db_user : 'root'));
$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','');
$ft->add_custom_field('sql_create','');
$ft->add_custom_field('sql_create_temporary_tables','');
$ft->add_custom_field('sql_delete','');
$ft->add_custom_field('sql_drop','');
$ft->add_custom_field('sql_index','');
$ft->add_custom_field('sql_insert','');
$ft->add_custom_field('sql_lock_tables','');
$ft->add_custom_field('sql_select','');
$ft->add_custom_field('sql_update','');
$ft->add_custom_field('sql_grant_option','');
}
$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;
?>
|
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 = "".get_lang('offline')." ";
}
elseif( $host_stat === 1)
{
$server_status = "".get_lang('online')."";
$command = "mysql -h ".$mysql_server['mysql_ip']." -P ".$mysql_server['mysql_port']." -u ".$mysql_admin_user." -p".$mysql_server['mysql_root_passwd'].' -e exit; echo $?';
$test_mysql_conn = $remote->exec($command);
if($test_mysql_conn == 0)
{
$server_status .= " / ".get_lang('mysql_online')."";
}
else
{
$server_status .= "/".get_lang('mysql_offline')."";
}
}
elseif( $host_stat === -1 )
{
$server_status = "".get_lang('encryption_key_mismatch')."\n";
}
else
{
$server_status = "".get_lang('unknown_error').": $host_stat\n";
}
}
else
{
$mysql_admin_user = get_mysql_admin_user($mysql_server);
// mysqli is always available in PHP 7+; the old mysql_* fallback has been removed.
$link = mysqli_connect_safe($mysql_server['mysql_ip'], $mysql_admin_user, $mysql_server['mysql_root_passwd'], "", $mysql_server['mysql_port']);
if ( $link === FALSE )
{
$server_status = "".get_lang('mysql_offline')."";
}
else
{
$server_status = "".get_lang('mysql_online')."";
mysqli_close($link);
}
}
$databases = "";
$mysql_server_dbs = $modDb->getMysqlServerDBs($mysql_server['mysql_server_id']);
if ( !empty($mysql_server_dbs) )
{
foreach ((array)$mysql_server_dbs as $mysql_db)
{
$databases .= $mysql_db['db_name']."[".get_lang('edit')."]\n".
"[".get_lang('remove')."]\n".
"
";
}
}
$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 = "[".get_lang('remove')."]\n".
"[".get_lang('edit')."]\n".
"[".get_lang('assign_db')."]\n";
$tittle = "ID#: ".$mysql_server['mysql_server_id']."
".get_lang('mysql_server_name').": ".$mysql_server['mysql_name']." |
".get_lang('server_status').": $server_status | ";
$data = "
".get_lang('mysql_ip_port').": ".$mysql_server['mysql_ip'].":".$mysql_server['mysql_port']."
".get_lang('mysql_admin_user').": ".get_mysql_admin_user($mysql_server)."
".get_lang('mysql_root_passwd').": ".$mysql_server['mysql_root_passwd']."
".get_lang('connection_method').": ".$conection_type."
".get_lang('user_privilegies').": ".$mysql_server['privilegies_str']."
|
".get_lang('current_dbs').": ".$databases.
" |
$buttons
|
";
// Template
$first = "| $tittle |
";
$second = $data;
//Echo them all
echo "$first$second";
}
echo "";
echo "
\n";
?>