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

FTP: Add Support for Display_Public_IP Function

Andreas Reinhard 9 лет назад
Родитель
Сommit
e1f6368df0
2 измененных файлов с 12 добавлено и 10 удалено
  1. 9 9
      modules/ftp/ftp_admin.php
  2. 3 1
      modules/ftp/skins/blue/login.template.php

+ 9 - 9
modules/ftp/ftp_admin.php

@@ -63,19 +63,19 @@ function exec_ogp_module()
 			$remote->ftp_mgr("useradd", $post_ftp_login, $post_ftp_password, $post_full_path);
 		}
 	}
-	
+
 	if(isset($_POST['del_ftp_user_y']))
 	{
 		$ftp_login = strip_real_escape_string($_POST['ftp_login']);
 		$server_row = $db->getRemoteServer($_POST['remote_server_id']);
 		$remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']);
-				
+
 		$remote->ftp_mgr("userdel", $ftp_login);
-		
+
 		$home_info = $db->getHomeByFtpLogin($server_row['remote_server_id'], $ftp_login);
 		$db->changeFtpStatus('disabled',$home_info['home_id']);
 	}
-		
+
 	if(isset($_POST['edit_ftp_user']))
 	{
 		$server_row = $db->getRemoteServer($_POST['remote_server_id']);
@@ -98,17 +98,16 @@ function exec_ogp_module()
 	$servers = $db->getRemoteServers();
 
 	if ($servers !== false) {
-		
 		echo "<tr><td colspan='3' >
 			<form method=POST >
 			<table class='center' style='width:100%' ><tr>
 			<td>". remote_server ." <select style='width:250px' name='remote_server_id' >";
-			
+
 		foreach ( $servers as $server_row )
 		{
-			echo "<option value='" . $server_row['remote_server_id'] . "' >" . $server_row['remote_server_name'] . " (" . $server_row['agent_ip'] . ":" . $server_row['agent_port'] . ")</option>";
+			$display_ip = ip2long($server_row['display_public_ip']) && $server_row['display_public_ip']!=$server_row['agent_ip'] ? $server_row['display_public_ip'] : $server_row['agent_ip'];
+			echo "<option value='" . $server_row['remote_server_id'] . "' >" . $server_row['remote_server_name'] . " (" . $display_ip . ":" . $server_row['agent_port'] . ")</option>";
 		}
-		
 		echo "</select>
 				</td>
 				<td>". login ."<input type=text name='ftp_login' /></td>
@@ -132,6 +131,7 @@ function exec_ogp_module()
 	<?php		
 		foreach ( $servers as $server_row )
 		{
+			$display_ip = ip2long($server_row['display_public_ip']) && $server_row['display_public_ip']!=$server_row['agent_ip'] ? $server_row['display_public_ip'] : $server_row['agent_ip'];
 			$remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']);
 
 			$host_stat = $remote->status_chk();
@@ -151,7 +151,7 @@ function exec_ogp_module()
 						$home_info = $db->getHomeByFtpLogin($server_row['remote_server_id'], $ftp_login);
 						$expandme = ( ( isset($_POST['ftp_login']) and $ftp_login == strip_real_escape_string($_POST['ftp_login']) ) AND ( isset($_POST['remote_server_id']) and $home_info['remote_server_id'] == $_POST['remote_server_id'] ) ) ? "expandme" : "";
 						$home_name = isset( $home_info['home_name'] ) ? $home_info['home_name'] : $ftp_path;
-						echo "<tr class='maintr $expandme'><td class='collapsible' ></td><td>".$server_row['remote_server_name']." (".$server_row['agent_ip'].")</td><td><b class='failure' >$ftp_login</td><td>" . htmlentities($home_name) . "</td><td>$ftp_path</td></tr>
+						echo "<tr class='maintr $expandme'><td class='collapsible' ></td><td>".$server_row['remote_server_name']." (".$display_ip.")</td><td><b class='failure' >$ftp_login</td><td>" . htmlentities($home_name) . "</td><td>$ftp_path</td></tr>
 							  <tr class='expand-child' ><td colspan='4' >
 							  <form method=POST >
 							  <table>";

+ 3 - 1
modules/ftp/skins/blue/login.template.php

@@ -33,6 +33,8 @@ foreach($user_homes as $ftp_info)
 		$ftp_login = isset($ftp_info['ftp_login']) ? $ftp_info['ftp_login'] : $ftp_info['home_id'];
 		$isFtpEnabled = $ftp_info['ftp_status'] == 1 ? TRUE : FALSE;
 		$ftp_ip = empty($ftp_info['ftp_ip']) ? $ftp_info['agent_ip'] : $ftp_info['ftp_ip'];
+		$display_ip = ip2long($ftp_info['display_public_ip']) && $ftp_info['display_public_ip']!=$ftp_info['agent_ip'] ? $ftp_info['display_public_ip'] : $ftp_ip;
+
 		?><table style="text-align:center;width:100%;border:1px solid black;background-image:url(../../themes/Revolution/images/wrapper-bg.png);">
 			<tr>
 			  <td colspan="3">
@@ -48,7 +50,7 @@ foreach($user_homes as $ftp_info)
 			    <table>
 				  <tr  >
 			        <td style='width: 50%;'>
-				      <?php echo "".__("FTP server").":</td><td style='width: 50%;'><input type='text' readonly='readonly' size='26' onclick='select()' value='".$ftp_ip.":".$ftp_info['ftp_port']."'/></td></tr><tr><td>".__("Username").":</td><td><input type='text' readonly='readonly' size='26' onclick='select()' value=\"".str_replace('"', "&quot;", $ftp_login)."\"/></td></tr><tr><td>".__("Password").":</td><td><input type='text' readonly='readonly' size='26' onclick='select()' value=\"".str_replace('"', "&quot;", $ftp_info['ftp_password'])."\"/>"; ?>
+				      <?php echo "".__("FTP server").":</td><td style='width: 50%;'><input type='text' readonly='readonly' size='26' onclick='select()' value='".$display_ip.":".$ftp_info['ftp_port']."'/></td></tr><tr><td>".__("Username").":</td><td><input type='text' readonly='readonly' size='26' onclick='select()' value=\"".str_replace('"', "&quot;", $ftp_login)."\"/></td></tr><tr><td>".__("Password").":</td><td><input type='text' readonly='readonly' size='26' onclick='select()' value=\"".str_replace('"', "&quot;", $ftp_info['ftp_password'])."\"/>"; ?>
 			        </td>
 				  </tr>
 				</table>