Version Description
1.10.37
- Bugfix release
1.10.36
- Added Christmas Gallery Items
1.10.35
- Security Fixes
1.10.34
- Added Black Friday Cyber Monday Gallery Items
1.10.33
- Revised Gallery Templates for Halloween
1.10.32
- Added new featured gallery items
1.10.31
- Revised Gallery Templates
10.30.1
- Bug Fix release
1.10.28.2
- Bug Fix release
1.10.28.1
- Bug Fix release
1.10.28
- Revised Gallery Templates
1.10.27
- Bug Fix release
1.10.26
- Bug Fix release
1.10.25
- Revised Gallery Templates for Black Friday and Cyber Monday
1.10.24
- Revised Gallery Templates for Halloween
1.10.23
- Revised Gallery Templates
1.10.22
- Fixed popup blocker issue while previewing campaign
1.10.21
- Compatibility with latest Email Subscribers
1.10.20
- Compatibility with latest GDPR
1.10.19
- Compatibility with Rainmaker
1.10.18
- Improved the UI/UX of the Icegram Gallery
1.10.17
- Revised Gallery Templates
1.10.16
- Fixed "The plugin does not have a valid header" issue
1.10.15
- Added Christmas Gallery templates
1.10.14
- Compatibility with WordPress 4.9
1.10.13
- Added Black Friday and Cyber Monday Gallery templates
1.10.12
- Compatibility with MailPoet 3
1.10.11
- Added Halloween Gallery templates
1.10.10
- Revised Gallery Templates
1.10.9.1
- Bug Fix release
1.10.9
- Revised Gallery Templates
1.10.8
- compatibility with Contact Form 7(v4.8)
1.10.7
- Added more templates in Gallery
1.10.6
- Search bar, filters added to Icegram's Gallery
1.10.5
- Improvements in Call To Actions
1.10.4
- Directly choose Gallery Template while creating a New Campaign
1.10.3
- Email Subscribers compatibility
1.10.2
- Update mobile Detect library
1.10.1
- Bug Fix release
1.10
- Merge all addons in one
1.9.24
- Small improvements in responsiveness of Popups and Action bars
1.9.23
- Bug Fix release
1.9.22
- No Google penalty for mobile popups, an automatic solution
1.9.21
- Revamp admin UI
1.9.20.1
- Bug Fix release
1.9.20
- Rainmaker compatibility
1.9.19
- Secured Icegram from XSS vulnerability
1.9.18
- Compatibility with Icegram's CTA add-on and Rainmaker
1.9.17
- Performance enhancements
1.9.16
- Custom forms imported in Rainmaker
1.9.15
- Added the Gallery of ready to use Icegram Campaigns
1.9.14
- Added quick action for campaign preview.
1.9.13
- revamp of popup themes - Airmail, Convert, Inspire, Persuade.
1.9.12
- Add new custom CSS and JS code block.
1.9.11.1
- Remove warning in the admin panel.
1.9.11
- Compatibility with Gravity Forms.
1.9.10
- Fix for schedule campaign option
1.9.9
- Compatibility with Contact Form 7.
1.9.8.1
- Added sprite image for close buttons and other fixes.
1.9.8
- Enhanced the top Action bar position
1.9.7.1
- Incorrect plugin name
1.9.7
- Messengers are now responsive. Many small improvements.
1.9.6
- Many small changes and other fixes.
1.9.5
- Added animations for few more message types. Action bars are now responsive.
1.9.4
- Bugfix release for forms.
1.9.3
- Bugfix release for "Target link" not working.
1.9.2
- Shortcode problems solved. New anti-spam mechanism for forms.
1.9.1
- Few improvements in form functionality.
1.9
- Form embed functionality improvements, Added forms styles.
1.8.10
- Fixes for minified js and CSS. Changes for WP themes compatibility.
1.8.9
- Many small changes. Plus major changes for caching compatibility.
1.8.8
- Improved shortcode handling, WishList member compatibility, and other fixes.
1.8.7
- Popups now support custom background and text colors. And a handful of fixes!
1.8.6
- Fix for "white screen" errors, updated device detection, more readable call to action button colors
1.8.5
- Bugfix release for device targeting, preview before publishing not working.
1.8.4
- Popups are now responsive! Plus Visual Composer compatibility and other fixes.
1.8.3
- Campaign and message duplicate feature added. Plus some other improvements.
1.8.2
- Bugfix release for preview not working.
1.8.1
- Recommended upgrade. Many improvements.
1.8
- Target campaigns to any page with wildcard URL support in "Where" conditions and CTA Click based retargeting.
1.7.1
- Dismiss admin notice provision, retargeting compatibility with caches and bug fixes.
1.7
- Improvements in styling, form embeds and retargeting.
1.6
- Improvements in optin form embedding, bug fixes and more. Required update.
1.5
- Easy opt-in / subscription form parser and many other enhancements. Required update.
1.4
- Many small improvements. Support for analytics added. WordPress 4.0 compatible.
1.3
- 7 premium addons available now. Plus a lot of improvements. Recommended upgrade.
1.2
- Lots of enhancements... WPML support, pluggable architecture, many internal changes. Do upgrade.
1.1.1
- Compatibility with W3TC and Localization
1.1
- First release on WordPress.org
1.0
- Initial Release
Download this release
Release Info
Developer | Icegram |
Plugin | Popups, Welcome Bar, Optins and Lead Generation Plugin – Icegram |
Version | 1.10.37 |
Comparing to | |
See all releases |
Code changes from version 1.10.36 to 1.10.37
- classes/class-icegram-message-admin.php +578 -487
- classes/feedback/class-ig-feedback.php +207 -206
- classes/feedback/class-ig-tracker.php +4 -4
- icegram.php +3 -3
- readme.txt +622 -415
classes/class-icegram-message-admin.php
CHANGED
@@ -1,56 +1,61 @@
|
|
1 |
<?php
|
2 |
-
if ( !defined( 'ABSPATH' ) )
|
|
|
|
|
3 |
/**
|
4 |
-
* Icegram Message Admin class
|
5 |
-
*/
|
6 |
-
if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
7 |
|
8 |
class Icegram_Message_Admin {
|
9 |
-
|
10 |
var $message_themes;
|
11 |
var $is_icegram_editor;
|
12 |
|
13 |
private function __construct() {
|
14 |
-
|
15 |
add_action( 'add_meta_boxes', array( &$this, 'add_message_meta_boxes' ) );
|
16 |
-
add_action( 'wp_ajax_get_message_setting', array( &$this
|
17 |
-
|
18 |
add_action( 'save_post', array( &$this, 'update_message_settings' ), 10, 2 );
|
19 |
-
add_filter( 'wp_insert_post_data', array( &$this, 'save_message_in_post_content' ) );
|
20 |
|
21 |
-
|
22 |
add_action( 'manage_ig_message_posts_custom_column', array( $this, 'custom_columns' ), 2 );
|
23 |
add_filter( 'icegram_available_headlines', array( &$this, 'available_headlines' ) );
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
|
29 |
}
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
36 |
}
|
37 |
-
|
38 |
// Initialize message metabox
|
39 |
function add_message_meta_boxes() {
|
40 |
global $icegram;
|
41 |
-
add_meta_box( 'message-settings', __( 'Message Settings', 'icegram' ), array
|
42 |
-
|
43 |
}
|
44 |
-
|
45 |
// Display all message settings fields
|
46 |
function message_form_fields( $post = '', $action = array() ) {
|
47 |
global $icegram, $pagenow;
|
48 |
-
if( ( is_object( $post ) && $post->post_type != 'ig_message' ) )
|
49 |
return;
|
|
|
50 |
?>
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
foreach ( $icegram->message_types as $message_type => $message ) {
|
55 |
if( !empty( $message['admin_style'] ) ) {
|
56 |
$message_type = 'ig_'.$message_type;
|
@@ -77,446 +82,504 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
77 |
|
78 |
}
|
79 |
?>
|
80 |
-
|
81 |
<?php
|
82 |
-
$message_id
|
83 |
-
$message_data
|
84 |
-
$message_headlines
|
85 |
-
$settings
|
86 |
-
$positions
|
87 |
if ( $pagenow == 'post-new.php' ) {
|
88 |
-
$message_title_key
|
89 |
-
$default_message_title = $message_headlines[$message_title_key];
|
90 |
} else {
|
91 |
$default_message_title = $message_title_key = '';
|
92 |
}
|
93 |
-
|
94 |
|
95 |
-
if( empty( $message_data ) ) {
|
96 |
-
$message_type = !empty( $action['message_type'] ) ? $action['message_type'] : '';
|
97 |
$message_data = $this->default_message_data( $message_type );
|
98 |
}
|
99 |
|
100 |
-
if( !empty( $action['message_type'] ) ) {
|
101 |
$message_data['type'] = $action['message_type'];
|
102 |
}
|
103 |
|
104 |
-
wp_nonce_field( 'icegram_message_save_data', 'icegram_message_meta_nonce' );
|
105 |
-
if( !empty( $action['message_id'] ) ) {
|
106 |
?>
|
107 |
-
|
108 |
-
<?php
|
109 |
-
}
|
110 |
?>
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
<?php // action add for interstitial message setting
|
115 |
-
|
116 |
?>
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
<?php
|
124 |
$message_headline = ( isset( $message_data['headline'] ) ) ? $message_data['headline'] : $default_message_title;
|
125 |
?>
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
|
|
|
|
142 |
<?php
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
?>
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
|
|
|
|
160 |
?>
|
161 |
|
162 |
-
<?php wp_editor( $message, 'edit'
|
163 |
-
|
164 |
<?php foreach ( $icegram->message_types as $message ) {
|
165 |
-
if( empty( $message['settings']['animation']['values'] ) )
|
|
|
|
|
166 |
$animations = $message['settings']['animation']['values']
|
167 |
?>
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
<?php asort($animations);
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
<?php } ?>
|
176 |
-
|
177 |
-
|
178 |
-
<?php }
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
<?php
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
<?php
|
208 |
$available_form_styles = $this->available_form_styles();
|
209 |
foreach ( $available_form_styles as $style ) {
|
210 |
-
$bg_img = "background-image: url(" .
|
211 |
?>
|
212 |
-
|
|
|
213 |
<?php } ?>
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
<span class="location <?php if( !empty( $form_layouts['left'] ) ) {
|
221 |
-
|
222 |
-
|
223 |
-
<?php _e('Left', 'icegram' ); ?>
|
|
|
|
|
|
|
224 |
</label>
|
225 |
</span>
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
<?php _e('Right', 'icegram' ); ?>
|
|
|
|
|
|
|
231 |
</label>
|
232 |
</span>
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
<?php _e('Bottom', 'icegram' ); ?>
|
|
|
|
|
|
|
238 |
</label>
|
239 |
</span>
|
240 |
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
<?php _e('Inline', 'icegram' ); ?>
|
|
|
|
|
249 |
</label>
|
250 |
</span>
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
<?php
|
255 |
|
256 |
-
|
257 |
<label for="message_form_bg_color" class="message_label"> </label>
|
258 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Background Color', 'icegram' ).'" name="message_data['
|
259 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Text Color', 'icegram' ).'" name="message_data['
|
260 |
</p>';
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
|
267 |
?>
|
268 |
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
<?php
|
276 |
-
$form_embed_html
|
277 |
-
$force_use_rm
|
278 |
-
|
|
|
|
|
|
|
279 |
$es_plugin_meta_data = get_plugin_data( WP_PLUGIN_DIR . '/email-subscribers/email-subscribers.php' );
|
280 |
$es_current_version = ! empty( $es_plugin_meta_data['Version'] ) ? $es_plugin_meta_data['Version'] : '';
|
|
|
|
|
281 |
|
282 |
-
|
|
|
|
|
|
|
283 |
}
|
284 |
-
|
285 |
-
$
|
286 |
-
|
|
|
|
|
|
|
287 |
$hide_embed = '';
|
288 |
-
if(in_array('icegram-rainmaker/icegram-rainmaker.php', $active_plugins) && ( !empty($message_data["rainmaker_form_code"]) || $force_use_rm )){
|
289 |
$rainmaker_form_list = Rainmaker::get_rm_form_id_name_map();
|
290 |
-
$rm_html
|
291 |
-
$rm_html
|
292 |
-
<option value="" selected>'. __("Select form ", "icegram" ) .'</option>'
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
$rm_html
|
297 |
-
$hide_embed
|
298 |
$form_embed_html = $rm_html;
|
299 |
}
|
300 |
|
301 |
//Add Email Subscribers form
|
302 |
-
$es_html = __("Add form embed code") .'<strong>'. __(" or easily embed using ", "icegram" ). '<a style="font-style:normal;" href="' . admin_url("plugin-install.php?tab=search&type=term&s=email-subscribers") .'" target="_blank" alt="Email Subscribers & Newsletters">Email Subscribers & Newsletters' . '</a> plugin </strong>';
|
303 |
-
if
|
304 |
-
|
305 |
-
$es_form_list = call_user_func(array($forms_db, 'get_forms_id_name_map'));
|
306 |
-
$es_html
|
307 |
-
$es_html
|
308 |
-
<option value="" selected>'. __("Select form ", "icegram" ) .'</option>'
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
$es_html
|
313 |
-
$hide_embed = (empty($message_data["es_form_code"]) && !empty($form_html_original)) ? '' : 'style="display:none"';
|
314 |
}
|
315 |
-
$form_embed_html = !empty($rm_html) ? $rm_html : $es_html
|
316 |
?>
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
|
|
|
|
|
|
337 |
|
338 |
<?php
|
339 |
|
340 |
-
$show_cta_actions = array_merge($settings['label'], $settings['link']);
|
341 |
-
$show_only_link
|
342 |
-
|
343 |
?>
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
<input type="text" class="message_field" name="message_data[<?php echo $message_id; ?>][label]" id="message_label" value="<?php if( isset( $message_data['label'] ) )
|
359 |
-
|
|
|
|
|
360 |
|
361 |
<?php
|
362 |
-
|
363 |
-
|
364 |
<?php
|
365 |
|
366 |
-
$target_link_field = '<p class="message_row ig_'.implode( ' ig_', $settings['link'] ).'">
|
367 |
-
<span class="message_row ig_'.implode( ' ig_', $settings['label'] ) .'">
|
368 |
<label for="message_link" class="message_label">
|
369 |
-
<span class="help_tip admin_field_icon" data-tip="'.__('Enter destination URL here. Clicking will redirect to this link.'
|
370 |
</label>
|
371 |
</span>
|
372 |
-
<span class="message_row ig_'.implode( ' ig_', $show_only_link ) .'">
|
373 |
-
<span style="float:left" class="help_tip admin_field_icon" data-tip="'.__('Enter destination URL here. Clicking will redirect to this link.'
|
374 |
</span>
|
375 |
-
<span class="message_label sub_option_label">' . __("Target Link", "icegram") . '</span>
|
376 |
-
<input type="text" class="message_field message_link" name="message_data['
|
377 |
-
id="message_link" value="'.esc_attr( ( isset($message_data['link']) ? $message_data['link'] : '') ) .'" />
|
378 |
-
</p>';
|
379 |
|
380 |
-
$target_link_field
|
381 |
<label for="message" class="message_label"> </label>
|
382 |
-
<label style="color:#BBB;"> <input type="checkbox" disabled checked="checked"/>'. __("Open in new tab ","icegram") .'</label>
|
383 |
<span>
|
384 |
-
<a href="https://www.icegram.com/documentation/how-to-open-cta-link-in-a-new-tab-using-icegram/?utm_source=ig_field&utm_medium=ig_inapp_promo&utm_campaign=ig_inapp_promo" target="_blank">'.__("How to do this?", "icegram") .'</a>
|
385 |
</span>
|
386 |
</p>';
|
387 |
-
$icegram_message_target_link = apply_filters('icegram_message_field_link'
|
388 |
echo $icegram_message_target_link['html'];
|
389 |
?>
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
<?php
|
396 |
-
$text_color
|
397 |
-
$bg_color
|
398 |
-
$cta_bg_color
|
399 |
-
$cta_text_color
|
400 |
-
$colors_options_check = ( !empty( $message_data['use_theme_defaults'] )
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
$show_color_options = (!empty($colors_options_check)) ? 'style="display: none;"' : '';
|
405 |
-
$color_field_html
|
406 |
<label for="message_bg_color" class="message_label"> </label>
|
407 |
-
<span class="message_label sub_option_label" > '.__( 'Body', 'icegram' ).'</span>
|
408 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Background', 'icegram' ).'" name="message_data['
|
409 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Text', 'icegram' ).'" name="message_data['
|
410 |
</p>
|
411 |
-
<p class="message_row ig_'.implode( ' ig_', $settings['label'] ).'">
|
412 |
<label for="message_cta_bg_color" class="message_label"> </label>
|
413 |
-
<span class="message_label sub_option_label" >'.__( 'Button', 'icegram' ) .'</span>
|
414 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Background', 'icegram' ).'" name="message_data['
|
415 |
-
<input type="text" class="message_field color-field" data-color-label="'.__( 'Text', 'icegram' ).'" name="message_data['
|
416 |
</p>';
|
417 |
-
|
418 |
-
$color_field
|
419 |
-
$color_field_html = '<div class="message_colors_options_container" '
|
420 |
|
421 |
-
$colors_options_html = '<p class="message_row ig_'.implode( ' ig_', $settings['bg_color']).'">
|
422 |
-
<label for="message_use_theme_defaults" class="message_label"><strong>'. __( 'Colors', 'icegram' ).'</strong></label> <label >
|
423 |
-
<input class="show_color_options" type="checkbox" name="message_data['
|
424 |
</p>';
|
425 |
echo $colors_options_html;
|
426 |
|
427 |
?>
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
<input type="radio" id="radio01_<?php echo $message_id
|
432 |
-
<label for="radio01_<?php echo $message_id
|
433 |
-
<span class="location <?php if( !empty( $positions['00'] ) ) {
|
|
|
|
|
434 |
</label>
|
435 |
-
<input type="radio" id="radio02_<?php echo $message_id
|
436 |
-
<label for="radio02_<?php echo $message_id
|
437 |
-
<span class="location <?php if( !empty( $positions['01'] ) ) {
|
|
|
|
|
438 |
</label>
|
439 |
-
<input type="radio" id="radio03_<?php echo $message_id
|
440 |
-
<label for="radio03_<?php echo $message_id
|
441 |
-
<span class="location <?php if( !empty( $positions['02'] ) ) {
|
|
|
|
|
442 |
</label>
|
443 |
-
<input type="radio" id="radio04_<?php echo $message_id
|
444 |
-
<label for="radio04_<?php echo $message_id
|
445 |
-
<span class="location <?php if( !empty( $positions['10'] ) ) {
|
|
|
|
|
446 |
</label>
|
447 |
-
<input type="radio" id="radio05_<?php echo $message_id
|
448 |
-
<label for="radio05_<?php echo $message_id
|
449 |
-
<span class="location <?php if( !empty( $positions['11'] ) ) {
|
|
|
|
|
450 |
</label>
|
451 |
-
<input type="radio" id="radio06_<?php echo $message_id
|
452 |
-
<label for="radio06_<?php echo $message_id
|
453 |
-
<span class="location <?php if( !empty( $positions['12'] ) ) {
|
|
|
|
|
454 |
</label>
|
455 |
-
<input type="radio" id="radio07_<?php echo $message_id
|
456 |
-
<label for="radio07_<?php echo $message_id
|
457 |
-
<span class="location <?php if( !empty( $positions['20'] ) ) {
|
|
|
|
|
458 |
</label>
|
459 |
-
<input type="radio" id="radio08_<?php echo $message_id
|
460 |
-
<label for="radio08_<?php echo $message_id
|
461 |
-
<span class="location <?php if( !empty( $positions['21'] ) ) {
|
|
|
|
|
462 |
</label>
|
463 |
-
<input type="radio" id="radio09_<?php echo $message_id
|
464 |
-
<label for="radio09_<?php echo $message_id
|
465 |
-
<span class="location <?php if( !empty( $positions['22'] ) ) {
|
|
|
|
|
466 |
</label>
|
467 |
</span>
|
468 |
-
|
469 |
<?php
|
470 |
-
|
471 |
?>
|
472 |
-
|
473 |
<?php
|
474 |
-
$dummy_css
|
475 |
-
$dummy_js
|
476 |
-
$message_custom_css
|
477 |
-
$message_custom_js
|
478 |
-
$use_custom_code_check
|
479 |
-
|
480 |
-
|
481 |
-
$show_custom_code_options = empty($use_custom_code_check) ? 'style="display:none;"' : '';
|
482 |
|
483 |
?>
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
506 |
<?php
|
507 |
|
508 |
-
if( !empty( $action['message_id'] ) ) {
|
509 |
?></div>
|
510 |
<?php
|
511 |
} else {
|
512 |
-
|
513 |
?>
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
<span class="shortcode_description admin_field_icon"></span>
|
518 |
-
<?php
|
519 |
-
echo sprintf(__( 'You may add <code>[%s]</code> where you want to show this message.', 'icegram' ), 'icegram messages="'
|
520 |
?>
|
521 |
</span></p>
|
522 |
<?php
|
@@ -527,56 +590,71 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
527 |
// Used to save the settings which are being made in the message form and added to message page appropriately
|
528 |
function update_message_settings( $post_id, $post ) {
|
529 |
|
530 |
-
if (empty( $post_id ) || empty( $post ) || empty( $_POST['message_data'] ) || empty( $_POST['message_data'][$post_id] ) )
|
531 |
-
|
532 |
-
|
533 |
-
if (
|
534 |
-
|
535 |
-
|
536 |
-
if ($post
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
537 |
|
538 |
-
$message_data = $_POST['message_data'][$post_id];
|
539 |
-
$type
|
540 |
|
541 |
-
if( isset( $message_data['theme'][$type] ) ) {
|
542 |
-
$message_data['theme'] = $message_data['theme'][$type];
|
543 |
} else {
|
544 |
unset( $message_data['theme'] );
|
545 |
}
|
546 |
-
if( isset( $message_data['animation'][$type] ) ) {
|
547 |
-
$message_data['animation'] = $message_data['animation'][$type];
|
548 |
} else {
|
549 |
unset( $message_data['animation'] );
|
550 |
}
|
551 |
-
if( isset( $message_data['position'][$type] ) ) {
|
552 |
-
$message_data['position'] = $message_data['position'][$type];
|
553 |
-
} elseif( isset( $message_data['position']['ig_default'] ) ) {
|
554 |
$message_data['position'] = $message_data['position']['ig_default'];
|
555 |
}
|
556 |
|
557 |
$message_data = apply_filters( 'icegram_update_message_data', $message_data, $post_id );
|
558 |
update_post_meta( $post_id, 'icegram_message_data', $message_data );
|
559 |
-
update_post_meta( $post_id, 'icegram_message_preview_data', $message_data );
|
560 |
-
|
561 |
}
|
562 |
|
563 |
// Additionally save message body content in post_content of post table
|
564 |
function save_message_in_post_content( $post_data ) {
|
565 |
|
566 |
-
|
567 |
-
$message_id
|
568 |
-
$post_data['post_content'] = $_POST['message_data'][$message_id]['message'];
|
569 |
-
|
570 |
-
if( isset( $_POST['message_data'][$message_id]['post_title'] ) ) {
|
571 |
|
572 |
-
|
573 |
-
|
|
|
|
|
574 |
} else {
|
575 |
-
$post_data['post_title'] = $_POST['message_data'][$message_id]['headline'];
|
576 |
}
|
577 |
-
|
578 |
}
|
579 |
-
|
|
|
580 |
return $post_data;
|
581 |
}
|
582 |
|
@@ -585,11 +663,11 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
585 |
|
586 |
$date = $existing_columns['date'];
|
587 |
unset( $existing_columns['date'] );
|
588 |
-
|
589 |
-
$existing_columns['message_type']
|
590 |
-
$existing_columns['message_theme']
|
591 |
-
$existing_columns['message_thumbnail']
|
592 |
-
$existing_columns['date']
|
593 |
|
594 |
return apply_filters( 'icegram_manage_message_columns', $existing_columns );
|
595 |
|
@@ -597,42 +675,43 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
597 |
|
598 |
// Add message columns data to message dashboard
|
599 |
function custom_columns( $column ) {
|
600 |
-
global $post
|
601 |
|
602 |
-
if( ( is_object( $post ) && $post->post_type != 'ig_message' ) )
|
603 |
return;
|
|
|
604 |
|
605 |
-
$message_data
|
606 |
if ( empty( $message_data['type'] ) ) {
|
607 |
return;
|
608 |
}
|
609 |
-
$class_name
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
$type
|
614 |
-
$theme
|
615 |
-
|
616 |
-
$bg_img = $icegram->message_types[ $message_data['type'] ]['themes'][ $message_data['theme'] ]['baseurl'] . $message_data['theme'] . ".png";
|
617 |
-
|
618 |
-
switch ($column) {
|
619 |
case 'message_type':
|
620 |
-
echo esc_attr($type);
|
621 |
break;
|
622 |
|
623 |
case 'message_theme':
|
624 |
-
echo esc_attr($theme);
|
625 |
break;
|
626 |
|
627 |
case 'message_thumbnail':
|
628 |
// echo "<img src='$bg_img' style='max-width: 200px; max-height: 100px;'>";
|
629 |
-
echo "<img src='".esc_attr($bg_img)."' style='max-width: 100%; max-height: 100px;'>";
|
630 |
break;
|
631 |
|
632 |
default:
|
633 |
do_action( 'icegram_manage_message_custom_column', $column, $message_data );
|
634 |
break;
|
635 |
-
|
636 |
}
|
637 |
|
638 |
}
|
@@ -644,9 +723,10 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
644 |
$settings = array();
|
645 |
foreach ( $icegram->message_types as $type => $value ) {
|
646 |
foreach ( $value['settings'] as $setting => $property ) {
|
647 |
-
$settings[$setting][] = $type;
|
648 |
}
|
649 |
}
|
|
|
650 |
return apply_filters( 'icegram_message_settings_to_show', $settings );
|
651 |
|
652 |
}
|
@@ -657,16 +737,17 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
657 |
global $icegram;
|
658 |
$form_layouts = array();
|
659 |
foreach ( $icegram->message_types as $type => $value ) {
|
660 |
-
if( empty( $value['settings']['form_layout'] ) )
|
661 |
continue;
|
|
|
662 |
|
663 |
-
if( !empty( $value['settings']['form_layout']['values'] ) ) {
|
664 |
foreach ( $value['settings']['form_layout']['values'] as $form_layout ) {
|
665 |
-
$form_layouts[$form_layout][] = $type;
|
666 |
-
}
|
667 |
}
|
668 |
}
|
669 |
-
|
670 |
// return apply_filters( 'icegram_message_form_layouts_to_show', $form_layouts );
|
671 |
return $form_layouts;
|
672 |
|
@@ -679,116 +760,126 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
|
|
679 |
global $icegram;
|
680 |
$positions = array();
|
681 |
foreach ( $icegram->message_types as $type => $value ) {
|
682 |
-
if( empty( $value['settings']['position'] ) )
|
683 |
continue;
|
|
|
684 |
|
685 |
-
if( !empty( $value['settings']['position']['values'] ) ) {
|
686 |
foreach ( $value['settings']['position']['values'] as $position ) {
|
687 |
-
$positions[$position][] = $type;
|
688 |
-
}
|
689 |
}
|
690 |
}
|
|
|
691 |
return apply_filters( 'icegram_message_positions_to_show', $positions );
|
692 |
|
693 |
}
|
694 |
-
|
695 |
// Default message data for newly created message
|
696 |
function default_message_data( $message_type = '' ) {
|
697 |
|
698 |
global $icegram;
|
699 |
$default_themes = array();
|
700 |
foreach ( $icegram->message_types as $type => $value ) {
|
701 |
-
if( isset( $value['settings']['theme']['default'] ) ) {
|
702 |
-
$default_themes[$type] = $value['settings']['theme']['default'];
|
703 |
}
|
704 |
}
|
705 |
-
if( !empty( $message_type ) ) {
|
706 |
-
$default_message = $icegram->message_types[$message_type];
|
707 |
} else {
|
708 |
-
$default_message = reset( $icegram->message_types );
|
709 |
}
|
710 |
-
$default_message_data = array(
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
|
|
|
|
716 |
return apply_filters( 'icegram_default_message_data', $default_message_data );
|
717 |
}
|
718 |
|
719 |
// Form styles for the form
|
720 |
//TODO :: check this and do changes if required
|
721 |
-
function available_form_styles(
|
722 |
$available_form_styles = array(
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
|
|
729 |
return $available_form_styles;
|
730 |
}
|
|
|
731 |
// All headline to generate randomly for messages
|
732 |
function available_headlines( $available_headlines = array() ) {
|
733 |
$available_headlines = array_merge( $available_headlines, array(
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
|
|
781 |
return $available_headlines;
|
782 |
}
|
783 |
|
784 |
-
function add_message_action( $actions, $post ){
|
785 |
-
if ($post->post_type != 'ig_message')
|
786 |
-
|
|
|
|
|
|
|
787 |
return $actions;
|
788 |
}
|
789 |
|
790 |
-
function duplicate_message(){
|
791 |
-
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'duplicate-message' && !empty($_REQUEST['message_id'])){
|
792 |
Icegram::duplicate( $_REQUEST['message_id'] );
|
793 |
}
|
794 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
/**
|
6 |
+
* Icegram Message Admin class
|
7 |
+
*/
|
8 |
+
if ( ! class_exists( 'Icegram_Message_Admin' ) ) {
|
9 |
|
10 |
class Icegram_Message_Admin {
|
11 |
+
|
12 |
var $message_themes;
|
13 |
var $is_icegram_editor;
|
14 |
|
15 |
private function __construct() {
|
16 |
+
|
17 |
add_action( 'add_meta_boxes', array( &$this, 'add_message_meta_boxes' ) );
|
18 |
+
add_action( 'wp_ajax_get_message_setting', array( &$this, 'message_form_fields' ) );
|
19 |
+
|
20 |
add_action( 'save_post', array( &$this, 'update_message_settings' ), 10, 2 );
|
21 |
+
add_filter( 'wp_insert_post_data', array( &$this, 'save_message_in_post_content' ) );
|
22 |
|
23 |
+
add_filter( 'manage_edit-ig_message_columns', array( $this, 'edit_columns' ) );
|
24 |
add_action( 'manage_ig_message_posts_custom_column', array( $this, 'custom_columns' ), 2 );
|
25 |
add_filter( 'icegram_available_headlines', array( &$this, 'available_headlines' ) );
|
26 |
|
27 |
+
//duplicate message
|
28 |
+
add_filter( 'post_row_actions', array( &$this, 'add_message_action' ), 10, 2 );
|
29 |
+
add_action( 'admin_init', array( &$this, 'duplicate_message' ), 10, 1 );
|
30 |
|
31 |
}
|
32 |
+
|
33 |
+
public static function getInstance() {
|
34 |
+
static $ig_message_admin = null;
|
35 |
+
if ( null === $ig_message_admin ) {
|
36 |
+
$ig_message_admin = new Icegram_Message_Admin();
|
37 |
+
}
|
38 |
+
|
39 |
+
return $ig_message_admin;
|
40 |
}
|
41 |
+
|
42 |
// Initialize message metabox
|
43 |
function add_message_meta_boxes() {
|
44 |
global $icegram;
|
45 |
+
add_meta_box( 'message-settings', __( 'Message Settings', 'icegram' ), array( &$this, 'message_form_fields' ), 'ig_message', 'normal', 'high' );
|
46 |
+
|
47 |
}
|
48 |
+
|
49 |
// Display all message settings fields
|
50 |
function message_form_fields( $post = '', $action = array() ) {
|
51 |
global $icegram, $pagenow;
|
52 |
+
if ( ( is_object( $post ) && $post->post_type != 'ig_message' ) ) {
|
53 |
return;
|
54 |
+
}
|
55 |
?>
|
56 |
+
|
57 |
+
<style type="text/css">
|
58 |
+
<?php
|
59 |
foreach ( $icegram->message_types as $message_type => $message ) {
|
60 |
if( !empty( $message['admin_style'] ) ) {
|
61 |
$message_type = 'ig_'.$message_type;
|
82 |
|
83 |
}
|
84 |
?>
|
85 |
+
</style>
|
86 |
<?php
|
87 |
+
$message_id = ! empty( $action['message_id'] ) ? $action['message_id'] : $post->ID;
|
88 |
+
$message_data = get_post_meta( $message_id, 'icegram_message_data', true );
|
89 |
+
$message_headlines = $icegram->available_headlines;
|
90 |
+
$settings = $this->message_settings_to_show();
|
91 |
+
$positions = $this->message_positions_to_show();
|
92 |
if ( $pagenow == 'post-new.php' ) {
|
93 |
+
$message_title_key = array_rand( $message_headlines );
|
94 |
+
$default_message_title = $message_headlines[ $message_title_key ];
|
95 |
} else {
|
96 |
$default_message_title = $message_title_key = '';
|
97 |
}
|
98 |
+
$message_headline = ( isset( $message_data['headline'] ) ) ? $message_data['headline'] : $default_message_title;
|
99 |
|
100 |
+
if ( empty( $message_data ) ) {
|
101 |
+
$message_type = ! empty( $action['message_type'] ) ? $action['message_type'] : '';
|
102 |
$message_data = $this->default_message_data( $message_type );
|
103 |
}
|
104 |
|
105 |
+
if ( ! empty( $action['message_type'] ) ) {
|
106 |
$message_data['type'] = $action['message_type'];
|
107 |
}
|
108 |
|
109 |
+
wp_nonce_field( 'icegram_message_save_data', 'icegram_message_meta_nonce' );
|
110 |
+
if ( ! empty( $action['message_id'] ) ) {
|
111 |
?>
|
112 |
+
<div class="thickbox_edit_message" id="<?php echo $action['message_id']; ?>">
|
113 |
+
<?php
|
114 |
+
}
|
115 |
?>
|
116 |
+
<div class="wp_attachment_details edit-form-section message-setting-fields">
|
117 |
+
<input id="message_type" class="message_type" name="message_data[<?php echo $message_id; ?>][type]" type="hidden" value="<?php echo esc_attr( $message_data['type'] ) ?>"></input>
|
118 |
+
<input id="message_theme_ig_<?php echo esc_attr( $message_data['type'] ) ?>" name="message_data[<?php echo $message_id; ?>][theme][<?php echo esc_attr( $message_data['type'] ) ?>]" type="hidden" value="<?php echo esc_attr( $message_data['theme'] ) ?>"></input>
|
119 |
<?php // action add for interstitial message setting
|
120 |
+
do_action( 'icegram_after_message_theme_settings', $message_id, $message_data );
|
121 |
?>
|
122 |
+
|
123 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['headline'] ) ?>">
|
124 |
+
<label for="message_headline" class="message_label">
|
125 |
+
<strong><?php _e( 'Headline', 'icegram' ); ?></strong>
|
126 |
+
<span class="help_tip admin_field_icon" data-tip="<?php _e( 'Shown with highest prominence. Click on idea button on right to get a new headline.', 'icegram' ); ?>"></span>
|
127 |
+
</label>
|
128 |
<?php
|
129 |
$message_headline = ( isset( $message_data['headline'] ) ) ? $message_data['headline'] : $default_message_title;
|
130 |
?>
|
131 |
+
<input type="text" class="message_field" name="message_data[<?php echo $message_id; ?>][headline]" id="message_title" value="<?php echo esc_attr( $message_headline ); ?>" data-headline="<?php echo $message_title_key; ?>"/>
|
132 |
+
<a class="button message_headline_button tips" data-tip="<?php _e( 'Give Me Another Headline', 'icegram' ); ?>">
|
133 |
+
<span class="headline-buttons-icon admin_field_icon"></span>
|
134 |
+
</a>
|
135 |
+
</p>
|
136 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['icon'] ) ?>">
|
137 |
+
<label for="upload_image" class="message_label">
|
138 |
+
<strong><?php _e( 'Icon / Avatar Image', 'icegram' ); ?></strong>
|
139 |
+
<span class="help_tip admin_field_icon" data-tip="<?php _e( 'This image will appear in message content.', 'icegram' ); ?>"></span>
|
140 |
+
</label>
|
141 |
+
<input id="upload_image" type="text" class="message_field" name="message_data[<?php echo $message_id; ?>][icon]" value="<?php if ( isset( $message_data['icon'] ) ) {
|
142 |
+
echo esc_attr( $message_data['icon'] );
|
143 |
+
} ?>"/>
|
144 |
+
<a class="button message_image_button tips" data-tip="<?php _e( 'Upload / Select an image', 'icegram' ); ?>" onclick="tb_show('<?php _e( 'Upload / Select Image' ); ?>', 'media-upload.php?type=image&TB_iframe=true', false);">
|
145 |
+
<span class="image-buttons-icon admin_field_icon"></span>
|
146 |
+
</a>
|
147 |
+
</p>
|
148 |
+
|
149 |
<?php
|
150 |
+
$editor_args = array(
|
151 |
+
'textarea_name' => 'message_data[' . $message_id . '][message]',
|
152 |
+
'textarea_rows' => 10,
|
153 |
+
'editor_class' => 'wp-editor-message',
|
154 |
+
'media_buttons' => true,
|
155 |
+
'tinymce' => true
|
156 |
+
);
|
157 |
?>
|
158 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['message'] ) ?>">
|
159 |
+
<style type="text/css">.wp-editor-tools:after {
|
160 |
+
display: inline-block !important;
|
161 |
+
}</style>
|
162 |
+
<label for="message_body" class="message_body message_label"><strong><?php _e( 'Message Body', 'icegram' ); ?></strong></label>
|
163 |
+
<?php
|
164 |
+
$message = ( ! empty( $message_data['message'] ) ) ? $message_data['message'] : '';
|
165 |
+
//TODO :: check need of exit-redirect Type
|
166 |
+
if ( in_array( $message_data['type'], array( 'toast', 'badge', 'ribbon', 'exit-redirect' ) ) ) {
|
167 |
+
$message = str_replace( '[ig_form]', '', $message );
|
168 |
+
}
|
169 |
?>
|
170 |
|
171 |
+
<?php wp_editor( $message, 'edit' . $message_id, $editor_args ); ?>
|
172 |
+
</p>
|
173 |
<?php foreach ( $icegram->message_types as $message ) {
|
174 |
+
if ( empty( $message['settings']['animation']['values'] ) ) {
|
175 |
+
continue;
|
176 |
+
}
|
177 |
$animations = $message['settings']['animation']['values']
|
178 |
?>
|
179 |
+
<p class="message_row <?php echo "ig_" . $message['type']; ?>">
|
180 |
+
<label for="message_animation_<?php echo $message['type'] ?>" class="message_label"><strong><?php _e( 'Animation', 'icegram' ); ?></strong></label>
|
181 |
+
<select id="message_animation_<?php echo $message['type'] ?>" name="message_data[<?php echo $message_id; ?>][animation][<?php echo $message['type'] ?>]" class="icegram_chosen_page message_animation message_animation_<?php echo $message['type']; ?>">
|
182 |
+
<?php asort( $animations );
|
183 |
+
$animations = array( 'no-anim' => 'No Animation' ) + $animations;
|
184 |
+
foreach ( $animations as $value => $label ) { ?>
|
185 |
+
<option value="<?php echo esc_attr( $value ) ?>" <?php echo ( ! empty( $message_data['animation'] ) && esc_attr( $value ) == $message_data['animation'] ) ? 'selected' : ''; ?>><?php echo esc_html( $label ) ?></option>
|
186 |
+
<?php } ?>
|
187 |
+
</select>
|
188 |
+
</p>
|
189 |
+
<?php } ?>
|
190 |
+
|
191 |
+
<!-- Embed Form options -->
|
192 |
+
|
193 |
+
<?php
|
194 |
+
|
195 |
+
$form_html = ( ! empty( $message_data['form_html'] ) ) ? $message_data['form_html'] : '';
|
196 |
+
$form_html_original = ( ! empty( $message_data['form_html_original'] ) ) ? $message_data['form_html_original'] : '';
|
197 |
+
$form_header = ( ! empty( $message_data['form_header'] ) ) ? $message_data['form_header'] : '';
|
198 |
+
$form_footer = ( ! empty( $message_data['form_footer'] ) ) ? $message_data['form_footer'] : '';
|
199 |
+
$form_bg_color = ( ! empty( $message_data['form_bg_color'] ) ) ? $message_data['form_bg_color'] : '';
|
200 |
+
$form_text_color = ( ! empty( $message_data['form_text_color'] ) ) ? $message_data['form_text_color'] : '';
|
201 |
+
$form_has_label = ( ! empty( $message_data['form_has_label'] ) ) ? checked( $message_data['form_has_label'], 'yes', 0 ) : '';
|
202 |
+
$form_layouts = $this->message_form_layouts_to_show();
|
203 |
+
$default_form_layout = ! empty( $icegram->message_types[ $message_data['type'] ]['settings']['form_layout']['default'] ) ? $icegram->message_types[ $message_data['type'] ]['settings']['form_layout']['default'] : '';
|
204 |
+
$use_form_check = ( ! empty( $message_data['use_form'] ) )
|
205 |
+
? checked( $message_data['use_form'], 'yes', 0 )
|
206 |
+
: '';
|
207 |
+
$show_form_options = empty( $use_form_check ) ? 'style="display:none;"' : '';
|
208 |
+
?>
|
209 |
+
<p class="message_row message_form_options_check <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>" message_id="<?php echo $message_id; ?>">
|
210 |
+
<label for="message_use_form" class="message_label"><strong><?php _e( 'Form', 'icegram' ); ?></strong></label> <label>
|
211 |
+
<input class="show_form_options" type="checkbox" name="message_data[<?php echo $message_id; ?>][use_form]" id="message_use_form" value="yes" <?php echo $use_form_check ?>/> <?php _e( 'Use Opt-in / Subscription / Lead capture form', 'icegram' ); ?></label>
|
212 |
+
</p>
|
213 |
+
|
214 |
+
<div class="message_form_options" <?php echo $show_form_options; ?> message_id="<?php echo $message_id; ?>">
|
215 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>">
|
216 |
+
<label for="message_form_style" class="message_label"> </label>
|
217 |
+
<select id="message_form_style" name="message_data[<?php echo $message_id; ?>][form_style]" class="icegram_chosen_page message_form_style ">
|
218 |
+
<?php
|
219 |
$available_form_styles = $this->available_form_styles();
|
220 |
foreach ( $available_form_styles as $style ) {
|
221 |
+
$bg_img = "background-image: url(" . $icegram->plugin_url . '/assets/images/' . strtolower( str_replace( ' ', '_', $style['name'] ) ) . ".png)";
|
222 |
?>
|
223 |
+
<option style="<?php echo $bg_img; ?>" <?php echo ( ! empty( $message_data['form_style'] ) && strtolower( str_replace( ' ', '_', $style['name'] ) ) == $message_data['form_style'] ) ? 'selected' : ''; ?> value="<?php echo esc_attr( strtolower( str_replace( ' ', '_', $style['name'] ) ) ) ?>"
|
224 |
+
class="<?php echo strtolower( str_replace( ' ', '_', $style['name'] ) ) ?>" <?php echo ( ! empty( $message_data['form_style'] ) && esc_attr( strtolower( $style['name'] ) ) == $message_data['form_style'] ) ? 'selected' : ''; ?>><?php echo esc_html( $style['name'] ) ?></option>
|
225 |
<?php } ?>
|
226 |
+
</select>
|
227 |
+
</p>
|
228 |
+
|
229 |
+
<p class="form_layouts message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>">
|
230 |
+
<label for="message_form_layouts" class="message_label"> </label>
|
231 |
+
<div class="form_radio_group">
|
232 |
+
<span class="location <?php if ( ! empty( $form_layouts['left'] ) ) {
|
233 |
+
echo "ig_" . implode( ' ig_', $form_layouts['left'] );
|
234 |
+
} ?>">
|
235 |
+
<label style="background-position:0px 23px;" for="form_layout_left_<?php echo $message_id; ?>" title="<?php _e( 'Left', 'icegram' ); ?>">
|
236 |
+
<input class="message_form_layout" type="radio" id="form_layout_left_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][form_layout]"
|
237 |
+
value="left" <?php echo ( ! empty( $message_data['form_layout'] ) && "left" == $message_data['form_layout'] ) ? 'checked' : ( empty( $message_data['form_layout'] ) && "left" == $default_form_layout ? 'checked' : '' ); ?> />
|
238 |
+
<?php _e( 'Left', 'icegram' ); ?>
|
239 |
</label>
|
240 |
</span>
|
241 |
|
242 |
+
<span class="location <?php if ( ! empty( $form_layouts['right'] ) ) {
|
243 |
+
echo "ig_" . implode( ' ig_', $form_layouts['right'] );
|
244 |
+
} ?>">
|
245 |
+
<label style="background-position:-100px 23px;" for="form_layout_right_<?php echo $message_id; ?>" title="<?php _e( 'Right', 'icegram' ); ?>">
|
246 |
+
<input class="message_form_layout" type="radio" id="form_layout_right_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][form_layout]"
|
247 |
+
value="right" <?php echo ( ! empty( $message_data['form_layout'] ) && "right" == $message_data['form_layout'] ) ? 'checked' : ( empty( $message_data['form_layout'] ) && "right" == $default_form_layout ? 'checked' : '' ); ?> />
|
248 |
+
<?php _e( 'Right', 'icegram' ); ?>
|
249 |
</label>
|
250 |
</span>
|
251 |
|
252 |
+
<span class="location <?php if ( ! empty( $form_layouts['bottom'] ) ) {
|
253 |
+
echo "ig_" . implode( ' ig_', $form_layouts['bottom'] );
|
254 |
+
} ?>">
|
255 |
+
<label style="background-position:-200px 23px;" for="form_layout_bottom_<?php echo $message_id; ?>" title="<?php _e( 'Bottom', 'icegram' ); ?>">
|
256 |
+
<input class="message_form_layout" type="radio" id="form_layout_bottom_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][form_layout]"
|
257 |
+
value="bottom" <?php echo ( ! empty( $message_data['form_layout'] ) && "bottom" == $message_data['form_layout'] ) ? 'checked' : ( empty( $message_data['form_layout'] ) && "bottom" == $default_form_layout ? 'checked' : '' ); ?> />
|
258 |
+
<?php _e( 'Bottom', 'icegram' ); ?>
|
259 |
</label>
|
260 |
</span>
|
261 |
|
262 |
+
<?php
|
263 |
+
$inline_position_checked = ( ! empty( $message_data['form_layout'] ) && "inline" == $message_data['form_layout'] ) ? 'checked' : ( empty( $message_data['form_layout'] ) && "inline" == $default_form_layout ? 'checked' : '' );
|
264 |
+
$show_color_options = ! empty( $inline_position_checked ) ? 'style="display:none;"' : '';
|
265 |
+
?>
|
266 |
+
<span class="location <?php if ( ! empty( $form_layouts['inline'] ) ) {
|
267 |
+
echo "ig_" . implode( ' ig_', $form_layouts['inline'] );
|
268 |
+
} ?>">
|
269 |
+
<label style="background-position:-300px 23px;" for="form_layout_inline_<?php echo $message_id; ?>" title="<?php _e( 'Inline', 'icegram' ); ?>">
|
270 |
+
<input class="message_form_layout" type="radio" id="form_layout_inline_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][form_layout]" value="inline" <?php echo $inline_position_checked; ?> />
|
271 |
+
<?php _e( 'Inline', 'icegram' ); ?>
|
272 |
</label>
|
273 |
</span>
|
274 |
+
</div>
|
275 |
+
|
276 |
+
</p>
|
277 |
<?php
|
278 |
|
279 |
+
$color_field_html = '<p class="message_form_color message_row ig_"' . implode( ' ig_', $settings['embed_form'] ) . '" ' . $show_color_options . '>
|
280 |
<label for="message_form_bg_color" class="message_label"> </label>
|
281 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Background Color', 'icegram' ) . '" name="message_data[' . $message_id . '][form_bg_color]" id="message_form_bg_color" value="' . $form_bg_color . '" />
|
282 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Text Color', 'icegram' ) . '" name="message_data[' . $message_id . '][form_text_color]" id="message_form_text_color" value="' . $form_text_color . '" style="margin-left:5em !important" />
|
283 |
</p>';
|
284 |
+
echo $color_field_html;
|
285 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
286 |
+
if ( is_multisite() ) {
|
287 |
+
$active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
|
288 |
+
}
|
289 |
|
290 |
?>
|
291 |
|
292 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>">
|
293 |
+
<label class="message_label"> </label>
|
294 |
+
<textarea class="message_field message_form_header" rows="2" autocomplete="off" cols="65" name="message_data[<?php echo $message_id; ?>][form_header]" id="" value="" placeholder="<?php _e( 'Text / HTML to show before the form', 'icegram' ); ?>"><?php echo esc_attr( $form_header ); ?></textarea>
|
295 |
+
</p>
|
296 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>">
|
297 |
+
<label class="message_label"> </label>
|
298 |
<?php
|
299 |
+
$form_embed_html = '';
|
300 |
+
$force_use_rm = false;
|
301 |
+
$es_current_version = '3.5.18';
|
302 |
+
$is_es_active = false;
|
303 |
+
|
304 |
+
if ( in_array( 'email-subscribers/email-subscribers.php', $active_plugins ) ) {
|
305 |
$es_plugin_meta_data = get_plugin_data( WP_PLUGIN_DIR . '/email-subscribers/email-subscribers.php' );
|
306 |
$es_current_version = ! empty( $es_plugin_meta_data['Version'] ) ? $es_plugin_meta_data['Version'] : '';
|
307 |
+
$is_es_active = true;
|
308 |
+
}
|
309 |
|
310 |
+
if ( in_array( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) ) {
|
311 |
+
$es_plugin_meta_data = get_plugin_data( WP_PLUGIN_DIR . '/email-subscribers-premium/email-subscribers-premium.php' );
|
312 |
+
$es_current_version = ! empty( $es_plugin_meta_data['Version'] ) ? $es_plugin_meta_data['Version'] : '';
|
313 |
+
$is_es_active = true;
|
314 |
}
|
315 |
+
|
316 |
+
$force_use_rm = ( version_compare( $es_current_version, '4.0', '<' ) ) ? true : false;
|
317 |
+
|
318 |
+
//Add Rainmaker form
|
319 |
+
$rm_html = __( "Add form embed code" ) . '<strong>' . __( " or easily embed using ", "icegram" ) . '<a style="font-style:normal;" href="' . admin_url( "plugin-install.php?tab=search&type=term&s=icegram-rainmaker" ) . '" target="_blank" alt="Rainmaker - Forms, Leads and CRM">Icegram\'s Rainmaker' . '</a> plugin </strong>';
|
320 |
+
$rm_html = ( true === $force_use_rm ) ? $rm_html : '';
|
321 |
$hide_embed = '';
|
322 |
+
if ( in_array( 'icegram-rainmaker/icegram-rainmaker.php', $active_plugins ) && ( ! empty( $message_data["rainmaker_form_code"] ) || $force_use_rm ) ) {
|
323 |
$rainmaker_form_list = Rainmaker::get_rm_form_id_name_map();
|
324 |
+
$rm_html = __( "Use Rainmaker form ", "icegram" );
|
325 |
+
$rm_html .= '<select class="rainmaker_form_list" style="max-width:30%" name="message_data[' . $message_id . '][rainmaker_form_code]">
|
326 |
+
<option value="" selected>' . __( "Select form ", "icegram" ) . '</option>';
|
327 |
+
foreach ( $rainmaker_form_list as $id => $name ) {
|
328 |
+
$rm_html .= '<option ' . ( ( ! empty( $message_data["rainmaker_form_code"] ) && $id == $message_data["rainmaker_form_code"] ) ? 'selected' : '' ) . ' value="' . $id . '">' . $name . '</option>';
|
329 |
+
}
|
330 |
+
$rm_html .= '</select><span style="font-style:italic">' . __( ' or add ', 'icegram' ) . '<a class="embed_form_code_toggle" style="cursor: pointer;">' . __( 'form embed code', 'icegram' ) . '</a></span>';
|
331 |
+
$hide_embed = ( empty( $message_data["rainmaker_form_code"] ) && ! empty( $form_html_original ) ) ? '' : 'style="display:none"';
|
332 |
$form_embed_html = $rm_html;
|
333 |
}
|
334 |
|
335 |
//Add Email Subscribers form
|
336 |
+
$es_html = __( "Add form embed code" ) . '<strong>' . __( " or easily embed using ", "icegram" ) . '<a style="font-style:normal;" href="' . admin_url( "plugin-install.php?tab=search&type=term&s=email-subscribers" ) . '" target="_blank" alt="Email Subscribers & Newsletters">Email Subscribers & Newsletters' . '</a> plugin </strong>';
|
337 |
+
if ( $is_es_active && ! $force_use_rm ) {
|
338 |
+
$forms_db = new ES_DB_Forms();
|
339 |
+
$es_form_list = call_user_func( array( $forms_db, 'get_forms_id_name_map' ) );
|
340 |
+
$es_html = __( "Use Email Subscribers form ", "icegram" );
|
341 |
+
$es_html .= '<select class="es_form_list" style="max-width:30%" name="message_data[' . $message_id . '][es_form_code]">
|
342 |
+
<option value="" selected>' . __( "Select form ", "icegram" ) . '</option>';
|
343 |
+
foreach ( $es_form_list as $id => $name ) {
|
344 |
+
$es_html .= '<option ' . ( ( ! empty( $message_data["es_form_code"] ) && $id == $message_data["es_form_code"] ) ? 'selected' : '' ) . ' value="' . $id . '">' . $name . '</option>';
|
345 |
+
}
|
346 |
+
$es_html .= '</select><span style="font-style:italic">' . __( ' or add ', 'icegram' ) . '<a class="embed_form_code_toggle" style="cursor: pointer;">' . __( 'form embed code', 'icegram' ) . '</a></span>';
|
347 |
+
$hide_embed = ( empty( $message_data["es_form_code"] ) && ! empty( $form_html_original ) ) ? '' : 'style="display:none"';
|
348 |
}
|
349 |
+
$form_embed_html = ! empty( $rm_html ) ? $rm_html : $es_html;
|
350 |
?>
|
351 |
+
<label class="message_label"> </label>
|
352 |
+
<span class="message_label" style="padding-bottom:.3em"> <?php echo $form_embed_html; ?></span>
|
353 |
+
<label class="message_label"> </label>
|
354 |
+
<textarea class="message_field message_form_html_original" <?php echo $hide_embed ?> rows="6" autocomplete="off" cols="65" name="message_data[<?php echo $message_id; ?>][form_html_original]" id="message_form_html_original_<?php echo $message_id; ?>" value=""
|
355 |
+
placeholder="<?php _e( 'Paste HTML / shortcode of your form here...', 'icegram' ); ?>"><?php if ( isset( $form_html_original ) ) {
|
356 |
+
echo esc_attr( $form_html_original );
|
357 |
+
} ?></textarea>
|
358 |
+
<br>
|
359 |
+
<label class="message_label"> </label>
|
360 |
+
<label style="font-size:.9em;"><input class="message_form_has_label" type="checkbox" name="message_data[<?php echo $message_id; ?>][form_has_label]" value="yes" <?php echo $form_has_label ?> />
|
361 |
+
<?php _e( 'Show labels above fields', 'icegram' ); ?></label>
|
362 |
+
</p>
|
363 |
+
|
364 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>">
|
365 |
+
<label class="message_label"> </label>
|
366 |
+
<textarea class="message_field message_form_footer" rows="2" autocomplete="off" cols="65" name="message_data[<?php echo $message_id; ?>][form_footer]" id="" value="" placeholder="<?php _e( 'Text / HTML to show after the form', 'icegram' ); ?>"><?php echo esc_attr( $form_footer ); ?></textarea>
|
367 |
+
</p>
|
368 |
+
<div class="form_inline_shortcode campaign_shortcode light message_row <?php echo "ig_" . implode( ' ig_', $settings['embed_form'] ) ?>" style="font-size:.9em;display:inline;">
|
369 |
+
<?php echo __( 'Insert <code>[ig_form]</code> where you want to show this form in message body.', 'icegram' ); ?>
|
370 |
+
</div>
|
371 |
+
</div>
|
372 |
+
|
373 |
+
<!-- Embed Form options : End -->
|
374 |
|
375 |
<?php
|
376 |
|
377 |
+
$show_cta_actions = array_merge( $settings['label'], $settings['link'] );
|
378 |
+
$show_only_link = array_diff( $settings['link'], $settings['label'] );
|
379 |
+
|
380 |
?>
|
381 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $show_cta_actions ) ?>">
|
382 |
+
<label for="message_label" class="message_label">
|
383 |
+
<strong>
|
384 |
+
<span class="message_row <?php echo "ig_" . implode( ' ig_', $settings['label'] ) ?>"> <?php _e( 'Call To Action', 'icegram' ); ?> </span>
|
385 |
+
<span class="message_row <?php echo "ig_" . implode( ' ig_', $show_only_link ) ?>"> <?php _e( 'Call To Action', 'icegram' ); ?> </span>
|
386 |
+
</strong>
|
387 |
+
</label>
|
388 |
+
<span class="message_row option_title <?php echo "ig_" . implode( ' ig_', $settings['label'] ) ?>"><?php _e( "Main Call To Action Button", "icegram" ); ?></span>
|
389 |
+
</p>
|
390 |
+
|
391 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $settings['label'] ) ?>">
|
392 |
+
<label for="message_label" class="message_label">
|
393 |
+
<span class="help_tip admin_field_icon" data-tip="<?php _e( 'Your call to action text. Something unusual will increase conversions.', 'icegram' ); ?>"></span>
|
394 |
+
</label><span class="message_row <?php echo "ig_" . implode( ' ig_', $settings['label'] ) ?>"><span class="message_label sub_option_label"><?php _e( "Label", "icegram" ); ?></span>
|
395 |
+
<input type="text" class="message_field" name="message_data[<?php echo $message_id; ?>][label]" id="message_label" value="<?php if ( isset( $message_data['label'] ) ) {
|
396 |
+
echo esc_attr( $message_data['label'] );
|
397 |
+
} ?>"/> </span>
|
398 |
+
</p>
|
399 |
|
400 |
<?php
|
401 |
+
do_action( 'icegram_after_button_label', $message_id, $message_data );
|
402 |
+
?>
|
403 |
<?php
|
404 |
|
405 |
+
$target_link_field = '<p class="message_row ig_' . implode( ' ig_', $settings['link'] ) . '">
|
406 |
+
<span class="message_row ig_' . implode( ' ig_', $settings['label'] ) . '">
|
407 |
<label for="message_link" class="message_label">
|
408 |
+
<span class="help_tip admin_field_icon" data-tip="' . __( 'Enter destination URL here. Clicking will redirect to this link.', 'icegram' ) . '"></span>
|
409 |
</label>
|
410 |
</span>
|
411 |
+
<span class="message_row ig_' . implode( ' ig_', $show_only_link ) . '">
|
412 |
+
<span style="float:left" class="help_tip admin_field_icon" data-tip="' . __( 'Enter destination URL here. Clicking will redirect to this link.', 'icegram' ) . '"></span>
|
413 |
</span>
|
414 |
+
<span class="message_label sub_option_label">' . __( "Target Link", "icegram" ) . '</span>
|
415 |
+
<input type="text" class="message_field message_link" name="message_data[' . $message_id . '][link]"
|
416 |
+
id="message_link" value="' . esc_attr( ( isset( $message_data['link'] ) ? $message_data['link'] : '' ) ) . '" />
|
417 |
+
</p>';
|
418 |
|
419 |
+
$target_link_field .= '<p class="message_row ig_' . implode( ' ig_', $settings["link"] ) . '">
|
420 |
<label for="message" class="message_label"> </label>
|
421 |
+
<label style="color:#BBB;"> <input type="checkbox" disabled checked="checked"/>' . __( "Open in new tab ", "icegram" ) . '</label>
|
422 |
<span>
|
423 |
+
<a href="https://www.icegram.com/documentation/how-to-open-cta-link-in-a-new-tab-using-icegram/?utm_source=ig_field&utm_medium=ig_inapp_promo&utm_campaign=ig_inapp_promo" target="_blank">' . __( "How to do this?", "icegram" ) . '</a>
|
424 |
</span>
|
425 |
</p>';
|
426 |
+
$icegram_message_target_link = apply_filters( 'icegram_message_field_link', array( 'html' => $target_link_field, 'message_id' => $message_id, 'message_data' => $message_data, 'settings' => $settings ) );
|
427 |
echo $icegram_message_target_link['html'];
|
428 |
?>
|
429 |
+
<p class="message_row <?php echo "ig_" . implode( ' ig_', $show_cta_actions ) ?>">
|
430 |
+
<label for="message_label" class="message_label"> </label>
|
431 |
+
<span class="ig_admin_hr"> </span>
|
432 |
+
</p>
|
433 |
+
|
434 |
+
<?php
|
435 |
+
$text_color = ( ! empty( $message_data['text_color'] ) ) ? $message_data['text_color'] : '';
|
436 |
+
$bg_color = ( ! empty( $message_data['bg_color'] ) ) ? $message_data['bg_color'] : '';
|
437 |
+
$cta_bg_color = ( ! empty( $message_data['cta_bg_color'] ) ) ? $message_data['cta_bg_color'] : '';
|
438 |
+
$cta_text_color = ( ! empty( $message_data['cta_text_color'] ) ) ? $message_data['cta_text_color'] : '';
|
439 |
+
$colors_options_check = ( ! empty( $message_data['use_theme_defaults'] ) )
|
440 |
+
? checked( $message_data['use_theme_defaults'], 'yes', 0 )
|
441 |
+
: ( ( ! empty( $bg_color ) || ! empty( $text_color ) || ! empty( $cta_bg_color ) || ! empty( $cta_text_color ) ) ? '' : 'checked="checked"' );
|
442 |
+
|
443 |
+
$show_color_options = ( ! empty( $colors_options_check ) ) ? 'style="display: none;"' : '';
|
444 |
+
$color_field_html = '<p class="message_row ig_' . implode( ' ig_', $settings['bg_color'] ) . '">
|
445 |
<label for="message_bg_color" class="message_label"> </label>
|
446 |
+
<span class="message_label sub_option_label" > ' . __( 'Body', 'icegram' ) . '</span>
|
447 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Background', 'icegram' ) . '" name="message_data[' . $message_id . '][bg_color]" id="message_bg_color" value="' . $bg_color . '" />
|
448 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Text', 'icegram' ) . '" name="message_data[' . $message_id . '][text_color]" id="message_text_color" value="' . $text_color . '" />
|
449 |
</p>
|
450 |
+
<p class="message_row ig_' . implode( ' ig_', $settings['label'] ) . '">
|
451 |
<label for="message_cta_bg_color" class="message_label"> </label>
|
452 |
+
<span class="message_label sub_option_label" >' . __( 'Button', 'icegram' ) . '</span>
|
453 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Background', 'icegram' ) . '" name="message_data[' . $message_id . '][cta_bg_color]" id="message_cta_bg_color" value="' . $cta_bg_color . '" />
|
454 |
+
<input type="text" class="message_field color-field" data-color-label="' . __( 'Text', 'icegram' ) . '" name="message_data[' . $message_id . '][cta_text_color]" id="message_cta_text_color" value="' . $cta_text_color . '" />
|
455 |
</p>';
|
456 |
+
// </div>';
|
457 |
+
$color_field = apply_filters( 'icegram_color_fields', array( 'html' => $color_field_html, 'message_id' => $message_id, 'message_data' => $message_data, 'settings' => $settings ) );
|
458 |
+
$color_field_html = '<div class="message_colors_options_container" ' . $show_color_options . '>' . $color_field['html'] . '</div>';
|
459 |
|
460 |
+
$colors_options_html = '<p class="message_row ig_' . implode( ' ig_', $settings['bg_color'] ) . '">
|
461 |
+
<label for="message_use_theme_defaults" class="message_label"><strong>' . __( 'Colors', 'icegram' ) . '</strong></label> <label >
|
462 |
+
<input class="show_color_options" type="checkbox" name="message_data[' . $message_id . '][use_theme_defaults]" id="message_use_theme_defaults" value="yes" ' . $colors_options_check . '/> ' . __( 'Use theme\'s default colors', 'icegram' ) . '</label> ' . $color_field_html . '
|
463 |
</p>';
|
464 |
echo $colors_options_html;
|
465 |
|
466 |
?>
|
467 |
+
<p class="message_row position <?php echo "ig_" . implode( ' ig_', $settings['position'] ) ?>">
|
468 |
+
<label for="message_position" class="message_label"><strong><?php _e( 'Position', 'icegram' ); ?></strong></label>
|
469 |
+
<span class="message_field location-selector message_label">
|
470 |
+
<input type="radio" id="radio01_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="00" <?php echo ( ! empty( $message_data['position'] ) && "00" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
471 |
+
<label for="radio01_<?php echo $message_id; ?>" title="Top Left">
|
472 |
+
<span class="location <?php if ( ! empty( $positions['00'] ) ) {
|
473 |
+
echo "ig_" . implode( ' ig_', $positions['00'] );
|
474 |
+
} ?> top left" data-position="top left"></span>
|
475 |
</label>
|
476 |
+
<input type="radio" id="radio02_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="01" <?php echo ( ! empty( $message_data['position'] ) && "01" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
477 |
+
<label for="radio02_<?php echo $message_id; ?>" title="Top">
|
478 |
+
<span class="location <?php if ( ! empty( $positions['01'] ) ) {
|
479 |
+
echo "ig_" . implode( ' ig_', $positions['01'] );
|
480 |
+
} ?> top" data-position="top"></span>
|
481 |
</label>
|
482 |
+
<input type="radio" id="radio03_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="02" <?php echo ( ! empty( $message_data['position'] ) && "02" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
483 |
+
<label for="radio03_<?php echo $message_id; ?>" title="Top Right">
|
484 |
+
<span class="location <?php if ( ! empty( $positions['02'] ) ) {
|
485 |
+
echo "ig_" . implode( ' ig_', $positions['02'] );
|
486 |
+
} ?> top right" data-position="top right"></span>
|
487 |
</label>
|
488 |
+
<input type="radio" id="radio04_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="10" <?php echo ( ! empty( $message_data['position'] ) && "10" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
489 |
+
<label for="radio04_<?php echo $message_id; ?>" title="Middle Left">
|
490 |
+
<span class="location <?php if ( ! empty( $positions['10'] ) ) {
|
491 |
+
echo "ig_" . implode( ' ig_', $positions['10'] );
|
492 |
+
} ?> middle left" data-position="middle left"></span>
|
493 |
</label>
|
494 |
+
<input type="radio" id="radio05_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="11" <?php echo ( ! empty( $message_data['position'] ) && "11" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
495 |
+
<label for="radio05_<?php echo $message_id; ?>" title="Middle">
|
496 |
+
<span class="location <?php if ( ! empty( $positions['11'] ) ) {
|
497 |
+
echo "ig_" . implode( ' ig_', $positions['11'] );
|
498 |
+
} ?> middle middle" data-position="middle middle"></span>
|
499 |
</label>
|
500 |
+
<input type="radio" id="radio06_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="12" <?php echo ( ! empty( $message_data['position'] ) && "12" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
501 |
+
<label for="radio06_<?php echo $message_id; ?>" title="Middle Right">
|
502 |
+
<span class="location <?php if ( ! empty( $positions['12'] ) ) {
|
503 |
+
echo "ig_" . implode( ' ig_', $positions['12'] );
|
504 |
+
} ?> middle right" data-position="middle right"></span>
|
505 |
</label>
|
506 |
+
<input type="radio" id="radio07_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="20" <?php echo ( ! empty( $message_data['position'] ) && "20" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
507 |
+
<label for="radio07_<?php echo $message_id; ?>" title="Bottom Left">
|
508 |
+
<span class="location <?php if ( ! empty( $positions['20'] ) ) {
|
509 |
+
echo "ig_" . implode( ' ig_', $positions['20'] );
|
510 |
+
} ?> bottom left" data-position="bottom left"></span>
|
511 |
</label>
|
512 |
+
<input type="radio" id="radio08_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="21" <?php echo ( ! empty( $message_data['position'] ) && "21" == $message_data['position'] || ! isset( $message_data['position'] ) ) ? 'checked' : ''; ?> />
|
513 |
+
<label for="radio08_<?php echo $message_id; ?>" title="Bottom">
|
514 |
+
<span class="location <?php if ( ! empty( $positions['21'] ) ) {
|
515 |
+
echo "ig_" . implode( ' ig_', $positions['21'] );
|
516 |
+
} ?> bottom" data-position="bottom"></span>
|
517 |
</label>
|
518 |
+
<input type="radio" id="radio09_<?php echo $message_id; ?>" name="message_data[<?php echo $message_id; ?>][position][ig_default]" value="22" <?php echo ( ! empty( $message_data['position'] ) && "22" == $message_data['position'] ) ? 'checked' : ''; ?> />
|
519 |
+
<label for="radio09_<?php echo $message_id; ?>" title="Bottom Right">
|
520 |
+
<span class="location <?php if ( ! empty( $positions['22'] ) ) {
|
521 |
+
echo "ig_" . implode( ' ig_', $positions['22'] );
|
522 |
+
} ?> bottom right" data-position="bottom right"></span>
|
523 |
</label>
|
524 |
</span>
|
525 |
+
</p>
|
526 |
<?php
|
527 |
+
do_action( 'icegram_after_message_settings', $message_id, $message_data );
|
528 |
?>
|
529 |
+
<!-- Custom code -->
|
530 |
<?php
|
531 |
+
$dummy_css = '#ig_this_message .ig_headline{ /* font-size: 3em !important; */ }';
|
532 |
+
$dummy_js = '<script type="text/javascript"> /* add your js code here */ </script>';
|
533 |
+
$message_custom_css = ( ! empty( $message_data['custom_css'] ) ) ? $message_data['custom_css'] : $dummy_css;
|
534 |
+
$message_custom_js = ( ! empty( $message_data['custom_js'] ) ) ? $message_data['custom_js'] : $dummy_js;
|
535 |
+
$use_custom_code_check = ( ! empty( $message_data['use_custom_code'] ) )
|
536 |
+
? checked( $message_data['use_custom_code'], 'yes', 0 )
|
537 |
+
: '';
|
538 |
+
$show_custom_code_options = empty( $use_custom_code_check ) ? 'style="display:none;"' : '';
|
539 |
|
540 |
?>
|
541 |
+
<p class="message_row message_custom_code_options_check <?php echo "ig_" . implode( ' ig_', $settings['custom_code'] ) ?>" message_id="<?php echo $message_id; ?>">
|
542 |
+
<label for="message_custom_code" class="message_label"><strong><?php _e( 'Custom Code', 'icegram' ); ?></strong></label>
|
543 |
+
<label><input class="show_custom_code_options" type="checkbox" name="message_data[<?php echo $message_id; ?>][use_custom_code]" id="message_use_custom_code" value="yes" <?php echo $use_custom_code_check ?>/> <?php _e( 'Add custom code for this message', 'icegram' ); ?></label>
|
544 |
+
</p>
|
545 |
+
<div class="message_custom_code_options" <?php echo $show_custom_code_options; ?> message_id="<?php echo $message_id; ?>">
|
546 |
+
<label class="message_label"> </label>
|
547 |
+
<span class="message_label"> <?php _e( 'CSS', 'icegram' ); ?></span>
|
548 |
+
<br>
|
549 |
+
<label class="message_label"> </label>
|
550 |
+
<textarea class="message_field message_custom_css" rows="6" autocomplete="off" cols="65" name="message_data[<?php echo $message_id; ?>][custom_css]" id="message_message_custom_css_<?php echo $message_id; ?>" value=""
|
551 |
+
placeholder="<?php //_e('Add Custom CSS for this message here...', 'icegram' ); ?>"><?php if ( isset( $message_custom_css ) ) {
|
552 |
+
echo esc_attr( $message_custom_css );
|
553 |
+
} ?></textarea>
|
554 |
+
<br>
|
555 |
+
<label class="message_label"> </label>
|
556 |
+
<span class="message_label"> <?php _e( 'JS', 'icegram' ); ?></span>
|
557 |
+
<br>
|
558 |
+
<label class="message_label"> </label>
|
559 |
+
<textarea class="message_field message_custom_js" rows="6" autocomplete="off" cols="65" name="message_data[<?php echo $message_id; ?>][custom_js]" id="message_message_custom_js_<?php echo $message_id; ?>" value=""
|
560 |
+
placeholder="<?php _e( 'Add Custom javaScript for this message here...', 'icegram' ); ?>"><?php if ( isset( $message_custom_js ) ) {
|
561 |
+
echo esc_attr( $message_custom_js );
|
562 |
+
} ?></textarea>
|
563 |
+
</div>
|
564 |
+
|
565 |
+
<!-- Custom code : End -->
|
566 |
+
</div>
|
567 |
+
<input type="hidden" name="message_data[<?php echo $message_id; ?>][id]" value="<?php echo $message_id; ?>">
|
568 |
+
<input type="hidden" class="message_id" name="message_id" value="<?php echo $message_id; ?>">
|
569 |
<?php
|
570 |
|
571 |
+
if ( ! empty( $action['message_id'] ) ) {
|
572 |
?></div>
|
573 |
<?php
|
574 |
} else {
|
575 |
+
|
576 |
?>
|
577 |
+
<p class="message_row">
|
578 |
+
<label class="message_label"> </label>
|
579 |
+
<span>
|
580 |
<span class="shortcode_description admin_field_icon"></span>
|
581 |
+
<?php
|
582 |
+
echo sprintf( __( 'You may add <code>[%s]</code> where you want to show this message.', 'icegram' ), 'icegram messages="' . $post->ID . '"' );
|
583 |
?>
|
584 |
</span></p>
|
585 |
<?php
|
590 |
// Used to save the settings which are being made in the message form and added to message page appropriately
|
591 |
function update_message_settings( $post_id, $post ) {
|
592 |
|
593 |
+
if ( empty( $post_id ) || empty( $post ) || empty( $_POST['message_data'] ) || empty( $_POST['message_data'][ $post_id ] ) ) {
|
594 |
+
return;
|
595 |
+
}
|
596 |
+
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
597 |
+
return;
|
598 |
+
}
|
599 |
+
if ( is_int( wp_is_post_revision( $post ) ) ) {
|
600 |
+
return;
|
601 |
+
}
|
602 |
+
if ( is_int( wp_is_post_autosave( $post ) ) ) {
|
603 |
+
return;
|
604 |
+
}
|
605 |
+
if ( empty( $_POST['icegram_message_meta_nonce'] ) || ! wp_verify_nonce( $_POST['icegram_message_meta_nonce'], 'icegram_message_save_data' ) ) {
|
606 |
+
return;
|
607 |
+
}
|
608 |
+
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
609 |
+
return;
|
610 |
+
}
|
611 |
+
if ( $post->post_type != 'ig_message' ) {
|
612 |
+
return;
|
613 |
+
}
|
614 |
|
615 |
+
$message_data = $_POST['message_data'][ $post_id ];
|
616 |
+
$type = $message_data['type'];
|
617 |
|
618 |
+
if ( isset( $message_data['theme'][ $type ] ) ) {
|
619 |
+
$message_data['theme'] = $message_data['theme'][ $type ];
|
620 |
} else {
|
621 |
unset( $message_data['theme'] );
|
622 |
}
|
623 |
+
if ( isset( $message_data['animation'][ $type ] ) ) {
|
624 |
+
$message_data['animation'] = $message_data['animation'][ $type ];
|
625 |
} else {
|
626 |
unset( $message_data['animation'] );
|
627 |
}
|
628 |
+
if ( isset( $message_data['position'][ $type ] ) ) {
|
629 |
+
$message_data['position'] = $message_data['position'][ $type ];
|
630 |
+
} elseif ( isset( $message_data['position']['ig_default'] ) ) {
|
631 |
$message_data['position'] = $message_data['position']['ig_default'];
|
632 |
}
|
633 |
|
634 |
$message_data = apply_filters( 'icegram_update_message_data', $message_data, $post_id );
|
635 |
update_post_meta( $post_id, 'icegram_message_data', $message_data );
|
636 |
+
update_post_meta( $post_id, 'icegram_message_preview_data', $message_data );
|
637 |
+
|
638 |
}
|
639 |
|
640 |
// Additionally save message body content in post_content of post table
|
641 |
function save_message_in_post_content( $post_data ) {
|
642 |
|
643 |
+
if ( ! empty( $_POST['post_type'] ) && $_POST['post_type'] == 'ig_message' && ! empty( $_POST['message_data'] ) ) {
|
644 |
+
$message_id = $_POST['ID'];
|
645 |
+
$post_data['post_content'] = $_POST['message_data'][ $message_id ]['message'];
|
|
|
|
|
646 |
|
647 |
+
if ( isset( $_POST['message_data'][ $message_id ]['post_title'] ) ) {
|
648 |
+
|
649 |
+
if ( ! empty( $_POST['message_data'][ $message_id ]['post_title'] ) ) {
|
650 |
+
$post_data['post_title'] = $_POST['message_data'][ $message_id ]['post_title'];
|
651 |
} else {
|
652 |
+
$post_data['post_title'] = $_POST['message_data'][ $message_id ]['headline'];
|
653 |
}
|
654 |
+
|
655 |
}
|
656 |
+
}
|
657 |
+
|
658 |
return $post_data;
|
659 |
}
|
660 |
|
663 |
|
664 |
$date = $existing_columns['date'];
|
665 |
unset( $existing_columns['date'] );
|
666 |
+
|
667 |
+
$existing_columns['message_type'] = __( 'Type', 'icegram' );
|
668 |
+
$existing_columns['message_theme'] = __( 'Theme', 'icegram' );
|
669 |
+
$existing_columns['message_thumbnail'] = __( 'Thumbnail', 'icegram' );
|
670 |
+
$existing_columns['date'] = $date;
|
671 |
|
672 |
return apply_filters( 'icegram_manage_message_columns', $existing_columns );
|
673 |
|
675 |
|
676 |
// Add message columns data to message dashboard
|
677 |
function custom_columns( $column ) {
|
678 |
+
global $post, $icegram;
|
679 |
|
680 |
+
if ( ( is_object( $post ) && $post->post_type != 'ig_message' ) ) {
|
681 |
return;
|
682 |
+
}
|
683 |
|
684 |
+
$message_data = get_post_meta( $post->ID, 'icegram_message_data', true );
|
685 |
if ( empty( $message_data['type'] ) ) {
|
686 |
return;
|
687 |
}
|
688 |
+
$class_name = 'Icegram_Message_Type_' . str_replace( ' ', '_', ucwords( str_replace( '-', ' ', $message_data['type'] ) ) );
|
689 |
+
if ( ! class_exists( $class_name ) ) {
|
690 |
+
return;
|
691 |
+
}
|
692 |
+
$type = ucwords( str_replace( "-", ' ', $message_data['type'] ) );
|
693 |
+
$theme = ucwords( str_replace( "-", ' ', $message_data['theme'] ) );
|
694 |
+
|
695 |
+
$bg_img = $icegram->message_types[ $message_data['type'] ]['themes'][ $message_data['theme'] ]['baseurl'] . $message_data['theme'] . ".png";
|
696 |
+
|
697 |
+
switch ( $column ) {
|
698 |
case 'message_type':
|
699 |
+
echo esc_attr( $type );
|
700 |
break;
|
701 |
|
702 |
case 'message_theme':
|
703 |
+
echo esc_attr( $theme );
|
704 |
break;
|
705 |
|
706 |
case 'message_thumbnail':
|
707 |
// echo "<img src='$bg_img' style='max-width: 200px; max-height: 100px;'>";
|
708 |
+
echo "<img src='" . esc_attr( $bg_img ) . "' style='max-width: 100%; max-height: 100px;'>";
|
709 |
break;
|
710 |
|
711 |
default:
|
712 |
do_action( 'icegram_manage_message_custom_column', $column, $message_data );
|
713 |
break;
|
714 |
+
|
715 |
}
|
716 |
|
717 |
}
|
723 |
$settings = array();
|
724 |
foreach ( $icegram->message_types as $type => $value ) {
|
725 |
foreach ( $value['settings'] as $setting => $property ) {
|
726 |
+
$settings[ $setting ][] = $type;
|
727 |
}
|
728 |
}
|
729 |
+
|
730 |
return apply_filters( 'icegram_message_settings_to_show', $settings );
|
731 |
|
732 |
}
|
737 |
global $icegram;
|
738 |
$form_layouts = array();
|
739 |
foreach ( $icegram->message_types as $type => $value ) {
|
740 |
+
if ( empty( $value['settings']['form_layout'] ) ) {
|
741 |
continue;
|
742 |
+
}
|
743 |
|
744 |
+
if ( ! empty( $value['settings']['form_layout']['values'] ) ) {
|
745 |
foreach ( $value['settings']['form_layout']['values'] as $form_layout ) {
|
746 |
+
$form_layouts[ $form_layout ][] = $type;
|
747 |
+
}
|
748 |
}
|
749 |
}
|
750 |
+
|
751 |
// return apply_filters( 'icegram_message_form_layouts_to_show', $form_layouts );
|
752 |
return $form_layouts;
|
753 |
|
760 |
global $icegram;
|
761 |
$positions = array();
|
762 |
foreach ( $icegram->message_types as $type => $value ) {
|
763 |
+
if ( empty( $value['settings']['position'] ) ) {
|
764 |
continue;
|
765 |
+
}
|
766 |
|
767 |
+
if ( ! empty( $value['settings']['position']['values'] ) ) {
|
768 |
foreach ( $value['settings']['position']['values'] as $position ) {
|
769 |
+
$positions[ $position ][] = $type;
|
770 |
+
}
|
771 |
}
|
772 |
}
|
773 |
+
|
774 |
return apply_filters( 'icegram_message_positions_to_show', $positions );
|
775 |
|
776 |
}
|
777 |
+
|
778 |
// Default message data for newly created message
|
779 |
function default_message_data( $message_type = '' ) {
|
780 |
|
781 |
global $icegram;
|
782 |
$default_themes = array();
|
783 |
foreach ( $icegram->message_types as $type => $value ) {
|
784 |
+
if ( isset( $value['settings']['theme']['default'] ) ) {
|
785 |
+
$default_themes[ $type ] = $value['settings']['theme']['default'];
|
786 |
}
|
787 |
}
|
788 |
+
if ( ! empty( $message_type ) ) {
|
789 |
+
$default_message = $icegram->message_types[ $message_type ];
|
790 |
} else {
|
791 |
+
$default_message = reset( $icegram->message_types );
|
792 |
}
|
793 |
+
$default_message_data = array(
|
794 |
+
'type' => $default_message['type'],
|
795 |
+
'position' => ( ! empty( $default_message['settings']['position']['values'][0] ) ) ? $default_message['settings']['position']['values'][0] : '',
|
796 |
+
'text_color' => ( ! empty( $default_message['settings']['text_color']['default'] ) ) ? $default_message['settings']['text_color']['default'] : '',
|
797 |
+
'bg_color' => ( ! empty( $default_message['settings']['bg_color']['default'] ) ) ? $default_message['settings']['bg_color']['default'] : '',
|
798 |
+
'theme' => $default_themes
|
799 |
+
);
|
800 |
+
|
801 |
return apply_filters( 'icegram_default_message_data', $default_message_data );
|
802 |
}
|
803 |
|
804 |
// Form styles for the form
|
805 |
//TODO :: check this and do changes if required
|
806 |
+
function available_form_styles() {
|
807 |
$available_form_styles = array(
|
808 |
+
array( 'name' => 'Style 0' ),
|
809 |
+
array( 'name' => 'Style 1' ),
|
810 |
+
array( 'name' => 'Style 2' ),
|
811 |
+
array( 'name' => 'Style 3' ),
|
812 |
+
array( 'name' => 'Style 4' )
|
813 |
+
);
|
814 |
+
|
815 |
return $available_form_styles;
|
816 |
}
|
817 |
+
|
818 |
// All headline to generate randomly for messages
|
819 |
function available_headlines( $available_headlines = array() ) {
|
820 |
$available_headlines = array_merge( $available_headlines, array(
|
821 |
+
__( 'Here Is A Method That Is Helping ____ To ____', 'icegram' ),
|
822 |
+
__( '__ Little Known Ways To ____', 'icegram' ),
|
823 |
+
__( 'Get Rid Of ____ Once And For All', 'icegram' ),
|
824 |
+
__( 'How To ____ So You Can ____', 'icegram' ),
|
825 |
+
__( 'They Didn\'t Think I Could ____, But I Did', 'icegram' ),
|
826 |
+
__( 'How ____ Made Me ____', 'icegram' ),
|
827 |
+
__( 'Are You ____ ?', 'icegram' ),
|
828 |
+
__( 'Warning: ____ !', 'icegram' ),
|
829 |
+
__( 'Do You Make These Mistakes With ____ ?', 'icegram' ),
|
830 |
+
__( '7 Ways To ____', 'icegram' ),
|
831 |
+
__( 'If You\'re ____, You Can ____', 'icegram' ),
|
832 |
+
__( 'Turn your ____ into a ____', 'icegram' ),
|
833 |
+
__( 'Want To Be A ____?', 'icegram' ),
|
834 |
+
__( 'The Ugly Truth About Your Beautiful ____', 'icegram' ),
|
835 |
+
__( 'The Secret to ____ Is Simply ____!', 'icegram' ),
|
836 |
+
__( 'The Quickest Way I Know To ____', 'icegram' ),
|
837 |
+
__( 'The Lazy Man\'s Way To ____', 'icegram' ),
|
838 |
+
__( 'The Amazing Story Of ____ That Requires So Little Of ____ You Could ____', 'icegram' ),
|
839 |
+
__( 'The Amazing Secret Of The ____ Genius Who Is Afraid Of ____', 'icegram' ),
|
840 |
+
__( 'The 10 Wackiest Ideas That ____... And How You Can Too!', 'icegram' ),
|
841 |
+
__( 'The Inside Secrets To ____ With Crazy, Outlandish And Outrageous ____', 'icegram' ),
|
842 |
+
__( '____ Like A ____', 'icegram' ),
|
843 |
+
__( 'Remember When You Could Have ____, And You Didn\'t?', 'icegram' ),
|
844 |
+
__( 'Is The ____ Worth $x To You?', 'icegram' ),
|
845 |
+
__( 'Increase your ____, reduce ____, maintain ____ and ____ with ____', 'icegram' ),
|
846 |
+
__( 'If You Can ____ You Can ____', 'icegram' ),
|
847 |
+
__( 'I Discovered How To ____... Now I\'m Revealing My Secret', 'icegram' ),
|
848 |
+
__( 'How To Turn Your ____ Into The Most ____', 'icegram' ),
|
849 |
+
__( 'How To Take The Headache Out Of ____', 'icegram' ),
|
850 |
+
__( 'How To ____ ... Legally', 'icegram' ),
|
851 |
+
__( 'How To ____ That ____', 'icegram' ),
|
852 |
+
__( 'How To Discover The ____ That Lies Hidden In Your ____', 'icegram' ),
|
853 |
+
__( 'How To ____ Even When Your Not ____', 'icegram' ),
|
854 |
+
__( '____ With No ____!', 'icegram' ),
|
855 |
+
__( 'Greatest Goldmine of ____ Ever Jammed Into One Big ____', 'icegram' ),
|
856 |
+
__( 'Free ____ Tells How To Get Better ____', 'icegram' ),
|
857 |
+
__( 'FREE ____ Worth $____ for the first 100 People to take Advantage of this Offer', 'icegram' ),
|
858 |
+
__( 'Don\'t Try This With Any Other ____', 'icegram' ),
|
859 |
+
__( 'Do You Honestly Want To ____?', 'icegram' ),
|
860 |
+
__( 'Discover The Magic ____ That Will Bring You ____ & ____!', 'icegram' ),
|
861 |
+
__( '____ Man Reveals A Short-Cut To ____', 'icegram' ),
|
862 |
+
__( 'Confessions Of A ____', 'icegram' ),
|
863 |
+
__( 'Are You Ready To ____?', 'icegram' ),
|
864 |
+
__( 'An Open Letter To Everyone Who ____ More Than ____ Per ____', 'icegram' ),
|
865 |
+
__( 'An Amazing ____ You Can Carry In Your ____', 'icegram' ),
|
866 |
+
__( '21 Secret ____ that will ____... NOW!', 'icegram' )
|
867 |
+
) );
|
868 |
+
|
869 |
return $available_headlines;
|
870 |
}
|
871 |
|
872 |
+
function add_message_action( $actions, $post ) {
|
873 |
+
if ( $post->post_type != 'ig_message' ) {
|
874 |
+
return $actions;
|
875 |
+
}
|
876 |
+
$actions['duplicate_message'] = '<a class="ig-duplicate-message" href="post.php?message_id=' . $post->ID . '&action=duplicate-message" >' . __( 'Duplicate', 'icegram' ) . '</a>';
|
877 |
+
|
878 |
return $actions;
|
879 |
}
|
880 |
|
881 |
+
function duplicate_message() {
|
882 |
+
if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'duplicate-message' && ! empty( $_REQUEST['message_id'] ) ) {
|
883 |
Icegram::duplicate( $_REQUEST['message_id'] );
|
884 |
}
|
885 |
}
|
classes/feedback/class-ig-feedback.php
CHANGED
@@ -4,21 +4,21 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
-
if ( ! class_exists( '
|
8 |
/**
|
9 |
* IG Feedback
|
10 |
*
|
11 |
* The IG Feedback class adds functionality to get quick interactive feedback from users.
|
12 |
* There are different types of feedabck widget like Stars, Emoji, Thubms Up/ Down, Number etc.
|
13 |
*
|
14 |
-
* @class
|
15 |
* @since 1.0.0
|
16 |
* @copyright Copyright (c) 2019, Icegram
|
17 |
* @license https://opensource.org/licenses/gpl-license GNU Public License
|
18 |
* @author Icegram
|
19 |
* @package feedback
|
20 |
*/
|
21 |
-
class
|
22 |
|
23 |
/**
|
24 |
* Version of Feedback Library
|
@@ -27,7 +27,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
27 |
* @var string
|
28 |
*
|
29 |
*/
|
30 |
-
public $version = '1.0.
|
31 |
/**
|
32 |
* The API URL where we will send feedback data.
|
33 |
*
|
@@ -217,7 +217,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
217 |
if ( ! empty( $url ) ) {
|
218 |
?>
|
219 |
|
220 |
-
|
221 |
|
222 |
<?php
|
223 |
}
|
@@ -255,33 +255,33 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
255 |
|
256 |
?>
|
257 |
|
258 |
-
|
259 |
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
|
284 |
-
|
285 |
|
286 |
<?php
|
287 |
|
@@ -422,7 +422,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
422 |
|
423 |
?>
|
424 |
|
425 |
-
|
426 |
|
427 |
function doSend(rating, details) {
|
428 |
|
@@ -534,7 +534,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
534 |
showWidget(delay);
|
535 |
|
536 |
|
537 |
-
|
538 |
<?php
|
539 |
}
|
540 |
|
@@ -551,14 +551,14 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
551 |
|
552 |
?>
|
553 |
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
|
563 |
<?php
|
564 |
|
@@ -582,15 +582,15 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
582 |
|
583 |
?>
|
584 |
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
|
595 |
<?php
|
596 |
|
@@ -615,25 +615,25 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
615 |
|
616 |
?>
|
617 |
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
|
638 |
<?php
|
639 |
|
@@ -649,7 +649,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
649 |
ob_start();
|
650 |
?>
|
651 |
|
652 |
-
|
653 |
|
654 |
jQuery(document).ready(function ($) {
|
655 |
|
@@ -772,7 +772,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
772 |
});
|
773 |
});
|
774 |
|
775 |
-
|
776 |
|
777 |
|
778 |
<?php
|
@@ -795,7 +795,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
795 |
|
796 |
?>
|
797 |
|
798 |
-
|
799 |
|
800 |
Swal.mixin({
|
801 |
type: 'question',
|
@@ -843,7 +843,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
843 |
|
844 |
});
|
845 |
|
846 |
-
|
847 |
|
848 |
<?php
|
849 |
}
|
@@ -882,7 +882,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
882 |
$event = $this->event_prefix . 'plugin.deactivation';
|
883 |
|
884 |
?>
|
885 |
-
|
886 |
jQuery(function ($) {
|
887 |
var $deactivateLink = $('#the-list').find('[data-slug="<?php echo $this->plugin; ?>"] span.deactivate a'),
|
888 |
$overlay = $('#ig-deactivate-survey-<?php echo $this->plugin; ?>'),
|
@@ -1024,7 +1024,7 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
1024 |
}
|
1025 |
});
|
1026 |
});
|
1027 |
-
|
1028 |
<?php
|
1029 |
}
|
1030 |
|
@@ -1039,108 +1039,108 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
1039 |
return;
|
1040 |
}
|
1041 |
?>
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
<?php
|
1145 |
}
|
1146 |
|
@@ -1182,40 +1182,40 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
1182 |
),
|
1183 |
);
|
1184 |
?>
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
<?php foreach ( $options as $id => $option ) : ?>
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
<?php if ( ! empty( $option['details'] ) ) : ?>
|
1198 |
-
|
1199 |
<?php endif; ?>
|
1200 |
-
|
1201 |
<?php endforeach; ?>
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
<?php
|
1220 |
}
|
1221 |
|
@@ -1442,9 +1442,10 @@ if ( ! class_exists( 'IG_Feedback_V_1_0_15' ) ) {
|
|
1442 |
unset( $data['misc'] );
|
1443 |
|
1444 |
$default_meta_info = array(
|
1445 |
-
'plugin'
|
1446 |
-
'locale'
|
1447 |
-
'wp_version'
|
|
|
1448 |
);
|
1449 |
|
1450 |
$meta_info = wp_parse_args( $meta_info, $default_meta_info );
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
+
if ( ! class_exists( 'IG_Feedback_V_1_0_16' ) ) {
|
8 |
/**
|
9 |
* IG Feedback
|
10 |
*
|
11 |
* The IG Feedback class adds functionality to get quick interactive feedback from users.
|
12 |
* There are different types of feedabck widget like Stars, Emoji, Thubms Up/ Down, Number etc.
|
13 |
*
|
14 |
+
* @class IG_Feedback_V_1_0_16
|
15 |
* @since 1.0.0
|
16 |
* @copyright Copyright (c) 2019, Icegram
|
17 |
* @license https://opensource.org/licenses/gpl-license GNU Public License
|
18 |
* @author Icegram
|
19 |
* @package feedback
|
20 |
*/
|
21 |
+
class IG_Feedback_V_1_0_16 {
|
22 |
|
23 |
/**
|
24 |
* Version of Feedback Library
|
27 |
* @var string
|
28 |
*
|
29 |
*/
|
30 |
+
public $version = '1.0.16';
|
31 |
/**
|
32 |
* The API URL where we will send feedback data.
|
33 |
*
|
217 |
if ( ! empty( $url ) ) {
|
218 |
?>
|
219 |
|
220 |
+
<meta http-equiv="refresh" content="0; url=<?php echo $url; ?>"/>
|
221 |
|
222 |
<?php
|
223 |
}
|
255 |
|
256 |
?>
|
257 |
|
258 |
+
<style type="text/css">
|
259 |
|
260 |
+
.ig-feedback-notice-links li {
|
261 |
+
display: inline-block;
|
262 |
+
margin-right: 15px;
|
263 |
+
}
|
264 |
|
265 |
+
.ig-feedback-notice-links li a {
|
266 |
+
display: inline-block;
|
267 |
+
color: #10738b;
|
268 |
+
text-decoration: none;
|
269 |
+
padding-left: 26px;
|
270 |
+
position: relative;
|
271 |
+
}
|
272 |
|
273 |
+
.ig-feedback-notice {
|
274 |
+
display: flex;
|
275 |
+
align-items: center;
|
276 |
+
}
|
277 |
|
278 |
+
.ig-feedback-plugin-icon {
|
279 |
+
style =
|
280 |
+
float: left;
|
281 |
+
margin-right: 0.5em;
|
282 |
+
}
|
283 |
|
284 |
+
</style>
|
285 |
|
286 |
<?php
|
287 |
|
422 |
|
423 |
?>
|
424 |
|
425 |
+
<script>
|
426 |
|
427 |
function doSend(rating, details) {
|
428 |
|
534 |
showWidget(delay);
|
535 |
|
536 |
|
537 |
+
</script>
|
538 |
<?php
|
539 |
}
|
540 |
|
551 |
|
552 |
?>
|
553 |
|
554 |
+
<div class="rating">
|
555 |
+
<!--elements are in reversed order, to allow "previous sibling selectors" in CSS-->
|
556 |
+
<input class="ratings" type="radio" name="rating" value="5" id="5"><label for="5">☆</label>
|
557 |
+
<input class="ratings" type="radio" name="rating" value="4" id="4"><label for="4">☆</label>
|
558 |
+
<input class="ratings" type="radio" name="rating" value="3" id="3"><label for="3">☆</label>
|
559 |
+
<input class="ratings" type="radio" name="rating" value="2" id="2"><label for="2">☆</label>
|
560 |
+
<input class="ratings" type="radio" name="rating" value="1" id="1"><label for="1">☆</label>
|
561 |
+
</div>
|
562 |
|
563 |
<?php
|
564 |
|
582 |
|
583 |
?>
|
584 |
|
585 |
+
<div class="emoji">
|
586 |
+
<!--elements are in reversed order, to allow "previous sibling selectors" in CSS-->
|
587 |
+
<input class="emojis" type="radio" name="rating" value="love" id="5"/><label for="5" class="ig-emoji" data-reaction="Love">😍</label>
|
588 |
+
<input class="emojis" type="radio" name="rating" value="smile" id="4"/><label for="4" class="ig-emoji" data-reaction="Smile">😊</label>
|
589 |
+
<input class="emojis" type="radio" name="rating" value="neutral" id="3"/><label for="3" class="ig-emoji" data-reaction="Neutral">😐</label>
|
590 |
+
<input class="emojis" type="radio" name="rating" value="sad" id="1"/><label for="2" class="ig-emoji" data-reaction="Sad">😠</label>
|
591 |
+
<input class="emojis" type="radio" name="rating" value="angry" id="1"/><label for="1" class="ig-emoji" data-reaction="Angry">😡</label>
|
592 |
+
</div>
|
593 |
+
<div id="emoji-info"></div>
|
594 |
|
595 |
<?php
|
596 |
|
615 |
|
616 |
?>
|
617 |
|
618 |
+
<div class="ig-general-feedback" id="ig-general-feedback-<?php echo $this->plugin; ?>">
|
619 |
+
<form class="ig-general-feedback" id="ig-general-feedback">
|
620 |
+
<p class="ig-feedback-data-name">
|
621 |
+
<label class="ig-label">Name</label><br/>
|
622 |
+
<input type="text" name="feedback_data[name]" id="ig-feedback-data-name" value="<?php echo $params['name']; ?>"/>
|
623 |
+
</p>
|
624 |
+
<p class="ig-feedback-data-email">
|
625 |
+
<label class="ig-label"">Email</label><br/>
|
626 |
+
<input type="email" name="feedback_data[email]" id="ig-feedback-data-email" value="<?php echo $params['email']; ?>"/>
|
627 |
+
</p>
|
628 |
+
<p class="ig-feedback-data-message">
|
629 |
+
<label class="ig-label"">Feedback</label><br/>
|
630 |
+
<textarea name="feedback_data[details]" id="ig-feedback-data-message"></textarea>
|
631 |
+
</p>
|
632 |
+
<p>
|
633 |
+
<input type="checkbox" name="feedback_data[collect_system_info]" checked="checked" id="ig-feedback-data-consent"/><?php echo $params['consent_text']; ?>
|
634 |
+
</p>
|
635 |
+
</form>
|
636 |
+
</div>
|
637 |
|
638 |
<?php
|
639 |
|
649 |
ob_start();
|
650 |
?>
|
651 |
|
652 |
+
<script type="text/javascript">
|
653 |
|
654 |
jQuery(document).ready(function ($) {
|
655 |
|
772 |
});
|
773 |
});
|
774 |
|
775 |
+
</script>
|
776 |
|
777 |
|
778 |
<?php
|
795 |
|
796 |
?>
|
797 |
|
798 |
+
<script>
|
799 |
|
800 |
Swal.mixin({
|
801 |
type: 'question',
|
843 |
|
844 |
});
|
845 |
|
846 |
+
</script>
|
847 |
|
848 |
<?php
|
849 |
}
|
882 |
$event = $this->event_prefix . 'plugin.deactivation';
|
883 |
|
884 |
?>
|
885 |
+
<script type="text/javascript">
|
886 |
jQuery(function ($) {
|
887 |
var $deactivateLink = $('#the-list').find('[data-slug="<?php echo $this->plugin; ?>"] span.deactivate a'),
|
888 |
$overlay = $('#ig-deactivate-survey-<?php echo $this->plugin; ?>'),
|
1024 |
}
|
1025 |
});
|
1026 |
});
|
1027 |
+
</script>
|
1028 |
<?php
|
1029 |
}
|
1030 |
|
1039 |
return;
|
1040 |
}
|
1041 |
?>
|
1042 |
+
<style type="text/css">
|
1043 |
+
.ig-deactivate-survey-modal {
|
1044 |
+
display: none;
|
1045 |
+
table-layout: fixed;
|
1046 |
+
position: fixed;
|
1047 |
+
z-index: 9999;
|
1048 |
+
width: 100%;
|
1049 |
+
height: 100%;
|
1050 |
+
text-align: center;
|
1051 |
+
font-size: 14px;
|
1052 |
+
top: 0;
|
1053 |
+
left: 0;
|
1054 |
+
background: rgba(0, 0, 0, 0.8);
|
1055 |
+
}
|
1056 |
+
|
1057 |
+
.ig-deactivate-survey-wrap {
|
1058 |
+
display: table-cell;
|
1059 |
+
vertical-align: middle;
|
1060 |
+
}
|
1061 |
+
|
1062 |
+
.ig-deactivate-survey {
|
1063 |
+
background-color: #fff;
|
1064 |
+
max-width: 550px;
|
1065 |
+
margin: 0 auto;
|
1066 |
+
padding: 30px;
|
1067 |
+
text-align: left;
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
.ig-deactivate-survey .error {
|
1071 |
+
display: block;
|
1072 |
+
color: red;
|
1073 |
+
margin: 0 0 10px 0;
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
.ig-deactivate-survey-title {
|
1077 |
+
display: block;
|
1078 |
+
font-size: 18px;
|
1079 |
+
font-weight: 700;
|
1080 |
+
text-transform: uppercase;
|
1081 |
+
border-bottom: 1px solid #ddd;
|
1082 |
+
padding: 0 0 18px 0;
|
1083 |
+
margin: 0 0 18px 0;
|
1084 |
+
}
|
1085 |
+
|
1086 |
+
.ig-deactivate-survey-options {
|
1087 |
+
border-bottom: 1px solid #ddd;
|
1088 |
+
padding: 0 0 18px 0;
|
1089 |
+
margin: 0 0 18px 0;
|
1090 |
+
}
|
1091 |
+
|
1092 |
+
.ig-deactivate-survey-info-data {
|
1093 |
+
padding: 0 0 18px 0;
|
1094 |
+
margin: 10px 10px 10px 30px;
|
1095 |
+
}
|
1096 |
+
|
1097 |
+
.ig-deactivate-survey-info-name, .ig-deactivate-survey-info-email-address {
|
1098 |
+
width: 230px;
|
1099 |
+
margin: 10px;
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
.ig-deactivate-survey-title span {
|
1103 |
+
color: #999;
|
1104 |
+
margin-right: 10px;
|
1105 |
+
}
|
1106 |
+
|
1107 |
+
.ig-deactivate-survey-desc {
|
1108 |
+
display: block;
|
1109 |
+
font-weight: 600;
|
1110 |
+
margin: 0 0 18px 0;
|
1111 |
+
}
|
1112 |
+
|
1113 |
+
.ig-deactivate-survey-option {
|
1114 |
+
margin: 0 0 10px 0;
|
1115 |
+
}
|
1116 |
+
|
1117 |
+
.ig-deactivate-survey-option-input {
|
1118 |
+
margin-right: 10px !important;
|
1119 |
+
}
|
1120 |
+
|
1121 |
+
.ig-deactivate-survey-option-details {
|
1122 |
+
display: none;
|
1123 |
+
width: 90%;
|
1124 |
+
margin: 10px 0 0 30px;
|
1125 |
+
}
|
1126 |
+
|
1127 |
+
.ig-deactivate-survey-footer {
|
1128 |
+
margin-top: 18px;
|
1129 |
+
}
|
1130 |
+
|
1131 |
+
.ig-deactivate-survey-deactivate {
|
1132 |
+
float: right;
|
1133 |
+
font-size: 13px;
|
1134 |
+
color: #ccc;
|
1135 |
+
text-decoration: none;
|
1136 |
+
padding-top: 7px;
|
1137 |
+
}
|
1138 |
+
|
1139 |
+
.ig-deactivate-survey-loader {
|
1140 |
+
vertical-align: middle;
|
1141 |
+
padding: 10px;
|
1142 |
+
}
|
1143 |
+
</style>
|
1144 |
<?php
|
1145 |
}
|
1146 |
|
1182 |
),
|
1183 |
);
|
1184 |
?>
|
1185 |
+
<div class="ig-deactivate-survey-modal" id="ig-deactivate-survey-<?php echo $this->plugin; ?>">
|
1186 |
+
<div class="ig-deactivate-survey-wrap">
|
1187 |
+
<form class="ig-deactivate-survey" method="post">
|
1188 |
+
<span class="ig-deactivate-survey-title"><span class="dashicons dashicons-testimonial"></span><?php echo ' ' . esc_html__( 'Quick Feedback', $this->plugin ); ?></span>
|
1189 |
+
<span class="ig-deactivate-survey-desc"><?php echo sprintf( esc_html__( 'If you have a moment, please share why you are deactivating %s:', $this->plugin ), $this->name ); ?></span>
|
1190 |
+
<div class="ig-deactivate-survey-options">
|
1191 |
<?php foreach ( $options as $id => $option ) : ?>
|
1192 |
+
<div class="ig-deactivate-survey-option">
|
1193 |
+
<label for="ig-deactivate-survey-option-<?php echo $this->plugin; ?>-<?php echo $id; ?>" class="ig-deactivate-survey-option-label">
|
1194 |
+
<input id="ig-deactivate-survey-option-<?php echo $this->plugin; ?>-<?php echo $id; ?>" class="ig-deactivate-survey-option-input" type="radio" name="code" value="<?php echo $id; ?>" data-option-slug="<?php echo $option['slug']; ?>"/>
|
1195 |
+
<span class="ig-deactivate-survey-option-reason"><?php echo $option['title']; ?></span>
|
1196 |
+
</label>
|
1197 |
<?php if ( ! empty( $option['details'] ) ) : ?>
|
1198 |
+
<input class="ig-deactivate-survey-option-details" type="text" placeholder="<?php echo $option['details']; ?>"/>
|
1199 |
<?php endif; ?>
|
1200 |
+
</div>
|
1201 |
<?php endforeach; ?>
|
1202 |
+
</div>
|
1203 |
+
<div class="ig-deactivate-survey-help-consent">
|
1204 |
+
<input id="ig-deactivate-survey-help-consent-<?php echo $this->plugin; ?>" class="ig-deactivate-survey-option-input" type="checkbox" name="code" data-option-slug="<?php echo $option['slug']; ?>"/><b>Yes, I give my consent to track plugin usage and contact me back to make this plugin works!</b>
|
1205 |
+
</div>
|
1206 |
+
<div class="ig-deactivate-survey-info-data">
|
1207 |
+
|
1208 |
+
<input type="text" class="ig-deactivate-survey-info-name" id="ig-deactivate-survey-info-name" placeholder="Enter Name" name="ig-deactivate-survey-info-name" value=""/>
|
1209 |
+
<input type="text" class="ig-deactivate-survey-info-email-address" id="ig-deactivate-survey-info-email-address" name="ig-deactivate-survey-info-email-address" value="<?php echo $email; ?>"/>
|
1210 |
+
</div>
|
1211 |
+
<div class="ig-deactivate-survey-footer">
|
1212 |
+
<button type="submit" class="ig-deactivate-survey-submit button button-primary button-large"><?php echo sprintf( esc_html__( 'Submit %s Deactivate', $this->plugin ), '&' ); ?></button>
|
1213 |
+
<img class="ig-deactivate-survey-loader" id="ig-deactivate-survey-loader" src="<?php echo plugin_dir_url( __FILE__ ); ?>/assets/images/loading.gif"/>
|
1214 |
+
<a href="#" class="ig-deactivate-survey-deactivate"><?php echo sprintf( esc_html__( 'Skip %s Deactivate', $this->plugin ), '&' ); ?></a>
|
1215 |
+
</div>
|
1216 |
+
</form>
|
1217 |
+
</div>
|
1218 |
+
</div>
|
1219 |
<?php
|
1220 |
}
|
1221 |
|
1442 |
unset( $data['misc'] );
|
1443 |
|
1444 |
$default_meta_info = array(
|
1445 |
+
'plugin' => sanitize_key( $plugin ),
|
1446 |
+
'locale' => get_locale(),
|
1447 |
+
'wp_version' => get_bloginfo( 'version' ),
|
1448 |
+
'php_version' => PHP_VERSION
|
1449 |
);
|
1450 |
|
1451 |
$meta_info = wp_parse_args( $meta_info, $default_meta_info );
|
classes/feedback/class-ig-tracker.php
CHANGED
@@ -4,15 +4,15 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
-
if ( ! class_exists( '
|
8 |
|
9 |
/**
|
10 |
-
* Class
|
11 |
*
|
12 |
* Icegram tracker handler class is responsible for sending anonymous plugin
|
13 |
* data to Icegram servers for users that actively allowed data tracking.
|
14 |
*
|
15 |
-
* @class
|
16 |
* @since 1.0.0
|
17 |
*
|
18 |
* @copyright Copyright (c) 2019, Icegram
|
@@ -20,7 +20,7 @@ if ( ! class_exists( 'IG_Tracker_V_1_0_15' ) ) {
|
|
20 |
* @author Icegram
|
21 |
* @package feedback
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* Get Active, Inactive or all plugins info
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
+
if ( ! class_exists( 'IG_Tracker_V_1_0_16' ) ) {
|
8 |
|
9 |
/**
|
10 |
+
* Class IG_Tracker_V_1_0_16
|
11 |
*
|
12 |
* Icegram tracker handler class is responsible for sending anonymous plugin
|
13 |
* data to Icegram servers for users that actively allowed data tracking.
|
14 |
*
|
15 |
+
* @class IG_Tracker_V_1_0_16
|
16 |
* @since 1.0.0
|
17 |
*
|
18 |
* @copyright Copyright (c) 2019, Icegram
|
20 |
* @author Icegram
|
21 |
* @package feedback
|
22 |
*/
|
23 |
+
class IG_Tracker_V_1_0_16 {
|
24 |
|
25 |
/**
|
26 |
* Get Active, Inactive or all plugins info
|
icegram.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Icegram - Popups, Optins, CTAs & lot more...
|
4 |
* Plugin URI: https://www.icegram.com/
|
5 |
* Description: All in one solution to inspire, convert and engage your audiences. Action bars, Popup windows, Messengers, Toast notifications and more. Awesome themes and powerful rules.
|
6 |
-
* Version: 1.10.
|
7 |
* Author: icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Copyright (c) 2014-19 Icegram
|
@@ -35,10 +35,10 @@ class Icegram {
|
|
35 |
function __construct() {
|
36 |
global $ig_feedback, $ig_tracker;
|
37 |
|
38 |
-
$feedback_version = '1.0.
|
39 |
$ig_tracker = 'IG_Tracker_V_' . str_replace( '.', '_', $feedback_version );
|
40 |
|
41 |
-
$this->version = "1.10.
|
42 |
$this->shortcode_instances = array();
|
43 |
$this->mode = 'local';
|
44 |
$this->plugin_url = untrailingslashit( plugins_url( '/', __FILE__ ) );
|
3 |
* Plugin Name: Icegram - Popups, Optins, CTAs & lot more...
|
4 |
* Plugin URI: https://www.icegram.com/
|
5 |
* Description: All in one solution to inspire, convert and engage your audiences. Action bars, Popup windows, Messengers, Toast notifications and more. Awesome themes and powerful rules.
|
6 |
+
* Version: 1.10.37
|
7 |
* Author: icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Copyright (c) 2014-19 Icegram
|
35 |
function __construct() {
|
36 |
global $ig_feedback, $ig_tracker;
|
37 |
|
38 |
+
$feedback_version = '1.0.16';
|
39 |
$ig_tracker = 'IG_Tracker_V_' . str_replace( '.', '_', $feedback_version );
|
40 |
|
41 |
+
$this->version = "1.10.37";
|
42 |
$this->shortcode_instances = array();
|
43 |
$this->mode = 'local';
|
44 |
$this->plugin_url = untrailingslashit( plugins_url( '/', __FILE__ ) );
|
readme.txt
CHANGED
@@ -1,146 +1,134 @@
|
|
1 |
-
=== Popups, Welcome Bar,
|
2 |
Contributors: icegram, storeapps, niravmehta, sandhyam, malayladu, putler
|
3 |
Donate link: https://www.icegram.com/
|
4 |
-
Tags: popup,
|
5 |
Requires at least: 3.9
|
6 |
-
Tested up to: 5.3
|
7 |
-
Stable tag: 1.10.
|
8 |
License: GPLv3
|
9 |
|
10 |
-
The best WP popup plugin that
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
-
Icegram is the best plugin to easily create beautiful optins and call to actions of your choice, show them to targeted visitors and convert them to customers and fans.
|
15 |
-
Icegram totally eliminates the need to hire a developer. You can easily set it up within minutes and start recording results right away.
|
16 |
-
Most similar quality plugins are paid and still offer a lot less. Icegram is full featured, easy to use, trusted by 20,000+ users, and is still free.
|
17 |
|
|
|
18 |
|
19 |
-
|
20 |
-
Icegram is not the typical optin / list-building / email subscription plugin. You can do a lot more than that!
|
21 |
|
22 |
-
|
23 |
-
* **Instantly Drive Traffic** Display powerful call to action (CTA) buttons and drive visitors to any page you like.
|
24 |
-
* **Start Engaging and Converting Visitors:**Grab visitors’ attention, make an announcement, engage them to reduce bounce rate or offer them any other call to action.
|
25 |
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
|
30 |
= Get Multiple Message Styles - popups, header bars and much more =
|
31 |
-
Icegram provides not one or two, but four different optin types - **Lightbox Popups, Header & Footer Action Bars, Toast Notifications and Slide
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
-
* **Well Timed Popups -** Create time targeted popups / lightboxes that are optimized for conversion. Lots of customization possible.
|
34 |
-
* **Sleek Action Bars -** Great for announcements, lead generation and CTAs. Icegram provides both header bars as well as footer bars.
|
35 |
-
* **Attention Grabbing Toast Notifications -** Super useful for alerts, invitations, and multi step CTAs.
|
36 |
-
* **Appealing Slide-in Messengers -** Welcome new visitors, recommend blog posts, provide links to support resources and more with slide in messengers.
|
37 |
|
38 |
-
If you want more, Icegram also provides eight more innovative message styles - Sidebars, Overlays, After / Before Post and Inlines, Stickies, Badges, Ribbons, Tabs & Interstitials
|
39 |
|
40 |
-
>Icegram is better than premium plugins! Trust me By [princegift2892](https://profiles.wordpress.org/princegift2892)
|
41 |
-
I have used premium plugins too. But this plugin is better than premium one! So many options, customizations, and best support! I am using this plugin on both of my websites ;)
|
42 |
|
|
|
43 |
|
44 |
-
|
45 |
-
*
|
46 |
-
*
|
47 |
-
* Multiple
|
48 |
-
*
|
49 |
-
* Easy Integrations with Email Marketing Service: MailChimp, Constant Contact, AWeber, Campaign Monitor, GetResponse, InfusionSoft and all other email marketing services
|
50 |
* Mobile Responsive design
|
51 |
* Time and sequence different messages
|
52 |
* Multiple display positions - top, middle, bottom, left, right, center
|
53 |
-
* Powerful Display Targeting Rules: Decide where and when to show your campaigns and
|
54 |
* Track results of each optin form
|
55 |
-
* Analytics and Reporting: View conversion and impression analytics of all campaigns and messages using a free add-on
|
56 |
* Extensive Customization for power users - custom HTML, CSS, JS option; extensive JavaScript API; make it suit your needs
|
57 |
-
* Split A/B Testing (premium feature): Create variations and automatically determine which messages convert better
|
58 |
-
* Exit Intent (premium feature): Target abandoning visitors by showing popups and other messages when they are about to exit your site
|
59 |
* Unique Headline Generator that creates engaging headlines - so you get a copywriting headstart
|
60 |
* No compulsion to show Icegram name or branding
|
61 |
* No need to create an account on our site to use Icegram
|
62 |
* Automatic Updates
|
63 |
-
* Range of premium add-ons to supercharge your results
|
64 |
* Friendly and Professional Support Team
|
65 |
* Plus a lot more!!
|
66 |
|
67 |
-
|
68 |
-
There are plenty of similar plug-ins like this on WordPress, but none of them provide as much bang for the buck as Icegram. I have, I'm guessing, 20 different plugins across 3 websites and this is **my go-to plugin to drive downloads of my e-books**. I especially like the A/B split testing feature. And the customer support has been very prompt. Five stars for sure.
|
69 |
|
|
|
70 |
|
71 |
-
|
72 |
|
73 |
-
|
74 |
|
|
|
75 |
|
76 |
-
|
77 |
-
**Icegram simplified things for a non-programmer like me**
|
78 |
-
By [varunjadhav](https://profiles.wordpress.org/varunjadhav),
|
79 |
-
Icegram simplified things for a non-programmer startup entrepreneur like me, and has become a tool I recommend to everyone else. It’s a **wonderfully productive On-site Retargeting Plugin!** And it's free. In one week of using Icegram, our **bounce rate went down significantly** and visitor’s time on site went up.
|
80 |
|
|
|
81 |
|
82 |
-
|
83 |
|
84 |
-
|
85 |
|
86 |
-
|
87 |
-
Icegram optins **specialize in converting visitors to subscribers**. Icegram allows you to create high converting subscriber forms and target them strategically at various places on your website.
|
88 |
|
|
|
89 |
|
90 |
-
|
91 |
-
**I doubled my subscriber list with Icegram within 1 month**
|
92 |
-
By [infinity80](https://profiles.wordpress.org/infinity80),
|
93 |
-
One month into using icegram, and the **number of subscribers doubled**. This plugin is really great. Icegram messages have given me **phenomenal 60% click through rates** and it never fails to deliver. When you use Icegram, **you don't need to learn all those marketing secrets.. Icegram does that for you…**
|
94 |
|
95 |
-
|
96 |
-
Well targeted optins is a must. Thus, Icegram provides you various **advanced targeting optins.** It allows you to target visitors depending on various factors like:
|
97 |
|
98 |
-
|
99 |
-
* Time based targeting
|
100 |
-
* User based targeting
|
101 |
-
* Device based targeting ( 100% Mobile Responsive)
|
102 |
|
103 |
-
|
104 |
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
An **easy-to-use software** to capture the attention of web visitors, as well to track impressions and conversion rate for free. I also experienced a very **reactive and supportive team.**
|
109 |
|
|
|
110 |
|
111 |
-
|
112 |
-
|
|
|
|
|
113 |
|
114 |
-
|
115 |
-
By [_Krucial_](https://profiles.wordpress.org/_krucial_)
|
116 |
-
The exit popup addon was just what I needed. I will be using this plugin on many sites, and only have good things to say about it. It is **very very handy** and generous enough to give away features for FREE. **Icegram seriously makes a WP user’s life easy!**
|
117 |
|
118 |
-
|
119 |
-
Icegram also has a premium addon [Split Testing](https://www.icegram.com/addons/split-testing/) which allows you to split test various aspects of the optins like - content, headlines, cta, color, design templates etc.
|
120 |
|
121 |
-
|
122 |
-
Icegram provides an **easy html based integration** with Email Marketing Services like MailChimp, AWeber, Infusionsoft, GetResponse, ConstantContact, CampaignMonitor, ActiveCampaign, Emma, iContact, MailerLite, MailPoet, MadMimi, Klawoo, e-GOI, SendPress, Email Buddy, My Mail etc.
|
123 |
-
Infact any Email Marketing Service which provides an html form code can be easily integrated with any of Icegram’s Optins.
|
124 |
|
125 |
-
|
126 |
-
Not just Email Marketing Services, Icegram is compatible with most third party lead capture/form plugins, themes and CRM like - Jetpack, Gravity, Contact Form 7, Visual Form Builder and many others. Hence, causing no inconsistencies to your WordPress site.
|
127 |
|
|
|
128 |
|
129 |
-
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
|
143 |
-
= Icegram vs It’s Alternatives - Here’s what you need to know.. =
|
144 |
We compared Icegram with some similar plugins and here’s the complete one-on-one review.
|
145 |
|
146 |
* [Sumo Me vs Icegram - Full Review](https://www.icegram.com/sumo-me-vs-icegram-comparison/)
|
@@ -148,24 +136,55 @@ We compared Icegram with some similar plugins and here’s the complete one-on-o
|
|
148 |
* [Ninja Popups vs Icegram - Plugin Faceoff](https://www.icegram.com/ninja-popups-vs-icegram-the-better-popup-and-why/)
|
149 |
* [Hellobar vs Icegram - Comparative Analysis ](https://www.icegram.com/hello-bar-vs-icegram/)
|
150 |
|
151 |
-
|
152 |
-
I want to say that Icegram is the **best and most simple** solution I have found. I tested everything including Optin Monster, Bloom, Ninja Popup, etc...but Icegram is the best and has the **most potential**.
|
153 |
|
154 |
-
= Website, Demos, Shop, Social, Love =
|
155 |
* [Official Icegram website](https://www.icegram.com/)
|
156 |
* [Dozens of Demos](https://www.icegram.com/demos/) of different Icegram messages
|
157 |
-
* [Shop for
|
158 |
* [A few customer reviews](https://www.icegram.com/customers/)
|
159 |
* Follow Icegram on Twitter [@icegram](https://twitter.com/icegram/)
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
**Some of our other free plugins on WordPress.org**
|
163 |
|
164 |
-
1. [
|
165 |
-
|
166 |
-
3. [
|
167 |
-
4. [News Announcement Scroll](https://wordpress.org/plugins/news-announcement-scroll/)
|
168 |
-
5. [Temporary Login Without Password](https://wordpress.org/plugins/temporary-login-without-password/)
|
169 |
|
170 |
== Installation ==
|
171 |
|
@@ -177,7 +196,7 @@ I want to say that Icegram is the **best and most simple** solution I have found
|
|
177 |
|
178 |
= Messages look broken / formatting is weird... =
|
179 |
|
180 |
-
This is most likely due to CSS conflicts with current theme. We suggest using simple formatting for messages. You can also write custom CSS in your theme to fix any problems.
|
181 |
|
182 |
= Extra Line Breaks / Paragraphs in messages... =
|
183 |
|
@@ -189,13 +208,13 @@ You can use custom CSS/JS inline in your message HTML. You can also use your the
|
|
189 |
|
190 |
= Optin Forms / Mailing service integration... =
|
191 |
|
192 |
-
You can embed any
|
193 |
|
194 |
Use the "Embed Form" button above the text editor to paste in HTML code from your mailing list service and let Icegram automatically "clean it up" for usage in Icegram messages.
|
195 |
|
196 |
= Preview does not work / not refreshing... =
|
197 |
|
198 |
-
Doing a browser refresh while previewing will not show your most recent changes. Click 'Preview' button to see a preview with your latest changes.
|
199 |
|
200 |
= Can I use shortcodes in a message? =
|
201 |
|
@@ -217,613 +236,795 @@ Contact Us, provide as much detail of the problem as you can. We will try to sol
|
|
217 |
5. Target your Icegram message using these display rules
|
218 |
|
219 |
== Upgrade Notice ==
|
220 |
-
= 1.10.36 =
|
221 |
-
Added Christmas Gallery Items
|
222 |
|
223 |
-
|
224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
|
226 |
-
|
227 |
-
Added Black Friday Cyber Monday Gallery Items
|
228 |
|
229 |
-
|
230 |
-
Revised Gallery Templates for halloween
|
231 |
|
232 |
-
|
233 |
-
Added new featured gallery items
|
234 |
|
235 |
-
|
236 |
-
Revised Gallery Templates
|
237 |
|
238 |
-
|
239 |
-
Bug Fix release
|
240 |
|
241 |
-
|
242 |
-
Bug Fix release
|
243 |
|
244 |
-
|
245 |
-
Bug Fix release
|
246 |
|
247 |
-
|
248 |
-
Revised Gallery Templates
|
249 |
|
250 |
-
|
251 |
-
Bug Fix release
|
252 |
|
253 |
-
|
254 |
-
Bug Fix release
|
255 |
|
256 |
-
|
257 |
-
Revised Gallery Templates for Black Friday and Cyber Monday
|
258 |
|
259 |
-
|
260 |
-
Revised Gallery Templates for halloween
|
261 |
|
262 |
-
|
263 |
-
Revised Gallery Templates
|
264 |
|
265 |
-
|
266 |
-
Fixed popup blocker issue while previewing campaign
|
267 |
|
268 |
-
|
269 |
-
Compatibility with latest [Email Subscribers](https://wordpress.org/plugins/email-subscribers/)
|
270 |
|
271 |
-
|
272 |
-
Compatibility with latest [GDPR](https://wordpress.org/plugins/gdpr/)
|
273 |
|
274 |
-
|
275 |
-
Compatibility with Rainmaker
|
276 |
|
277 |
-
|
278 |
-
Improved the UI/UX of the Icegram Gallery
|
279 |
|
280 |
-
|
281 |
-
Revised Gallery Templates
|
282 |
|
283 |
-
|
284 |
-
Fixed "The plugin does not have a valid header" issue
|
285 |
|
286 |
-
|
287 |
-
Added Christmas Gallery templates
|
288 |
|
289 |
-
|
290 |
-
Compatibility with WordPress 4.9
|
291 |
|
292 |
-
|
293 |
-
Added Black Friday and Cyber Monday Gallery templates
|
294 |
|
295 |
-
|
296 |
-
Compatibility with MailPoet 3
|
297 |
|
298 |
-
|
299 |
-
Added Halloween Gallery templates
|
300 |
|
301 |
-
|
302 |
-
Revised Gallery Templates
|
303 |
|
304 |
-
|
305 |
-
Bug Fix release
|
306 |
|
307 |
-
|
308 |
-
Revised Gallery Templates
|
309 |
|
310 |
-
|
311 |
-
compatibility with Contact Form 7(v4.8)
|
312 |
|
313 |
-
|
314 |
-
Added more templates in Gallery
|
315 |
|
316 |
-
|
317 |
-
Search bar, filters added to Icegram's Gallery
|
318 |
|
319 |
-
|
320 |
-
Improvements in Call To Actions
|
321 |
|
322 |
-
|
323 |
-
Directly choose Gallery Template while creating a New Campaign
|
324 |
|
325 |
-
|
326 |
-
Email Subscribers compatibility
|
327 |
|
328 |
-
|
329 |
-
Update mobile Detect library
|
330 |
|
331 |
-
|
332 |
-
Bug Fix release
|
333 |
|
334 |
-
|
335 |
-
Merge all addons in one
|
336 |
|
337 |
-
|
338 |
-
Small improvements in responsiveness of Popups and Action bars
|
339 |
|
340 |
-
|
341 |
-
Bug Fix release
|
342 |
|
343 |
-
|
344 |
-
No Google penalty for mobile popups, an automatic solution
|
345 |
|
346 |
-
|
347 |
-
Revamp admin UI
|
348 |
|
349 |
-
|
350 |
-
Bug Fix release
|
351 |
|
352 |
-
|
353 |
-
Rainmaker compatibility
|
354 |
|
355 |
-
|
356 |
-
Secured Icegram from XSS vulnerability
|
357 |
|
358 |
-
|
359 |
-
Compatibility with Icegram's CTA addon and Rainmaker
|
360 |
|
361 |
-
|
362 |
-
Performance enhancements
|
363 |
|
364 |
-
|
365 |
-
Custom forms imported in Rainmaker
|
366 |
|
367 |
-
|
368 |
-
Added the Gallery of ready to use Icegram Campaigns
|
369 |
|
370 |
-
|
371 |
-
Added quick action for campaign preview.
|
372 |
|
373 |
-
|
374 |
-
revamp of popup themes - Airmail, Convert, Inspire, Persude.
|
375 |
|
376 |
-
|
377 |
-
Add new custom CSS and JS code block.
|
378 |
|
379 |
-
|
380 |
-
Remove warning in admin panel.
|
381 |
|
382 |
-
|
383 |
-
Compatibility with Gravity Forms.
|
384 |
|
385 |
-
|
386 |
-
Fix for schedule campaign option
|
387 |
|
388 |
-
|
389 |
-
Compatibility with Contact Form 7.
|
390 |
|
391 |
-
|
392 |
-
Added sprite image for close buttons and other fixes.
|
393 |
|
394 |
-
|
395 |
-
Enhanced the top Action bar position
|
396 |
|
397 |
-
|
398 |
-
Incorrect plugin name
|
399 |
|
400 |
-
|
401 |
-
Messengers are now responsive.Many small improvements.
|
402 |
|
403 |
-
|
404 |
-
Many small changes and other fixes.
|
405 |
|
406 |
-
|
407 |
-
Added animations for few more message types.Action bars are now responsive.
|
408 |
|
409 |
-
|
410 |
-
Bug fix release for forms.
|
411 |
|
412 |
-
|
413 |
-
Bug fix release for "Target link" not working.
|
414 |
|
415 |
-
|
416 |
-
Shortcode problems solved. New anti-spam mechanism for forms.
|
417 |
|
418 |
-
|
419 |
-
Few improvements in form functionality.
|
420 |
|
421 |
-
|
422 |
-
Form embed functionality improvements , Added forms styles.
|
423 |
|
424 |
-
|
425 |
-
Fixes for minified js and css. Changes for WP themes compatibility.
|
426 |
|
427 |
-
|
428 |
-
Many small changes. Plus major changes for caching compatibility.
|
429 |
|
430 |
-
|
431 |
-
Improved short code handling, WishList member compatibility and other fixes.
|
432 |
|
433 |
-
|
434 |
-
Popups now support custom background and text colors. And a handful of fixes!
|
435 |
|
436 |
-
|
437 |
-
Fix for "white screen" errors, updated device detection, more readable call to action button colors
|
438 |
|
439 |
-
|
440 |
-
Bug fix release for device targeting, preview before publish not working.
|
441 |
|
442 |
-
|
443 |
-
Popups are now responsive! Plus Visual Composer compatibility and other fixes.
|
444 |
|
445 |
-
|
446 |
-
Campaign and message duplicate feature added. Plus some other improvements.
|
447 |
|
448 |
-
|
449 |
-
Bug fix release for preview not working.
|
450 |
|
451 |
-
|
452 |
-
Recommended upgrade. Many improvements.
|
453 |
|
454 |
-
|
455 |
-
Target campaigns to any page with wildcard URL support in "Where" conditions and CTA Click based retargeting.
|
456 |
|
457 |
-
|
458 |
-
Dismiss admin notice provision, retargeting compatibility with caches and bug fixes.
|
459 |
|
460 |
-
|
461 |
-
Improvements in styling, form embeds and retargeting.
|
462 |
|
463 |
-
|
464 |
-
Improvements in optin form embedding, bug fixes and more. Required update.
|
465 |
|
466 |
-
|
467 |
-
Easy optin / subscription form parser and many other enhancements. Required update.
|
468 |
|
469 |
-
|
470 |
-
Many small improvements. Support for analytics added. WordPress 4.0 compatible.
|
471 |
|
472 |
-
|
473 |
-
7 premium addons available now. Plus lot of improvements. Recommended upgrade.
|
474 |
|
475 |
-
|
476 |
-
Lots of enhancements... [WPML](http://wpml.org/?aid=21266&affiliate_key=W1YOdHyWrIjY) support, pluggable architecture, many internal changes. Do upgrade.
|
477 |
|
478 |
-
|
479 |
-
Compatibility with W3TC and Localization
|
480 |
|
481 |
-
|
482 |
-
First release on WordPress.org
|
483 |
|
484 |
-
|
485 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
486 |
|
487 |
|
488 |
== Changelog ==
|
489 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
* Fix: Form color field was not rendering properly
|
491 |
* Enhancement: Added Christmas Gallery Items
|
492 |
|
493 |
-
|
|
|
494 |
* Fix: Security issues
|
495 |
|
496 |
-
|
|
|
497 |
* Added Black Friday Cyber Monday Gallery Items
|
498 |
|
499 |
-
|
|
|
500 |
* Enhancement: Revised Gallery Templates for Halloween
|
501 |
|
502 |
-
|
|
|
503 |
* New: Added featured gallery items
|
504 |
|
505 |
-
|
|
|
506 |
* Enhancement: Revised Gallery templates
|
507 |
|
508 |
-
|
|
|
509 |
* Fix: Fatal error 'ES_DB_Forms' class not found.
|
510 |
|
511 |
-
|
|
|
512 |
* New: [Email Subscribers & Newsletters](https://wordpress.org/plugins/email-subscribers/) is the recommended method of adding forms in Icegram
|
513 |
|
514 |
-
|
|
|
515 |
* Fix: Fixed security issue in the gallery
|
516 |
|
517 |
-
|
|
|
518 |
* Fix: Fatal error "IG_Tracker_V_1_0_1" class not found.
|
519 |
|
520 |
-
|
|
|
521 |
* Fix: Fatal error "IG_Tracker_V_1_0_1" class not found.
|
522 |
|
523 |
-
|
|
|
524 |
* Enhancement: Revised Gallery templates
|
525 |
|
526 |
-
|
|
|
527 |
* Fix: Fixed gallery not loading issue
|
528 |
|
529 |
-
|
530 |
-
|
|
|
|
|
|
|
531 |
|
532 |
-
= 1.10.25 =
|
533 |
* Enhancement: Revised Gallery Templates for Black Friday and Cyber Monday
|
534 |
|
535 |
-
|
536 |
-
|
|
|
|
|
|
|
537 |
|
538 |
-
= 1.10.23 =
|
539 |
* Enhancement: Revised Gallery templates
|
540 |
|
541 |
-
|
|
|
542 |
* Fix: Fixed popup blocker issue while previewing campaign
|
543 |
* Update: Compatibility with latest [WPML](https://wpml.org/)
|
544 |
* Enhancement: Revised Gallery templates
|
545 |
|
546 |
-
|
|
|
547 |
* New: Added customizable Gallery templates to the Gallery
|
548 |
* Update: Compatibility with latest [Email Subscribers](https://wordpress.org/plugins/email-subscribers/)
|
549 |
|
550 |
-
|
|
|
551 |
* Update: Compatibility with latest [GDPR](https://wordpress.org/plugins/gdpr/)
|
552 |
|
553 |
-
|
554 |
-
|
|
|
|
|
|
|
555 |
|
556 |
-
= 1.10.18 =
|
557 |
* New: Improved the UI/UX of the Icegram Gallery
|
558 |
|
559 |
-
|
|
|
560 |
* Enhancement: Revised Gallery templates
|
561 |
|
562 |
-
|
563 |
-
|
|
|
|
|
|
|
564 |
|
565 |
-
= 1.10.15 =
|
566 |
* New: Added Christmas Gallery templates
|
567 |
|
568 |
-
|
|
|
569 |
* Update: Compatibility with WordPress 4.9
|
570 |
|
571 |
-
|
|
|
572 |
* New: Added Black Friday and Cyber Monday Gallery templates
|
573 |
|
574 |
-
|
575 |
-
|
|
|
|
|
|
|
576 |
|
577 |
-
= 1.10.11 =
|
578 |
* New: Added Halloween Gallery templates
|
579 |
|
580 |
-
|
|
|
581 |
* Enhancement: Revised Gallery templates
|
582 |
|
583 |
-
|
|
|
584 |
* Fix: "Blank / White Screen of death" / Fatal error: Can't use function return value in write context
|
585 |
|
586 |
-
|
|
|
587 |
* Enhancement: Revised Gallery templates
|
588 |
|
589 |
-
|
590 |
-
|
|
|
|
|
|
|
591 |
|
592 |
-
= 1.10.7 =
|
593 |
* New: Added new templates to Icegram's Gallery
|
594 |
* Fix: Single gallery template wasn't loading on refresh
|
595 |
|
596 |
-
|
|
|
597 |
* Enhancement: Search bar, filters added to Icegram's Gallery
|
598 |
|
599 |
-
|
|
|
600 |
* Enhancement: Small improvements for Call To Actions
|
601 |
|
602 |
-
|
603 |
-
|
|
|
|
|
|
|
604 |
|
605 |
-
= 1.10.3 =
|
606 |
* Enhancement: [Email Subscribers](https://wordpress.org/plugins/email-subscribers/) form compatibility with Icegram
|
607 |
|
608 |
-
|
|
|
609 |
* Update: Mobile Detect Library updated to version 2.8.24
|
610 |
* Fix: Forms that were embedded in mobile popups at "0 seconds"
|
611 |
-
* Fix: Resolve conflicts with
|
|
|
|
|
|
|
|
|
612 |
|
613 |
-
|
614 |
-
* Fix: Action bar was not getting close.
|
615 |
|
616 |
-
= 1.10 =
|
617 |
* Enhancement: Merged all addons in one
|
618 |
|
619 |
-
|
|
|
620 |
* Enhancement: Small improvements in responsiveness of Popups and Action bars
|
621 |
|
622 |
-
|
623 |
-
|
|
|
|
|
|
|
|
|
|
|
624 |
|
625 |
-
|
626 |
-
* Enhancement: No Google penalty for mobile popups, an automatic solution
|
627 |
|
628 |
-
|
629 |
-
* New: Revamped the old admin UI and made it more user friendly and simple
|
630 |
|
631 |
-
|
632 |
-
|
|
|
|
|
|
|
633 |
|
634 |
-
= 1.9.20 =
|
635 |
* Update: Rainmaker form compatibility with Icegram's Remote addon
|
636 |
|
637 |
-
|
|
|
638 |
* Fix: Secured Icegram from XSS vulnerability(Thanks to Ipstenu (Mika Epstein))
|
639 |
|
640 |
-
|
641 |
-
|
|
|
|
|
|
|
642 |
|
643 |
-
= 1.9.17 =
|
644 |
* Update: Performance enhancements
|
645 |
* Fix: Gallery is not getting loaded with https site
|
646 |
|
647 |
-
|
648 |
-
|
|
|
|
|
|
|
649 |
|
650 |
-
= 1.9.15 =
|
651 |
* New: Added the Gallery of ready to use Icegram Campaigns
|
652 |
* Fix: Font was not getting loaded for convert theme(popup)
|
653 |
|
654 |
-
|
|
|
655 |
* New: Added quick action for campaign preview
|
656 |
* Fix: For new message delay time -1 were not getting set
|
657 |
|
658 |
-
|
|
|
659 |
* New: Two step - click triggered - optins
|
660 |
-
* Enhancement: Complete revamp of popup themes - Airmail, Convert, Inspire, Persude
|
661 |
* Fix: Clicks were not getting tracked for button[type=submit] with inner HTML
|
662 |
|
663 |
-
|
|
|
664 |
* New: Support for custom JS and CSS in message
|
665 |
-
* New: Added German translations
|
666 |
-
* Enhancement: Revised Addons and Docs page inside plugin
|
667 |
* Enhancement: Prevent false Impression count on crawling in analytics
|
668 |
-
* Fix: For an
|
669 |
* Fix: Home page targeting was not working properly in "Specific URL on this site" targeting
|
670 |
|
671 |
-
|
|
|
672 |
* Fix: Warning for "Illegal string offset 'option_name'"
|
673 |
* Fix: 'ReferenceError: icegram is not defined' on page with CF7 and no Icegram
|
674 |
|
675 |
-
|
|
|
676 |
* Fix: Conditional login of Gravity forms was not working
|
677 |
|
678 |
-
|
|
|
679 |
* Fix: Campaigns were not getting scheduled according to site's timezone
|
680 |
|
681 |
-
|
|
|
682 |
* Fix: CF7(Contact Form 7) Ajax submission was not working
|
683 |
* Fix: CF7 redirection was not working
|
684 |
* Fix: CF7 was changing URL after form submission
|
685 |
|
|
|
686 |
|
687 |
-
= 1.9.8.1 =
|
688 |
* Enhancement: Added sprite image for close buttons
|
689 |
* Fix: Retargeting issues with HTTP and HTTPS
|
690 |
|
691 |
-
|
|
|
692 |
* New: Added translation for Italian
|
693 |
* Update: Action Bar does not overlap header/menu of your website
|
694 |
|
695 |
-
|
|
|
696 |
* Fix: Incorrect plugin name
|
697 |
|
698 |
-
|
|
|
699 |
* New: Messenger messages work beautifully on mobile / small devices now!
|
700 |
-
* New: Icegram's shortcodes are now working with Text Widget
|
701 |
* Update: Mobile Detect Library updated to version 2.8.15
|
702 |
* Fix: Gravity Forms hidden fields were visible with Form embed functionality
|
703 |
* Fix: Slide animation was not working with some browsers
|
704 |
* Fix: Popup message conflicts with some lightbox plugins
|
705 |
|
706 |
-
|
|
|
707 |
* Fix: Popup was not getting closed when multiple popups were set on a single page
|
708 |
* Fix: Message was not getting close when a form was submitted in a new window
|
709 |
* Fix: Default editor was visible while loading campaign setting page
|
710 |
-
* Fix: Revised
|
|
|
|
|
711 |
|
712 |
-
= 1.9.5 =
|
713 |
* New: Action bar messages work beautifully on mobile / small devices now!
|
714 |
* New: Add Animation for few more message types
|
715 |
|
716 |
-
|
|
|
717 |
* Fix: Ninja Forms was showing two submit buttons with Icegram Form embed functionality
|
718 |
* Fix: Mailpoet hidden fields were visible with Form embed functionality
|
719 |
-
* Fix: Minor issues with form
|
720 |
* Fix: Use themes default option was not working in message admin settings
|
721 |
|
722 |
-
|
|
|
723 |
* Fix: Redirection to "Target Link" was not working in Icegram message
|
724 |
* Fix: Inline form shortcode not getting preserved for message types with only inline position
|
725 |
|
726 |
-
|
727 |
-
|
|
|
728 |
* Fix: Shortcodes not working in Icegram messages
|
729 |
* Fix: WordPress crash while creating a new post
|
730 |
* Update: UI improvements for form embedding
|
731 |
|
732 |
-
|
733 |
-
|
734 |
-
*
|
|
|
735 |
* Fix: Form style options not getting saved
|
736 |
-
* Fix: Minor issues with form
|
737 |
-
* Fix: Compatibility issues of previous embed form functionality with new one
|
|
|
|
|
738 |
|
739 |
-
|
740 |
-
* New:Forms
|
741 |
-
* New:Forms also provides background and text color
|
742 |
* New:Forms also supports header,footer-text/HTML
|
743 |
* Update: Updated form embed functionality
|
744 |
* Fix: Homepage page targeting not working when "Lazy loading" was off
|
745 |
|
746 |
-
|
747 |
-
|
748 |
-
* Fix: Compatibility
|
749 |
-
* Fix:
|
|
|
|
|
|
|
750 |
|
751 |
-
= 1.8.9 =
|
752 |
* New: Both body and button colors (background and foreground) can now be set
|
753 |
* Update: Brought back CTA Buttons default colors
|
754 |
* New: Lazy load Icegram messages for better compatibility with caching plugins
|
755 |
* Update: Updated all themes to support new theme coloring scheme
|
756 |
* Fix: Some alignment issues with images in popups
|
757 |
* Update: Minified all JS and CSS to improve performance
|
758 |
-
* Update: Auto
|
759 |
|
760 |
-
|
761 |
-
|
|
|
762 |
* Update: A message shown on click of another (using CTA actions addon), can now contain shortcodes
|
763 |
* Fix: Compatibility with Wishlist Member plugin
|
764 |
* Fix: Popup close event not triggered when clicking outside the popup - on its overlay
|
765 |
-
* Update: Automatically adds
|
|
|
|
|
766 |
|
767 |
-
|
768 |
-
* New: Can now define custom background and text colors for Popups
|
769 |
* Fix: Button text color not showing well in some themes
|
770 |
* Fix: Analytics not getting tracked
|
771 |
* Update: Revisions to theme packs and many addons
|
772 |
* New: Support for Split Testing addon
|
773 |
|
774 |
-
|
|
|
775 |
* Fix: "Blank / White Screen of death" / Fatal error - Cannot redeclare class Mobile_Detect
|
776 |
* Fix: Warning for undefined index
|
777 |
* Update: Mobile Detect Library updated to version 2.8.11
|
778 |
-
* Update:
|
779 |
* Update: Action Bar's Bold theme - reduced shadow on button text
|
780 |
|
781 |
-
|
|
|
782 |
* New: Added a link to Form Embed Documentation for easy access
|
783 |
* Fix: Default mode of content editor set to visual
|
784 |
* Fix: Popup hiding behind header for some themes
|
785 |
* Fix: Device targeting rule not working on newer devices
|
786 |
* Fix: Preview working only after Publishing
|
787 |
|
788 |
-
|
789 |
-
|
|
|
790 |
* Fix: Timing problems with popups triggered via Behavior Trigger addon.
|
791 |
* Fix: Visual Composer compatibility
|
792 |
|
793 |
-
|
|
|
794 |
* NEW: Duplicate a Campaign and Message easily now - click 'duplicate' in the list view!
|
795 |
* Update: Using an image instead of dashicons for action bar arrows
|
796 |
-
* Update: Renamed "messenger"
|
797 |
* Update: Clicking outside the popup (on the dark overlay) will close the popup
|
798 |
|
799 |
-
|
|
|
800 |
* Fix: Preview not working correctly
|
801 |
|
802 |
-
|
|
|
803 |
* NEW: Support for Icegram Remote - now run your campaigns on other sites - even non WordPress sites
|
804 |
* Update: Better wildcard matching in Where targeting rules for URLs
|
805 |
* Update: Compatibility with Avada theme
|
806 |
* Update: Misc UI and performance enhancements
|
807 |
|
808 |
-
|
|
|
809 |
* NEW: Target campaigns to any page with wildcard URL support in "Where" conditions
|
810 |
-
* NEW: CTA Click based retargeting to hide message in a campaign after being clicked
|
811 |
-
* NEW: Message
|
|
|
|
|
812 |
|
813 |
-
= 1.7.1 =
|
814 |
* Update: Dismiss button for admin notice about bonus themes and addon
|
815 |
* Fix: Admin settings CSS changes, for compatibility with some themes
|
816 |
* Fix: Hello Bar close button not clickable
|
817 |
* Fix: Retargeting not working with some cache systems
|
818 |
|
819 |
-
|
|
|
820 |
* Update: Styling changes to action bar CTA button for alignment
|
821 |
* Update: Hello Bar styling updates to better handle forms
|
822 |
-
* Fix: Hidden field related issue while
|
823 |
* Fix: Retargeting not working correctly in certain cases
|
824 |
-
* Fix: Theme thumbnails missing on messages list
|
|
|
|
|
825 |
|
826 |
-
= 1.6 =
|
827 |
* Fix: Empty image tag causing display issues in Opera / IE
|
828 |
* Update: Form embed functionality improvements
|
829 |
* NEW: "Themes Pack 2014" addon - 17 themes as a bonus - available from Icegram.com
|
@@ -831,21 +1032,24 @@ Initial Release
|
|
831 |
* Update: JS and CSS URLs include version numbers now - better for caching
|
832 |
* Fix: Other minor fixes
|
833 |
|
834 |
-
|
|
|
835 |
* NEW: "Embed Form" option for easy integration with optin / mailing list / subscription form / CRM services
|
836 |
* NEW: Retargeting Rule: Do not show again for X number of days
|
837 |
* NEW: Targeting Rule: "Not Logged In" visitor
|
838 |
* NEW: Added support for submitting form on CTA click
|
839 |
* NEW: "CTA Actions" premium addon
|
840 |
|
841 |
-
|
842 |
-
|
|
|
843 |
* NEW: Options to cleanup Icegram data and remove shortcodes from content
|
844 |
-
* NEW: CTA button color is automatically determined based on background
|
845 |
* NEW: FREE Analytics add-on (available from www.icegram.com)
|
846 |
* Update: This version is compatible with WordPress 4.0
|
847 |
|
848 |
-
|
|
|
849 |
* NEW: 7 Premium add-ons available
|
850 |
* Fix: [icegram] shortcode not working for campaigns
|
851 |
* Update: Improved CTA click handling
|
@@ -853,21 +1057,22 @@ Initial Release
|
|
853 |
* NEW: Setting display time to -1 will hide the message
|
854 |
* Fix: Can use quotes and other special characters in headline now
|
855 |
* Update: #WPML Show default language message only if "Blog posts to display" is set to "All posts"
|
856 |
-
* Fix: Hide campaign and messages from public pages
|
857 |
* Fix: Other plugins adding content to messages (social media links etc)
|
858 |
-
* NEW: Clicking on any item with class "ig_cta" will trigger
|
859 |
* Fix: Campaigns not working on archive pages (like Shop / Categories...)
|
860 |
* Fix: Campaigns with multiple target pages not working
|
861 |
-
* Fix: #WPML Messages added from Campaigns page not showing on Messages page
|
862 |
* Update: And then some changes we are forgetting for now...
|
863 |
|
864 |
-
|
|
|
865 |
* NEW: Icegram is now fully pluggable. External plugins can add message types and themes.
|
866 |
* NEW: [WPML](http://wpml.org/?aid=21266&affiliate_key=W1YOdHyWrIjY) support
|
867 |
* Update: Icegram branding is optional
|
868 |
* NEW: Setting to show Icegram branding
|
869 |
* Fix: Popups show correctly on long pages now
|
870 |
-
* Fix: Single
|
871 |
* NEW: Rewritten message display system - can even control with JavaScript now
|
872 |
* Fix: For problems showing a campaign on homepage
|
873 |
* Update: Simplified CSS and JS
|
@@ -877,13 +1082,15 @@ Initial Release
|
|
877 |
* Fix: For displaying messages via shortcode
|
878 |
* Update: And many more!!!
|
879 |
|
|
|
880 |
|
881 |
-
= 1.1.1 =
|
882 |
* Fix for crash on activation with W3 Total Cache
|
883 |
* Added localization / translation ability
|
884 |
|
885 |
-
|
|
|
886 |
* Loading CSS from own domain instead of Google
|
887 |
|
888 |
-
|
889 |
-
|
|
1 |
+
=== Popups, Welcome Bar, Options and Lead Generation Plugin - Icegram ===
|
2 |
Contributors: icegram, storeapps, niravmehta, sandhyam, malayladu, putler
|
3 |
Donate link: https://www.icegram.com/
|
4 |
+
Tags: popup, optin, hellobar, lead capture, form, marketing, notification, messenger, targeting, monster, ninja ,wordpress lead generation, wordpress lightbox optin, wordpress lightbox optin form, wordpress lightbox optins, wordpress mobile optin forms, wordpress mobile popup, wordpress mobile popups, wordpress optin form, wordpress overlay popup, wordpress popup, wordpress popup form, wordpress popup plugin, wordpress popup solution, wordpress popups, popups, subscribe, wp popups, optin bars, action grabber, promotion, popup message, leads, lists, builder, action bar, floating bar, footer bar, hellobar alternative, pop over, Popup plugin, aweber, campaign monitor, constant contact, email list, exit-intent, onclick popup, analytics, Hubspot, popup ads, pop-up, Mailing list pop-up, re-targeting, Animation, Popups with Animation, Responsive Popup, split testing, AB testing
|
5 |
Requires at least: 3.9
|
6 |
+
Tested up to: 5.3.2
|
7 |
+
Stable tag: 1.10.37
|
8 |
License: GPLv3
|
9 |
|
10 |
+
The best WP popup plugin that lets you create a popup within seconds. Customize popup, target popups to show offers, email signups, social buttons, etc and instantly increase conversions on your website.
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
Icegram is the best plugin to easily create beautiful optins and call to actions of your choice, show them to targeted visitors and convert them to customers and fans.
|
|
|
|
|
15 |
|
16 |
+
Icegram eliminates the need to hire a developer. You can easily set it up within minutes and start recording results right away.
|
17 |
|
18 |
+
Icegram is full-featured, easy to use, trusted by **40,000+** users.
|
|
|
19 |
|
20 |
+
Create unlimited popups of every type you need and customize every popup from theme and position to targeting and cookies.
|
|
|
|
|
21 |
|
22 |
+
= The Only Multi-Purpose Plugin - a lot beyond optins =
|
23 |
+
|
24 |
+
Icegram is not the typical optin / list-building / email subscription plugin. You can do a lot more than that along with optins!
|
25 |
+
|
26 |
+
* **Easily Grow Your Subscriber List:** Show attention-grabbing, high converting email opt-in forms and build your subscriber list.
|
27 |
+
|
28 |
+
* **Instantly Drive Traffic:** Display powerful call to action (CTA) buttons and drive visitors to any page you like.
|
29 |
+
|
30 |
+
* **Start Engaging and Converting Visitors:** Grab visitors’ attention, make an announcement, engage them to reduce bounce rate or offer them any other call to action.
|
31 |
|
32 |
|
33 |
= Get Multiple Message Styles - popups, header bars and much more =
|
34 |
+
Icegram provides not one or two, but four different optin types - **Lightbox Popups, Header & Footer Action Bars, Toast Notifications and Slide-in Messengers.**
|
35 |
+
|
36 |
+
* **Well Timed Popups -** Create time targeted popups/lightboxes that are optimized for conversion. Lots of customization possible.
|
37 |
+
|
38 |
+
* **Sleek Action Bars -** Great for announcements, lead generation, and CTAs. Icegram provides both header bars as well as footer bars.
|
39 |
+
|
40 |
+
* **Attention-Grabbing Toast Notifications -** Super useful for alerts, invitations, and multi-step CTAs.
|
41 |
+
|
42 |
+
* **Appealing Slide-in Messengers -** Welcome new visitors, recommend blog posts, provide links to support resources and more with slide-in messengers.
|
43 |
|
|
|
|
|
|
|
|
|
44 |
|
45 |
+
If you want more, Icegram also provides eight more innovative message styles - Sidebars, Overlays, After / Before Post and Inlines, Stickies, Badges, Ribbons, Tabs & Interstitials in premium plans.[ Check the premium plans here.](https://www.icegram.com/pricing/)
|
46 |
|
|
|
|
|
47 |
|
48 |
+
= Features Of Icegram =
|
49 |
|
50 |
+
* Easy to use, user-friendly interface
|
51 |
+
* Easily create and target unlimited opt-in forms and messages
|
52 |
+
* Multiple Different Opt-in Form / Message Styles: Popups, Header / Footer bars, Toast notifications, Slide-in Messengers.
|
53 |
+
* Multiple Theme Designs: Extensive range of beautiful and fully customizable themes to make your CTA messages and email opt-in popups look amazing
|
54 |
+
* Easy Integrations with Email Marketing Service: [Email Subscribers](https://wordpress.org/plugins/email-subscribers/), MailChimp, Constant Contact, AWeber, Campaign Monitor, GetResponse, InfusionSoft, and all other email marketing services
|
|
|
55 |
* Mobile Responsive design
|
56 |
* Time and sequence different messages
|
57 |
* Multiple display positions - top, middle, bottom, left, right, center
|
58 |
+
* Powerful Display Targeting Rules: Decide where and when to show your campaigns and opt-in forms- On specific pages, categories or posts; to certain users; on a specific schedule, via shortcode - and many other rules.
|
59 |
* Track results of each optin form
|
|
|
60 |
* Extensive Customization for power users - custom HTML, CSS, JS option; extensive JavaScript API; make it suit your needs
|
|
|
|
|
61 |
* Unique Headline Generator that creates engaging headlines - so you get a copywriting headstart
|
62 |
* No compulsion to show Icegram name or branding
|
63 |
* No need to create an account on our site to use Icegram
|
64 |
* Automatic Updates
|
|
|
65 |
* Friendly and Professional Support Team
|
66 |
* Plus a lot more!!
|
67 |
|
68 |
+
= Powerful Features Of Icegram Premium =
|
|
|
69 |
|
70 |
+
* [Split Testing](https://www.icegram.com/addons/split-testing/) - Split test Icegram campaigns and decide which variation works best for your audience.
|
71 |
|
72 |
+
* [Behavior Triggers and Advanced Targeting](https://www.icegram.com/addons/behavior-triggers-advanced-retargeting/) - Show and hide campaigns based on visitors on-page behavior. Like on Exit Intent, Scroll Position, Time Delay, JavaScript, On-click of another message…
|
73 |
|
74 |
+
* [Geo Targeting](https://www.icegram.com/addons/geo-targeting/) - target optins based on visitor's location - continent, country, city, region or IP address
|
75 |
|
76 |
+
* [CTA Actions](https://www.icegram.com/addons/cta-actions/) - Open link in a new window, submit form, AJAX submission, show another message, hide this message... New actions for CTA buttons
|
77 |
|
78 |
+
* [Remote](https://www.icegram.com/addons/remote/) - Show Icegram messages on Non - WordPress sites.
|
|
|
|
|
|
|
79 |
|
80 |
+
* [Analytics and Reporting](https://www.icegram.com/documentation/track-analytics-icegram/): View conversion and impression analytics of all campaigns and messages
|
81 |
|
82 |
+
* **Additional optin types** - Overlay, Inline, Sidebars, Interstitial, Ribbons, Stickies, Badges, Tabs
|
83 |
|
84 |
+
* **Exit Intent**: Target abandoning visitors by showing popups and other messages when they are about to exit your site
|
85 |
|
86 |
+
* VIP Support
|
|
|
87 |
|
88 |
+
**Create an Optin Form within minutes. No Need to Hire a Developer!**
|
89 |
|
90 |
+
Icegram is easy and you don’t need a developer to figure this out. Icegram lets you create optins and CTA messages in under a minute. You can choose from a variety of optin types, customize it as per your liking and target it instantly. Creating an Icegram message is very simple and you don’t need technical knowledge to get it to work.
|
|
|
|
|
|
|
91 |
|
92 |
+
**Choose from Beautiful, Mobile Responsive Design Templates**
|
|
|
93 |
|
94 |
+
Icegram provides you with **20 high converting** and very responsive design templates. You can customize the colors of these design templates to match the color palette of your brand/ website.
|
|
|
|
|
|
|
95 |
|
96 |
+
**Start Growing Your Email Subscriber List Instantly**
|
97 |
|
98 |
+
Icegram optins ** specializes in converting visitors to subscribers**. Icegram allows you to create high converting subscriber forms and target them strategically at various places on your website.
|
99 |
|
100 |
+
**Increase Your Optin Conversions with Advanced, Powerful Display Targeting Rules**
|
|
|
101 |
|
102 |
+
Well-targeted optins are a must. Thus, Icegram provides you various **advanced targeting optins.** It allows you to target visitors depending on various factors like:
|
103 |
|
104 |
+
* Page-level targeting
|
105 |
+
* Time-based targeting
|
106 |
+
* User-based targeting
|
107 |
+
* Device-based targeting ( 100% Mobile Responsive)
|
108 |
|
109 |
+
**Measure Optins Performance based on Detailed Reports**
|
|
|
|
|
110 |
|
111 |
+
The most important way of measuring the effect of an optin is checking out the analytics. Icegram provides an easy to understand but in-depth stats of how your optin is performing.
|
|
|
112 |
|
113 |
+
**Convert Abandoning Visitors by Showing them Exit Intent Opt-ins**
|
|
|
|
|
114 |
|
115 |
+
Icegram also gives you an excellent option to target optins at exit intent. This is available in Icegram’s paid addon - [Behavior Triggers and Advanced Targeting](https://www.icegram.com/addons/behavior-triggers-advanced-retargeting/). That is, you can show an optin just before the visitor is leaving your website. Such optins are highly converting and are mostly used by Top Internet Marketers to grow their lists.
|
|
|
116 |
|
117 |
+
**Create and Test out Optin Variations using Split Testing (A/B Testing)**
|
118 |
|
119 |
+
Icegram also has a premium addon [Split Testing](https://www.icegram.com/addons/split-testing/) which allows you to split test various aspects of the optins like - content, headlines, C, color, design templates, etc.
|
120 |
|
121 |
+
**Easily integrate with your Email Marketing Service**
|
122 |
+
|
123 |
+
Icegram provides an **easy HTML based integration** with Email Marketing Services like MailChimp, AWeber, Infusionsoft, GetResponse, ConstantContact, CampaignMonitor, ActiveCampaign, Emma, iContact, MailerLite, MailPoet, MadMimi, Klawoo, e-GOI, SendPress, Email Buddy, My Mail, etc.
|
124 |
+
Any Email Marketing Service which provides an HTML form code can be easily integrated with any of Icegram’s O.
|
125 |
+
|
126 |
+
**Also, Fully Compatible with Third-Party Plugins**
|
127 |
|
128 |
+
Not just Email Marketing Services, Icegram is compatible with most third-party lead capture/form plugins, themes and CRM like - Jetpack, Gravity, Contact Form 7, Visual Form Builder and many others. Hence, causing no inconsistencies to your WordPress site.
|
129 |
+
|
130 |
+
**Icegram vs Its Alternatives - Here’s what you need to know..**
|
|
|
131 |
|
|
|
132 |
We compared Icegram with some similar plugins and here’s the complete one-on-one review.
|
133 |
|
134 |
* [Sumo Me vs Icegram - Full Review](https://www.icegram.com/sumo-me-vs-icegram-comparison/)
|
136 |
* [Ninja Popups vs Icegram - Plugin Faceoff](https://www.icegram.com/ninja-popups-vs-icegram-the-better-popup-and-why/)
|
137 |
* [Hellobar vs Icegram - Comparative Analysis ](https://www.icegram.com/hello-bar-vs-icegram/)
|
138 |
|
139 |
+
**Website, Demos, Shop, Social, Love**
|
|
|
140 |
|
|
|
141 |
* [Official Icegram website](https://www.icegram.com/)
|
142 |
* [Dozens of Demos](https://www.icegram.com/demos/) of different Icegram messages
|
143 |
+
* [Shop for Icegram Premium](https://www.icegram.com/pricing/)
|
144 |
* [A few customer reviews](https://www.icegram.com/customers/)
|
145 |
* Follow Icegram on Twitter [@icegram](https://twitter.com/icegram/)
|
146 |
|
147 |
+
**What customers have to say about Icegram?**
|
148 |
+
|
149 |
+
**Icegram doubled my Optin rates Overnight** - by [Remo Homer](https://wordpress.org/support/profile/remohomer)
|
150 |
+
> Icegram **doubled our opt-in rates** overnight.
|
151 |
+
> Simple as that. It's fast to set up and easy for our clients to manage. Support is great, and best of all - FREE!
|
152 |
+
|
153 |
+
|
154 |
+
**Icegram is better than premium plugins! Trust me** By [princegift2892](https://profiles.wordpress.org/princegift2892)
|
155 |
+
> I have used premium plugins too. But this plugin is better than premium one!
|
156 |
+
> So many options, customizations, and best support! I am using this plugin on both of my websites ;)
|
157 |
+
|
158 |
+
|
159 |
+
**I have 20 Different Plugins across 3 websites but Icegram is my go-to plugin** said [JamieTurner1313](https://wordpress.org/support/topic/one-of-the-best-plugins-ive-used-3) from 60 Second Marketer,
|
160 |
+
> There are plenty of similar plug-ins like this on WordPress, but none of them provide as much bang for the buck as Icegram.
|
161 |
+
> I have, I'm guessing, 20 different plugins across 3 websites and this is **my go-to plugin to drive downloads of my e-books**.
|
162 |
+
> I especially like the A/B split testing feature. And the customer support has been very prompt. Five stars for sure.
|
163 |
+
|
164 |
+
**Icegram simplified things for a non-programmer like me** By [varunjadhav](https://profiles.wordpress.org/varunjadhav),
|
165 |
+
> Icegram simplified things for a non-programmer startup entrepreneur like me and has become a tool I recommend to everyone else. It’s a **wonderfully productive On-site Retargeting > Plugin!** And it's free. In one week of using Icegram, our **bounce rate went down significantly** and visitor’s time on site went up.
|
166 |
+
|
167 |
+
**I doubled my subscriber list with Icegram within 1 month** By [infinity80](https://profiles.wordpress.org/infinity80),
|
168 |
+
> One month into using the icegram, and the **number of subscribers doubled**. This plugin is great. Icegram messages have given me **phenomenal 60% click-through rates** and it > never fails to deliver. When you use Icegram, **you don't need to learn all those marketing secrets.. Icegram does that for you…**
|
169 |
+
|
170 |
+
|
171 |
+
**This Plugins A Lifesaver!** By [_Krucial_](https://profiles.wordpress.org/_krucial_)
|
172 |
+
> The exit popup addon was just what I needed. I will be using this plugin on many sites, and only have good things to say about it. It is **very very handy** and generous enough to give away > features for FREE. **Icegram seriously makes a WP user’s life easy!**
|
173 |
+
|
174 |
+
|
175 |
+
**Track impressions and Conversion for FREE** - by [GroNovaAcademy](https://wordpress.org/support/profile/gronovaacademy)
|
176 |
+
> An **easy-to-use software** to capture the attention of web visitors, as well as to track impressions and conversion rates for free. I also experienced a very **reactive and supportive team.**
|
177 |
+
|
178 |
+
|
179 |
+
**Icegram is the best of them ALL** by Maurits Heijstek
|
180 |
+
> I want to say that Icegram is the **best and most simple** solution I have found. I tested everything including Optin Monster, Bloom, Ninja Popup, etc...but Icegram is the best and has the **most potential**.
|
181 |
+
|
182 |
|
183 |
**Some of our other free plugins on WordPress.org**
|
184 |
|
185 |
+
1. [Email Subscribers](https://wordpress.org/plugins/email-subscribers/) - complete newsletter plugin
|
186 |
+
2. [Temporary Login Without Password](https://wordpress.org/plugins/temporary-login-without-password/)
|
187 |
+
3. [Smart Manager For WooCommerce](https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/) - Stock Management, Bulk Edit & more
|
|
|
|
|
188 |
|
189 |
== Installation ==
|
190 |
|
196 |
|
197 |
= Messages look broken / formatting is weird... =
|
198 |
|
199 |
+
This is most likely due to CSS conflicts with the current theme. We suggest using simple formatting for messages. You can also write custom CSS in your theme to fix any problems.
|
200 |
|
201 |
= Extra Line Breaks / Paragraphs in messages... =
|
202 |
|
208 |
|
209 |
= Optin Forms / Mailing service integration... =
|
210 |
|
211 |
+
You can embed any opt-in / subscription form to your Icegram messages using HTML code. You may even use a shortcode if you are using a WP plugin from your newsletter/lead capture service.
|
212 |
|
213 |
Use the "Embed Form" button above the text editor to paste in HTML code from your mailing list service and let Icegram automatically "clean it up" for usage in Icegram messages.
|
214 |
|
215 |
= Preview does not work / not refreshing... =
|
216 |
|
217 |
+
Doing a browser refresh while previewing will not show your most recent changes. Click the 'Preview' button to see a preview with your latest changes.
|
218 |
|
219 |
= Can I use shortcodes in a message? =
|
220 |
|
236 |
5. Target your Icegram message using these display rules
|
237 |
|
238 |
== Upgrade Notice ==
|
|
|
|
|
239 |
|
240 |
+
**1.10.37**
|
241 |
+
|
242 |
+
* Bugfix release
|
243 |
+
|
244 |
+
**1.10.36**
|
245 |
+
|
246 |
+
* Added Christmas Gallery Items
|
247 |
+
|
248 |
+
**1.10.35**
|
249 |
+
|
250 |
+
* Security Fixes
|
251 |
+
|
252 |
+
**1.10.34**
|
253 |
+
|
254 |
+
* Added Black Friday Cyber Monday Gallery Items
|
255 |
+
|
256 |
+
**1.10.33**
|
257 |
+
|
258 |
+
* Revised Gallery Templates for Halloween
|
259 |
+
|
260 |
+
**1.10.32**
|
261 |
+
|
262 |
+
* Added new featured gallery items
|
263 |
+
|
264 |
+
**1.10.31**
|
265 |
+
|
266 |
+
* Revised Gallery Templates
|
267 |
+
|
268 |
+
**10.30.1**
|
269 |
+
|
270 |
+
* Bug Fix release
|
271 |
+
|
272 |
+
**1.10.28.2**
|
273 |
+
|
274 |
+
* Bug Fix release
|
275 |
+
|
276 |
+
**1.10.28.1**
|
277 |
+
|
278 |
+
* Bug Fix release
|
279 |
+
|
280 |
+
**1.10.28**
|
281 |
+
|
282 |
+
* Revised Gallery Templates
|
283 |
+
|
284 |
+
**1.10.27**
|
285 |
+
|
286 |
+
* Bug Fix release
|
287 |
+
|
288 |
+
**1.10.26**
|
289 |
+
|
290 |
+
* Bug Fix release
|
291 |
+
|
292 |
+
**1.10.25**
|
293 |
+
|
294 |
+
* Revised Gallery Templates for Black Friday and Cyber Monday
|
295 |
+
|
296 |
+
**1.10.24**
|
297 |
+
|
298 |
+
* Revised Gallery Templates for Halloween
|
299 |
+
|
300 |
+
**1.10.23**
|
301 |
+
|
302 |
+
* Revised Gallery Templates
|
303 |
+
|
304 |
+
**1.10.22**
|
305 |
+
|
306 |
+
* Fixed popup blocker issue while previewing campaign
|
307 |
+
|
308 |
+
**1.10.21**
|
309 |
+
|
310 |
+
* Compatibility with latest [Email Subscribers](https://wordpress.org/plugins/email-subscribers/)
|
311 |
+
|
312 |
+
**1.10.20**
|
313 |
+
|
314 |
+
* Compatibility with latest [GDPR](https://wordpress.org/plugins/gdpr/)
|
315 |
+
|
316 |
+
**1.10.19**
|
317 |
+
|
318 |
+
* Compatibility with Rainmaker
|
319 |
+
|
320 |
+
**1.10.18**
|
321 |
+
|
322 |
+
* Improved the UI/UX of the Icegram Gallery
|
323 |
+
|
324 |
+
**1.10.17**
|
325 |
+
|
326 |
+
* Revised Gallery Templates
|
327 |
+
|
328 |
+
**1.10.16**
|
329 |
+
|
330 |
+
* Fixed "The plugin does not have a valid header" issue
|
331 |
+
|
332 |
+
**1.10.15**
|
333 |
+
|
334 |
+
* Added Christmas Gallery templates
|
335 |
+
|
336 |
+
**1.10.14**
|
337 |
+
|
338 |
+
* Compatibility with WordPress 4.9
|
339 |
+
|
340 |
+
**1.10.13**
|
341 |
+
|
342 |
+
* Added Black Friday and Cyber Monday Gallery templates
|
343 |
+
|
344 |
+
**1.10.12**
|
345 |
+
|
346 |
+
* Compatibility with MailPoet 3
|
347 |
+
|
348 |
+
**1.10.11**
|
349 |
+
|
350 |
+
* Added Halloween Gallery templates
|
351 |
+
|
352 |
+
**1.10.10**
|
353 |
+
|
354 |
+
* Revised Gallery Templates
|
355 |
+
|
356 |
+
**1.10.9.1**
|
357 |
+
|
358 |
+
* Bug Fix release
|
359 |
+
|
360 |
+
**1.10.9**
|
361 |
+
|
362 |
+
* Revised Gallery Templates
|
363 |
+
|
364 |
+
**1.10.8**
|
365 |
+
|
366 |
+
* compatibility with Contact Form 7(v4.8)
|
367 |
+
|
368 |
+
**1.10.7**
|
369 |
+
|
370 |
+
* Added more templates in Gallery
|
371 |
+
|
372 |
+
**1.10.6**
|
373 |
+
|
374 |
+
* Search bar, filters added to Icegram's Gallery
|
375 |
+
|
376 |
+
**1.10.5**
|
377 |
+
|
378 |
+
* Improvements in Call To Actions
|
379 |
+
|
380 |
+
**1.10.4**
|
381 |
+
|
382 |
+
* Directly choose Gallery Template while creating a New Campaign
|
383 |
+
|
384 |
+
**1.10.3**
|
385 |
+
|
386 |
+
* Email Subscribers compatibility
|
387 |
+
|
388 |
+
**1.10.2**
|
389 |
+
|
390 |
+
* Update mobile Detect library
|
391 |
|
392 |
+
**1.10.1**
|
|
|
393 |
|
394 |
+
* Bug Fix release
|
|
|
395 |
|
396 |
+
**1.10**
|
|
|
397 |
|
398 |
+
* Merge all addons in one
|
|
|
399 |
|
400 |
+
**1.9.24**
|
|
|
401 |
|
402 |
+
* Small improvements in responsiveness of Popups and Action bars
|
|
|
403 |
|
404 |
+
**1.9.23**
|
|
|
405 |
|
406 |
+
* Bug Fix release
|
|
|
407 |
|
408 |
+
**1.9.22**
|
|
|
409 |
|
410 |
+
* No Google penalty for mobile popups, an automatic solution
|
|
|
411 |
|
412 |
+
**1.9.21**
|
|
|
413 |
|
414 |
+
* Revamp admin UI
|
|
|
415 |
|
416 |
+
**1.9.20.1**
|
|
|
417 |
|
418 |
+
* Bug Fix release
|
|
|
419 |
|
420 |
+
**1.9.20**
|
|
|
421 |
|
422 |
+
* Rainmaker compatibility
|
|
|
423 |
|
424 |
+
**1.9.19**
|
|
|
425 |
|
426 |
+
* Secured Icegram from XSS vulnerability
|
|
|
427 |
|
428 |
+
**1.9.18**
|
|
|
429 |
|
430 |
+
* Compatibility with Icegram's CTA add-on and Rainmaker
|
|
|
431 |
|
432 |
+
**1.9.17**
|
|
|
433 |
|
434 |
+
* Performance enhancements
|
|
|
435 |
|
436 |
+
**1.9.16**
|
|
|
437 |
|
438 |
+
* Custom forms imported in Rainmaker
|
|
|
439 |
|
440 |
+
**1.9.15**
|
|
|
441 |
|
442 |
+
* Added the Gallery of ready to use Icegram Campaigns
|
|
|
443 |
|
444 |
+
**1.9.14**
|
|
|
445 |
|
446 |
+
* Added quick action for campaign preview.
|
|
|
447 |
|
448 |
+
**1.9.13**
|
|
|
449 |
|
450 |
+
* revamp of popup themes - Airmail, Convert, Inspire, Persuade.
|
|
|
451 |
|
452 |
+
**1.9.12**
|
|
|
453 |
|
454 |
+
* Add new custom CSS and JS code block.
|
|
|
455 |
|
456 |
+
**1.9.11.1**
|
|
|
457 |
|
458 |
+
* Remove warning in the admin panel.
|
|
|
459 |
|
460 |
+
**1.9.11**
|
|
|
461 |
|
462 |
+
* Compatibility with Gravity Forms.
|
|
|
463 |
|
464 |
+
**1.9.10**
|
|
|
465 |
|
466 |
+
* Fix for schedule campaign option
|
|
|
467 |
|
468 |
+
**1.9.9**
|
|
|
469 |
|
470 |
+
* Compatibility with Contact Form 7.
|
|
|
471 |
|
472 |
+
**1.9.8.1**
|
|
|
473 |
|
474 |
+
* Added sprite image for close buttons and other fixes.
|
|
|
475 |
|
476 |
+
**1.9.8**
|
|
|
477 |
|
478 |
+
* Enhanced the top Action bar position
|
|
|
479 |
|
480 |
+
**1.9.7.1**
|
|
|
481 |
|
482 |
+
* Incorrect plugin name
|
|
|
483 |
|
484 |
+
**1.9.7**
|
|
|
485 |
|
486 |
+
* Messengers are now responsive. Many small improvements.
|
|
|
487 |
|
488 |
+
**1.9.6**
|
|
|
489 |
|
490 |
+
* Many small changes and other fixes.
|
|
|
491 |
|
492 |
+
**1.9.5**
|
|
|
493 |
|
494 |
+
* Added animations for few more message types. Action bars are now responsive.
|
|
|
495 |
|
496 |
+
**1.9.4**
|
|
|
497 |
|
498 |
+
* Bugfix release for forms.
|
|
|
499 |
|
500 |
+
**1.9.3**
|
|
|
501 |
|
502 |
+
* Bugfix release for "Target link" not working.
|
|
|
503 |
|
504 |
+
**1.9.2**
|
|
|
505 |
|
506 |
+
* Shortcode problems solved. New anti-spam mechanism for forms.
|
|
|
507 |
|
508 |
+
**1.9.1**
|
|
|
509 |
|
510 |
+
* Few improvements in form functionality.
|
|
|
511 |
|
512 |
+
**1.9**
|
|
|
513 |
|
514 |
+
* Form embed functionality improvements, Added forms styles.
|
|
|
515 |
|
516 |
+
**1.8.10**
|
|
|
517 |
|
518 |
+
* Fixes for minified js and CSS. Changes for WP themes compatibility.
|
|
|
519 |
|
520 |
+
**1.8.9**
|
|
|
521 |
|
522 |
+
* Many small changes. Plus major changes for caching compatibility.
|
|
|
523 |
|
524 |
+
**1.8.8**
|
|
|
525 |
|
526 |
+
* Improved shortcode handling, WishList member compatibility, and other fixes.
|
|
|
527 |
|
528 |
+
**1.8.7**
|
|
|
529 |
|
530 |
+
* Popups now support custom background and text colors. And a handful of fixes!
|
|
|
531 |
|
532 |
+
**1.8.6**
|
|
|
533 |
|
534 |
+
* Fix for "white screen" errors, updated device detection, more readable call to action button colors
|
|
|
535 |
|
536 |
+
**1.8.5**
|
|
|
537 |
|
538 |
+
* Bugfix release for device targeting, preview before publishing not working.
|
|
|
539 |
|
540 |
+
**1.8.4**
|
|
|
541 |
|
542 |
+
* Popups are now responsive! Plus Visual Composer compatibility and other fixes.
|
|
|
543 |
|
544 |
+
**1.8.3**
|
|
|
545 |
|
546 |
+
* Campaign and message duplicate feature added. Plus some other improvements.
|
|
|
547 |
|
548 |
+
**1.8.2**
|
|
|
549 |
|
550 |
+
* Bugfix release for preview not working.
|
|
|
551 |
|
552 |
+
**1.8.1**
|
|
|
553 |
|
554 |
+
* Recommended upgrade. Many improvements.
|
|
|
555 |
|
556 |
+
**1.8**
|
|
|
557 |
|
558 |
+
* Target campaigns to any page with wildcard URL support in "Where" conditions and CTA Click based retargeting.
|
|
|
559 |
|
560 |
+
**1.7.1**
|
|
|
561 |
|
562 |
+
* Dismiss admin notice provision, retargeting compatibility with caches and bug fixes.
|
|
|
563 |
|
564 |
+
**1.7**
|
565 |
+
|
566 |
+
* Improvements in styling, form embeds and retargeting.
|
567 |
+
|
568 |
+
**1.6**
|
569 |
+
|
570 |
+
* Improvements in optin form embedding, bug fixes and more. Required update.
|
571 |
+
|
572 |
+
**1.5**
|
573 |
+
|
574 |
+
* Easy opt-in / subscription form parser and many other enhancements. Required update.
|
575 |
+
|
576 |
+
**1.4**
|
577 |
+
|
578 |
+
* Many small improvements. Support for analytics added. WordPress 4.0 compatible.
|
579 |
+
|
580 |
+
**1.3**
|
581 |
+
|
582 |
+
* 7 premium addons available now. Plus a lot of improvements. Recommended upgrade.
|
583 |
+
|
584 |
+
**1.2**
|
585 |
+
|
586 |
+
* Lots of enhancements... [WPML](http://wpml.org/?aid=21266&affiliate_key=W1YOdHyWrIjY) support, pluggable architecture, many internal changes. Do upgrade.
|
587 |
+
|
588 |
+
**1.1.1**
|
589 |
+
|
590 |
+
* Compatibility with W3TC and Localization
|
591 |
+
|
592 |
+
**1.1**
|
593 |
+
|
594 |
+
* First release on WordPress.org
|
595 |
+
|
596 |
+
**1.0**
|
597 |
+
|
598 |
+
* Initial Release
|
599 |
|
600 |
|
601 |
== Changelog ==
|
602 |
+
|
603 |
+
**1.10.37**
|
604 |
+
|
605 |
+
* Fix: Email Subscribers form was not visible when Email Subscribers Premium plugin activated
|
606 |
+
|
607 |
+
**1.10.36**
|
608 |
+
|
609 |
* Fix: Form color field was not rendering properly
|
610 |
* Enhancement: Added Christmas Gallery Items
|
611 |
|
612 |
+
**1.10.35**
|
613 |
+
|
614 |
* Fix: Security issues
|
615 |
|
616 |
+
**1.10.34**
|
617 |
+
|
618 |
* Added Black Friday Cyber Monday Gallery Items
|
619 |
|
620 |
+
**1.10.33**
|
621 |
+
|
622 |
* Enhancement: Revised Gallery Templates for Halloween
|
623 |
|
624 |
+
**1.10.32**
|
625 |
+
|
626 |
* New: Added featured gallery items
|
627 |
|
628 |
+
**1.10.31**
|
629 |
+
|
630 |
* Enhancement: Revised Gallery templates
|
631 |
|
632 |
+
**1.10.30.1**
|
633 |
+
|
634 |
* Fix: Fatal error 'ES_DB_Forms' class not found.
|
635 |
|
636 |
+
**1.10.30**
|
637 |
+
|
638 |
* New: [Email Subscribers & Newsletters](https://wordpress.org/plugins/email-subscribers/) is the recommended method of adding forms in Icegram
|
639 |
|
640 |
+
**1.10.29**
|
641 |
+
|
642 |
* Fix: Fixed security issue in the gallery
|
643 |
|
644 |
+
**1.10.28.2**
|
645 |
+
|
646 |
* Fix: Fatal error "IG_Tracker_V_1_0_1" class not found.
|
647 |
|
648 |
+
**1.10.28.1**
|
649 |
+
|
650 |
* Fix: Fatal error "IG_Tracker_V_1_0_1" class not found.
|
651 |
|
652 |
+
**1.10.28**
|
653 |
+
|
654 |
* Enhancement: Revised Gallery templates
|
655 |
|
656 |
+
**1.10.27**
|
657 |
+
|
658 |
* Fix: Fixed gallery not loading issue
|
659 |
|
660 |
+
**1.10.26**
|
661 |
+
|
662 |
+
* Update: Now supports multi roles for the user in campaign display rules
|
663 |
+
|
664 |
+
**1.10.25**
|
665 |
|
|
|
666 |
* Enhancement: Revised Gallery Templates for Black Friday and Cyber Monday
|
667 |
|
668 |
+
**1.10.24**
|
669 |
+
|
670 |
+
* Enhancement: Revised Gallery Templates for Halloween
|
671 |
+
|
672 |
+
**1.10.23**
|
673 |
|
|
|
674 |
* Enhancement: Revised Gallery templates
|
675 |
|
676 |
+
**1.10.22**
|
677 |
+
|
678 |
* Fix: Fixed popup blocker issue while previewing campaign
|
679 |
* Update: Compatibility with latest [WPML](https://wpml.org/)
|
680 |
* Enhancement: Revised Gallery templates
|
681 |
|
682 |
+
**1.10.21**
|
683 |
+
|
684 |
* New: Added customizable Gallery templates to the Gallery
|
685 |
* Update: Compatibility with latest [Email Subscribers](https://wordpress.org/plugins/email-subscribers/)
|
686 |
|
687 |
+
**1.10.20**
|
688 |
+
|
689 |
* Update: Compatibility with latest [GDPR](https://wordpress.org/plugins/gdpr/)
|
690 |
|
691 |
+
**1.10.19**
|
692 |
+
|
693 |
+
* Update: Now supports Rainmaker forms in a multisite environment.
|
694 |
+
|
695 |
+
**1.10.18**
|
696 |
|
|
|
697 |
* New: Improved the UI/UX of the Icegram Gallery
|
698 |
|
699 |
+
**1.10.17**
|
700 |
+
|
701 |
* Enhancement: Revised Gallery templates
|
702 |
|
703 |
+
**1.10.16**
|
704 |
+
|
705 |
+
* Fix: "The plugin does not have a valid header"
|
706 |
+
|
707 |
+
**1.10.15**
|
708 |
|
|
|
709 |
* New: Added Christmas Gallery templates
|
710 |
|
711 |
+
**1.10.14**
|
712 |
+
|
713 |
* Update: Compatibility with WordPress 4.9
|
714 |
|
715 |
+
**1.10.13**
|
716 |
+
|
717 |
* New: Added Black Friday and Cyber Monday Gallery templates
|
718 |
|
719 |
+
**1.10.12**
|
720 |
+
|
721 |
+
* Fix: MailPoet 3 anti-spam field was visible with Form embed functionality
|
722 |
+
|
723 |
+
**1.10.11**
|
724 |
|
|
|
725 |
* New: Added Halloween Gallery templates
|
726 |
|
727 |
+
**1.10.10**
|
728 |
+
|
729 |
* Enhancement: Revised Gallery templates
|
730 |
|
731 |
+
**1.10.9.1**
|
732 |
+
|
733 |
* Fix: "Blank / White Screen of death" / Fatal error: Can't use function return value in write context
|
734 |
|
735 |
+
**1.10.9**
|
736 |
+
|
737 |
* Enhancement: Revised Gallery templates
|
738 |
|
739 |
+
**1.10.8**
|
740 |
+
|
741 |
+
* Fix: compatibility with Contact Form 7(v4.8)
|
742 |
+
|
743 |
+
**1.10.7**
|
744 |
|
|
|
745 |
* New: Added new templates to Icegram's Gallery
|
746 |
* Fix: Single gallery template wasn't loading on refresh
|
747 |
|
748 |
+
**1.10.6**
|
749 |
+
|
750 |
* Enhancement: Search bar, filters added to Icegram's Gallery
|
751 |
|
752 |
+
**1.10.5**
|
753 |
+
|
754 |
* Enhancement: Small improvements for Call To Actions
|
755 |
|
756 |
+
**1.10.4**
|
757 |
+
|
758 |
+
* New: Directly choose Gallery Template while creating a New Campaign
|
759 |
+
|
760 |
+
**1.10.3**
|
761 |
|
|
|
762 |
* Enhancement: [Email Subscribers](https://wordpress.org/plugins/email-subscribers/) form compatibility with Icegram
|
763 |
|
764 |
+
**1.10.2**
|
765 |
+
|
766 |
* Update: Mobile Detect Library updated to version 2.8.24
|
767 |
* Fix: Forms that were embedded in mobile popups at "0 seconds"
|
768 |
+
* Fix: Resolve conflicts with WordPress themes using Magnific popup library
|
769 |
+
|
770 |
+
**1.10.1**
|
771 |
+
|
772 |
+
* Fix: Action bar was not getting close.
|
773 |
|
774 |
+
**1.10**
|
|
|
775 |
|
|
|
776 |
* Enhancement: Merged all addons in one
|
777 |
|
778 |
+
**1.9.24**
|
779 |
+
|
780 |
* Enhancement: Small improvements in responsiveness of Popups and Action bars
|
781 |
|
782 |
+
**1.9.23**
|
783 |
+
|
784 |
+
* Fix: Popup with time delay more than "0 seconds" were also converted to action bar if Behavior triggers were installed
|
785 |
+
|
786 |
+
**1.9.22**
|
787 |
+
|
788 |
+
* Enhancement: No Google penalty for mobile popups, an automatic solution
|
789 |
|
790 |
+
**1.9.21**
|
|
|
791 |
|
792 |
+
* New: Revamped the old admin UI and made it more user-friendly and simple
|
|
|
793 |
|
794 |
+
**1.9.20.1**
|
795 |
+
|
796 |
+
* Fix: Solve "Parse error: syntax error, unexpected '&&' (T_BOOLEAN_AND), expecting ')'"
|
797 |
+
|
798 |
+
**1.9.20**
|
799 |
|
|
|
800 |
* Update: Rainmaker form compatibility with Icegram's Remote addon
|
801 |
|
802 |
+
**1.9.19**
|
803 |
+
|
804 |
* Fix: Secured Icegram from XSS vulnerability(Thanks to Ipstenu (Mika Epstein))
|
805 |
|
806 |
+
**1.9.18**
|
807 |
+
|
808 |
+
* Fix: Compatibility with Icegram's CTA add-on and Rainmaker
|
809 |
+
|
810 |
+
**1.9.17**
|
811 |
|
|
|
812 |
* Update: Performance enhancements
|
813 |
* Fix: Gallery is not getting loaded with https site
|
814 |
|
815 |
+
**1.9.16**
|
816 |
+
|
817 |
+
* New: [Icegram Rainmaker Form Plugin](https://wordpress.org/plugins/icegram-rainmaker/) is the recommended method of adding forms in Icegram
|
818 |
+
|
819 |
+
**1.9.15**
|
820 |
|
|
|
821 |
* New: Added the Gallery of ready to use Icegram Campaigns
|
822 |
* Fix: Font was not getting loaded for convert theme(popup)
|
823 |
|
824 |
+
**1.9.14**
|
825 |
+
|
826 |
* New: Added quick action for campaign preview
|
827 |
* Fix: For new message delay time -1 were not getting set
|
828 |
|
829 |
+
**1.9.13**
|
830 |
+
|
831 |
* New: Two step - click triggered - optins
|
832 |
+
* Enhancement: Complete revamp of popup themes - Airmail, Convert, Inspire, Persude
|
833 |
* Fix: Clicks were not getting tracked for button[type=submit] with inner HTML
|
834 |
|
835 |
+
**1.9.12**
|
836 |
+
|
837 |
* New: Support for custom JS and CSS in message
|
838 |
+
* New: Added German translations
|
839 |
+
* Enhancement: Revised Addons and Docs page inside the plugin
|
840 |
* Enhancement: Prevent false Impression count on crawling in analytics
|
841 |
+
* Fix: For an on-click popup, once the background of the popup was clicked it wouldn't open again
|
842 |
* Fix: Home page targeting was not working properly in "Specific URL on this site" targeting
|
843 |
|
844 |
+
**1.9.11.1**
|
845 |
+
|
846 |
* Fix: Warning for "Illegal string offset 'option_name'"
|
847 |
* Fix: 'ReferenceError: icegram is not defined' on page with CF7 and no Icegram
|
848 |
|
849 |
+
**1.9.11**
|
850 |
+
|
851 |
* Fix: Conditional login of Gravity forms was not working
|
852 |
|
853 |
+
**1.9.10**
|
854 |
+
|
855 |
* Fix: Campaigns were not getting scheduled according to site's timezone
|
856 |
|
857 |
+
**1.9.9**
|
858 |
+
|
859 |
* Fix: CF7(Contact Form 7) Ajax submission was not working
|
860 |
* Fix: CF7 redirection was not working
|
861 |
* Fix: CF7 was changing URL after form submission
|
862 |
|
863 |
+
**1.9.8.1**
|
864 |
|
|
|
865 |
* Enhancement: Added sprite image for close buttons
|
866 |
* Fix: Retargeting issues with HTTP and HTTPS
|
867 |
|
868 |
+
**1.9.8**
|
869 |
+
|
870 |
* New: Added translation for Italian
|
871 |
* Update: Action Bar does not overlap header/menu of your website
|
872 |
|
873 |
+
**1.9.7.1**
|
874 |
+
|
875 |
* Fix: Incorrect plugin name
|
876 |
|
877 |
+
**1.9.7**
|
878 |
+
|
879 |
* New: Messenger messages work beautifully on mobile / small devices now!
|
880 |
+
* New: Icegram's shortcodes are now working with Text Widget
|
881 |
* Update: Mobile Detect Library updated to version 2.8.15
|
882 |
* Fix: Gravity Forms hidden fields were visible with Form embed functionality
|
883 |
* Fix: Slide animation was not working with some browsers
|
884 |
* Fix: Popup message conflicts with some lightbox plugins
|
885 |
|
886 |
+
**1.9.6**
|
887 |
+
|
888 |
* Fix: Popup was not getting closed when multiple popups were set on a single page
|
889 |
* Fix: Message was not getting close when a form was submitted in a new window
|
890 |
* Fix: Default editor was visible while loading campaign setting page
|
891 |
+
* Fix: Revised CSS of the "Support and Docs" page and made its compatibility with WordPress 4.3
|
892 |
+
|
893 |
+
**1.9.5**
|
894 |
|
|
|
895 |
* New: Action bar messages work beautifully on mobile / small devices now!
|
896 |
* New: Add Animation for few more message types
|
897 |
|
898 |
+
**1.9.4**
|
899 |
+
|
900 |
* Fix: Ninja Forms was showing two submit buttons with Icegram Form embed functionality
|
901 |
* Fix: Mailpoet hidden fields were visible with Form embed functionality
|
902 |
+
* Fix: Minor issues with form CSS
|
903 |
* Fix: Use themes default option was not working in message admin settings
|
904 |
|
905 |
+
**1.9.3**
|
906 |
+
|
907 |
* Fix: Redirection to "Target Link" was not working in Icegram message
|
908 |
* Fix: Inline form shortcode not getting preserved for message types with only inline position
|
909 |
|
910 |
+
**1.9.2**
|
911 |
+
|
912 |
+
* New: Keep spammers away with new automatic anti-spambot checking mechanism
|
913 |
* Fix: Shortcodes not working in Icegram messages
|
914 |
* Fix: WordPress crash while creating a new post
|
915 |
* Update: UI improvements for form embedding
|
916 |
|
917 |
+
**1.9.1**
|
918 |
+
|
919 |
+
* Update: Retargeting option now work for the campaign instead of the message
|
920 |
+
* Fix: Inline form shortcode not getting preserved in the message body
|
921 |
* Fix: Form style options not getting saved
|
922 |
+
* Fix: Minor issues with form CSS
|
923 |
+
* Fix: Compatibility issues of previous embed form functionality with a new one
|
924 |
+
|
925 |
+
**1.9**
|
926 |
|
927 |
+
* New: Forms now comes with various form styles and multiple positions
|
928 |
+
* New: Forms also provides background and text color
|
|
|
929 |
* New:Forms also supports header,footer-text/HTML
|
930 |
* Update: Updated form embed functionality
|
931 |
* Fix: Homepage page targeting not working when "Lazy loading" was off
|
932 |
|
933 |
+
**1.8.10**
|
934 |
+
|
935 |
+
* Fix: Compatibility for themes with CSS class name conflicts
|
936 |
+
* Fix: Compatibility with "auto-optimize" and other minification plugins
|
937 |
+
* Fix: Local site targeting not working without a wildcard character
|
938 |
+
|
939 |
+
**1.8.9**
|
940 |
|
|
|
941 |
* New: Both body and button colors (background and foreground) can now be set
|
942 |
* Update: Brought back CTA Buttons default colors
|
943 |
* New: Lazy load Icegram messages for better compatibility with caching plugins
|
944 |
* Update: Updated all themes to support new theme coloring scheme
|
945 |
* Fix: Some alignment issues with images in popups
|
946 |
* Update: Minified all JS and CSS to improve performance
|
947 |
+
* Update: Auto-correction for CTA links now works with tel: links
|
948 |
|
949 |
+
**1.8.8**
|
950 |
+
|
951 |
+
* New: Headlines now support shortcodes!
|
952 |
* Update: A message shown on click of another (using CTA actions addon), can now contain shortcodes
|
953 |
* Fix: Compatibility with Wishlist Member plugin
|
954 |
* Fix: Popup close event not triggered when clicking outside the popup - on its overlay
|
955 |
+
* Update: Automatically adds HTTP:// in CTA links if missing
|
956 |
+
|
957 |
+
**1.8.7**
|
958 |
|
959 |
+
* New: Can now define the custom background and text colors for Popups
|
|
|
960 |
* Fix: Button text color not showing well in some themes
|
961 |
* Fix: Analytics not getting tracked
|
962 |
* Update: Revisions to theme packs and many addons
|
963 |
* New: Support for Split Testing addon
|
964 |
|
965 |
+
**1.8.6**
|
966 |
+
|
967 |
* Fix: "Blank / White Screen of death" / Fatal error - Cannot redeclare class Mobile_Detect
|
968 |
* Fix: Warning for undefined index
|
969 |
* Update: Mobile Detect Library updated to version 2.8.11
|
970 |
+
* Update: Improvements in complementary colors for call to action button and button text
|
971 |
* Update: Action Bar's Bold theme - reduced shadow on button text
|
972 |
|
973 |
+
**1.8.5**
|
974 |
+
|
975 |
* New: Added a link to Form Embed Documentation for easy access
|
976 |
* Fix: Default mode of content editor set to visual
|
977 |
* Fix: Popup hiding behind header for some themes
|
978 |
* Fix: Device targeting rule not working on newer devices
|
979 |
* Fix: Preview working only after Publishing
|
980 |
|
981 |
+
**1.8.4**
|
982 |
+
|
983 |
+
* New: Popup messages work beautifully on mobile/small devices now!
|
984 |
* Fix: Timing problems with popups triggered via Behavior Trigger addon.
|
985 |
* Fix: Visual Composer compatibility
|
986 |
|
987 |
+
**1.8.3**
|
988 |
+
|
989 |
* NEW: Duplicate a Campaign and Message easily now - click 'duplicate' in the list view!
|
990 |
* Update: Using an image instead of dashicons for action bar arrows
|
991 |
+
* Update: Renamed "messenger" CSS class to "ig_messenger" to avoid potential overlaps
|
992 |
* Update: Clicking outside the popup (on the dark overlay) will close the popup
|
993 |
|
994 |
+
**1.8.2**
|
995 |
+
|
996 |
* Fix: Preview not working correctly
|
997 |
|
998 |
+
**1.8.1**
|
999 |
+
|
1000 |
* NEW: Support for Icegram Remote - now run your campaigns on other sites - even non WordPress sites
|
1001 |
* Update: Better wildcard matching in Where targeting rules for URLs
|
1002 |
* Update: Compatibility with Avada theme
|
1003 |
* Update: Misc UI and performance enhancements
|
1004 |
|
1005 |
+
**1.8**
|
1006 |
+
|
1007 |
* NEW: Target campaigns to any page with wildcard URL support in "Where" conditions
|
1008 |
+
* NEW: CTA Click based retargeting to hide a message in a campaign after being clicked
|
1009 |
+
* NEW: Message shown retargeting can now hide message forever - after shown once
|
1010 |
+
|
1011 |
+
**1.7.1**
|
1012 |
|
|
|
1013 |
* Update: Dismiss button for admin notice about bonus themes and addon
|
1014 |
* Fix: Admin settings CSS changes, for compatibility with some themes
|
1015 |
* Fix: Hello Bar close button not clickable
|
1016 |
* Fix: Retargeting not working with some cache systems
|
1017 |
|
1018 |
+
**1.7**
|
1019 |
+
|
1020 |
* Update: Styling changes to action bar CTA button for alignment
|
1021 |
* Update: Hello Bar styling updates to better handle forms
|
1022 |
+
* Fix: Hidden field related issue while embedding subscription forms
|
1023 |
* Fix: Retargeting not working correctly in certain cases
|
1024 |
+
* Fix: Theme thumbnails missing on the messages list
|
1025 |
+
|
1026 |
+
**1.6**
|
1027 |
|
|
|
1028 |
* Fix: Empty image tag causing display issues in Opera / IE
|
1029 |
* Update: Form embed functionality improvements
|
1030 |
* NEW: "Themes Pack 2014" addon - 17 themes as a bonus - available from Icegram.com
|
1032 |
* Update: JS and CSS URLs include version numbers now - better for caching
|
1033 |
* Fix: Other minor fixes
|
1034 |
|
1035 |
+
**1.5**
|
1036 |
+
|
1037 |
* NEW: "Embed Form" option for easy integration with optin / mailing list / subscription form / CRM services
|
1038 |
* NEW: Retargeting Rule: Do not show again for X number of days
|
1039 |
* NEW: Targeting Rule: "Not Logged In" visitor
|
1040 |
* NEW: Added support for submitting form on CTA click
|
1041 |
* NEW: "CTA Actions" premium addon
|
1042 |
|
1043 |
+
**1.4**
|
1044 |
+
|
1045 |
+
* NEW: Targeting Rule: "Exclude pages" from a site-wide campaign
|
1046 |
* NEW: Options to cleanup Icegram data and remove shortcodes from content
|
1047 |
+
* NEW: CTA button color is automatically determined based on the background-color
|
1048 |
* NEW: FREE Analytics add-on (available from www.icegram.com)
|
1049 |
* Update: This version is compatible with WordPress 4.0
|
1050 |
|
1051 |
+
**1.3**
|
1052 |
+
|
1053 |
* NEW: 7 Premium add-ons available
|
1054 |
* Fix: [icegram] shortcode not working for campaigns
|
1055 |
* Update: Improved CTA click handling
|
1057 |
* NEW: Setting display time to -1 will hide the message
|
1058 |
* Fix: Can use quotes and other special characters in headline now
|
1059 |
* Update: #WPML Show default language message only if "Blog posts to display" is set to "All posts"
|
1060 |
+
* Fix: Hide campaign and messages from public pages & search engines
|
1061 |
* Fix: Other plugins adding content to messages (social media links etc)
|
1062 |
+
* NEW: Clicking on any item with class "ig_cta" will trigger CTA click action
|
1063 |
* Fix: Campaigns not working on archive pages (like Shop / Categories...)
|
1064 |
* Fix: Campaigns with multiple target pages not working
|
1065 |
+
* Fix: #WPML Messages added from Campaigns page not showing on the Messages page
|
1066 |
* Update: And then some changes we are forgetting for now...
|
1067 |
|
1068 |
+
**1.2**
|
1069 |
+
|
1070 |
* NEW: Icegram is now fully pluggable. External plugins can add message types and themes.
|
1071 |
* NEW: [WPML](http://wpml.org/?aid=21266&affiliate_key=W1YOdHyWrIjY) support
|
1072 |
* Update: Icegram branding is optional
|
1073 |
* NEW: Setting to show Icegram branding
|
1074 |
* Fix: Popups show correctly on long pages now
|
1075 |
+
* Fix: Single-day schedule for message display is correctly handled now
|
1076 |
* NEW: Rewritten message display system - can even control with JavaScript now
|
1077 |
* Fix: For problems showing a campaign on homepage
|
1078 |
* Update: Simplified CSS and JS
|
1082 |
* Fix: For displaying messages via shortcode
|
1083 |
* Update: And many more!!!
|
1084 |
|
1085 |
+
**1.1.1**
|
1086 |
|
|
|
1087 |
* Fix for crash on activation with W3 Total Cache
|
1088 |
* Added localization / translation ability
|
1089 |
|
1090 |
+
**1.1**
|
1091 |
+
|
1092 |
* Loading CSS from own domain instead of Google
|
1093 |
|
1094 |
+
**1.0**
|
1095 |
+
|
1096 |
+
* Initial Release
|