Просмотр исходного кода

Merge pull request #158 from oNdsen/master

Several Display Public IP Support
OwN-3m-All 9 лет назад
Родитель
Сommit
508bd6ffe6

+ 3 - 1
includes/functions.php

@@ -226,6 +226,8 @@ function create_home_selector_address($module, $subpage, $server_homes, $extra_i
 					$home_id, SORT_DESC, $server_homes);
 	foreach ( $server_homes as $server_home )
 	{
+		$display_ip = checkDisplayPublicIP($server_home['display_public_ip'],$server_home['ip']);
+
 		if(isset($_GET['home_id-mod_id-ip-port']) and 
 		   $get_home_id == $server_home['home_id'] and 
 		   $get_mod_id == $server_home['mod_id'] and 
@@ -237,7 +239,7 @@ function create_home_selector_address($module, $subpage, $server_homes, $extra_i
 		echo "<option value='". $server_home['home_id'] .
 			 "-" . $server_home['mod_id'] . "-" . $server_home['ip'] . 
 			 "-" . $server_home['port'] . "' $selected >" . 
-			 htmlentities($server_home['home_name']) . " - " . $server_home['ip'] .
+			 htmlentities($server_home['home_name']) . " - " . $display_ip .
 			 ":" . $server_home['port'] . "</option>\n";
 	}
 	echo "</select>\n";

+ 20 - 19
modules/TS3Admin/TS3Admin.php

@@ -28,11 +28,11 @@ function exec_ogp_module()
 	if( is_writable( $templates_folder ) )
 	{
 		global $db,$settings;
-		$isAdmin = $db->isAdmin( $_SESSION['user_id'] );	
-			
-		if( isset($_GET['changeRemoteServer']) ) 
+		$isAdmin = $db->isAdmin( $_SESSION['user_id'] );
+
+		if( isset($_GET['changeRemoteServer']) )
 			unset($_SESSION['ts3_ip']);
-			
+
 		if( isset( $_GET['changevServer'] ) OR  !isset( $_SESSION['ts3_ip'] ))
 		{
 			if(!$isAdmin)
@@ -50,8 +50,9 @@ function exec_ogp_module()
 					 <option></option>\n";
 				foreach ( $remote_servers as $server )
 				{
+					$display_ip = checkDisplayPublicIP($server['display_public_ip'],$server['agent_ip']);
 					echo "<option value='".$server['remote_server_id']."'>".
-						$server['remote_server_name']." (".$server['agent_ip'].")</option>\n";
+						$server['remote_server_name']." (".$display_ip.")</option>\n";
 				}
 				echo "</select>
 					  </form>
@@ -59,10 +60,10 @@ function exec_ogp_module()
 
 			} else {
 				echo get_lang('no_remote_servers');
-				
+
 			}
 		}
-		
+
 		if( isset( $_GET['rserver_id'] ) )
 		{
 			$_SESSION['rserver_id'] = $_GET['rserver_id'];
@@ -74,12 +75,12 @@ function exec_ogp_module()
 			{
 				$TS3_list = $db->resultQuery("SELECT * FROM OGP_DB_PREFIXts3_homes WHERE user_id='".$_SESSION['user_id']."' AND rserver_id='".$_SESSION['rserver_id']."'");
 			}
-			
+
 			if( !empty( $TS3_list ) )
-			{	
+			{
 				$remote_server = $db->getRemoteServer($_SESSION['rserver_id']);
 				$_SESSION['remote_key'] = $remote_server['encryption_key'];
-					
+
 				if( isset( $_POST['vserver_id'] ) AND !$isAdmin )
 				{
 					foreach($TS3_list as $TS3)
@@ -115,10 +116,10 @@ function exec_ogp_module()
 						{
 							echo "</tr><tr>";
 							$counter = 0;
-						}	  
+						}
 					}
 					echo "</tr></table>";
-				}	
+				}
 			}
 			else
 			{
@@ -127,7 +128,7 @@ function exec_ogp_module()
 			}
 		}
 		if( !isset( $_SESSION['ts3_ip'] ) ) return;
-		
+
 		if( isset($_GET['type']) && $_GET['type'] == "cleared" )
 		{
 			$refreshing = TRUE;
@@ -148,23 +149,23 @@ function exec_ogp_module()
 			if( !$refreshing )
 				echo '<a href="home.php?m=TS3Admin&changeRemoteServer">'.get_lang("change_remote_server").'</a>&nbsp;';
 		}
-			
+
 		define('TS3WEBINTERFACE_IP', $_SESSION['ts3_ip']);	// edit server ip
 		define('TS3WEBINTERFACE_PORT', "10011");	// edit server query port
-		define('TS3WEBINTERFACE_NAME', "serveradmin");	
+		define('TS3WEBINTERFACE_NAME', "serveradmin");
 		define('TS3WEBINTERFACE_PWD', $_SESSION['ts3_pwd']);
 		if ( !$isAdmin )
 			define('TS3WEBINTERFACE_VSERVER_ID', $_SESSION['ts3_vserver_id']);
 		define('TS3WEBINTERFACE_LANG', $settings['panel_language']);	// edit language
 
-		
+
 		require('ts3webinterface.class.php');
-		
+
 		$wi = new TS3webinterface(TS3WEBINTERFACE_IP, TS3WEBINTERFACE_PORT);
 	}
 	else
 	{
 		print_failure( get_lang_f( 'temp_folder_not_writable', $templates_folder ) );
-	} 
+	}
 }
-?>
+?>

+ 1 - 1
modules/TS3Admin/templates/selectvServer.tpl

@@ -18,7 +18,7 @@
 			<td><input type="radio" name="vserver" value="{$curvServer.virtualserver_id}" /></td>
 			<td>{$curvServer.virtualserver_id}</td>
 			<td>{$curvServer.virtualserver_name}</td>
-			<td>{$IP}:{$curvServer.virtualserver_port}</td>
+			<td>{$display_public_ip}:{$curvServer.virtualserver_port}</td>
 			<td><span id="serverstatus{$curvServer.virtualserver_id}" class="{if $curvServer.virtualserver_status=="none"}offline{else}{$curvServer.virtualserver_status}{/if}">{if $curvServer.virtualserver_status=="none"}offline{else}{$curvServer.virtualserver_status}{/if}</span></td>
 			<td>{$curvServer.virtualserver_clientsonline}/{$curvServer.virtualserver_maxclients}</td>
 			<td><!--'.TS3webinterface::parseTime($data[$i]['virtualserver_uptime']).'--><!--{$curvServer.virtualserver_uptime}-->{$webinterface->parseTime($curvServer.virtualserver_uptime)}</td>

+ 2 - 2
modules/TS3Admin/templates/vServerOverview.tpl

@@ -54,7 +54,7 @@
 	</tr>
 	<tr>
 		<td><b>{$lang.vsoverview_info_state}</b></td>
-		<td><span id="serverstatus" class="{$data.virtualserver_status}">{$data.virtualserver_status}</span>{if $data.virtualserver_status == "online"} - {$lang.vsselect_ip}:{$lang.vsselect_port} <a href="ts3server://{$IP}:{$data.virtualserver_port}">{$IP}:{$data.virtualserver_port}</a>{/if}</td>
+		<td><span id="serverstatus" class="{$data.virtualserver_status}">{$data.virtualserver_status}</span>{if $data.virtualserver_status == "online"} - {$lang.vsselect_ip}:{$lang.vsselect_port} <a href="ts3server://{$display_public_ip}:{$data.virtualserver_port}">{$display_public_ip}:{$data.virtualserver_port}</a>{/if}</td>
 	</tr>
 	<tr>
 		<td><b>{$lang.vsoverview_info_uptime}</b></td>
@@ -175,4 +175,4 @@
 		<td><span id="connection_bandwidth_received_last_minute_total">{$webinterface->convertByteToKB($data.connection_bandwidth_received_last_minute_total)}</span> <span class="small">kB/s</span></td>
 	</tr>
 </table>
-</fieldset>
+</fieldset>

+ 20 - 9
modules/TS3Admin/ts3webinterface.class.php

@@ -297,6 +297,8 @@ class TS3webinterface
 	
 	private function switchAction()
 	{
+		global $db;
+
 		if( isset($_GET['getchannelbackup']) && $this->session['lvserver'] != 0 )
 		{
 			if( $channelBackupString = $this->getChannelBackupString() )
@@ -615,9 +617,9 @@ class TS3webinterface
 			{
 				$this->template->assign('title', $this->language['title'].' :: '.$this->language['login']);
 				$this->template->display('header.tpl');
-				
+
 				$addData = array();
-				
+
 				/*if( !isset($_GET['do']) ) $_GET['do'] = '';
 				switch($_GET['do'])
 				{
@@ -630,7 +632,7 @@ class TS3webinterface
 						{
 							//$addData = $this->server->de_escape($addData[0]);
 							$addData = $addData[0];
-							
+
 							array_unshift($addData, 'OK');
 						}
 						else
@@ -646,27 +648,31 @@ class TS3webinterface
 				}
 					/*break;
 				}*/
-				
+
 				$vServerList = $this->server->r_serverlist();
 				if( !isset($vServerList[0]) )
 				{
 					$tmp = array($vServerList);
 					$vServerList = $tmp;
 				}
-				
+
+				$getPublicIp = $db->resultQuery("SELECT display_public_ip FROM OGP_DB_PREFIXremote_servers WHERE remote_server_id=".$_SESSION['rserver_id']);
+				$display_ip = checkDisplayPublicIP($getPublicIp[0]['display_public_ip'],$this->serverIP);
+
 				$this->template->assign('IP', $this->serverIP);
+				$this->template->assign('display_public_ip', $display_ip);
 				$this->template->assign('selectvServer', $vServerList);
 				$this->template->assign('addData', $addData);
-				
+
 				$updateAvailable = $this->checkForUpdate();
 				$this->template->assign('updateAvailable', $updateAvailable);
 				if( $updateAvailable != "" )
 				{
 					$this->template->display('updateAvailable.tpl');
 				}
-				
+
 				$this->template->display('selectvServer.tpl');
-				
+
 				$this->template->display('footer.tpl');
 			}
 			else
@@ -799,7 +805,6 @@ class TS3webinterface
 					
 					$this->template->assign('banList', $this->server->r_banlist());
 					
-					
 					$this->template->display('vServerLiveview.tpl');
 				}
 				else
@@ -841,6 +846,12 @@ class TS3webinterface
 					}
 					$this->template->assign('is_parent_user', $is_parent_user);
 					$this->template->assign('subusers_installed', $subusers_installed);
+
+	                                $getPublicIp = $db->resultQuery("SELECT display_public_ip FROM OGP_DB_PREFIXremote_servers WHERE remote_server_id=".$_SESSION['rserver_id']);
+        	                        $display_ip = checkDisplayPublicIP($getPublicIp[0]['display_public_ip'],$this->serverIP);
+
+					$this->template->assign('display_public_ip', $display_ip);
+
 					$this->template->assign('IP', $this->serverIP);
 					$this->template->display('vServerOverview.tpl');
 				}

+ 2 - 3
modules/gamemanager/server_monitor.php

@@ -503,9 +503,8 @@ function exec_ogp_module() {
 				}else{
 					$query_ip = $server_home['ip'];
 				}
-				if(ip2long($server_home['display_public_ip'])){
-					$query_ip = $server_home['display_public_ip'];
-				}
+
+				$query_ip = checkDisplayPublicIP($server_home['display_public_ip'],$query_ip);
 				$address = $query_ip . ":" . $server_home['port'];
 
 				$screen_running = $remote->is_screen_running(OGP_SCREEN_TYPE_HOME,$server_home['home_id']) === 1;