mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 09:03:49 +00:00
Update status_registrations.php
This commit is contained in:
@@ -11,55 +11,67 @@ function get_registrations($sip_profile_name) {
|
||||
if ($xml_response == "Invalid Profile!") { $xml_response = "<error_msg>".$text['label-message']."</error_msg>"; }
|
||||
$xml_response = str_replace("<profile-info>", "<profile_info>", $xml_response);
|
||||
$xml_response = str_replace("</profile-info>", "</profile_info>", $xml_response);
|
||||
try {
|
||||
$xml = new SimpleXMLElement($xml_response);
|
||||
if (strlen($xml_response) > 101) {
|
||||
try {
|
||||
$xml = new SimpleXMLElement($xml_response);
|
||||
}
|
||||
catch(Exception $e) {
|
||||
echo $e->getMessage();
|
||||
exit;
|
||||
}
|
||||
$array = json_decode(json_encode($xml) , true);
|
||||
}
|
||||
catch(Exception $e) {
|
||||
echo $e->getMessage();
|
||||
exit;
|
||||
|
||||
//normalize the array
|
||||
if (is_array($array) && !is_array($array['registrations']['registration'][0])) {
|
||||
$row = $array['registrations']['registration'];
|
||||
unset($array['registrations']['registration']);
|
||||
$array['registrations']['registration'][0] = $row;
|
||||
}
|
||||
|
||||
//build the registration array
|
||||
if (count($xml->registrations->registration) > 0) {
|
||||
$registrations = '';
|
||||
$x = 0;
|
||||
foreach ($xml->registrations->registration as $row) {
|
||||
//get the values from xml and set them to the channel array
|
||||
$registrations[$x]['user'] = $row->{'user'} ?: " ";
|
||||
$user_array = explode('@', $row->{'user'});
|
||||
$registrations[$x]['call-id'] = $row->{'call-id'} ?: " ";
|
||||
$registrations[$x]['contact'] = $row->{'contact'} ?: " ";
|
||||
$registrations[$x]['sip-auth-user'] = $row->{'sip-auth-user'} ?: " ";
|
||||
$registrations[$x]['agent'] = $row->{'agent'} ?: " ";
|
||||
$registrations[$x]['host'] = $row->{'host'} ?: " ";
|
||||
$registrations[$x]['network-port'] = $row->{'network-port'} ?: " ";
|
||||
$registrations[$x]['sip-auth-realm'] = $row->{'sip-auth-realm'} ?: " ";
|
||||
$registrations[$x]['mwi-account'] = $row->{'mwi-account'} ?: " ";
|
||||
$registrations[$x]['status'] = $row->{'status'} ?: " ";
|
||||
$registrations[$x]['ping-time'] = $row->{'ping-time'} ?: " ";
|
||||
|
||||
//set the registrations array
|
||||
if (is_array($array)) {
|
||||
$x=0;
|
||||
foreach ($array['registrations']['registration'] as $row) {
|
||||
|
||||
//build the registrations array
|
||||
//$registrations[0] = $row;
|
||||
$user_array = explode('@', $row['user']);
|
||||
$registrations[$x]['user'] = $row['user'] ?: " ";
|
||||
$registrations[$x]['call-id'] = $row['call-id'] ?: " ";
|
||||
$registrations[$x]['contact'] = $row['contact'] ?: " ";
|
||||
$registrations[$x]['sip-auth-user'] = $row['sip-auth-user'] ?: " ";
|
||||
$registrations[$x]['agent'] = $row['agent'] ?: " ";
|
||||
$registrations[$x]['host'] = $row['host'] ?: " ";
|
||||
$registrations[$x]['network-port'] = $row['network-port'] ?: " ";
|
||||
$registrations[$x]['sip-auth-realm'] = $row['sip-auth-realm'] ?: " ";
|
||||
$registrations[$x]['mwi-account'] = $row['mwi-account'] ?: " ";
|
||||
$registrations[$x]['status'] = $row['status'] ?: " ";
|
||||
$registrations[$x]['ping-time'] = $row['ping-time'] ?: " ";
|
||||
|
||||
//get network-ip to url or blank
|
||||
if(isset($row->{'network-ip'})) {
|
||||
$registrations[$x]['network-ip'] = "<a href='http://".$row->{'network-ip'}."' target='_blank'>".$row->{'network-ip'}."</a>";
|
||||
}else{
|
||||
if(isset($row['network-ip'])) {
|
||||
$registrations[$x]['network-ip'] = "<a href='http://".$row['network-ip']."' target='_blank'>".$row['network-ip']."</a>";
|
||||
} else {
|
||||
$registrations[$x]['network-ip'] = " ";
|
||||
}
|
||||
|
||||
//get the LAN IP address if it exists replace the external ip
|
||||
$call_id_array = explode('@', $row->{'call-id'});
|
||||
$call_id_array = explode('@', $row['call-id']);
|
||||
if (isset($call_id_array[1])) {
|
||||
$agent = $row->{'agent'};
|
||||
$agent = $row['agent'];
|
||||
$lan_ip = $call_id_array[1];
|
||||
if (false !== stripos($agent, 'grandstream')) {
|
||||
$lan_ip = str_ireplace(
|
||||
array('A','B','C','D','E','F','G','H','I','J'),
|
||||
array('0','1','2','3','4','5','6','7','8','9'),
|
||||
$lan_ip
|
||||
);
|
||||
$lan_ip);
|
||||
}
|
||||
$registrations[$x]['lan-ip'] = "<a href='http://".$lan_ip."' target='_blank'>".$lan_ip."</a>";
|
||||
}else{
|
||||
} else{
|
||||
$registrations[$x]['lan-ip'] = " ";
|
||||
}
|
||||
|
||||
//remove unrelated domains
|
||||
if (count($_SESSION["domains"]) > 1) {
|
||||
if (!(permission_exists('registration_all') && $show == "all")) {
|
||||
|
||||
Reference in New Issue
Block a user