mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-08 08:57:03 +03:00
More functions without type hinting found and fixt
Use PECL yaml (else Spyc) Upgrade Spyc (with removed dump code)
This commit is contained in:
parent
cd3d8b94b2
commit
75b4b64118
43 changed files with 893 additions and 1482 deletions
|
|
@ -173,7 +173,7 @@ class AddressBook extends \RainLoop\Providers\AbstractProvider
|
|||
public function ImportCsvArray(string $sEmail, array $aCsvData) : int
|
||||
{
|
||||
$iCount = 0;
|
||||
if ($this->IsActive() && \is_array($aCsvData) && 0 < \count($aCsvData))
|
||||
if ($this->IsActive() && 0 < \count($aCsvData))
|
||||
{
|
||||
$oContact = new \RainLoop\Providers\AddressBook\Classes\Contact();
|
||||
foreach ($aCsvData as $aItem)
|
||||
|
|
|
|||
|
|
@ -246,34 +246,31 @@ class DefaultDomain implements \RainLoop\Providers\Domain\DomainAdminInterface
|
|||
|
||||
// $aList = \glob($this->sDomainPath.'/*.{ini,alias}', GLOB_BRACE);
|
||||
$aList = \array_diff(\scandir($this->sDomainPath), array('.', '..'));
|
||||
if (\is_array($aList))
|
||||
foreach ($aList as $sFile)
|
||||
{
|
||||
foreach ($aList as $sFile)
|
||||
$sName = $sFile;
|
||||
if ('.ini' === \substr($sName, -4) || '.alias' === \substr($sName, -6))
|
||||
{
|
||||
$sName = $sFile;
|
||||
if ('.ini' === \substr($sName, -4) || '.alias' === \substr($sName, -6))
|
||||
$bAlias = '.alias' === \substr($sName, -6);
|
||||
|
||||
$sName = \preg_replace('/\.(ini|alias)$/', '', $sName);
|
||||
$sName = $this->codeFileName($sName, true);
|
||||
|
||||
if ($bAlias)
|
||||
{
|
||||
$bAlias = '.alias' === \substr($sName, -6);
|
||||
|
||||
$sName = \preg_replace('/\.(ini|alias)$/', '', $sName);
|
||||
$sName = $this->codeFileName($sName, true);
|
||||
|
||||
if ($bAlias)
|
||||
if ($bIncludeAliases)
|
||||
{
|
||||
if ($bIncludeAliases)
|
||||
{
|
||||
$aAliases[] = $sName;
|
||||
}
|
||||
}
|
||||
else if (false !== \strpos($sName, '*'))
|
||||
{
|
||||
$aWildCards[] = $sName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$aResult[] = $sName;
|
||||
$aAliases[] = $sName;
|
||||
}
|
||||
}
|
||||
else if (false !== \strpos($sName, '*'))
|
||||
{
|
||||
$aWildCards[] = $sName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$aResult[] = $sName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -184,35 +184,30 @@ class Filter
|
|||
|
||||
public function FromJSON(array $aFilter) : array
|
||||
{
|
||||
if (\is_array($aFilter))
|
||||
{
|
||||
$this->sID = isset($aFilter['ID']) ? $aFilter['ID'] : '';
|
||||
$this->sName = isset($aFilter['Name']) ? $aFilter['Name'] : '';
|
||||
$this->sID = isset($aFilter['ID']) ? $aFilter['ID'] : '';
|
||||
$this->sName = isset($aFilter['Name']) ? $aFilter['Name'] : '';
|
||||
|
||||
$this->bEnabled = isset($aFilter['Enabled']) ? '1' === (string) $aFilter['Enabled'] : true;
|
||||
$this->bEnabled = isset($aFilter['Enabled']) ? '1' === (string) $aFilter['Enabled'] : true;
|
||||
|
||||
$this->sConditionsType = isset($aFilter['ConditionsType']) ? $aFilter['ConditionsType'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionsType::ANY;
|
||||
$this->sConditionsType = isset($aFilter['ConditionsType']) ? $aFilter['ConditionsType'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionsType::ANY;
|
||||
|
||||
$this->sActionType = isset($aFilter['ActionType']) ? $aFilter['ActionType'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ActionType::MOVE_TO;
|
||||
$this->sActionType = isset($aFilter['ActionType']) ? $aFilter['ActionType'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ActionType::MOVE_TO;
|
||||
|
||||
$this->sActionValue = isset($aFilter['ActionValue']) ? $aFilter['ActionValue'] : '';
|
||||
$this->sActionValueSecond = isset($aFilter['ActionValueSecond']) ? $aFilter['ActionValueSecond'] : '';
|
||||
$this->sActionValueThird = isset($aFilter['ActionValueThird']) ? $aFilter['ActionValueThird'] : '';
|
||||
$this->sActionValueFourth = isset($aFilter['ActionValueFourth']) ? $aFilter['ActionValueFourth'] : '';
|
||||
$this->sActionValue = isset($aFilter['ActionValue']) ? $aFilter['ActionValue'] : '';
|
||||
$this->sActionValueSecond = isset($aFilter['ActionValueSecond']) ? $aFilter['ActionValueSecond'] : '';
|
||||
$this->sActionValueThird = isset($aFilter['ActionValueThird']) ? $aFilter['ActionValueThird'] : '';
|
||||
$this->sActionValueFourth = isset($aFilter['ActionValueFourth']) ? $aFilter['ActionValueFourth'] : '';
|
||||
|
||||
$this->bKeep = isset($aFilter['Keep']) ? '1' === (string) $aFilter['Keep'] : true;
|
||||
$this->bStop = isset($aFilter['Stop']) ? '1' === (string) $aFilter['Stop'] : true;
|
||||
$this->bMarkAsRead = isset($aFilter['MarkAsRead']) ? '1' === (string) $aFilter['MarkAsRead'] : false;
|
||||
$this->bKeep = isset($aFilter['Keep']) ? '1' === (string) $aFilter['Keep'] : true;
|
||||
$this->bStop = isset($aFilter['Stop']) ? '1' === (string) $aFilter['Stop'] : true;
|
||||
$this->bMarkAsRead = isset($aFilter['MarkAsRead']) ? '1' === (string) $aFilter['MarkAsRead'] : false;
|
||||
|
||||
$this->aConditions = \RainLoop\Providers\Filters\Classes\FilterCondition::CollectionFromJSON(
|
||||
isset($aFilter['Conditions']) ? $aFilter['Conditions'] : array());
|
||||
$this->aConditions = \RainLoop\Providers\Filters\Classes\FilterCondition::CollectionFromJSON(
|
||||
isset($aFilter['Conditions']) ? $aFilter['Conditions'] : array());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public function ToSimpleJSON(bool $bAjax = false) : array
|
||||
|
|
|
|||
|
|
@ -59,21 +59,16 @@ class FilterCondition
|
|||
|
||||
public function FromJSON(array $aData) : array
|
||||
{
|
||||
if (\is_array($aData))
|
||||
{
|
||||
$this->sField = isset($aData['Field']) ? $aData['Field'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionField::FROM;
|
||||
$this->sField = isset($aData['Field']) ? $aData['Field'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionField::FROM;
|
||||
|
||||
$this->sType = isset($aData['Type']) ? $aData['Type'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionType::EQUAL_TO;
|
||||
$this->sType = isset($aData['Type']) ? $aData['Type'] :
|
||||
\RainLoop\Providers\Filters\Enumerations\ConditionType::EQUAL_TO;
|
||||
|
||||
$this->sValue = isset($aData['Value']) ? (string) $aData['Value'] : '';
|
||||
$this->sValueSecond = isset($aData['ValueSecond']) ? (string) $aData['ValueSecond'] : '';
|
||||
$this->sValue = isset($aData['Value']) ? (string) $aData['Value'] : '';
|
||||
$this->sValueSecond = isset($aData['ValueSecond']) ? (string) $aData['ValueSecond'] : '';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public function ToSimpleJSON(bool $bAjax = false) : array
|
||||
|
|
@ -89,21 +84,17 @@ class FilterCondition
|
|||
public static function CollectionFromJSON(array $aCollection) : array
|
||||
{
|
||||
$aResult = array();
|
||||
if (\is_array($aCollection) && 0 < \count($aCollection))
|
||||
foreach ($aCollection as $aItem)
|
||||
{
|
||||
foreach ($aCollection as $aItem)
|
||||
if (\is_array($aItem) && 0 < \count($aItem))
|
||||
{
|
||||
if (\is_array($aItem) && 0 < \count($aItem))
|
||||
$oItem = new \RainLoop\Providers\Filters\Classes\FilterCondition();
|
||||
if ($oItem->FromJSON($aItem))
|
||||
{
|
||||
$oItem = new \RainLoop\Providers\Filters\Classes\FilterCondition();
|
||||
if ($oItem->FromJSON($aItem))
|
||||
{
|
||||
$aResult[] = $oItem;
|
||||
}
|
||||
$aResult[] = $oItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $aResult;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class SieveStorage implements \RainLoop\Providers\Filters\FiltersInterface
|
|||
$aModules = $oSieveClient->Modules();
|
||||
$aList = $oSieveClient->ListScripts();
|
||||
|
||||
if (\is_array($aList) && 0 < \count($aList))
|
||||
if (0 < \count($aList))
|
||||
{
|
||||
if (isset($aList[self::SIEVE_FILE_NAME]))
|
||||
{
|
||||
|
|
@ -252,53 +252,50 @@ class SieveStorage implements \RainLoop\Providers\Filters\FiltersInterface
|
|||
|
||||
// Conditions
|
||||
$aConditions = $oFilter->Conditions();
|
||||
if (\is_array($aConditions))
|
||||
if (1 < \count($aConditions))
|
||||
{
|
||||
if (1 < \count($aConditions))
|
||||
if (\RainLoop\Providers\Filters\Enumerations\ConditionsType::ANY ===
|
||||
$oFilter->ConditionsType())
|
||||
{
|
||||
if (\RainLoop\Providers\Filters\Enumerations\ConditionsType::ANY ===
|
||||
$oFilter->ConditionsType())
|
||||
$aResult[] = 'if anyof(';
|
||||
|
||||
$bTrim = false;
|
||||
foreach ($aConditions as $oCond)
|
||||
{
|
||||
$aResult[] = 'if anyof(';
|
||||
|
||||
$bTrim = false;
|
||||
foreach ($aConditions as $oCond)
|
||||
$bTrim = true;
|
||||
$sCons = $this->conditionToSieveScript($oCond, $aCapa);
|
||||
if (!empty($sCons))
|
||||
{
|
||||
$bTrim = true;
|
||||
$sCons = $this->conditionToSieveScript($oCond, $aCapa);
|
||||
if (!empty($sCons))
|
||||
{
|
||||
$aResult[] = $sTab.$sCons.',';
|
||||
}
|
||||
$aResult[] = $sTab.$sCons.',';
|
||||
}
|
||||
if ($bTrim)
|
||||
{
|
||||
$aResult[\count($aResult) - 1] = \rtrim($aResult[\count($aResult) - 1], ',');
|
||||
}
|
||||
|
||||
$aResult[] = ')';
|
||||
}
|
||||
else
|
||||
if ($bTrim)
|
||||
{
|
||||
$aResult[] = 'if allof(';
|
||||
foreach ($aConditions as $oCond)
|
||||
{
|
||||
$aResult[] = $sTab.$this->conditionToSieveScript($oCond, $aCapa).',';
|
||||
}
|
||||
|
||||
$aResult[\count($aResult) - 1] = \rtrim($aResult[\count($aResult) - 1], ',');
|
||||
$aResult[] = ')';
|
||||
}
|
||||
}
|
||||
else if (1 === \count($aConditions))
|
||||
{
|
||||
$aResult[] = 'if '.$this->conditionToSieveScript($aConditions[0], $aCapa).'';
|
||||
|
||||
$aResult[] = ')';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bAll = true;
|
||||
$aResult[] = 'if allof(';
|
||||
foreach ($aConditions as $oCond)
|
||||
{
|
||||
$aResult[] = $sTab.$this->conditionToSieveScript($oCond, $aCapa).',';
|
||||
}
|
||||
|
||||
$aResult[\count($aResult) - 1] = \rtrim($aResult[\count($aResult) - 1], ',');
|
||||
$aResult[] = ')';
|
||||
}
|
||||
}
|
||||
else if (1 === \count($aConditions))
|
||||
{
|
||||
$aResult[] = 'if '.$this->conditionToSieveScript($aConditions[0], $aCapa).'';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bAll = true;
|
||||
}
|
||||
|
||||
// actions
|
||||
if (!$bAll)
|
||||
|
|
|
|||
|
|
@ -26,17 +26,16 @@ class DefaultSettings implements \RainLoop\Providers\Settings\ISettings
|
|||
\RainLoop\Providers\Settings\DefaultSettings::FILE_NAME
|
||||
);
|
||||
|
||||
$aSettings = array();
|
||||
if (\is_string($sValue))
|
||||
{
|
||||
$aData = \json_decode($sValue, true);
|
||||
if (\is_array($aData))
|
||||
{
|
||||
$aSettings = $aData;
|
||||
return $aData;
|
||||
}
|
||||
}
|
||||
|
||||
return $aSettings;
|
||||
return array();
|
||||
}
|
||||
|
||||
public function Save(\RainLoop\Model\Account $oAccount, array $aSettings) : bool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue