Skip to content
Snippets Groups Projects

Feature/init

Merged Krzysztof Dyszczyk requested to merge feature/init into master
17 files
+ 616
0
Compare changes
  • Side-by-side
  • Inline

Files

+ 44
0
<?php
namespace WPDesk\ShowDecision;
/**
* Show when some conditions with $_GET are meet.
*/
class GetStrategy implements ShouldShowStrategy {
/**
* @var array
*/
private $conditions;
/**
* @param array $conditions Whether to show on the page or not. Array of arrays with condition for _GET.
*
* Inner arrays mean AND, outer arrays mean OR conditions.
*
* ie. [ [ .. and .. and ..] or [ .. and .. and ..] or .. ]
*
*/
public function __construct( array $conditions ) {
$this->conditions = $conditions;
}
/**
* @return bool
*/
public function shouldDisplay() {
foreach ( $this->conditions as $or_conditions ) {
$display = true;
foreach ( $or_conditions as $parameter => $value ) {
if ( ! isset( $_GET[ $parameter ] ) || $_GET[ $parameter ] !== $value ) {
$display = false;
}
}
if ( $display ) {
return $display;
}
}
return false;
}
}
Loading