mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-07 16:37:02 +03:00
Uploading and preparing the repository to the dev version.
Original unminified source code (dev folder - js, css, less) (fixes #6) Grunt build system Multiple identities correction (fixes #9) Compose html editor (fixes #12) New general settings - Loading Description New warning about default admin password Split general and login screen settings
This commit is contained in:
parent
afad45137e
commit
4cc2207513
846 changed files with 99453 additions and 2123 deletions
221
rainloop/v/0.0.0/app/libraries/MailSo/Log/Driver.php
Normal file
221
rainloop/v/0.0.0/app/libraries/MailSo/Log/Driver.php
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
*/
|
||||
abstract class Driver
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $sDatePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $sName;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $aPrefixes;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $bTimePrefix;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $bTypedPrefix;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $bWriteOnErrorOnly;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $bFlushCache;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $aCache;
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*/
|
||||
protected function __construct()
|
||||
{
|
||||
$this->sDatePattern = 'H:i:s';
|
||||
$this->sName = 'INFO';
|
||||
$this->bTimePrefix = true;
|
||||
$this->bTypedPrefix = true;
|
||||
|
||||
$this->bWriteOnErrorOnly = false;
|
||||
$this->bFlushCache = false;
|
||||
$this->aCache = array();
|
||||
|
||||
$this->aPrefixes = array(
|
||||
\MailSo\Log\Enumerations\Type::INFO => '[DATA]',
|
||||
\MailSo\Log\Enumerations\Type::SECURE => '[SECURE]',
|
||||
\MailSo\Log\Enumerations\Type::NOTE => '[NOTE]',
|
||||
\MailSo\Log\Enumerations\Type::TIME => '[TIME]',
|
||||
\MailSo\Log\Enumerations\Type::MEMORY => '[MEMORY]',
|
||||
\MailSo\Log\Enumerations\Type::NOTICE => '[NOTICE]',
|
||||
\MailSo\Log\Enumerations\Type::WARNING => '[WARNING]',
|
||||
\MailSo\Log\Enumerations\Type::ERROR => '[ERROR]',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \MailSo\Log\Driver
|
||||
*/
|
||||
public function DisableTimePrefix()
|
||||
{
|
||||
$this->bTimePrefix = false;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $bValue
|
||||
*
|
||||
* @return \MailSo\Log\Driver
|
||||
*/
|
||||
public function WriteOnErrorOnly($bValue)
|
||||
{
|
||||
$this->bWriteOnErrorOnly = !!$bValue;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \MailSo\Log\Driver
|
||||
*/
|
||||
public function DisableTypedPrefix()
|
||||
{
|
||||
$this->bTypedPrefix = false;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|array $sDesc
|
||||
* @return bool
|
||||
*/
|
||||
abstract protected function writeImplementation($mDesc);
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function writeEmptyLineImplementation()
|
||||
{
|
||||
return $this->writeImplementation('');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sTimePrefix
|
||||
* @param string $sDesc
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::INFO
|
||||
* @param array $sName = ''
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function loggerLineImplementation($sTimePrefix, $sDesc,
|
||||
$iDescType = \MailSo\Log\Enumerations\Type::INFO, $sName = '')
|
||||
{
|
||||
return ($this->bTimePrefix ? '['.$sTimePrefix.'] ' : '').
|
||||
($this->bTypedPrefix ? $this->getTypedPrefix($iDescType, $sName) : '').
|
||||
$sDesc;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function clearImplementation()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getTimeWithMicroSec()
|
||||
{
|
||||
$aMicroTimeItems = \explode(' ', \microtime());
|
||||
return \gmdate($this->sDatePattern, $aMicroTimeItems[1]).'.'.
|
||||
\str_pad((int) ($aMicroTimeItems[0] * 1000), 3, '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $iDescType
|
||||
* @param string $sName = ''
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getTypedPrefix($iDescType, $sName = '')
|
||||
{
|
||||
$sName = 0 < \strlen($sName) ? $sName : $this->sName;
|
||||
return isset($this->aPrefixes[$iDescType]) ? $sName.$this->aPrefixes[$iDescType].': ' : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @final
|
||||
* @param string $sDesc
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::INFO
|
||||
* @param array $sName = ''
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
final public function Write($sDesc, $iDescType = \MailSo\Log\Enumerations\Type::INFO, $sName = '')
|
||||
{
|
||||
if ($this->bWriteOnErrorOnly && !$this->bFlushCache)
|
||||
{
|
||||
$this->aCache[] = $this->loggerLineImplementation($this->getTimeWithMicroSec(), $sDesc, $iDescType, $sName);
|
||||
|
||||
if (\in_array($iDescType, array(
|
||||
\MailSo\Log\Enumerations\Type::NOTICE,
|
||||
\MailSo\Log\Enumerations\Type::WARNING,
|
||||
\MailSo\Log\Enumerations\Type::ERROR
|
||||
)))
|
||||
{
|
||||
$this->bFlushCache = true;
|
||||
return $this->writeImplementation($this->aCache);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return $this->writeImplementation(
|
||||
$this->loggerLineImplementation($this->getTimeWithMicroSec(), $sDesc, $iDescType, $sName));
|
||||
}
|
||||
|
||||
/**
|
||||
* @final
|
||||
* @return bool
|
||||
*/
|
||||
final public function Clear()
|
||||
{
|
||||
return $this->clearImplementation();
|
||||
}
|
||||
|
||||
/**
|
||||
* @final
|
||||
* @return void
|
||||
*/
|
||||
final public function WriteEmptyLine()
|
||||
{
|
||||
if ($this->bWriteOnErrorOnly && !$this->bFlushCache)
|
||||
{
|
||||
$this->aCache[] = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->writeEmptyLineImplementation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log\Drivers;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
* @subpackage Drivers
|
||||
*/
|
||||
class Callback extends \MailSo\Log\Driver
|
||||
{
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
private $fWriteCallback;
|
||||
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
private $fClearCallback;
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*
|
||||
* @param mixed $fWriteCallback
|
||||
* @param mixed $fClearCallback
|
||||
*/
|
||||
protected function __construct($fWriteCallback, $fClearCallback)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->fWriteCallback = \is_callable($fWriteCallback) ? $fWriteCallback : null;
|
||||
$this->fClearCallback = \is_callable($fClearCallback) ? $fClearCallback : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $fWriteCallback
|
||||
* @param mixed $fClearCallback = null
|
||||
*
|
||||
* @return \MailSo\Log\Drivers\Callback
|
||||
*/
|
||||
public static function NewInstance($fWriteCallback, $fClearCallback = null)
|
||||
{
|
||||
return new self($fWriteCallback, $fClearCallback);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|array $sDesc
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function writeImplementation($sDesc)
|
||||
{
|
||||
if ($this->fWriteCallback)
|
||||
{
|
||||
\call_user_func_array($this->fWriteCallback, array($sDesc));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function clearImplementation()
|
||||
{
|
||||
if ($this->fClearCallback)
|
||||
{
|
||||
\call_user_func($this->fClearCallback);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
87
rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/File.php
Normal file
87
rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/File.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log\Drivers;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
* @subpackage Drivers
|
||||
*/
|
||||
class File extends \MailSo\Log\Driver
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $sLoggerFileName;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $sCrLf;
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*
|
||||
* @param string $sLoggerFileName
|
||||
* @param string $sCrLf = "\r\n"
|
||||
*/
|
||||
protected function __construct($sLoggerFileName, $sCrLf = "\r\n")
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->sLoggerFileName = $sLoggerFileName;
|
||||
$this->sCrLf = $sCrLf;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sLoggerFileName
|
||||
*/
|
||||
public function SetLoggerFileName($sLoggerFileName)
|
||||
{
|
||||
$this->sLoggerFileName = $sLoggerFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sLoggerFileName
|
||||
* @param string $sCrLf = "\r\n"
|
||||
*
|
||||
* @return \MailSo\Log\Drivers\File
|
||||
*/
|
||||
public static function NewInstance($sLoggerFileName, $sCrLf = "\r\n")
|
||||
{
|
||||
return new self($sLoggerFileName, $sCrLf);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|array $mDesc
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function writeImplementation($mDesc)
|
||||
{
|
||||
return $this->writeToLogFile($mDesc);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function clearImplementation()
|
||||
{
|
||||
return \unlink($this->sLoggerFileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|array $mDesc
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function writeToLogFile($mDesc)
|
||||
{
|
||||
if (is_array($mDesc))
|
||||
{
|
||||
$mDesc = \implode($this->sCrLf, $mDesc);
|
||||
}
|
||||
|
||||
return \error_log($mDesc.$this->sCrLf, 3, $this->sLoggerFileName);
|
||||
}
|
||||
}
|
||||
85
rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Inline.php
Normal file
85
rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Inline.php
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log\Drivers;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
* @subpackage Drivers
|
||||
*/
|
||||
class Inline extends \MailSo\Log\Driver
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $sNewLine;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $bHtmlEncodeSpecialChars;
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*
|
||||
* @param string $sNewLine = "\r\n"
|
||||
* @param bool $bHtmlEncodeSpecialChars = false
|
||||
*/
|
||||
protected function __construct($sNewLine = "\r\n", $bHtmlEncodeSpecialChars = false)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->sNewLine = $sNewLine;
|
||||
$this->bHtmlEncodeSpecialChars = $bHtmlEncodeSpecialChars;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sNewLine = "\r\n"
|
||||
* @param bool $bHtmlEncodeSpecialChars = false
|
||||
*
|
||||
* @return \MailSo\Log\Drivers\Inline
|
||||
*/
|
||||
public static function NewInstance($sNewLine = "\r\n", $bHtmlEncodeSpecialChars = false)
|
||||
{
|
||||
return new self($sNewLine, $bHtmlEncodeSpecialChars);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $mDesc
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function writeImplementation($mDesc)
|
||||
{
|
||||
if (is_array($mDesc))
|
||||
{
|
||||
if ($this->bHtmlEncodeSpecialChars)
|
||||
{
|
||||
$mDesc = array_map(function ($sItem) {
|
||||
$sItem = \htmlspecialchars($mDesc);
|
||||
}, $mDesc);
|
||||
}
|
||||
|
||||
$mDesc = \implode($this->sNewLine, $mDesc);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo ($this->bHtmlEncodeSpecialChars) ? \htmlspecialchars($mDesc).$this->sNewLine : $mDesc.$this->sNewLine;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function clearImplementation()
|
||||
{
|
||||
if (\defined('PHP_SAPI') && 'cli' === PHP_SAPI)
|
||||
{
|
||||
\system('clear');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log\Enumerations;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
* @subpackage Enumerations
|
||||
*/
|
||||
class Type
|
||||
{
|
||||
const INFO = 0;
|
||||
const NOTICE = 1;
|
||||
const WARNING = 2;
|
||||
const ERROR = 3;
|
||||
const SECURE = 4;
|
||||
const NOTE = 5;
|
||||
const TIME = 6;
|
||||
const MEMORY = 7;
|
||||
}
|
||||
245
rainloop/v/0.0.0/app/libraries/MailSo/Log/Logger.php
Normal file
245
rainloop/v/0.0.0/app/libraries/MailSo/Log/Logger.php
Normal file
|
|
@ -0,0 +1,245 @@
|
|||
<?php
|
||||
|
||||
namespace MailSo\Log;
|
||||
|
||||
/**
|
||||
* @category MailSo
|
||||
* @package Log
|
||||
*/
|
||||
class Logger extends \MailSo\Base\Collection
|
||||
{
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $bUsed;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $aForbiddenTypes;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $aSecretWords;
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*/
|
||||
protected function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->bUsed = false;
|
||||
$this->aForbiddenTypes = array();
|
||||
$this->aSecretWords = array();
|
||||
|
||||
\register_shutdown_function(array(&$this, '__loggerShutDown'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \MailSo\Log\Logger
|
||||
*/
|
||||
public static function NewInstance()
|
||||
{
|
||||
return new self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @staticvar \MailSo\Log\Logger $oInstance;
|
||||
*
|
||||
* @return \MailSo\Log\Logger
|
||||
*/
|
||||
public static function SingletonInstance()
|
||||
{
|
||||
static $oInstance = null;
|
||||
if (null === $oInstance)
|
||||
{
|
||||
$oInstance = self::NewInstance();
|
||||
}
|
||||
|
||||
return $oInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsEnabled()
|
||||
{
|
||||
return 0 < $this->Count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sWord
|
||||
* @return bool
|
||||
*/
|
||||
public function AddSecret($sWord)
|
||||
{
|
||||
if (0 < \strlen(\trim($sWord)))
|
||||
{
|
||||
$this->aSecretWords[] = $sWord;
|
||||
$this->aSecretWords = array_unique($this->aSecretWords);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $iDescType
|
||||
*
|
||||
* @return \MailSo\Log\Logger
|
||||
*/
|
||||
public function AddForbiddenType($iType)
|
||||
{
|
||||
$this->aForbiddenTypes[$iType] = true;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $iDescType
|
||||
*
|
||||
* @return \MailSo\Log\Logger
|
||||
*/
|
||||
public function RemoveForbiddenType($iType)
|
||||
{
|
||||
$this->aForbiddenTypes[$iType] = false;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function __loggerShutDown()
|
||||
{
|
||||
if ($this->bUsed)
|
||||
{
|
||||
$aStatistic = \MailSo\Base\Loader::Statistic();
|
||||
// $this->WriteDump($aStatistic, \MailSo\Log\Enumerations\Type::INFO);
|
||||
if (\is_array($aStatistic) && isset($aStatistic['php']['memory_get_peak_usage']))
|
||||
{
|
||||
$this->Write('Memory peak usage: '.$aStatistic['php']['memory_get_peak_usage'],
|
||||
\MailSo\Log\Enumerations\Type::MEMORY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function WriteEmptyLine()
|
||||
{
|
||||
$iResult = 1;
|
||||
|
||||
$aLoggers =& $this->GetAsArray();
|
||||
foreach ($aLoggers as /* @var $oLogger \MailSo\Log\Driver */ &$oLogger)
|
||||
{
|
||||
$iResult &= $oLogger->WriteEmptyLine();
|
||||
}
|
||||
|
||||
return (bool) $iResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sDesc
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::INFO
|
||||
* @param string $sName = ''
|
||||
* @param bool $bSearchWords = false
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function Write($sDesc, $iDescType = \MailSo\Log\Enumerations\Type::INFO, $sName = '', $bSearchWords = false)
|
||||
{
|
||||
if (isset($this->aForbiddenTypes[$iDescType]) && true === $this->aForbiddenTypes[$iDescType])
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
$this->bUsed = true;
|
||||
|
||||
$oLogger = null;
|
||||
$aLoggers = array();
|
||||
$iResult = 1;
|
||||
|
||||
if ($bSearchWords && 0 < \count($this->aSecretWords))
|
||||
{
|
||||
$sDesc = \str_replace($this->aSecretWords, '*******', $sDesc);
|
||||
}
|
||||
|
||||
$aLoggers =& $this->GetAsArray();
|
||||
foreach ($aLoggers as /* @var $oLogger \MailSo\Log\Driver */ $oLogger)
|
||||
{
|
||||
$iResult &= $oLogger->Write($sDesc, $iDescType, $sName);
|
||||
}
|
||||
|
||||
return (bool) $iResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $oValue
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::INFO
|
||||
* @param string $sName = ''
|
||||
* @param bool $bSearchSecretWords = false
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function WriteDump($oValue, $iDescType = \MailSo\Log\Enumerations\Type::INFO, $sName = '', $bSearchSecretWords = false)
|
||||
{
|
||||
return $this->Write(\print_r($oValue, true), $iDescType, $sName, $bSearchSecretWords);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Exception $oException
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::NOTICE
|
||||
* @param string $sName = ''
|
||||
* @param bool $bSearchSecretWords = true
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function WriteException($oException, $iDescType = \MailSo\Log\Enumerations\Type::NOTICE, $sName = '', $bSearchSecretWords = true)
|
||||
{
|
||||
if ($oException instanceof \Exception)
|
||||
{
|
||||
if (isset($oException->__LOGINNED__))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
$oException->__LOGINNED__ = true;
|
||||
|
||||
return $this->Write((string) $oException, $iDescType, $sName, $bSearchSecretWords);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Exception $oException
|
||||
* @param int $iDescType = \MailSo\Log\Enumerations\Type::NOTICE
|
||||
* @param string $sName = ''
|
||||
* @param bool $bSearchSecretWords = true
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function WriteMixed($mData, $iDescType = null, $sName = '', $bSearchSecretWords = true)
|
||||
{
|
||||
$iType = null === $iDescType ? \MailSo\Log\Enumerations\Type::INFO : $iType;
|
||||
if (\is_array($mData) || \is_object($mData))
|
||||
{
|
||||
if ($mData instanceof \Exception)
|
||||
{
|
||||
$iType = null === $iDescType ? \MailSo\Log\Enumerations\Type::NOTICE : $iType;
|
||||
return $this->WriteException($mData, $iType, $sName, $bSearchSecretWords);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->WriteDump($mData, $iType, $sName, $bSearchSecretWords);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->Write($mData, $iType, $sName, $bSearchSecretWords);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue