| Current Path : /home/antonen/chenglong.lt/libraries/foxcontact/system/ |
| Current File : /home/antonen/chenglong.lt/libraries/foxcontact/system/log.php |
<?php /**
* @package Fox Contact for Joomla
* @copyright Copyright (c) 2010 - 2015 Demis Palma. All rights reserved.
* @license Distributed under the terms of the GNU General Public License GNU/GPL v3 http://www.gnu.org/licenses/gpl-3.0.html
* @see Documentation: http://www.fox.ra.it/forum/2-documentation.html
*/
namespace FoxContact;
defined('_JEXEC') or die(file_get_contents('index.html'));
class FileAdapter
{
const HEADER = '<?php die() ?>';
public $path = '';
public $handle = null;
public function __construct()
{
$config = \JFactory::getConfig();
$this->path = $config->get('log_path') . '/foxcontact.php';
$this->open();
}
public function __destruct()
{
@fclose($this->handle);
}
public function Reset()
{
file_put_contents($this->path, self::HEADER . PHP_EOL);
}
public function Write($buffer)
{
@fwrite($this->handle, $buffer . PHP_EOL);
}
public function open()
{
if (!file_exists($this->path))
{
file_put_contents($this->path, self::HEADER . PHP_EOL);
}
$this->handle = @fopen($this->path, 'a');
}
}
class Log
{
private $file;
public static function GetInstance()
{
static $instance = null;
if (!$instance)
{
$instance = new Log();
}
return $instance;
}
public function __construct()
{
$this->file = new FileAdapter();
}
public function Clean()
{
$this->file->Reset();
}
public function Add($message, $level, $origin)
{
$now = \JFactory::getDate()->format('Y-m-d H:i:s');
$level = str_pad($level, 5);
$origin = str_pad($origin, 6);
$this->file->Write($now . "\t" . $level . "\t" . $origin . "\t" . $message);
}
}