sintonia/airtime_mvc/application/models/ServiceRegister.php
2012-07-17 13:34:48 -04:00

39 lines
1.2 KiB
PHP

<?php
class Application_Model_ServiceRegister {
public static function GetRemoteIpAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
//check ip from share internet
$ip=$_SERVER['HTTP_CLIENT_IP'];
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
//to check ip is pass from proxy
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
public static function Register($p_componentName, $p_ipAddress){
$component = CcServiceRegisterQuery::create()->findOneByDbName($p_componentName);
if ($component == NULL){
$component = new CcServiceRegister();
$component->setDbName($p_componentName);
}
// Need to convert ipv6 to ipv4 since Monit server does not appear
// to allow access via an ipv6 address.
// http://[::1]:2812 does not respond.
// Bug: http://savannah.nongnu.org/bugs/?27608
if ($p_ipAddress == "::1"){
$p_ipAddress = "127.0.0.1";
}
$component->setDbIp($p_ipAddress);
$component->save();
}
}