PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.9
Tutor LMS – eLearning and online course solution v2.1.9
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / cache / FlashMessage.php
tutor / cache Last commit date
AbstractCache.php 3 years ago FlashMessage.php 3 years ago QuizAttempts.php 3 years ago TutorCache.php 3 years ago
FlashMessage.php
127 lines
1 <?php
2 /**
3 * Handle flash message
4 *
5 * @package Tutor\FlashMessage
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 2.1.9
9 */
10
11 namespace Tutor\Cache;
12
13 use Tutor\Cache\AbstractCache;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 return;
17 }
18
19 /**
20 * User data caching
21 * Get Set & check
22 *
23 * @since 2.1.9
24 */
25 class FlashMessage extends AbstractCache {
26
27 const SUCCESS = 'success';
28 const WARNING = 'warning';
29 const DANGER = 'danger';
30 const INFO = 'info';
31
32 /**
33 * Set data property
34 *
35 * @since 2.1.9
36 *
37 * @param string $msg alert message.
38 * @param string $alert_type alert type.
39 */
40 public function __construct( $msg = '', $alert_type = self::SUCCESS ) {
41 if ( '' !== $msg ) {
42 $this->data = array(
43 'alert' => $alert_type,
44 'message' => $msg,
45 );
46 }
47 }
48
49 /**
50 * Key for cache identifier
51 *
52 * @var string
53 *
54 * @since 2.1.9
55 */
56 private const KEY = 'tutor_flash_message';
57
58 /**
59 * Cache expire time
60 *
61 * @var string
62 *
63 * @since 2.1.9
64 */
65 private const HOUR_IN_SECONDS = 0;
66
67 /**
68 * Data for caching
69 *
70 * @var string
71 *
72 * @since 2.1.9
73 */
74 public $data;
75
76 /**
77 * Key
78 *
79 * @since 2.1.9
80 * @return string
81 */
82 public function key(): string {
83 return self::KEY;
84 }
85
86 /**
87 * Cache data
88 *
89 * @since 2.1.9
90 * @return object
91 */
92 public function cache_data() {
93 return $this->data;
94 }
95
96 /**
97 * Cache time
98 *
99 * @since 2.1.9
100 * @return int
101 */
102 public function cache_time(): int {
103 $cache_time = self::HOUR_IN_SECONDS;
104 return $cache_time;
105 }
106
107 /**
108 * Helper method to print & remove message
109 *
110 * This helper method assume that $this->data has single dimensional
111 * array. For ex: [alert => warning, message => operation failed ]
112 *
113 * @since 2.1.9
114 *
115 * @return void
116 */
117 public function show() {
118 $data = $this->get_cache();
119 if ( is_array( $data ) && count( $data ) ) {
120 tutor_closeable_alert_msg( $data['message'], $data['alert'] );
121
122 // Delete flash message.
123 $this->delete_cache();
124 }
125 }
126 }
127