request->param('id'); $c = (isset($_REQUEST['c'])) ? $_REQUEST['c'] : null; $s = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : null; $t = (isset($_REQUEST['t'])) ? $_REQUEST['t'] : null; $no = ORM::factory('NODE',$id); if (! $id OR ! $no->loaded() OR ! $t OR ! $c) return ''; $google = GoogleChart::factory($c) ->logy(TRUE) ->title(sprintf('%s Activity',$t).($s ? sprintf(' for Schedule %s',$s) : ' outside of TSM schedules')); foreach ($no->act_bybtype($t) as $aso) { if ($aso->SCHEDULE_NAME != $s) continue; $result = array(); foreach ($aso->actlog() as $alo) { $result = array_merge($result,$alo->msgtrim()); } if (! $result) continue; $google->pdata($aso->display('START_TIME'),array( 'yr'=>array( 'OBJECT_TOTAL'=>$result['OBJECT_TOTAL'], 'OBJECT_BACKUP'=>$result['OBJECT_BACKUP'], 'OBJECT_DELETED'=>$result['OBJECT_DELETED'], 'OBJECT_UDPATE'=>$result['OBJECT_UDPATE'], 'OBJECT_FAILED'=>$result['OBJECT_FAILED'], 'OBJECT_REBOUND'=>$result['OBJECT_REBOUND'], 'OBJECT_EXPIRED'=>$result['OBJECT_EXPIRED'], 'OJBECT_DEDUPED'=>$result['OJBECT_DEDUPED'], ), 'yl'=>array( 'BYTES_INSPECT'=>$result['BYTES_INSPECT'], 'BYTES_PROCESS'=>$result['BYTES_PROCESS'], 'BYTES_TRANSFER'=>$result['BYTES_TRANSFER'], 'BYTES_DEDUPE_BEFORE'=>$result['BYTES_DEDUPE_BEFORE'], ), )); } $this->auto_render = FALSE; $this->response->headers('Content-Type','application/json'); $this->response->body($google->json()); } /** * Gather the TSM Server Schedule Activity for Graphing */ public function action_ajaxjson_schedules() { $id = $this->request->param('id'); $c = (isset($_REQUEST['c'])) ? $_REQUEST['c'] : null; $s = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : null; $t = (isset($_REQUEST['t'])) ? $_REQUEST['t'] : null; $no = ORM::factory('NODE',$id); if (! $id OR ! $no->loaded() OR ! $t OR ! $c) return ''; $google = GoogleChart::factory($c) ->logy(TRUE) ->title(sprintf('%s Activity',$t).($s ? sprintf(' for Schedule %s',$s) : ' outside of TSM schedules')); foreach ($no->act_bybtype($t) as $aso) { if ($aso->SCHEDULE_NAME != $s) continue; $google->pdata($aso->display('START_TIME'),array( 'yr'=>array( 'BYTES'=>$aso->BYTES, ), 'yl'=>array( 'AFFECTED'=>$aso->AFFECTED, 'EXAMINED'=>$aso->EXAMINED, 'FAILED'=>$aso->FAILED, ), )); } $this->auto_render = FALSE; $this->response->headers('Content-Type','application/json'); $this->response->body($google->json()); } /** * Return details of a specific node SESSION in the ACTIVITY LOG * @param $id NODE,SESSION_ID,SESSION_START_DATE */ public function action_session() { $id = $this->request->param('id'); if (substr_count($id,',') != 2) { SystemMessage::add(array( 'title'=>_('Invalid ID'), 'body'=>sprintf(_('The session ID %s is invalid'),$id), 'type'=>'error', )); return; } list($nid,$sid,$start) = explode(',',$id,3); $no = ORM::factory('NODE',$nid); if (! $no->loaded()) { SystemMessage::add(array( 'title'=>_('Invalid Node'), 'body'=>sprintf(_('The Node ID %s is invalid'),$nid), 'type'=>'error', )); return; } Block::add(array( 'title'=>sprintf(_('Session %s Detail for Node %s'),$sid,$no->display('NODE_NAME')), 'body'=>View::factory(sprintf('%s/clientsession',strtolower($this->request->controller())))->set('o',$no->actlog_session($sid,$start)), )); } } ?>