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
|
<?php /** * WPKlaviyoNotification. * * @package WooCommerceKlaviyo * @version 2.0.0 */
/** * Helper class for admin notifications. */ class WPKlaviyoNotification {
/** * Admin message text. * * @var string */ public $admin_message_text = ''; /** * Default message text. * * @var string */ public $default_message_text = '';
/** * Constructor. * * @param string $default_message_text Message content. */ public function __construct( $default_message_text = '' ) { $this->admin_message_text = ''; $this->default_message_text = $default_message_text; }
/** * Configuration warning. * * @return void */ public function config_warning() { if ( ! WPKlaviyo::is_connected() ) { if ( ! WCK()->options->get_klaviyo_option( 'admin_settings_message' ) ) { if ( ! ( isset( $_GET['page'] ) && 'klaviyo_settings' == $_GET['page'] ) ) { $this->admin_message( 'config_warning' ); } } } }
/** * Admin message case statement. * * @param string $message Message slug. * @param integer $display_time Seconds to display message. * @return void */ public function admin_message( $message = 'default_error', $display_time = 0 ) { $message_text = '';
switch ( $message ) { case 'settings_update': $message_text = 'Klaviyo settings updated.'; break; case 'config_warning': $message_text = 'Please go to the <a href="' . KLAVIYO_ADMIN . 'admin.php?page=klaviyo_settings">Klaviyo settings page</a> to add your API keys or to hide this warning.'; break; case 'default_error': $message_text = 'An error occurred, please try again or contact Klaviyo support.'; break; case 'add_sms_list_id': $message_text = 'Please add a List ID for SMS consent'; break; case 'same_list_ids': $message_text = 'Both List IDs are same, please use different lists for registering Email and SMS consent'; break; case 'add_email_list_id': $message_text = 'Please add a List ID for Email consent'; break; default: $message_text = $message; break; }
if ( in_array( $message, array( 'same_list_ids', 'add_sms_list_id', 'add_email_list_id' ) ) ) { echo '<div id="msg-' . esc_attr( $message ) . '" class="notice notice-warning updated-fade is-dismissible"><p>' . esc_html( $message_text ) . '</p></div>' . "\n"; } else { echo '<div id="msg-' . esc_attr( $message ) . '" class="updated fade"><p>' . esc_html( $message_text ) . '</p></div>' . "\n"; }
if ( 0 != $display_time ) { echo '<script type="text/javascript">setTimeout(function () { jQuery("#msg-' . esc_attr( $message ) . '").hide("slow");}, ' . tag_escape( $display_time ) * 1000 . ');</script>'; } }
/** * Appends message. * * @param string $message_text Message content. * @return void */ public function add_message( $message_text ) { if ( trim( $this->admin_message_text ) != '' ) { $this->admin_message_text .= '<br />'; } $this->admin_message_text .= $message_text; }
/** * Display message for specific amount of time. * * @param integer $display_time Seconds to display message. * @return void */ public function display_message( $display_time = 0 ) { if ( trim( $this->admin_message_text ) != '' ) { $this->admin_message( $this->admin_message_text, $display_time ); } else { $this->admin_message( $this->default_message_text, $display_time ); } } }
|