mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-08 17:07:03 +03:00
This commit is contained in:
parent
324c7121cc
commit
b09c5d586c
3 changed files with 17 additions and 32 deletions
|
|
@ -58,7 +58,7 @@ trait Filters
|
||||||
$aFilters = array();
|
$aFilters = array();
|
||||||
foreach ($aIncFilters as $aFilter)
|
foreach ($aIncFilters as $aFilter)
|
||||||
{
|
{
|
||||||
if (is_array($aFilter))
|
if (\is_array($aFilter))
|
||||||
{
|
{
|
||||||
$oFilter = new \RainLoop\Providers\Filters\Classes\Filter();
|
$oFilter = new \RainLoop\Providers\Filters\Classes\Filter();
|
||||||
if ($oFilter->FromJSON($aFilter))
|
if ($oFilter->FromJSON($aFilter))
|
||||||
|
|
|
||||||
|
|
@ -199,10 +199,9 @@ class Filter implements \JsonSerializable
|
||||||
$this->bStop = isset($aFilter['Stop']) ? '1' === (string) $aFilter['Stop'] : true;
|
$this->bStop = isset($aFilter['Stop']) ? '1' === (string) $aFilter['Stop'] : true;
|
||||||
$this->bMarkAsRead = isset($aFilter['MarkAsRead']) ? '1' === (string) $aFilter['MarkAsRead'] : false;
|
$this->bMarkAsRead = isset($aFilter['MarkAsRead']) ? '1' === (string) $aFilter['MarkAsRead'] : false;
|
||||||
|
|
||||||
$this->aConditions = FilterCondition::CollectionFromJSON(
|
$this->aConditions = empty($aFilter['Conditions']) ? array() : FilterCondition::CollectionFromJSON($aFilter['Conditions']);
|
||||||
isset($aFilter['Conditions']) ? $aFilter['Conditions'] : array());
|
|
||||||
|
|
||||||
return true;
|
return !empty($this->aConditions);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function jsonSerialize()
|
public function jsonSerialize()
|
||||||
|
|
|
||||||
|
|
@ -7,35 +7,22 @@ class FilterCondition implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $sField;
|
private $sField = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $sType;
|
private $sType = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $sValue;
|
private $sValue = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $sValueSecond;
|
private $sValueSecond = '';
|
||||||
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function Clear()
|
|
||||||
{
|
|
||||||
$this->sField = \RainLoop\Providers\Filters\Enumerations\ConditionField::FROM;
|
|
||||||
$this->sType = \RainLoop\Providers\Filters\Enumerations\ConditionType::EQUAL_TO;
|
|
||||||
$this->sValue = '';
|
|
||||||
$this->sValueSecond = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function Field() : string
|
public function Field() : string
|
||||||
{
|
{
|
||||||
|
|
@ -59,13 +46,12 @@ class FilterCondition implements \JsonSerializable
|
||||||
|
|
||||||
public function FromJSON(array $aData) : bool
|
public function FromJSON(array $aData) : bool
|
||||||
{
|
{
|
||||||
$this->sField = isset($aData['Field']) ? $aData['Field'] :
|
if (empty($aData['Field']) || empty($aData['Type']) || empty($aData['Value'])) {
|
||||||
\RainLoop\Providers\Filters\Enumerations\ConditionField::FROM;
|
return false;
|
||||||
|
}
|
||||||
$this->sType = isset($aData['Type']) ? $aData['Type'] :
|
$this->sField = $aData['Field'];
|
||||||
\RainLoop\Providers\Filters\Enumerations\ConditionType::EQUAL_TO;
|
$this->sType = $aData['Type'];
|
||||||
|
$this->sValue = (string) $aData['Value'];
|
||||||
$this->sValue = isset($aData['Value']) ? (string) $aData['Value'] : '';
|
|
||||||
$this->sValueSecond = isset($aData['ValueSecond']) ? (string) $aData['ValueSecond'] : '';
|
$this->sValueSecond = isset($aData['ValueSecond']) ? (string) $aData['ValueSecond'] : '';
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -92,10 +78,10 @@ class FilterCondition implements \JsonSerializable
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
'@Object' => 'Object/FilterCondition',
|
'@Object' => 'Object/FilterCondition',
|
||||||
'field' => $this->Field(),
|
'Field' => $this->Field(),
|
||||||
'type' => $this->Type(),
|
'Type' => $this->Type(),
|
||||||
'value' => $this->Value(),
|
'Value' => $this->Value(),
|
||||||
'valueSecond' => $this->ValueSecond()
|
'ValueSecond' => $this->ValueSecond()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue