/** * Cleans up logs older than X days after writing */ protected function onAfterWrite() { parent::onAfterWrite(); //Clean up old logs $oldLogs = KapostBridgeLog::get()->filter('Created:LessThan', date('Y-m-d H:i:s', strtotime('-' . self::config()->log_expire_days . ' days'))); if ($oldLogs->count() > 0) { foreach ($oldLogs as $log) { $log->delete(); } } }
/** * Gets the logs currently in the database * @return {DataList} Data List pointing to the logs in the database */ public function getLogs() { $logs = KapostBridgeLog::get(); $filterFields = $this->LogsForm()->Fields(); //Apply Called Method filter $var = $filterFields->dataFieldByName('CalledMethod')->Value(); if (!empty($var)) { $logs = $logs->filter('Method', Convert::raw2sql($var)); } //Apply Start Date Filter $dateTimeField = $filterFields->dataFieldByName('LogStartDate'); $var = trim($dateTimeField->getDateField()->dataValue() . ' ' . $dateTimeField->getTimeField()->dataValue()); if (!empty($var)) { $logs = $logs->filter('Created:GreaterThan', Convert::raw2sql($var)); } //Apply End Date Filter $var = $filterFields->dataFieldByName('LogEndDate')->Value(); if (!empty($var) && $var != ' 00:00:00') { $logs = $logs->filter('Created:LessThan', Convert::raw2sql($var)); } return PaginatedList::create($logs, $this->request)->setPageLength(self::config()->log_page_length); }