1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
<?php
/** * Admin notices, on the fly. * * @example * WPForms_Admin_Notice::success( 'All is good!' ); * * @example * WPForms_Admin_Notice::warning( 'Do something please.' ); * * @todo Persistent, dismissible notices. * @link https://gist.github.com/monkeymonk/2ea17e2260daaecd0049c46c8d6c85fd * * @since 1.3.9 */ class WPForms_Admin_Notice {
/** * Single instance holder. * * @since 1.3.9 * @var mixed */ private static $_instance = null;
/** * Added notices. * * @since 1.3.9 * @var array */ public $notices = array();
/** * Get the instance. * * @since 1.3.9 * @return WPForms_Admin_Notice */ public static function getInstance() {
if ( is_null( self::$_instance ) ) { self::$_instance = new WPForms_Admin_Notice(); }
return self::$_instance; }
/** * Hook when called. * * @since 1.3.9 */ public function __construct() { add_action( 'admin_notices', array( &$this, 'display' ) ); }
/** * Display the notices. * * @since 1.3.9 */ public function display() {
// At least one WPForms capability is needed to see admin notices. if ( ! wpforms_current_user_can( 'any' ) ) { return; }
echo implode( ' ', $this->notices ); }
/** * Add notice to instance property. * * @since 1.3.9 * * @param string $message Message to display. * @param string $type Type of the notice (default: ''). */ public static function add( $message, $type = '' ) {
$instance = self::getInstance(); $id = 'wpforms-notice-' . ( count( $instance->notices ) + 1 ); $type = ! empty( $type ) ? 'notice-' . $type : ''; $notice = sprintf( '<div class="notice wpforms-notice %s" id="%s">%s</div>', $type, $id, wpautop( $message ) );
$instance->notices[] = $notice; }
/** * Add Info notice. * * @since 1.3.9 * * @param string $message Message to display. */ public static function info( $message ) { self::add( $message, 'info' ); }
/** * Add Error notice. * * @since 1.3.9 * * @param string $message Message to display. */ public static function error( $message ) { self::add( $message, 'error' ); }
/** * Add Success notice. * * @since 1.3.9 * * @param string $message Message to display. */ public static function success( $message ) { self::add( $message, 'success' ); }
/** * Add Warning notice. * * @since 1.3.9 * * @param string $message Message to display. */ public static function warning( $message ) { self::add( $message, 'warning' ); } }
|