remove dead code
[plewww.git] / planetlab / includes / plc_objects.php
index a60a18a..de085e9 100644 (file)
@@ -25,7 +25,7 @@ function timeDiff ($timestamp,$detailed=false,$n = 0) {
 # 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
@@ -69,7 +69,7 @@ class Person {
   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'];
@@ -136,7 +136,7 @@ class Person {
 class PCU {
   var $data;
 
-  function PCU($pcu) {
+  function __construct($pcu) {
     $this->data = $pcu;
   }
 
@@ -169,7 +169,7 @@ class PCU {
 class Address {
   var $data;
 
-  function Address($address) {
+  function __construct($address) {
     $this->data = $address;
   }
 
@@ -204,19 +204,21 @@ class Node extends PlcObject {
   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->site_id = $node['site_id'];
     $this->pcu_ids = $node['pcu_ids'];
-    $this->nn = $api->GetNodeNetworks($node['nodenetwork_ids']);
+    $this->nn = $api->GetInterfaces($node['interface_ids']);
     foreach ($this->nn as $nnet)
       {
        if ( $nnet['is_primary'] == true )
@@ -229,6 +231,7 @@ class Node extends PlcObject {
            $this->dns1 = $nnet['dns1'];
            $this->dns2 = $nnet['dns2'];
            $this->method = $nnet['method'];
+           $this->interface_id = $nnet['interface_id'];
          }
       }
   }
@@ -271,6 +274,7 @@ class Node extends PlcObject {
   function lastContact() {
     return $this->timeaway($this->last_contact);
   }
+
   function timeaway($val) {
     if ( $val != NULL ) {
       $ret = timeDiff(intval($val));
@@ -278,14 +282,43 @@ class Node extends PlcObject {
       $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;
   }
 
@@ -316,7 +349,7 @@ class Site extends PlcObject {
   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];
@@ -346,22 +379,4 @@ class Site extends PlcObject {
   }
 }
 
-/* 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";
- }*/
-
-
 ?>