Exemplo n.º 1
0
 /**
  * Create a Tag
  *
  **/
 function save()
 {
     $out = array();
     // Sanitize
     $serial_number = post('serial_number');
     $tag = post('tag');
     if ($serial_number and $tag) {
         if (authorized_for_serial($serial_number)) {
             $tagm = new Tag_model();
             $tagm->retrieve_record($serial_number, 'tag=?', array($tag));
             $tagm->serial_number = $serial_number;
             $tagm->tag = $tag;
             $tagm->user = $_SESSION['user'];
             $tagm->timestamp = time();
             $tagm->save();
             $out = $tagm->rs;
         } else {
             $out['status'] = 'error';
             $out['msg'] = 'Not authorized for this serial';
         }
     } else {
         $out['status'] = 'error';
         $out['msg'] = 'Missing data';
     }
     $obj = new View();
     $obj->view('json', array('msg' => $out));
 }
 /**
  * Create a comment
  *
  **/
 function save()
 {
     $out = array();
     // Sanitize
     $serial_number = post('serial_number');
     $section = post('section');
     $text = post('text');
     $html = post('html');
     if ($serial_number and $section and $text) {
         if (authorized_for_serial($serial_number)) {
             $comment = new Comment_model();
             $comment->retrieve_record($serial_number, 'section=?', array($section));
             $comment->serial_number = $serial_number;
             $comment->section = $section;
             $comment->text = $text;
             $comment->html = $html;
             $comment->user = $_SESSION['user'];
             $comment->timestamp = time();
             $comment->save();
             $out['status'] = 'saved';
         } else {
             $out['status'] = 'error';
             $out['msg'] = 'Not authorized for this serial';
         }
     } else {
         $out['status'] = 'error';
         $out['msg'] = 'Missing data';
     }
     $obj = new View();
     $obj->view('json', array('msg' => $out));
 }
 /**
  * Force recheck warranty
  *
  * @return void
  * @author AvB
  **/
 function recheck_warranty($serial = '')
 {
     // Authenticate
     if (!$this->authorized()) {
         die('Authenticate first.');
         // Todo: return json?
     }
     if (authorized_for_serial($serial)) {
         $warranty = new Warranty_model($serial);
         $warranty->check_status($force = TRUE);
     }
     redirect("clients/detail/{$serial}");
 }
Exemplo n.º 4
0
 /**
  * Force recheck GSX
  *
  * @return void
  * @author John Eberle
  **/
 function recheck_gsx($serial = '')
 {
     // Authenticate
     if (!$this->authorized()) {
         die('Authenticate first.');
         // Todo: return json?
     }
     if (authorized_for_serial($serial)) {
         $gsx = new gsx_model($serial);
         //$gsx->get_gsx_stats($force=TRUE);
         $gsx->run_gsx_stats();
     }
     redirect("clients/detail/{$serial}#tab_gsx-tab");
 }
Exemplo n.º 5
0
 /**
  * Get some data for serial_number
  *
  * @author AvB
  **/
 function get_data($serial_number = '')
 {
     $obj = new View();
     if (authorized_for_serial($serial_number)) {
         $machine = new Machine_model();
         new Reportdata_model();
         new Disk_report_model();
         new Warranty_model();
         new Localadmin_model();
         $sql = "SELECT m.*, r.*, w.purchase_date, w.end_date, w.status,\n                    l.users, d.TotalSize, d.FreeSpace, d.SMARTStatus, d.CoreStorageEncrypted\n                FROM machine m \n                LEFT JOIN reportdata r ON (m.serial_number = r.serial_number)\n                LEFT JOIN warranty w ON (m.serial_number = w.serial_number)\n                LEFT JOIN localadmin l ON (m.serial_number = l.serial_number)\n                LEFT JOIN diskreport d ON (m.serial_number = d.serial_number AND d.MountPoint = '/')\n                WHERE m.serial_number = ?\n                ";
         $obj->view('json', array('msg' => $machine->query($sql, $serial_number)));
     } else {
         $obj->view('json', array('msg' => array()));
     }
 }
Exemplo n.º 6
0
 /**
  * Get some data for serial_number
  *
  * @author AvB
  **/
 function get_data($serial_number = '')
 {
     $obj = new View();
     if (authorized_for_serial($serial_number)) {
         $machine = new Machine_model();
         new Reportdata_model();
         new Disk_report_model();
         new Warranty_model();
         new Localadmin_model();
         new Security_model();
         $sql = "SELECT m.*, r.console_user, r.long_username, r.remote_ip,\n\t\t\t\t\t\tr.uptime, r.reg_timestamp, r.machine_group, r.timestamp,\n\t\t\t\t\t\ts.gatekeeper, s.sip, w.purchase_date, w.end_date,\n\t\t\t\t\t\tw.status, l.users, d.TotalSize, d.FreeSpace,\n\t\t\t\t\t\td.SMARTStatus, d.CoreStorageEncrypted\n                FROM machine m \n\t\t\t\tLEFT JOIN reportdata r ON (m.serial_number = r.serial_number)\n\t\t\t\tLEFT JOIN security s ON (m.serial_number = s.serial_number)\n                LEFT JOIN warranty w ON (m.serial_number = w.serial_number)\n                LEFT JOIN localadmin l ON (m.serial_number = l.serial_number)\n                LEFT JOIN diskreport d ON (m.serial_number = d.serial_number AND d.MountPoint = '/')\n                WHERE m.serial_number = ?\n                ";
         $obj->view('json', array('msg' => $machine->query($sql, $serial_number)));
     } else {
         $obj->view('json', array('msg' => array()));
     }
 }
 /**
  * Get data for serial
  *
  * @return array data
  * @author
  **/
 function get_data($serial_number, $hours = 24)
 {
     $out = array();
     if (authorized_for_serial($serial_number)) {
         $date = new DateTime();
         $date->sub(new DateInterval('PT' . $hours . 'H'));
         $fromdate = $date->format('Y-m-d H:i:s');
         $what = implode(',', $this->keys) . ',datetime';
         $where = 'serial_number = ? AND datetime > ? ORDER BY datetime';
         foreach ($this->select($what, $where, array($serial_number, $fromdate), PDO::FETCH_NUM) as $row) {
             $key = array_pop($row);
             $row = array_map('floatval', $row);
             $out[$key] = $row;
         }
     }
     return $out;
 }
Exemplo n.º 8
0
 /**
  * Retrieve many considering machine_group membership
  * use this instead of retrieve_many
  *
  * @return void
  * @author 
  **/
 function retrieve_records($serial_number, $where = '', $bindings = array())
 {
     if (!authorized_for_serial($serial_number)) {
         return array();
     }
     // Prepend where with serial_number
     $where = $where ? 'serial_number=? AND ' . $where : 'serial_number=?';
     // Push serial number in front of the array
     array_unshift($bindings, $serial_number);
     return $this->retrieve_many($where, $bindings);
 }