PluginProbe
Packeta / 2.0.9
Packeta v2.0.9
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
← All changes | src/Packetery/Module/MessageManager.php +30 -6 1.2.32.0.9 View file →
@@ -8,9 +8,9 @@
8 8 declare( strict_types=1 );
9 9
10 10 namespace Packetery\Module;
11 11
12 -use PacketeryLatte\Engine;
12 +use Packetery\Latte\Engine;
13 13
14 14 /**
15 15 * Class Message_Manager
16 16 *
@@ -36,9 +36,9 @@
36 36
37 37 /**
38 38 * Messages to be displayed.
39 39 *
40 - * @var array
40 + * @var array<array<string, string>>
41 41 */
42 42 private $messages = [];
43 43
44 44 /**
@@ -54,9 +54,9 @@
54 54 * Inits manager on plugin load.
55 55 */
56 56 public function init(): void {
57 57 $messages = get_transient( $this->getTransientName() );
58 - if ( ! $messages ) {
58 + if ( $messages === false ) {
59 59 $messages = [];
60 60 }
61 61
62 62 $this->messages = $messages;
@@ -77,14 +77,37 @@
77 77 * @param string $renderer Renderer of message.
78 78 * @param string $context Message context.
79 79 */
80 80 public function flash_message( string $message, string $type = self::TYPE_SUCCESS, string $renderer = self::RENDERER_WORDPRESS, string $context = '' ): void {
81 - $message = [
81 + $message = [
82 82 'type' => $type,
83 83 'message' => $message,
84 84 'renderer' => $renderer,
85 85 'context' => $context,
86 86 ];
87 +
88 + $this->flashMessageArray( $message );
89 + }
90 +
91 + /**
92 + * Flash message.
93 + *
94 + * @param Message $message Message.
95 + *
96 + * @return void
97 + */
98 + public function flashMessageObject( Message $message ): void {
99 + $this->flashMessageArray( $message->toArray() );
100 + }
101 +
102 + /**
103 + * Adds message.
104 + *
105 + * @param array $message Message.
106 + *
107 + * @return void
108 + */
109 + private function flashMessageArray( array $message ): void {
87 110 $this->messages[] = $message;
88 111
89 112 set_transient( $this->getTransientName(), $this->messages, self::EXPIRATION );
90 113 }
@@ -94,9 +117,9 @@
94 117 *
95 118 * @param string $renderer Message renderer.
96 119 * @param string $context Message context.
97 120 */
98 - public function render( string $renderer = self::RENDERER_WORDPRESS, string $context = '' ): void {
121 + public function render( string $renderer, string $context = '' ): void {
99 122 // @codingStandardsIgnoreStart
100 123 echo $this->renderToString( $renderer, $context );
101 124 // @codingStandardsIgnoreEnd
102 125 }
@@ -106,9 +129,9 @@
106 129 *
107 130 * @param string $renderer Message renderer.
108 131 * @param string $context Message context.
109 132 */
110 - public function renderToString( string $renderer = self::RENDERER_WORDPRESS, string $context = '' ): string {
133 + public function renderToString( string $renderer, string $context ): string {
111 134 $output = '';
112 135
113 136 foreach ( $this->messages as $key => $message ) {
114 137 if ( $message['renderer'] !== $renderer ) {
@@ -129,7 +152,8 @@
129 152 unset( $this->messages[ $key ] );
130 153 }
131 154
132 155 set_transient( $this->getTransientName(), $this->messages, self::EXPIRATION );
156 +
133 157 return $output;
134 158 }
135 159 }