# Go from decades backwards to seconds
$i = sizeof($lengths) - 1; # Size of the lengths / periods in case you change them
$time = ""; # The string we will hold our times in
- while($i >= $n) {
+ while($i > $n) {
# if the difference is greater than the length we are checking... continue
if ($diff > $lengths[$i-1]) {
# 65 / 60 = 1. That means one minute. 130 / 60 = 2. Two minutes.. etc
var $email;
var $enabled;
- function Person($person) {
+ function __construct($person) {
$this->roles = $person['role_ids'];
$this->person_id = $person['person_id'];
$this->first_name = $person['first_name'];
class PCU {
var $data;
- function PCU($pcu) {
+ function __construct($pcu) {
$this->data = $pcu;
}
class Address {
var $data;
- function Address($address) {
+ function __construct($address) {
$this->data = $address;
}
var $pcu_ids;
var $data;
- function Node($node) {
+ function __construct($node) {
global $plc, $api, $adm;
$this->data = $node;
+ $this->node_type = $node['node_type'];
$this->model = $node['model'];
$this->node_id = $node['node_id'];
$this->hostname = $node['hostname'];
$this->boot_state = $node['boot_state'];
+ $this->run_level = $node['run_level'];
$this->date_created = $node['date_created'];
$this->last_updated = $node['last_updated'];
$this->last_contact = $node['last_contact'];
$this->dns1 = $nnet['dns1'];
$this->dns2 = $nnet['dns2'];
$this->method = $nnet['method'];
+ $this->interface_id = $nnet['interface_id'];
}
}
}
function lastContact() {
return $this->timeaway($this->last_contact);
}
- function stale() {
- $now = time();
- $STALE_LENGTH = 60*60; /* TODO: set by some policy */
- if ( $this->last_contact + $STALE_LENGTH > $now ) {
- return False;
- } else {
- return True;
- }
- }
+
function timeaway($val) {
if ( $val != NULL ) {
$ret = timeDiff(intval($val));
$ret = "Never";
}
return $ret;
-
}
+
+ // code needs to be accessible from outside an object too
+ // b/c of the performance overhead of creating as many objects as nodes
+ static function status_label_class__ ($boot_state, $run_level, $last_contact, $peer_id) {
+ $label= $run_level ? $run_level : ( $boot_state . '*' ) ;
+ if (Node::stale_($last_contact,$peer_id)) $label .= '...';
+ $class=($label=="boot") ? 'node-ok' : 'node-ko';
+ return array($label,$class);
+ }
+ static function status_label_class_ ($node) {
+ return Node::status_label_class__ ($node['boot_state'],$node['run_level'],$node['last_contact'], $node['peer_id']);
+ }
+ function status_label_class () {
+ return Node::status_label_class__ ($this->boot_state,$this->run_level,$this->last_contact, $this->peer_id);
+ }
+ static function status_footnote () {
+ return "state; * if node doesn't have an observed state; ... if status is stale (" . Node::stale_text() . ")";
+ }
+
+ // ditto
+ static function stale_ ($last_contact, $peer_id) {
+ // remote nodes don't have a last_contact
+ if ( $peer_id) return false;
+ $STALE_LENGTH = 2*60*60; /* TODO: set by some policy */
+ $now = time();
+ return ( $last_contact + $STALE_LENGTH < $now );
+ }
+ function stale() { return Node::stale_ ($this->last_contact,$this->peer_id); }
+ static function stale_text() { return "2 hours"; }
+
}
class Slice {
var $data;
- function Slice($val) {
+ function __construct($val) {
$this->data = $val;
}
var $site_id;
var $data;
- function Site($site_id) {
+ function __construct($site_id) {
global $plc, $api, $adm;
$site_info= $adm->GetSites( array( intval($site_id) ) );
$this->data = $site_info[0];
}
}
-/* class Blue extends PlcObject
- {
- var $val;
- function Blue($arg)
- {
- $this->val = $arg;
- }
- }
-
- $cl = PlcObject::constructList('Blue', array('this', 'is', 'a', 'test'));
- echo sizeof($cl) . "\n";
- foreach ($cl as $obj)
- {
- echo get_class( $obj) . "\n";
- echo $obj->val . "\n";
- }*/
-
-
?>