More functions without type hinting found and fixt

Use PECL yaml (else Spyc)
Upgrade Spyc (with removed dump code)
This commit is contained in:
djmaze 2020-04-03 11:32:07 +02:00
parent cd3d8b94b2
commit 75b4b64118
43 changed files with 893 additions and 1482 deletions

View file

@ -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)

View file

@ -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;
}
}
}

View file

@ -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

View file

@ -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;
}
}

View file

@ -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)

View file

@ -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