Select Git revision
GetParametersDisplayDecision.php
-
Grzegorz Rola authoredGrzegorz Rola authored
GetParametersDisplayDecision.php 958 B
<?php
namespace WPDesk\RepositoryRating\DisplayStrategy;
/**
* DisplayDecision based on GET parameters.
*/
class GetParametersDisplayDecision implements DisplayDecision {
/**
* Whether to show beacon 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 ... ]
*
* @var array
*/
private $conditions;
public function __construct( array $conditions ) {
$this->conditions = $conditions;
}
/**
* Should Beacon be visible?
*
* @return bool
*/
public function should_display(): bool {
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;
}
}