PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.7.5
Tutor LMS – eLearning and online course solution v2.7.5
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 2 years ago TutorCache.php 3 years ago
FlashMessage.php
130 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 *
81 * @return string
82 */
83 public function key(): string {
84 return self::KEY;
85 }
86
87 /**
88 * Cache data
89 *
90 * @since 2.1.9
91 *
92 * @return object
93 */
94 public function cache_data() {
95 return $this->data;
96 }
97
98 /**
99 * Cache time
100 *
101 * @since 2.1.9
102 *
103 * @return int
104 */
105 public function cache_time(): int {
106 $cache_time = self::HOUR_IN_SECONDS;
107 return $cache_time;
108 }
109
110 /**
111 * Helper method to print & remove message
112 *
113 * This helper method assume that $this->data has single dimensional
114 * array. For ex: [alert => warning, message => operation failed ]
115 *
116 * @since 2.1.9
117 *
118 * @return void
119 */
120 public function show() {
121 $data = $this->get_cache();
122 if ( is_array( $data ) && count( $data ) ) {
123 tutor_closeable_alert_msg( $data['message'], $data['alert'] );
124
125 // Delete flash message.
126 $this->delete_cache();
127 }
128 }
129 }
130