PluginProbe
Depicter — Popup & Slider Builder / 1.2.0
Depicter — Popup & Slider Builder v1.2.0
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / vendor / htmlburger / wpemerge / src / Routing / Conditions / QueryVarCondition.php

QueryVarCondition.php in Depicter — Popup & Slider Builder 1.2.0, at vendor/htmlburger/wpemerge/src/Routing/Conditions/QueryVarCondition.php

70 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package WPEmerge
4 * @author Atanas Angelov <hi@atanas.dev>
5 * @copyright 2017-2019 Atanas Angelov
6 * @license https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7 * @link https://wpemerge.com/
8 */
9
10 namespace WPEmerge\Routing\Conditions;
11
12 use WPEmerge\Requests\RequestInterface;
13
14 /**
15 * Check against a query var value.
16 *
17 * @codeCoverageIgnore
18 */
19 class QueryVarCondition implements ConditionInterface {
20 /**
21 * Query var name to check against.
22 *
23 * @var string|null
24 */
25 protected $query_var = null;
26
27 /**
28 * Query var value to check against.
29 *
30 * @var string|null
31 */
32 protected $value = '';
33
34 /**
35 * Constructor.
36 *
37 * @codeCoverageIgnore
38 * @param string $query_var
39 * @param string|null $value
40 */
41 public function __construct( $query_var, $value = null ) {
42 $this->query_var = $query_var;
43 $this->value = $value;
44 }
45
46 /**
47 * {@inheritDoc}
48 */
49 public function isSatisfied( RequestInterface $request ) {
50 $query_var_value = get_query_var( $this->query_var, null );
51
52 if ( $query_var_value === null ) {
53 return false;
54 }
55
56 if ( $this->value === null ) {
57 return true;
58 }
59
60 return (string) $this->value === $query_var_value;
61 }
62
63 /**
64 * {@inheritDoc}
65 */
66 public function getArguments( RequestInterface $request ) {
67 return ['query_var' => $this->query_var, 'value' => $this->value];
68 }
69 }
70