From 244f79a30646bd9c531b7b84fd2fd3ed8833b5a0 Mon Sep 17 00:00:00 2001 From: Grzegorz Rola <grola@seostudio.pl> Date: Sat, 22 Jan 2022 18:41:09 +0100 Subject: [PATCH] feature(petition): added text petition --- .../AlwaysDisplayDisplayDecision.php | 20 +++++++++++++++++++ .../GetParametersDisplayDecision.php | 2 +- src/TextPetition.php | 10 ++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/DisplayStrategy/AlwaysDisplayDisplayDecision.php diff --git a/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php b/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php new file mode 100644 index 0000000..7d40d22 --- /dev/null +++ b/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php @@ -0,0 +1,20 @@ +<?php + +namespace WPDesk\RepositoryRating\DisplayStrategy; + +/** + * DisplayDecision - always display. + */ +class AlwaysDisplayDisplayDecision implements DisplayDecision { + + /** + * Should display? + * + * @return bool + */ + public function should_display(): bool { + + return true; + } + +} \ No newline at end of file diff --git a/src/DisplayStrategy/GetParametersDisplayDecision.php b/src/DisplayStrategy/GetParametersDisplayDecision.php index a96f42e..a48fc43 100644 --- a/src/DisplayStrategy/GetParametersDisplayDecision.php +++ b/src/DisplayStrategy/GetParametersDisplayDecision.php @@ -22,7 +22,7 @@ class GetParametersDisplayDecision implements DisplayDecision { } /** - * Should Beacon be visible? + * Should display? * * @return bool */ diff --git a/src/TextPetition.php b/src/TextPetition.php index 04c4d88..1904729 100644 --- a/src/TextPetition.php +++ b/src/TextPetition.php @@ -20,6 +20,16 @@ class TextPetition implements Hookable { */ private $display_decision; + /** + * @param string $display_on_action + * @param DisplayDecision $display_decision + */ + public function __construct( string $display_on_action, DisplayDecision $display_decision ) { + $this->display_on_action = $display_on_action; + $this->display_decision = $display_decision; + } + + public function hooks() { add_action( $this->display_on_action, [ $this, 'display_petition_if_should' ] ); } -- GitLab