connect($db_host,$db_user,$db_pass,$db_name,$table_prefix); global $view,$db; echo "

".get_lang('add_new_mysql_host')."

"; 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 "

".get_lang('note_mysql_host')."

"; $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',''); $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 root -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 { 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 = "".get_lang('mysql_offline').""; } else { $server_status = "".get_lang('mysql_online').""; 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 = "".get_lang('mysql_offline').""; } else { $server_status = "".get_lang('mysql_online').""; 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']."[".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'].""; $data = ""; // Template $first = ""; $second = $data; //Echo them all echo "$first$second"; } echo ""; echo "
".get_lang('mysql_server_name').": ".$mysql_server['mysql_name']." ".get_lang('server_status').": $server_status
".get_lang('mysql_ip_port').": ".$mysql_server['mysql_ip'].":".$mysql_server['mysql_port']."
".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
$tittle
\n"; ?>