Merge pull request #106 from narspt/patch-4

dashboard performance enhancement
This commit is contained in:
LX1IQ 2018-10-14 07:46:43 +02:00 committed by GitHub
commit 02a6bf07a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 36 deletions

View File

@ -6,6 +6,7 @@ class xReflector {
public $Stations = null;
public $Peers = null;
private $Flagarray = null;
private $Flagarray_DXCC = null;
private $Flagfile = null;
private $CallingHomeActive = null;
private $CallingHomeHash = null;
@ -125,6 +126,7 @@ class xReflector {
public function LoadFlags() {
if ($this->Flagfile != null) {
$this->Flagarray = array();
$this->Flagarray_DXCC = array();
$handle = fopen($this->Flagfile,"r");
if ($handle) {
$i = 0;
@ -134,11 +136,12 @@ class xReflector {
if (isset($tmp[0])) { $this->Flagarray[$i]['Country'] = $tmp[0]; } else { $this->Flagarray[$i]['Country'] = 'Undefined'; }
if (isset($tmp[1])) { $this->Flagarray[$i]['ISO'] = $tmp[1]; } else { $this->Flagarray[$i]['ISO'] = "Undefined"; }
$this->Flagarray[$i]['DXCC'] = array();
//$this->Flagarray[$i]['DXCC'] = array();
if (isset($tmp[2])) {
$tmp2 = explode("-", $tmp[2]);
for ($j=0;$j<count($tmp2);$j++) {
$this->Flagarray[$i]['DXCC'][] = $tmp2[$j];
//$this->Flagarray[$i]['DXCC'][] = $tmp2[$j];
$this->Flagarray_DXCC[ trim($tmp2[$j]) ] = $i;
}
}
$i++;
@ -256,25 +259,15 @@ class xReflector {
public function GetFlag($Callsign) {
$Image = "";
$FoundFlag = false;
$Letters = 4;
$Name = "";
while (($Letters >= 2) && (!$FoundFlag)) {
$j = 0;
$Prefix = substr($Callsign, 0, $Letters);
while (($j < count($this->Flagarray)) && (!$FoundFlag)) {
$z = 0;
while (($z < count($this->Flagarray[$j]['DXCC'])) && (!$FoundFlag)) {
if (trim($Prefix) == trim($this->Flagarray[$j]['DXCC'][$z])) {
$Image = $this->Flagarray[$j]['ISO'];
$Name = $this->Flagarray[$j]['Country'];
$FoundFlag = true;
while ($Letters >= 2) {
$Prefix = substr(trim($Callsign), 0, $Letters);
if (isset($this->Flagarray_DXCC[$Prefix])) {
$Image = $this->Flagarray[ $this->Flagarray_DXCC[$Prefix] ]['ISO'];
$Name = $this->Flagarray[ $this->Flagarray_DXCC[$Prefix] ]['Country'];
break;
}
$z++;
}
$j++;
}
$Letters--;
}
return array(strtolower($Image), $Name);

View File

@ -6,6 +6,7 @@ class xReflector {
public $Stations = null;
public $Peers = null;
private $Flagarray = null;
private $Flagarray_DXCC = null;
private $Flagfile = null;
private $CallingHomeActive = null;
private $CallingHomeHash = null;
@ -125,6 +126,7 @@ class xReflector {
public function LoadFlags() {
if ($this->Flagfile != null) {
$this->Flagarray = array();
$this->Flagarray_DXCC = array();
$handle = fopen($this->Flagfile,"r");
if ($handle) {
$i = 0;
@ -134,11 +136,12 @@ class xReflector {
if (isset($tmp[0])) { $this->Flagarray[$i]['Country'] = $tmp[0]; } else { $this->Flagarray[$i]['Country'] = 'Undefined'; }
if (isset($tmp[1])) { $this->Flagarray[$i]['ISO'] = $tmp[1]; } else { $this->Flagarray[$i]['ISO'] = "Undefined"; }
$this->Flagarray[$i]['DXCC'] = array();
//$this->Flagarray[$i]['DXCC'] = array();
if (isset($tmp[2])) {
$tmp2 = explode("-", $tmp[2]);
for ($j=0;$j<count($tmp2);$j++) {
$this->Flagarray[$i]['DXCC'][] = $tmp2[$j];
//$this->Flagarray[$i]['DXCC'][] = $tmp2[$j];
$this->Flagarray_DXCC[ trim($tmp2[$j]) ] = $i;
}
}
$i++;
@ -256,25 +259,15 @@ class xReflector {
public function GetFlag($Callsign) {
$Image = "";
$FoundFlag = false;
$Letters = 4;
$Name = "";
while (($Letters >= 2) && (!$FoundFlag)) {
$j = 0;
$Prefix = substr($Callsign, 0, $Letters);
while (($j < count($this->Flagarray)) && (!$FoundFlag)) {
$z = 0;
while (($z < count($this->Flagarray[$j]['DXCC'])) && (!$FoundFlag)) {
if (trim($Prefix) == trim($this->Flagarray[$j]['DXCC'][$z])) {
$Image = $this->Flagarray[$j]['ISO'];
$Name = $this->Flagarray[$j]['Country'];
$FoundFlag = true;
while ($Letters >= 2) {
$Prefix = substr(trim($Callsign), 0, $Letters);
if (isset($this->Flagarray_DXCC[$Prefix])) {
$Image = $this->Flagarray[ $this->Flagarray_DXCC[$Prefix] ]['ISO'];
$Name = $this->Flagarray[ $this->Flagarray_DXCC[$Prefix] ]['Country'];
break;
}
$z++;
}
$j++;
}
$Letters--;
}
return array(strtolower($Image), $Name);