diff --git a/Config/admin_menu.php b/Config/admin_menu.php index fbf033e..61cfd70 100644 --- a/Config/admin_menu.php +++ b/Config/admin_menu.php @@ -9,6 +9,16 @@ 'action' => 'index', ), 'children' => array( + 'sessions' => array( + 'title' => 'Session Audit', + 'url' => array( + 'admin' => true, + 'plugin' => 'audit', + 'controller' => 'session_audits', + 'action' => 'index', + ), + 'weight' => 1, + ), 'records' => array( 'title' => 'Audit Records', 'url' => array( @@ -17,7 +27,7 @@ 'controller' => 'audits', 'action' => 'index', ), - 'weight' => 1, + 'weight' => 5, ), 'setting' => array( 'title' => 'Settings', @@ -27,7 +37,7 @@ 'controller' => 'audit_settings', 'action' => 'index', ), - 'weight' => 5, + 'weight' => 10, ) ), )); diff --git a/Controller/SessionAuditsController.php b/Controller/SessionAuditsController.php new file mode 100644 index 0000000..0e2425a --- /dev/null +++ b/Controller/SessionAuditsController.php @@ -0,0 +1,45 @@ +SessionAudit->recursive = 0; + $this->set('sessionAudits', $this->paginate()); + } + +/** + * admin_view method + * + * @throws NotFoundException + * @param string $id + * @return void + */ + public function admin_view($id = null) { + if (!$this->SessionAudit->exists($id)) { + throw new NotFoundException(__d('croogo', 'Invalid session audit')); + } + $options = array('conditions' => array('SessionAudit.' . $this->SessionAudit->primaryKey => $id)); + $this->set('sessionAudit', $this->SessionAudit->find('first', $options)); + } + +} diff --git a/Model/SessionAudit.php b/Model/SessionAudit.php new file mode 100644 index 0000000..4603f3c --- /dev/null +++ b/Model/SessionAudit.php @@ -0,0 +1,36 @@ + array( + 'className' => 'User', + 'foreignKey' => 'user_id', + 'conditions' => '', + 'fields' => '', + 'order' => '' + ), + 'Source' => array( + 'className' => 'User', + 'foreignKey' => 'source_id', + 'conditions' => '', + 'fields' => '', + 'order' => '' + ), + ); + +} diff --git a/View/SessionAudits/admin_index.ctp b/View/SessionAudits/admin_index.ctp new file mode 100644 index 0000000..4ca5f0e --- /dev/null +++ b/View/SessionAudits/admin_index.ctp @@ -0,0 +1,69 @@ +viewVars['title_for_layout'] = __d('croogo', 'Session Audits'); +$this->extend('/Common/admin_index'); + +$this->Html + ->addCrumb('', '/admin', array('icon' => 'home')) + ->addCrumb(__d('croogo', 'Session Audits'), array('action' => 'index')); + +?> + +
+ + + + + + + + + + + + + + + + + + + +
+ Paginator->sort('id'); ?>
+ Paginator->sort('session_id'); ?>
+ Paginator->sort('event'); ?> +
Paginator->sort('user_id'); ?>Paginator->sort('source_id'); ?>Paginator->sort('remote_addr'); ?> + Paginator->sort('ua'); ?>
+ Paginator->sort('referer'); ?>
+ Paginator->sort('created'); ?> +
+  
+  
+   +
+ Html->link($sessionAudit['User']['name'], array( + 'plugin' => 'users', 'controller' => 'users', 'action' => 'view', + $sessionAudit['User']['id'] + )); + ?> + + Html->link($sessionAudit['Source']['name'], array( + 'plugin' => 'users', 'controller' => 'users', 'action' => 'view', + $sessionAudit['Source']['id'], + )); + ?> +   + Html->tag('span', $ua, array( + 'title' => $sessionAudit['SessionAudit']['ua'], + )); + ?> 
+  
+   +
+ Croogo->adminRowAction('', array('action' => 'view', $sessionAudit['SessionAudit']['id']), array('icon' => 'eye-open')); ?> +
+
diff --git a/View/SessionAudits/admin_view.ctp b/View/SessionAudits/admin_view.ctp new file mode 100644 index 0000000..d79efe1 --- /dev/null +++ b/View/SessionAudits/admin_view.ctp @@ -0,0 +1,112 @@ +viewVars['title_for_layout'] = sprintf('%s: %s', __d('croogo', 'Session Audits'), h($sessionAudit['SessionAudit']['id'])); + +$this->Html + ->addCrumb('', '/admin', array('icon' => 'home')) + ->addCrumb(__d('croogo', 'Session Audits'), array('action' => 'index')); + +?> +

+ +
+
+ +
+
+ +
+
+
+
+ +   +
+
+
+ +   +
+
+
+ Html->link($sessionAudit['User']['name'], array('controller' => 'users', 'action' => 'view', $sessionAudit['User']['id'])); ?> +   +
+
+
+ Html->link($sessionAudit['Source']['name'], array('controller' => 'users', 'action' => 'view', $sessionAudit['Source']['id'])); ?> +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+
+ +   +
+
+