%PDF- %PDF-
| Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/managers/logger/ |
| Current File : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/managers/logger/manager.php |
<?php
/*
* Copyright 2004-2014, AfterLogic Corp.
* Licensed under AGPLv3 license or AfterLogic license
* if commercial version of the product was purchased.
* See the LICENSE file for a full license statement.
*/
/**
* @package Logger
*/
class CApiLoggerManager extends AApiManager
{
/**
* @var string
*/
protected $sLogFileName;
/**
* @var string
*/
protected $sCurrentUserLogFileName;
/**
* @var string
*/
protected $sLogFile;
/**
* @var string
*/
protected $sCurrentUserLogFile;
/**
* @param CApiGlobalManager &$oManager
*/
public function __construct(CApiGlobalManager &$oManager, $sForcedStorage = '')
{
parent::__construct('logger', $oManager);
$sS = CApi::GetConf('log.custom-full-path', '');
$sPrePath = empty($sS) ? CApi::DataPath().'/logs/' : rtrim(trim($sS), '\\/').'/';
$this->sLogFileName = CApi::GetConf('log.log-file', 'log.txt');
$this->sLogFile = $sPrePath.$this->sLogFileName;
$this->sCurrentUserLogFileName = CApi::GetConf('log.event-file', 'event.txt');
$this->sCurrentUserLogFile = $sPrePath.$this->sCurrentUserLogFileName;
}
/**
* @return bool
*/
public function LogName()
{
return $this->sLogFileName;
}
/**
* @return bool
*/
public function CurrentUserActivityLogName()
{
return $this->sCurrentUserLogFileName;
}
/**
* @return int | bool
*/
public function CurrentLogSize()
{
return @filesize($this->sLogFile);
}
/**
* @return int | bool
*/
public function CurrentUserActivityLogSize()
{
return @filesize($this->sCurrentUserLogFile);
}
/**
* @return bool
*/
public function DeleteCurrentLog()
{
return $this->deleteSomeFile($this->sLogFile);
}
/**
* @return bool
*/
public function DeleteCurrentUserActivityLog()
{
return $this->deleteSomeFile($this->sCurrentUserLogFile);
}
/**
* @param int &$iSize = 0
* @return bool|resource
*/
public function GetCurrentLogStream(&$iSize = 0)
{
return $this->getSomeFileStream($this->sLogFile, $iSize);
}
/**
* @param int &$iSize = 0
* @return bool|resource
*/
public function GetCurrentUserActivityLogStream(&$iSize = 0)
{
return $this->getSomeFileStream($this->sCurrentUserLogFile, $iSize);
}
/**
* @param string $sFileFullPath
* @param int &$iSize
* @return bool|resource
*/
protected function getSomeFileStream($sFileFullPath, &$iSize)
{
$rResult = false;
if (@file_exists($sFileFullPath))
{
$iSize = filesize($sFileFullPath);
$rResult = fopen($sFileFullPath, 'rw+');
}
else
{
$iSize = false;
}
return $rResult;
}
/**
* @param string $sFileFullPath
* @return bool
*/
protected function deleteSomeFile($sFileFullPath)
{
return (@file_exists($sFileFullPath)) ? @unlink($sFileFullPath) : true;
}
}