webui: Update device overview to not show hostname when certain conditions match #5984 (#6091)

This commit is contained in:
Neil Lathwood 2017-03-05 03:25:06 +00:00 committed by Tony Murray
parent a9ad228be4
commit ed02e39347
3 changed files with 34 additions and 1 deletions

View File

@ -32,7 +32,7 @@ echo '<tr>
if (!empty($device['ip'])) {
echo "<tr><td>Resolved IP</td><td>{$device['ip']}</td></tr>";
} elseif ($config['force_ip_to_sysname'] === true) {
} elseif ($config['force_ip_to_sysname'] === true && is_ip($device['hostname']) === true) {
echo "<tr><td>IP Address</td><td>{$device['hostname']}</td></tr>";
}

View File

@ -1644,3 +1644,26 @@ function get_vm_parent_id($device)
return dbFetchCell("SELECT `device_id` FROM `vminfo` WHERE `vmwVmDisplayName` = ? OR `vmwVmDisplayName` = ?", array($device['hostname'],$device['hostname'].'.'.$config['mydomain']));
}
/**
* @param $string
* @param string $ver
* @return bool
*/
function is_ip($string, $ver = 'ipv4ipv6')
{
if ($ver === 'ipv4ipv6') {
if (filter_var($string, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) == true || filter_var($string, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) == true) {
return true;
}
} elseif ($ver === 'ipv4') {
if (filter_var($string, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) == true) {
return true;
}
} elseif ($ver === 'ipv6') {
if (filter_var($string, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) == true) {
return true;
}
}
return false;
}

View File

@ -83,4 +83,14 @@ class CommonFunctionsTest extends \PHPUnit_Framework_TestCase
$data = 'Toner, S/N:CR_UM-16021314488.';
$this->assertEquals('Toner, S/N CR_UM-16021314488.', safedescr($data));
}
public function testIsIp()
{
$this->assertTrue(is_ip('192.168.0.1'));
$this->assertTrue(is_ip('192.168.0.1', 'ipv4'));
$this->assertTrue(is_ip('2001:4860:4860::8888', 'ipv6'));
$this->assertFalse(is_ip('2001:4860:4860::8888', 'ipv4'));
$this->assertFalse(is_ip('192.168.0.1', 'ipv6'));
$this->assertFalse(is_ip('not_an_ip'));
}
}