示例#1
0
 private function internalMonitors($agnt, $server)
 {
     $server_id = $server['id'];
     $adentId = $agnt['id'];
     if (isset($agnt['cpu'])) {
         $status_associate = 'no';
         if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $agnt['cpu']['id'])) {
             $status = '';
             $monitorId = $agnt['cpu']['id'];
             $value = monitisSnapShots::linkInternalMonitor($monitorId, 'cpu', $adentId, $server_id);
             $this->whmcsInt[] = $value;
             $this->result[] = array('server' => $server['name'], 'action' => 'link', 'monitor' => $value);
         }
         $wmon = $this->fixMonitor($agnt['cpu']['id']);
     }
     if (isset($agnt['memory'])) {
         if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $agnt['memory']['id'])) {
             $status = '';
             $monitorId = $agnt['memory']['id'];
             $value = monitisSnapShots::linkInternalMonitor($monitorId, 'memory', $adentId, $server_id);
             $this->whmcsInt[] = $value;
             $this->result[] = array('server' => $server['name'], 'action' => 'link', 'monitor' => $value);
         }
         $wmon = $this->fixMonitor($agnt['memory']['id']);
     }
     if (isset($agnt['drives'])) {
         $drives = $agnt['drives'];
         for ($j = 0; $j < count($drives); $j++) {
             $nm = explode("@", $drives[$j]['name']);
             $name = substr($nm[0], strlen('drive_'));
             if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $drives[$j]['id'])) {
                 $monitorId = $drives[$j]['id'];
                 $value = monitisSnapShots::linkInternalMonitor($monitorId, 'drive', $adentId, $server_id);
                 $this->whmcsInt[] = $value;
                 $this->result[] = array('server' => $server['name'], 'action' => 'link', 'monitor' => $value);
             }
             $wmon = $this->fixMonitor($drives[$j]['id']);
         }
     }
 }
示例#2
0
 public function filterInternalMonitors($api, $int, $server_id)
 {
     $adentId = $api['agentId'];
     $monitors = array();
     $drivers = null;
     $intMonitors = array('cpu' => null, 'memory' => null, 'drives' => null);
     if (isset($api['cpu']) && count($api['cpu']) > 0 && isset($api['cpu']['id'])) {
         $intMonitors['cpu'] = $api['cpu'];
         $monitorId = $api['cpu']['id'];
         $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
         if ($index > -1) {
             $monitors[] = $int[$index];
             $int[$index]['api'] = 1;
         } else {
             $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'cpu', $adentId, $server_id);
         }
     }
     if (isset($api['memory']) && count($api['memory']) > 0 && isset($api['memory']['id'])) {
         $monitorId = $api['memory']['id'];
         $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
         if ($index > -1) {
             $monitors[] = $int[$index];
             $int[$index]['api'] = 1;
         } else {
             $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'memory', $adentId, $server_id);
         }
     }
     $drvrs = array();
     if (isset($api['drives']) && count($api['drives']) > 0) {
         $drivers = $api['drives'];
         //$intMonitors['drives'] = array();
         for ($i = 0; $i < count($drivers); $i++) {
             // monitor exist
             if (isset($drivers[$i]['id'])) {
                 $monitorId = $drivers[$i]['id'];
                 // is linked
                 $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
                 if ($index > -1) {
                     $monitors[] = $int[$index];
                     $int[$index]['api'] = 1;
                 } else {
                     $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'drive', $adentId, $server_id);
                 }
             } else {
                 $monitors[] = null;
             }
         }
     }
     // remove api deleted monitors
     for ($i = 0; $i < count($int); $i++) {
         if (!isset($int[$i]['api'])) {
             monitisSqlHelper::altQuery('DELETE FROM ' . MONITIS_INTERNAL_TABLE . ' WHERE monitor_id=' . $int[$i]['monitor_id']);
         }
     }
     return $monitors;
 }
示例#3
0
 private function intMonitor($agnt, $server_id)
 {
     $info = array('id' => $agnt['id'], 'status' => $agnt['status'], 'platform' => $agnt['platform'], 'key' => $agnt['key'], 'cpu' => null, 'memory' => null, 'drive' => null);
     $adentId = $agnt['id'];
     if (isset($agnt['cpu']) && isset($agnt['cpu'][0])) {
         $cpu = $agnt['cpu'][0];
         $linkedMon = MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $cpu['id']);
         if (!$linkedMon) {
             $status = '';
             $monitorId = $cpu['id'];
             $linkedMon = monitisSnapShots::linkInternalMonitor($monitorId, 'cpu', $adentId, $server_id);
             $this->whmcsInt[] = $linkedMon;
         }
         //$wmon = $this->fixMonitor($cpu['id']);
         $info['cpu'] = $cpu;
         $info['cpu']['available'] = $linkedMon['available'];
         $info['cpu']['publickey'] = $linkedMon['publickey'];
     }
     if (isset($agnt['memory']) && isset($agnt['memory'][0])) {
         $memory = $agnt['memory'][0];
         $linkedMon = MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $memory['id']);
         if (!$linkedMon) {
             $status = '';
             $monitorId = $memory['id'];
             $linkedMon = monitisSnapShots::linkInternalMonitor($monitorId, 'memory', $adentId, $server_id);
             $this->whmcsInt[] = $linkedMon;
         }
         //$wmon = $this->fixMonitor($memory['id']);
         $info['memory'] = $memory;
         $info['memory']['available'] = $linkedMon['available'];
         $info['memory']['publickey'] = $linkedMon['publickey'];
     }
     if (isset($this->agentInfo['drives'])) {
         $drvs = array();
         $allDrives = $this->agentInfo['drives'];
         for ($j = 0; $j < count($allDrives); $j++) {
             $drive = $allDrives[$j];
             $monitor = MonitisHelper::in_array($agnt['drives'], 'letter', $drive['letter']);
             if ($monitor) {
                 $linkedMon = MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $monitor['id']);
                 if (!$linkedMon) {
                     $linkedMon = monitisSnapShots::linkInternalMonitor($monitor['id'], 'drive', $adentId, $server_id);
                     $this->whmcsInt[] = $linkedMon;
                 }
                 $monitor['available'] = $linkedMon['available'];
                 $monitor['publickey'] = $linkedMon['publickey'];
                 $drvs[] = $monitor;
             } else {
                 $drvs[] = array('driveLetter' => $drive['letter']);
             }
         }
         $info['drive'] = $drvs;
     }
     return $info;
 }
 private function intMonitor($agnt, $server_id)
 {
     $memory = null;
     $cpu = null;
     $adentId = $agnt['id'];
     if (isset($agnt['cpu'])) {
         $status_associate = 'no';
         if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $agnt['cpu']['id'])) {
             $status = '';
             $monitorId = $agnt['cpu']['id'];
             if ($this->synchronize) {
                 $value = monitisSnapShots::linkInternalMonitor($monitorId, 'cpu', $adentId, $server_id);
             }
             $this->whmcsInt[] = $value;
         }
         //else {
         $status_associate = 'yes';
         if ($this->synchronize) {
             $wmon = $this->fixMonitor($agnt['cpu']['id'], $this->whmcsInt);
         }
         $status = '';
         if (isset($agnt['cpu']['status'])) {
             $status = $agnt['cpu']['status'];
         }
         //}
         $diffTime = $this->diffTime($agnt['cpu']['time']);
         $cpu = array('id' => $agnt['cpu']['id'], 'diff' => $diffTime, 'status' => $status, 'associate' => $status_associate);
     }
     if (isset($agnt['memory'])) {
         $status_associate = 'no';
         if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $agnt['memory']['id'])) {
             $status = '';
             $monitorId = $agnt['memory']['id'];
             if ($this->synchronize) {
                 $this->whmcsInt[] = monitisSnapShots::linkInternalMonitor($monitorId, 'memory', $adentId, $server_id);
             }
         }
         //else {
         $status_associate = 'yes';
         if ($this->synchronize) {
             $wmon = $this->fixMonitor($agnt['memory']['id'], $this->whmcsInt);
         }
         $status = '';
         if (isset($agnt['memory']['status'])) {
             $status = $agnt['memory']['status'];
         }
         $diffTime = $this->diffTime($agnt['memory']['time']);
         $memory = array('id' => $agnt['memory']['id'], 'diff' => $diffTime, 'status' => $status, 'associate' => $status_associate);
     }
     $info = array('agent_id' => $agnt['id'], 'status' => $agnt['status'], 'cpu' => $cpu, 'memory' => $memory);
     if (isset($agnt['drives'])) {
         $drives = $agnt['drives'];
         $info['drive'] = array();
         for ($j = 0; $j < count($drives); $j++) {
             $nm = explode("@", $drives[$j]['name']);
             $name = substr($nm[0], strlen('drive_'));
             $status_associate = 'no';
             if (!MonitisHelper::in_array($this->whmcsInt, 'monitor_id', $drives[$j]['id'])) {
                 $monitorId = $drives[$j]['id'];
                 if ($this->synchronize) {
                     $this->whmcsInt[] = monitisSnapShots::linkInternalMonitor($monitorId, 'drive', $adentId, $server_id);
                 }
             }
             //else {
             $status_associate = 'yes';
             if ($this->synchronize) {
                 $wmon = $this->fixMonitor($drives[$j]['id'], $this->whmcsInt);
             }
             $status = '';
             if (isset($drives[$j]['status'])) {
                 $status = $drives[$j]['status'];
             }
             //}
             $diffTime = $this->diffTime($drives[$j]['time']);
             $info['drive'][] = array('id' => $drives[$j]['id'], 'diff' => $diffTime, 'status' => $status, 'name' => $name, 'associate' => $status_associate);
         }
     }
     return $info;
 }