/** * Logs the JDefender log message, and preforms automatic fixes * @param $logType * @param $url * @param $data * @param $status * @return unknown_type */ function handleLog($logType, $url, $data, $issue = '', $status = '') { $log = new stdClass(); $log->type = $logType; $log->url = $url; $log->post = serialize($data); $log->status = $status; $log->issue = $issue; $actionManager =& JD_Action_Manager::getInstance(); $log = $actionManager->addActionFromLog($log); if (strpos($log->url, 'http://') === false && file_exists($log->url)) { $ext = JD_Extension_Resolver::resolveExtension($log->url); if ($ext) { $log->extension = $ext->type . '::' . $ext->group . '::' . $ext->extension; } } $this->_logData[] =& $log; if (count($this->_logData) >= $this->_maxLogBufferSize) { // Flush the log buffer if (!$this->flushLogs()) { JError::raiseError(1234, JText::_('Error writing log') . ' - ' . $this->getError()); return false; } return true; } }