| 1 |
<?php |
| 2 |
|
| 3 |
class LSD_Flash extends LSD_Base |
| 4 |
{ |
| 5 |
public static function add($message, $class = 'info') |
| 6 |
{ |
| 7 |
$classes = ['error', 'info', 'success', 'warning']; |
| 8 |
if (!in_array($class, $classes)) $class = 'info'; |
| 9 |
|
| 10 |
$flash_messages = maybe_unserialize(get_option('lsd_flash_messages', [])); |
| 11 |
if (!is_array($flash_messages)) $flash_messages = []; |
| 12 |
|
| 13 |
if (!isset($flash_messages[$class]) || !is_array($flash_messages[$class])) $flash_messages[$class] = []; |
| 14 |
if (in_array($message, $flash_messages[$class], true)) return; |
| 15 |
|
| 16 |
$flash_messages[$class][] = $message; |
| 17 |
|
| 18 |
update_option('lsd_flash_messages', $flash_messages); |
| 19 |
} |
| 20 |
|
| 21 |
public static function show() |
| 22 |
{ |
| 23 |
$flash_messages = maybe_unserialize(get_option('lsd_flash_messages', '')); |
| 24 |
if (!is_array($flash_messages)) return; |
| 25 |
|
| 26 |
foreach ($flash_messages as $class => $messages) |
| 27 |
{ |
| 28 |
foreach ($messages as $message) echo '<div class="notice notice-' . esc_attr($class) . ' is-dismissible"><p>' . $message . '</p></div>'; |
| 29 |
} |
| 30 |
|
| 31 |
// Clear flash messages |
| 32 |
delete_option('lsd_flash_messages'); |
| 33 |
} |
| 34 |
} |
| 35 |
|