<meta name="language" content="en"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php echo CHtml::encode($this->pageTitle); ?> </title> </head> <body> <?php $items = array(); foreach (array_keys($this->module->controllerMap) as $controllerName) { $items[] = array('label' => Yii::t('audit', ucfirst($controllerName)), 'url' => Yii::app()->getUser()->getState('index.audit' . ucfirst($controllerName), array($controllerName . '/index')), 'active' => $this->id == $controllerName); } $this->widget('bootstrap.widgets.TbNavbar', array('brandLabel' => $this->module->getName(), 'brandUrl' => array('/' . $this->module->id), 'items' => array(array('class' => 'bootstrap.widgets.TbNav', 'items' => $items), array('class' => 'bootstrap.widgets.TbNav', 'htmlOptions' => array('class' => 'pull-right'), 'items' => array(array('label' => Yii::app()->name, 'url' => Yii::app()->homeUrl)))))); echo CHtml::tag('div', array('class' => 'container'), $this->widget('bootstrap.widgets.TbBreadcrumb', array('links' => array_merge($this->getBreadcrumbs(), array($this->pageTitle))), true)); echo $content; ?> <div id="footer" class="container small text-center"> <?php $this->renderPartial('audit.views.request.__footer'); echo '<br/>'; echo AuditModule::powered(); echo '<br/>A product of <a href="http://mrphp.com.au">Mr PHP</a>.'; ?> </div> </body> </html>
public static function add($target, $action, $data = null, $log_message = null, $properties = array()) { if (!($_target = AuditType::model()->find('name=?', array($target)))) { $_target = new AuditType(); $_target->name = $target; if (!$_target->save()) { throw new Exception("Unable to save audit target: " . print_r($_target->getErrors(), true)); } } if (!($_action = AuditAction::model()->find('name=?', array($action)))) { $_action = new AuditAction(); $_action->name = $action; if (!$_action->save()) { throw new Exception("Unable to save audit action: " . print_r($_action->getErrors(), true)); } } $audit = new Audit(); $audit->type_id = $_target->id; $audit->action_id = $_action->id; $audit->data = $data; if (!isset($properties['user_id'])) { if (Yii::app()->session['user']) { $properties['user_id'] = Yii::app()->session['user']->id; } } if (isset($properties['module'])) { if ($et = EventType::model()->find('class_name=?', array($properties['module']))) { $properties['event_type_id'] = $et->id; } else { if (!($module = AuditModule::model()->find('name=?', array($properties['module'])))) { $module = new AuditModule(); $module->name = $properties['module']; if (!$module->save()) { throw new Exception("Unable to create audit_module: " . print_r($module->getErrors(), true)); } } $properties['module_id'] = $module->id; } unset($properties['module']); } if (isset($properties['model'])) { if (!($model = AuditModel::model()->find('name=?', array($properties['model'])))) { $model = new AuditModel(); $model->name = $properties['model']; if (!$model->save()) { throw new Exception("Unable to save audit_model: " . print_r($model->getErrors(), true)); } } $properties['model_id'] = $model->id; unset($properties['model']); } foreach ($properties as $key => $value) { $audit->{$key} = $value; } if (!$audit->save()) { throw new Exception("Failed to save audit entry: " . print_r($audit->getErrors(), true)); } if (isset($properties['user_id'])) { $username = User::model()->findByPk($properties['user_id'])->username; } $log_message && OELog::log($log_message, @$username); return $audit; }