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 +19 -7 1.42.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;
@@ -84,12 +84,23 @@
84 84 'renderer' => $renderer,
85 85 'context' => $context,
86 86 ];
87 87
88 - $this->addMessage( $message );
88 + $this->flashMessageArray( $message );
89 89 }
90 90
91 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 + /**
92 103 * Adds message.
93 104 *
94 105 * @param array $message Message.
95 106 *
@@ -94,9 +105,9 @@
94 105 * @param array $message Message.
95 106 *
96 107 * @return void
97 108 */
98 - private function addMessage( array $message ): void {
109 + private function flashMessageArray( array $message ): void {
99 110 $this->messages[] = $message;
100 111
101 112 set_transient( $this->getTransientName(), $this->messages, self::EXPIRATION );
102 113 }
@@ -106,9 +117,9 @@
106 117 *
107 118 * @param string $renderer Message renderer.
108 119 * @param string $context Message context.
109 120 */
110 - public function render( string $renderer = self::RENDERER_WORDPRESS, string $context = '' ): void {
121 + public function render( string $renderer, string $context = '' ): void {
111 122 // @codingStandardsIgnoreStart
112 123 echo $this->renderToString( $renderer, $context );
113 124 // @codingStandardsIgnoreEnd
114 125 }
@@ -118,9 +129,9 @@
118 129 *
119 130 * @param string $renderer Message renderer.
120 131 * @param string $context Message context.
121 132 */
122 - public function renderToString( string $renderer = self::RENDERER_WORDPRESS, string $context = '' ): string {
133 + public function renderToString( string $renderer, string $context ): string {
123 134 $output = '';
124 135
125 136 foreach ( $this->messages as $key => $message ) {
126 137 if ( $message['renderer'] !== $renderer ) {
@@ -141,7 +152,8 @@
141 152 unset( $this->messages[ $key ] );
142 153 }
143 154
144 155 set_transient( $this->getTransientName(), $this->messages, self::EXPIRATION );
156 +
145 157 return $output;
146 158 }
147 159 }