J. King
5 years ago
11 changed files with 170 additions and 112 deletions
@ -0,0 +1,101 @@ |
|||||
|
<?php |
||||
|
/** @license MIT |
||||
|
* Copyright 2017 J. King, Dustin Wilson et al. |
||||
|
* See LICENSE and AUTHORS files for details */ |
||||
|
|
||||
|
declare(strict_types=1); |
||||
|
namespace JKingWeb\Arsse\Context; |
||||
|
|
||||
|
use JKingWeb\Arsse\Misc\Date; |
||||
|
|
||||
|
class Context extends ExclusionContext { |
||||
|
public $not; |
||||
|
public $reverse = false; |
||||
|
public $limit = 0; |
||||
|
public $offset = 0; |
||||
|
public $unread; |
||||
|
public $starred; |
||||
|
public $labelled; |
||||
|
public $annotated; |
||||
|
public $oldestArticle; |
||||
|
public $latestArticle; |
||||
|
public $oldestEdition; |
||||
|
public $latestEdition; |
||||
|
public $modifiedSince; |
||||
|
public $notModifiedSince; |
||||
|
public $markedSince; |
||||
|
public $notMarkedSince; |
||||
|
|
||||
|
public function __construct() { |
||||
|
$this->not = new ExclusionContext; |
||||
|
} |
||||
|
|
||||
|
public function __clone() { |
||||
|
// clone the exclusion context as well |
||||
|
$this->not = clone $this->not; |
||||
|
} |
||||
|
|
||||
|
public function reverse(bool $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function limit(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function offset(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function unread(bool $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function starred(bool $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function labelled(bool $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function annotated(bool $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function latestArticle(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function oldestArticle(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function latestEdition(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function oldestEdition(int $spec = null) { |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function modifiedSince($spec = null) { |
||||
|
$spec = Date::normalize($spec); |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function notModifiedSince($spec = null) { |
||||
|
$spec = Date::normalize($spec); |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function markedSince($spec = null) { |
||||
|
$spec = Date::normalize($spec); |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
|
||||
|
public function notMarkedSince($spec = null) { |
||||
|
$spec = Date::normalize($spec); |
||||
|
return $this->act(__FUNCTION__, func_num_args(), $spec); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue