0byt3m1n1 - D7net
0byt3m1n1 - D7net
Path:
/
home
/
s13cf5ef
/
www
/
tuscamisetaspersonalizadas
/
libraries
/
joomla
/
log
/
loggers
/
[
Home
]
Name File: database.php
< back
<?php /** * @package Joomla.Platform * @subpackage Log * * @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('JPATH_PLATFORM') or die; jimport('joomla.log.logger'); /** * Joomla! MySQL Database Log class * * This class is designed to output logs to a specific MySQL database table. Fields in this * table are based on the SysLog style of log output. This is designed to allow quick and * easy searching. * * @package Joomla.Platform * @subpackage Log * @since 11.1 */ class JLoggerDatabase extends JLogger { /** * @var string The name of the database driver to use for connecting to the database. * @since 11.1 */ protected $driver = 'mysql'; /** * @var string The host name (or IP) of the server with which to connect for the logger. * @since 11.1 */ protected $host = '127.0.0.1'; /** * @var string The database server user to connect as for the logger. * @since 11.1 */ protected $user = 'root'; /** * @var string The password to use for connecting to the database server. * @since 11.1 */ protected $password = ''; /** * @var string The name of the database table to use for the logger. * @since 11.1 */ protected $database = 'logging'; /** * @var string The database table to use for logging entries. * @since 11.1 */ protected $table = 'jos_'; /** * @var JDatabase The database connection object for the logger. * @since 11.1 */ protected $dbo; /** * Constructor. * * @param array &$options Log object options. * * @since 11.1 * @throws LogException */ public function __construct(array &$options) { // Call the parent constructor. parent::__construct($options); // If both the database object and driver options are empty we want to use the system database connection. if (empty($this->options['db_object']) && empty($this->options['db_driver'])) { $this->dbo = JFactory::getDBO(); $this->driver = JFactory::getConfig()->get('dbtype'); $this->host = JFactory::getConfig()->get('host'); $this->user = JFactory::getConfig()->get('user'); $this->password = JFactory::getConfig()->get('password'); $this->database = JFactory::getConfig()->get('db'); $this->prefix = JFactory::getConfig()->get('dbprefix'); } // We need to get the database connection settings from the configuration options. else { $this->driver = (empty($this->options['db_driver'])) ? 'mysql' : $this->options['db_driver']; $this->host = (empty($this->options['db_host'])) ? '127.0.0.1' : $this->options['db_host']; $this->user = (empty($this->options['db_user'])) ? 'root' : $this->options['db_user']; $this->password = (empty($this->options['db_pass'])) ? '' : $this->options['db_pass']; $this->database = (empty($this->options['db_database'])) ? 'logging' : $this->options['db_database']; $this->prefix = (empty($this->options['db_prefix'])) ? 'jos_' : $this->options['db_prefix']; } // The table name is independent of how we arrived at the connection object. $this->table = (empty($this->options['db_table'])) ? '#__log_entries' : $this->options['db_table']; } /** * Method to add an entry to the log. * * @param JLogEntry $entry The log entry object to add to the log. * * @return void * * @since 11.1 */ public function addEntry(JLogEntry $entry) { // Connect to the database if not connected. if (empty($this->dbo)) { $this->connect(); } // Convert the date. $entry->date = $entry->date->toSql(); $this->dbo->insertObject($this->table, $entry); } /** * Method to connect to the database server based on object properties. * * @return void * * @since 11.1 * @throws LogException */ protected function connect() { // Build the configuration object to use for JDatabase. $options = array( 'driver' => $this->driver, 'host' => $this->host, 'user' => $this->user, 'password' => $this->password, 'database' => $this->database, 'prefix' => $this->prefix); try { $db = JDatabase::getInstance($options); if ($db instanceof Exception) { throw new LogException('Database Error: ' . (string) $db); } if ($db->getErrorNum() > 0) { throw new LogException(JText::sprintf('JLIB_UTIL_ERROR_CONNECT_DATABASE', $db->getErrorNum(), $db->getErrorMsg())); } // Assign the database connector to the class. $this->dbo = $db; } catch (RuntimeException $e) { throw new LogException($e->getMessage()); } } }
©
2018. | Recode by D7net