mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-11 01:07:39 +08:00
43d1794423
Small fixes
73 lines
1.2 KiB
PHP
73 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace RainLoop\Plugins;
|
|
|
|
class Helper
|
|
{
|
|
/**
|
|
* @return void
|
|
*/
|
|
private function __construct()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @param string $sString
|
|
* @param string $sWildcardValues
|
|
* @param string $sFoundedValue = ''
|
|
*
|
|
* @return bool
|
|
*/
|
|
static public function ValidateWildcardValues($sString, $sWildcardValues, &$sFoundedValue = '')
|
|
{
|
|
$sFoundedValue = '';
|
|
|
|
$sString = \trim($sString);
|
|
if ('' === $sString)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
$sWildcardValues = \trim($sWildcardValues);
|
|
if ('' === $sWildcardValues)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if ('*' === $sWildcardValues)
|
|
{
|
|
$sFoundedValue = '*';
|
|
return true;
|
|
}
|
|
|
|
$sWildcardValues = \preg_replace('/[*]+/', '*', \preg_replace('/[\s,;]+/', ' ', $sWildcardValues));
|
|
$aWildcardValues = \explode(' ', $sWildcardValues);
|
|
|
|
foreach ($aWildcardValues as $sItem)
|
|
{
|
|
if (false === \strpos($sItem, '*'))
|
|
{
|
|
if ($sString === $sItem)
|
|
{
|
|
$sFoundedValue = $sItem;
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$aItem = \explode('*', $sItem);
|
|
$aItem = \array_map(function ($sItem) {
|
|
return \preg_quote($sItem, '/');
|
|
}, $aItem);
|
|
|
|
if (\preg_match('/'.\implode('.*', $aItem).'/', $sString))
|
|
{
|
|
$sFoundedValue = $sItem;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|