Popups, Welcome Bar, Optins and Lead Generation Plugin – Icegram - Version 1.8.1

Version Description

Recommended upgrade. Many improvements.

Download this release

Release Info

Developer niravmehta
Plugin Icon 128x128 Popups, Welcome Bar, Optins and Lead Generation Plugin – Icegram
Version 1.8.1
Comparing to
See all releases

Code changes from version 1.8 to 1.8.1

assets/css/admin.css CHANGED
@@ -137,16 +137,17 @@ th.message_header {
137
 
138
  .campaign_shortcode {
139
  display: block;
140
- margin-left: 30%;
141
  color:#777;
142
  }
143
 
144
  .campaign_shortcode.light {
145
- float: right;
146
- width: 34%;
147
- margin-left: 0px !important;
148
  border: 1px dashed #cccccc;
149
- padding: 5px;
 
 
 
150
  }
151
 
152
  .campaign_shortcode.light code{
137
 
138
  .campaign_shortcode {
139
  display: block;
140
+ width: 45%;
141
  color:#777;
142
  }
143
 
144
  .campaign_shortcode.light {
145
+ margin-left: 50%;
 
 
146
  border: 1px dashed #cccccc;
147
+ padding-left: 0.6%;
148
+ padding-right: 0.2%;
149
+ position: absolute;
150
+ margin-top: -1.5em;
151
  }
152
 
153
  .campaign_shortcode.light code{
assets/js/icegram.js CHANGED
@@ -5,11 +5,14 @@
5
  **/
6
  function Icegram( ) {
7
  var data, defaults, message_data, messages, map_id_to_index, map_type_to_index,
8
- timer, message_template_cache;
9
  var tracking_data, powered_by;
10
  }
11
 
12
  Icegram.prototype.init = function ( data ) {
 
 
 
13
  // Pre-init - can allow others to modify message data
14
  jQuery( window ).trigger( 'preinit.icegram', [ data ] );
15
 
@@ -20,6 +23,7 @@
20
  this.message_template_cache = {};
21
  this.map_id_to_index = {};
22
  this.map_type_to_index = {};
 
23
  this.powered_by = { link: 'http://www.icegram.com/?utm_source=inapp&utm_campaign=poweredby&utm_medium=' };
24
  //this.timer = setInterval( this.timer_tick, 1000 );
25
 
@@ -138,19 +142,26 @@
138
  }
139
  Icegram.prototype.submit_tracking_data = function ( ev, params ) {
140
  if (this.tracking_data.length > 0) {
141
- jQuery.ajax({
142
  method: 'POST',
143
  url: this.data.ajax_url,
144
  async: false,
145
  data: {
146
  action: 'icegram_event_track',
147
- event_data: jQuery.extend(true, {}, this.tracking_data)
 
148
  },
149
  success: function(data, status, xhr) {
150
  },
151
  error: function(data, status, xhr) {
152
  }
153
- });
 
 
 
 
 
 
154
  this.tracking_data = [];
155
  }
156
  }
@@ -359,7 +370,6 @@
359
 
360
  // Click and other event handlers
361
  Icegram_Message_Type.prototype.toggle = function ( options ) {
362
-
363
  if ( this.is_visible() ) {
364
  this.hide( options );
365
  } else {
5
  **/
6
  function Icegram( ) {
7
  var data, defaults, message_data, messages, map_id_to_index, map_type_to_index,
8
+ timer, message_template_cache, mode;
9
  var tracking_data, powered_by;
10
  }
11
 
12
  Icegram.prototype.init = function ( data ) {
13
+ if (data == undefined) {
14
+ return;
15
+ }
16
  // Pre-init - can allow others to modify message data
17
  jQuery( window ).trigger( 'preinit.icegram', [ data ] );
18
 
23
  this.message_template_cache = {};
24
  this.map_id_to_index = {};
25
  this.map_type_to_index = {};
26
+ this.mode = (window.ig_mode == undefined) ? 'local' : window.ig_mode;
27
  this.powered_by = { link: 'http://www.icegram.com/?utm_source=inapp&utm_campaign=poweredby&utm_medium=' };
28
  //this.timer = setInterval( this.timer_tick, 1000 );
29
 
142
  }
143
  Icegram.prototype.submit_tracking_data = function ( ev, params ) {
144
  if (this.tracking_data.length > 0) {
145
+ var params = {
146
  method: 'POST',
147
  url: this.data.ajax_url,
148
  async: false,
149
  data: {
150
  action: 'icegram_event_track',
151
+ event_data: JSON.parse(JSON.stringify(this.tracking_data)),
152
+ ig_remote_url: (this.mode == 'remote') ? window.location.href : undefined,
153
  },
154
  success: function(data, status, xhr) {
155
  },
156
  error: function(data, status, xhr) {
157
  }
158
+ };
159
+ if (this.mode == 'remote') {
160
+ params['xhrFields'] = { withCredentials: true };
161
+ params['crossDomain'] = true;
162
+ params['async'] = true;
163
+ }
164
+ jQuery.ajax(params);
165
  this.tracking_data = [];
166
  }
167
  }
370
 
371
  // Click and other event handlers
372
  Icegram_Message_Type.prototype.toggle = function ( options ) {
 
373
  if ( this.is_visible() ) {
374
  this.hide( options );
375
  } else {
classes/class-icegram-campaign-admin.php CHANGED
@@ -147,8 +147,7 @@ if ( !class_exists( 'Icegram_Campaign_Admin' ) ) {
147
  <input type="checkbox" name="campaign_target_rules[sitewide]" id="where_sitewide" value="yes" <?php ( !empty( $campaign_target_rules['sitewide'] ) ) ? checked( $campaign_target_rules['sitewide'], 'yes' ) : ''; ?> />
148
  <?php _e( 'Sitewide', 'icegram' ); ?>
149
  <span class="campaign_shortcode light">
150
- <span class="shortcode_description admin_field_icon light"></span>
151
- <?php echo sprintf(__( 'Additionally you can insert <br /><code>[%s]</code> wherever you want to run this campaign.', 'icegram' ), 'icegram campaigns="' .$campaign_id . '"' ); ?>
152
  </span>
153
  </label>
154
  </p>
@@ -574,7 +573,8 @@ if ( !class_exists( 'Icegram_Campaign_Admin' ) ) {
574
  } elseif( isset( $message_data['position']['ig_default'] ) ) {
575
  $message_data['position'] = $message_data['position']['ig_default'];
576
  }
577
-
 
578
  update_post_meta( $message_id, 'icegram_message_data', $message_data );
579
  update_post_meta( $message_id, 'icegram_message_preview_data', $message_data );
580
  wp_update_post( array ( 'ID' => $message_id,
147
  <input type="checkbox" name="campaign_target_rules[sitewide]" id="where_sitewide" value="yes" <?php ( !empty( $campaign_target_rules['sitewide'] ) ) ? checked( $campaign_target_rules['sitewide'], 'yes' ) : ''; ?> />
148
  <?php _e( 'Sitewide', 'icegram' ); ?>
149
  <span class="campaign_shortcode light">
150
+ <?php echo sprintf(__( 'Additionally you can insert <code>[%s]</code> wherever you want to run this campaign.', 'icegram' ), 'icegram campaigns="' .$campaign_id . '"' ); ?>
 
151
  </span>
152
  </label>
153
  </p>
573
  } elseif( isset( $message_data['position']['ig_default'] ) ) {
574
  $message_data['position'] = $message_data['position']['ig_default'];
575
  }
576
+ //save message data when campaign is save
577
+ $message_data = apply_filters( 'icegram_update_message_data', $message_data, $message_id );
578
  update_post_meta( $message_id, 'icegram_message_data', $message_data );
579
  update_post_meta( $message_id, 'icegram_message_preview_data', $message_data );
580
  wp_update_post( array ( 'ID' => $message_id,
classes/class-icegram-campaign.php CHANGED
@@ -120,7 +120,6 @@ if ( !class_exists( 'Icegram_Campaign' ) ) {
120
 
121
  function _is_valid_page( $campaign_valid, $campaign, $options ) {
122
  $page_id = Icegram::get_current_page_id();
123
- $current_page_url = Icegram::get_current_page_url();
124
  if( !$campaign_valid || !empty($options['skip_page_check']) ) {
125
  return $campaign_valid;
126
  }
@@ -141,6 +140,11 @@ if ( !class_exists( 'Icegram_Campaign' ) ) {
141
  }
142
  if ( (!empty( $campaign->rules_summary['where']['local_url'] ) && $campaign->rules_summary['where']['local_url'] == 'yes' )) {
143
  $current_page_url = Icegram::get_current_page_url();
 
 
 
 
 
144
  foreach ($campaign->rules['local_urls'] as $local_url_pattern) {
145
  $result = $this->is_valid_url($local_url_pattern , $current_page_url);
146
  if($result){
@@ -153,10 +157,10 @@ if ( !class_exists( 'Icegram_Campaign' ) ) {
153
  return false;
154
  }
155
 
156
- static function is_valid_url($pattern ,$current_page_url){
157
  $pattern = preg_quote($pattern,'/');
158
  if( strpos($pattern, '*') !== false ){
159
- $pattern = str_replace('\*', '[-a-zA-Z0-9+&@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#\/%=~_|]', $pattern); //remaining to add characters like -,_ etc
160
  }
161
 
162
  $result = (bool) preg_match('/'.$pattern.'$/i', $current_page_url);
120
 
121
  function _is_valid_page( $campaign_valid, $campaign, $options ) {
122
  $page_id = Icegram::get_current_page_id();
 
123
  if( !$campaign_valid || !empty($options['skip_page_check']) ) {
124
  return $campaign_valid;
125
  }
140
  }
141
  if ( (!empty( $campaign->rules_summary['where']['local_url'] ) && $campaign->rules_summary['where']['local_url'] == 'yes' )) {
142
  $current_page_url = Icegram::get_current_page_url();
143
+ // TODO::change this check with remote mode
144
+ //return if call made from remote url
145
+ if(!empty($_POST['ig_remote_url'])){
146
+ return;
147
+ }
148
  foreach ($campaign->rules['local_urls'] as $local_url_pattern) {
149
  $result = $this->is_valid_url($local_url_pattern , $current_page_url);
150
  if($result){
157
  return false;
158
  }
159
 
160
+ static function is_valid_url($pattern, $current_page_url){
161
  $pattern = preg_quote($pattern,'/');
162
  if( strpos($pattern, '*') !== false ){
163
+ $pattern = str_replace('\*', '[-a-zA-Z0-9+&@#\/%?=~_|!:,.;]*', $pattern);
164
  }
165
 
166
  $result = (bool) preg_match('/'.$pattern.'$/i', $current_page_url);
classes/class-icegram-message-admin.php CHANGED
@@ -211,7 +211,10 @@ if ( !class_exists( 'Icegram_Message_Admin' ) ) {
211
  <?php } ?>
212
  </select>
213
  </p>
214
- <?php } ?>
 
 
 
215
  <p class="message_row <?php echo implode( ' ', $settings['headline'] )?>">
216
  <label for="message_headline" class="message_label">
217
  <strong><?php _e( 'Headline', 'icegram' ); ?></strong>
211
  <?php } ?>
212
  </select>
213
  </p>
214
+ <?php }
215
+ // action add for interstitial message setting
216
+ do_action( 'icegram_after_message_theme_settings', $message_id, $message_data );
217
+ ?>
218
  <p class="message_row <?php echo implode( ' ', $settings['headline'] )?>">
219
  <label for="message_headline" class="message_label">
220
  <strong><?php _e( 'Headline', 'icegram' ); ?></strong>
classes/class-icegram-message-type.php CHANGED
@@ -21,8 +21,8 @@ abstract class Icegram_Message_Type {
21
  $class_name = str_replace($base, '', $class_name);
22
  $this->type = str_replace( '_', '-', strtolower($class_name) );
23
  $this->name = ucwords( str_replace( "-", ' ', $this->type ) );
24
- $this->basedir = $basedir;
25
- $this->baseurl = $baseurl;
26
 
27
  add_filter('icegram_message_types', array( $this, 'init') );
28
  }
21
  $class_name = str_replace($base, '', $class_name);
22
  $this->type = str_replace( '_', '-', strtolower($class_name) );
23
  $this->name = ucwords( str_replace( "-", ' ', $this->type ) );
24
+ $this->basedir = trailingslashit($basedir);
25
+ $this->baseurl = trailingslashit($baseurl);
26
 
27
  add_filter('icegram_message_types', array( $this, 'init') );
28
  }
icegram.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Icegram
4
  * Plugin URI: http://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.8
7
  * Author: Icegram
8
  * Author URI: http://www.icegram.com/
9
  *
@@ -28,13 +28,15 @@ class Icegram {
28
  var $message_type_objs;
29
  var $shortcode_instances;
30
  var $available_headlines;
 
31
 
32
  public static $current_page_id;
33
 
34
  function __construct() {
35
 
36
- $this->version = "1.8";
37
  $this->shortcode_instances = array();
 
38
  $this->plugin_url = untrailingslashit( plugins_url( '/', __FILE__ ) );
39
  $this->plugin_path = untrailingslashit( plugin_dir_path( __FILE__ ) );
40
  $this->include_classes();
@@ -53,11 +55,13 @@ class Icegram {
53
  add_action( 'icegram_settings_after', array( &$this, 'klawoo_subscribe_form' ) );
54
  add_action( 'icegram_about_changelog', array( &$this, 'klawoo_subscribe_form' ) );
55
  add_action( 'icegram_settings_after', array( &$this, 'icegram_houskeeping' ) );
56
- add_action('admin_notices', array( &$this,'add_admin_notices'));
57
  } else {
 
58
  add_action( 'wp_footer', array( &$this, 'display_messages' ) );
59
  //add_action( 'wp_head', array( &$this, 'nofollow_noindex' ) );
60
  add_action( 'wp_print_scripts', array( &$this, 'identify_current_page' ) );
 
61
  add_shortcode( 'icegram', array( &$this, 'execute_shortcode' ) );
62
  add_filter( 'icegram_branding_data', array( &$this , 'branding_data_remove' ), 10 );
63
  add_filter( 'icegram_get_valid_campaigns_sql', array( &$this , 'append_to_valid_campaigns_sql' ), 10, 2 );
@@ -324,7 +328,7 @@ class Icegram {
324
  }
325
 
326
  public function icegram_event_track() {
327
- header('Access-Control-Allow-Origin: *');
328
  if( !empty( $_POST['event_data'] ) ) {
329
 
330
  foreach ( $_POST['event_data'] as $event ) {
@@ -340,7 +344,7 @@ class Icegram {
340
  }else{
341
  $event['params']['expiry_time'] = strtotime($event['params']['expiry_time']);
342
  }
343
- setcookie('icegram_messages_shown_'.$event['params']['message_id'],true , $event['params']['expiry_time'] , '/' );
344
  }
345
  }
346
  break;
@@ -533,7 +537,7 @@ class Icegram {
533
  return;
534
  }
535
 
536
- $types_shown = array(); $messages_to_show_ids = array();
537
  foreach ( $messages as $key => $message_data ) {
538
 
539
  if( !is_array( $message_data ) || empty( $message_data ) ) {
@@ -593,36 +597,44 @@ class Icegram {
593
  if( empty( $messages ) )
594
  return;
595
 
596
- wp_register_script( 'icegram_js', $this->plugin_url . '/assets/js/icegram.js', array ( 'jquery' ), $this->version, true);
597
- wp_enqueue_style( 'icegram_css', $this->plugin_url . '/assets/css/frontend.css', array(), $this->version );
598
- wp_enqueue_style( 'dashicons' );
599
-
600
  $icegram_default = apply_filters( 'icegram_branding_data',
601
  array ( 'icon' => $this->plugin_url . '/assets/images/icegram-logo-branding-64-grey.png',
602
  'powered_by_logo' => $this->plugin_url . '/assets/images/icegram-logo-branding-64-grey.png',
603
  'powered_by_text' => __( 'Powered by Icegram', 'icegram' )
604
  ) );
605
- $messages = apply_filters( 'icegram_messages_to_show', $messages );
606
- $icegram = apply_filters( 'icegram_data', array ( 'messages' => array_values( $messages ),
607
  'ajax_url' => admin_url( 'admin-ajax.php' ),
608
  'preview_id' => !empty( $_GET['campaign_preview_id'] ) ? $_GET['campaign_preview_id'] : '',
609
  'defaults' => $icegram_default
610
  ));
611
- foreach ($icegram['messages'] as $key => $message_data) {
612
- $types_shown[] = $message_data['type'];
613
- }
614
- if (empty($icegram['preview_id'])) {
615
- unset($icegram['preview_id']);
616
  }
617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  if( !wp_script_is( 'icegram_js' ) ) {
619
  wp_enqueue_script( 'icegram_js' );
620
- wp_localize_script( 'icegram_js', 'icegram_data', $icegram );
621
  }
622
 
623
  // Load JS and default CSS
624
- $types_shown = array_unique($types_shown);
625
-
626
  if (in_array('popup', $types_shown)) {
627
  wp_enqueue_script( 'thickbox' );
628
  wp_enqueue_style( 'thickbox' );
@@ -636,13 +648,12 @@ class Icegram {
636
  }
637
 
638
  // Load theme CSS
639
- foreach ($messages as $message) {
640
  if (!empty( $this->message_types[ $message['type'] ]['themes'][ $message['theme'] ]) ) {
641
  $theme = $this->message_types[ $message['type'] ]['themes'][ $message['theme'] ];
642
  wp_enqueue_style( 'icegram_css_'.$message['type'].'_'.$message['theme'], $theme['baseurl'] . $message['theme'].'.css' );
643
  }
644
  }
645
-
646
  }
647
 
648
  function enqueue_admin_styles_and_scripts() {
@@ -767,10 +778,12 @@ class Icegram {
767
 
768
  function get_valid_messages( $message_ids = array(), $campaign_ids = array(), $preview_mode = false, $skip_others = false) {
769
 
 
 
770
  $valid_messages = $valid_campaigns = $message_campaign_map = array();
771
 
772
- $campaign_ids = array_filter(array_unique($campaign_ids));
773
- $message_ids = array_filter(array_unique($message_ids));
774
 
775
  if ( !empty( $campaign_ids ) ) {
776
  $valid_campaigns = $this->get_valid_campaigns( $campaign_ids, true );
3
  * Plugin Name: Icegram
4
  * Plugin URI: http://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.8.1
7
  * Author: Icegram
8
  * Author URI: http://www.icegram.com/
9
  *
28
  var $message_type_objs;
29
  var $shortcode_instances;
30
  var $available_headlines;
31
+ var $mode;
32
 
33
  public static $current_page_id;
34
 
35
  function __construct() {
36
 
37
+ $this->version = "1.8.1";
38
  $this->shortcode_instances = array();
39
+ $this->mode = 'local';
40
  $this->plugin_url = untrailingslashit( plugins_url( '/', __FILE__ ) );
41
  $this->plugin_path = untrailingslashit( plugin_dir_path( __FILE__ ) );
42
  $this->include_classes();
55
  add_action( 'icegram_settings_after', array( &$this, 'klawoo_subscribe_form' ) );
56
  add_action( 'icegram_about_changelog', array( &$this, 'klawoo_subscribe_form' ) );
57
  add_action( 'icegram_settings_after', array( &$this, 'icegram_houskeeping' ) );
58
+ add_action( 'admin_notices', array( &$this,'add_admin_notices'));
59
  } else {
60
+ add_action( 'icegram_print_js_css_data', array( &$this, 'print_js_css_data' ), 10, 1);
61
  add_action( 'wp_footer', array( &$this, 'display_messages' ) );
62
  //add_action( 'wp_head', array( &$this, 'nofollow_noindex' ) );
63
  add_action( 'wp_print_scripts', array( &$this, 'identify_current_page' ) );
64
+
65
  add_shortcode( 'icegram', array( &$this, 'execute_shortcode' ) );
66
  add_filter( 'icegram_branding_data', array( &$this , 'branding_data_remove' ), 10 );
67
  add_filter( 'icegram_get_valid_campaigns_sql', array( &$this , 'append_to_valid_campaigns_sql' ), 10, 2 );
328
  }
329
 
330
  public function icegram_event_track() {
331
+
332
  if( !empty( $_POST['event_data'] ) ) {
333
 
334
  foreach ( $_POST['event_data'] as $event ) {
344
  }else{
345
  $event['params']['expiry_time'] = strtotime($event['params']['expiry_time']);
346
  }
347
+ setcookie('icegram_messages_shown_'.$event['params']['message_id'],true , $event['params']['expiry_time'] , '/');
348
  }
349
  }
350
  break;
537
  return;
538
  }
539
 
540
+ $messages_to_show_ids = array();
541
  foreach ( $messages as $key => $message_data ) {
542
 
543
  if( !is_array( $message_data ) || empty( $message_data ) ) {
597
  if( empty( $messages ) )
598
  return;
599
 
 
 
 
 
600
  $icegram_default = apply_filters( 'icegram_branding_data',
601
  array ( 'icon' => $this->plugin_url . '/assets/images/icegram-logo-branding-64-grey.png',
602
  'powered_by_logo' => $this->plugin_url . '/assets/images/icegram-logo-branding-64-grey.png',
603
  'powered_by_text' => __( 'Powered by Icegram', 'icegram' )
604
  ) );
605
+ $messages = apply_filters( 'icegram_messages_to_show', $messages );
606
+ $icegram_data = apply_filters( 'icegram_data', array ( 'messages' => array_values( $messages ),
607
  'ajax_url' => admin_url( 'admin-ajax.php' ),
608
  'preview_id' => !empty( $_GET['campaign_preview_id'] ) ? $_GET['campaign_preview_id'] : '',
609
  'defaults' => $icegram_default
610
  ));
611
+
612
+ if (empty($icegram_data['preview_id'])) {
613
+ unset($icegram_data['preview_id']);
 
 
614
  }
615
 
616
+ do_action('icegram_print_js_css_data', $icegram_data);
617
+
618
+ }
619
+
620
+ function print_js_css_data( $icegram_data ) {
621
+
622
+ $types_shown = array();
623
+ foreach ($icegram_data['messages'] as $key => $message_data) {
624
+ $types_shown[] = $message_data['type'];
625
+ }
626
+ $types_shown = array_unique($types_shown);
627
+
628
+ wp_register_script( 'icegram_js', $this->plugin_url . '/assets/js/icegram.js', array ( 'jquery' ), $this->version, true);
629
+ wp_enqueue_style( 'icegram_css', $this->plugin_url . '/assets/css/frontend.css', array(), $this->version );
630
+ wp_enqueue_style( 'dashicons' );
631
+
632
  if( !wp_script_is( 'icegram_js' ) ) {
633
  wp_enqueue_script( 'icegram_js' );
634
+ wp_localize_script( 'icegram_js', 'icegram_data', $icegram_data );
635
  }
636
 
637
  // Load JS and default CSS
 
 
638
  if (in_array('popup', $types_shown)) {
639
  wp_enqueue_script( 'thickbox' );
640
  wp_enqueue_style( 'thickbox' );
648
  }
649
 
650
  // Load theme CSS
651
+ foreach ($icegram_data['messages'] as $message) {
652
  if (!empty( $this->message_types[ $message['type'] ]['themes'][ $message['theme'] ]) ) {
653
  $theme = $this->message_types[ $message['type'] ]['themes'][ $message['theme'] ];
654
  wp_enqueue_style( 'icegram_css_'.$message['type'].'_'.$message['theme'], $theme['baseurl'] . $message['theme'].'.css' );
655
  }
656
  }
 
657
  }
658
 
659
  function enqueue_admin_styles_and_scripts() {
778
 
779
  function get_valid_messages( $message_ids = array(), $campaign_ids = array(), $preview_mode = false, $skip_others = false) {
780
 
781
+ list($message_ids, $campaign_ids, $preview_mode, $skip_others) = apply_filters('icegram_get_valid_messages_params', $message_ids, $campaign_ids, $preview_mode, $skip_others);
782
+
783
  $valid_messages = $valid_campaigns = $message_campaign_map = array();
784
 
785
+ $campaign_ids = array_filter(array_unique( (array) $campaign_ids));
786
+ $message_ids = array_filter(array_unique( (array) $message_ids));
787
 
788
  if ( !empty( $campaign_ids ) ) {
789
  $valid_campaigns = $this->get_valid_campaigns( $campaign_ids, true );
message-types/popup/default.css CHANGED
@@ -1,32 +1,32 @@
1
- .popup.ig_container {
2
  opacity: 1;
3
  display: block;
4
  z-index: 100000;
5
  }
6
 
7
- .popup.ig_container, .popup.ig_container .ig_content {
8
  background-color: transparent !important;
9
  }
10
 
11
- .popup .ig_headline {
12
  text-decoration: none;
13
  font-weight: 800;
14
  line-height: 1em;
15
  }
16
 
17
- .popup .ig_data {
18
  overflow-y: auto;
19
  }
20
 
21
- .popup .ig_image {
22
  margin: 0 1em;
23
  }
24
 
25
- .popup .ig_message {
26
  line-height: 1.2em;
27
  }
28
 
29
- .popup .ig_close {
30
  background-image: url(../popup/images/popup-close.png);
31
  background-repeat: no-repeat;
32
  background-position: left bottom;
@@ -40,36 +40,36 @@
40
  box-sizing: content-box;
41
  }
42
 
43
- .popup .ig_close:hover {
44
  background-position: left top;
45
  }
46
 
47
- .popup .ig_button,
48
- .popup input[type="submit"],
49
- .popup input[type="button"] {
50
  cursor: pointer;
51
  display: block;
52
  border-bottom : none;
53
  background-image: none;
54
  }
55
 
56
- .popup .ig_button:hover,
57
- .popup input[type="submit"]:hover,
58
- .popup input[type="button"]:hover {
59
 
60
  }
61
- .popup .ig_button:active,
62
- div.popup input[type="submit"]:active,
63
- div.popup input[type="button"]:active{
64
  }
65
 
66
- .popup #TB_ajaxContent {
67
  overflow: hidden;
68
  height: auto !important;
69
  width: auto !important;
70
  }
71
 
72
- .popup#TB_window {
73
  height: auto !important;
74
  }
75
 
@@ -81,6 +81,6 @@ div.popup input[type="button"]:active{
81
  padding: 0.1em;
82
  }
83
 
84
- div.icegram .popup input[type="submit"], div.icegram .popup input[type="button"] {
85
  font-size: 100%;
86
  }
1
+ .ig_popup.ig_container {
2
  opacity: 1;
3
  display: block;
4
  z-index: 100000;
5
  }
6
 
7
+ .ig_popup.ig_container, .ig_popup.ig_container .ig_content {
8
  background-color: transparent !important;
9
  }
10
 
11
+ .ig_popup .ig_headline {
12
  text-decoration: none;
13
  font-weight: 800;
14
  line-height: 1em;
15
  }
16
 
17
+ .ig_popup .ig_data {
18
  overflow-y: auto;
19
  }
20
 
21
+ .ig_popup .ig_image {
22
  margin: 0 1em;
23
  }
24
 
25
+ .ig_popup .ig_message {
26
  line-height: 1.2em;
27
  }
28
 
29
+ .ig_popup .ig_close {
30
  background-image: url(../popup/images/popup-close.png);
31
  background-repeat: no-repeat;
32
  background-position: left bottom;
40
  box-sizing: content-box;
41
  }
42
 
43
+ .ig_popup .ig_close:hover {
44
  background-position: left top;
45
  }
46
 
47
+ .ig_popup .ig_button,
48
+ .ig_popup input[type="submit"],
49
+ .ig_popup input[type="button"] {
50
  cursor: pointer;
51
  display: block;
52
  border-bottom : none;
53
  background-image: none;
54
  }
55
 
56
+ .ig_popup .ig_button:hover,
57
+ .ig_popup input[type="submit"]:hover,
58
+ .ig_popup input[type="button"]:hover {
59
 
60
  }
61
+ .ig_popup .ig_button:active,
62
+ div.ig_popup input[type="submit"]:active,
63
+ div.ig_popup input[type="button"]:active{
64
  }
65
 
66
+ .ig_popup #TB_ajaxContent {
67
  overflow: hidden;
68
  height: auto !important;
69
  width: auto !important;
70
  }
71
 
72
+ .ig_popup#TB_window {
73
  height: auto !important;
74
  }
75
 
81
  padding: 0.1em;
82
  }
83
 
84
+ div.icegram .ig_popup input[type="submit"], div.icegram .ig_popup input[type="button"] {
85
  font-size: 100%;
86
  }
message-types/popup/main.js CHANGED
@@ -9,7 +9,7 @@
9
 
10
  Icegram_Message_Type_Popup.prototype.get_template_default = function () {
11
  return '<div id="popup_main_{{=id}}" data={{=id}}>'+
12
- '<div class="icegram popup ig_container {{=theme}}" id="icegram_message_{{=id}}" data={{=id}}>'+
13
  '<div class="ig_close" id="popup_box_close_{{=id}}"></div>'+
14
  '<div class="ig_data">'+
15
  '<div class="ig_headline">{{=headline}}</div>'+
@@ -26,7 +26,7 @@
26
  var self = this;
27
  var popup_delay = 0;
28
  if( jQuery('body').find('#TB_window').length ) {
29
- var current_popup_id = jQuery('#TB_window').find('.popup').attr('data');
30
  if (typeof(current_popup_id) != 'undefined') {
31
  var current_popup = window.icegram.get_message_by_id(current_popup_id);
32
  if (typeof('current_popup') != 'Icegram_Message_Type_Popup') {
@@ -39,11 +39,11 @@
39
  var popup_width = (jQuery(window).width() * 60) / 100;
40
  self.el.show();
41
  tb_show('Popup', "#TB_inline?width="+popup_width+"&modal=true&inlineId=popup_main_" + self.data.id, true);
42
- self.el = jQuery('#TB_window .popup');
43
  self.el.on('click', {self: self}, self.on_click);
44
  var max_height = jQuery(window).height()-jQuery('#TB_window').height() + 150;
45
  self.el.find('.ig_data').css('max-height', max_height);
46
- jQuery('#TB_window').addClass(self.data.theme).addClass(self.data.type);
47
  silent !== true && self.track( 'shown' );
48
  }, popup_delay);
49
  };
9
 
10
  Icegram_Message_Type_Popup.prototype.get_template_default = function () {
11
  return '<div id="popup_main_{{=id}}" data={{=id}}>'+
12
+ '<div class="icegram ig_popup ig_container {{=theme}}" id="icegram_message_{{=id}}" data={{=id}}>'+
13
  '<div class="ig_close" id="popup_box_close_{{=id}}"></div>'+
14
  '<div class="ig_data">'+
15
  '<div class="ig_headline">{{=headline}}</div>'+
26
  var self = this;
27
  var popup_delay = 0;
28
  if( jQuery('body').find('#TB_window').length ) {
29
+ var current_popup_id = jQuery('#TB_window').find('.ig_popup').attr('data');
30
  if (typeof(current_popup_id) != 'undefined') {
31
  var current_popup = window.icegram.get_message_by_id(current_popup_id);
32
  if (typeof('current_popup') != 'Icegram_Message_Type_Popup') {
39
  var popup_width = (jQuery(window).width() * 60) / 100;
40
  self.el.show();
41
  tb_show('Popup', "#TB_inline?width="+popup_width+"&modal=true&inlineId=popup_main_" + self.data.id, true);
42
+ self.el = jQuery('#TB_window .ig_popup');
43
  self.el.on('click', {self: self}, self.on_click);
44
  var max_height = jQuery(window).height()-jQuery('#TB_window').height() + 150;
45
  self.el.find('.ig_data').css('max-height', max_height);
46
+ jQuery('#TB_window').addClass(self.data.theme).addClass('ig_popup');
47
  silent !== true && self.track( 'shown' );
48
  }, popup_delay);
49
  };
message-types/popup/main.php CHANGED
@@ -11,7 +11,7 @@ class Icegram_Message_Type_Popup extends Icegram_Message_Type {
11
  parent::__construct( dirname( __FILE__ ), plugins_url( '/', __FILE__ ) );
12
 
13
  $this->popup_default_delay_time = 3;
14
- add_filter( 'icegram_messages_to_show', array( $this, 'arrange_proper_delay_time' ) );
15
  add_filter( 'icegram_message_type_params_popup', array( $this, 'set_admin_style' ) );
16
  }
17
 
@@ -25,21 +25,20 @@ class Icegram_Message_Type_Popup extends Icegram_Message_Type {
25
  );
26
  }
27
 
28
- function arrange_proper_delay_time( $messages ) {
29
-
30
  $popup_delay_times = array();
31
- foreach ($messages as $message_id => $message) {
32
 
33
  if( $message['type'] == 'popup' ) {
34
  while( in_array( $message['delay_time'], $popup_delay_times ) ) {
35
  $message['delay_time'] = $message['delay_time'] + $this->popup_default_delay_time;
36
  }
37
- $messages[$message_id]['delay_time'] = $message['delay_time'];
38
  $popup_delay_times[] = $message['delay_time'];
39
  }
40
 
41
  }
42
- return $messages;
43
  }
44
 
45
  function set_admin_style( $params ) {
11
  parent::__construct( dirname( __FILE__ ), plugins_url( '/', __FILE__ ) );
12
 
13
  $this->popup_default_delay_time = 3;
14
+ add_filter( 'icegram_data', array( $this, 'arrange_proper_delay_time' ) , 11);
15
  add_filter( 'icegram_message_type_params_popup', array( $this, 'set_admin_style' ) );
16
  }
17
 
25
  );
26
  }
27
 
28
+ function arrange_proper_delay_time( $icegram_data ) {
 
29
  $popup_delay_times = array();
30
+ foreach ($icegram_data['messages'] as $message_id => $message) {
31
 
32
  if( $message['type'] == 'popup' ) {
33
  while( in_array( $message['delay_time'], $popup_delay_times ) ) {
34
  $message['delay_time'] = $message['delay_time'] + $this->popup_default_delay_time;
35
  }
36
+ $icegram_data['messages'][$message_id]['delay_time'] = $message['delay_time'];
37
  $popup_delay_times[] = $message['delay_time'];
38
  }
39
 
40
  }
41
+ return $icegram_data;
42
  }
43
 
44
  function set_admin_style( $params ) {
message-types/popup/themes/air-mail.css CHANGED
@@ -1,4 +1,4 @@
1
- .popup.air-mail.ig_container {
2
  position: relative;
3
  color: hsl(0, 100%, 100%);
4
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
@@ -6,7 +6,7 @@
6
  padding: 1em 0 0;
7
  }
8
 
9
- .popup.air-mail .ig_headline {
10
  margin-bottom: .5em;
11
  font-size: 2.5em;
12
  text-align: center;
@@ -14,18 +14,18 @@
14
  text-shadow: 0 1px 0 #FFF;
15
  }
16
 
17
- .popup.air-mail .ig_image {
18
  float: right;
19
  }
20
 
21
- .popup.air-mail .ig_message {
22
  color: hsl(0, 0%, 44%);
23
  margin-bottom: 1em;
24
  padding: 0 1em;
25
  font-size: 1.2em;
26
  }
27
 
28
- .popup.air-mail .ig_close {
29
  background: url(../images/chosen-sprite.png) no-repeat -43px 0;
30
  height: 10px;
31
  width: 10px;
@@ -38,9 +38,9 @@
38
  zoom: 1.5;
39
  }
40
 
41
- .popup.air-mail .ig_button,
42
- div.popup.air-mail input[type="submit"],
43
- div.popup.air-mail input[type="button"] {
44
  background: hsl(6, 78%, 57%) !important;
45
  width: 50% !important;
46
  -moz-border-radius: 5px;
@@ -56,20 +56,20 @@
56
  padding: 16px 0 13px;
57
  }
58
 
59
- .popup.air-mail .ig_button:hover,
60
- div.popup.air-mail input[type="submit"]:hover,
61
- div.popup.air-mail input[type="button"]:hover {
62
  margin-top: -3px;
63
  border-bottom: 6px solid #c0392b !important;
64
  }
65
 
66
- .popup.air-mail .ig_button:active,
67
- div.popup.air-mail input[type="submit"]:active,
68
- div.popup.air-mail input[type="button"]:active{
69
  border-top: none;
70
  }
71
 
72
- .popup.air-mail #TB_ajaxContent {
73
  position: relative;
74
  display: block;
75
  background: #F2F2F2;
@@ -81,7 +81,7 @@ div.popup.air-mail input[type="button"]:active{
81
  background-image: linear-gradient(bottom, #e5e5e5 0%, #f7f7f7 100%);
82
  }
83
 
84
- .popup.air-mail#TB_window {
85
  background-color: #fff;
86
  -webkit-background-clip: padding-box;
87
  background-clip: padding-box;
@@ -92,7 +92,7 @@ div.popup.air-mail input[type="button"]:active{
92
  border: 0;
93
  }
94
 
95
- .popup.air-mail#TB_window:before {
96
  position: absolute;
97
  top: 0;
98
  left: 0;
1
+ .ig_popup.air-mail.ig_container {
2
  position: relative;
3
  color: hsl(0, 100%, 100%);
4
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
6
  padding: 1em 0 0;
7
  }
8
 
9
+ .ig_popup.air-mail .ig_headline {
10
  margin-bottom: .5em;
11
  font-size: 2.5em;
12
  text-align: center;
14
  text-shadow: 0 1px 0 #FFF;
15
  }
16
 
17
+ .ig_popup.air-mail .ig_image {
18
  float: right;
19
  }
20
 
21
+ .ig_popup.air-mail .ig_message {
22
  color: hsl(0, 0%, 44%);
23
  margin-bottom: 1em;
24
  padding: 0 1em;
25
  font-size: 1.2em;
26
  }
27
 
28
+ .ig_popup.air-mail .ig_close {
29
  background: url(../images/chosen-sprite.png) no-repeat -43px 0;
30
  height: 10px;
31
  width: 10px;
38
  zoom: 1.5;
39
  }
40
 
41
+ .ig_popup.air-mail .ig_button,
42
+ div.ig_popup.air-mail input[type="submit"],
43
+ div.ig_popup.air-mail input[type="button"] {
44
  background: hsl(6, 78%, 57%) !important;
45
  width: 50% !important;
46
  -moz-border-radius: 5px;
56
  padding: 16px 0 13px;
57
  }
58
 
59
+ .ig_popup.air-mail .ig_button:hover,
60
+ div.ig_popup.air-mail input[type="submit"]:hover,
61
+ div.ig_popup.air-mail input[type="button"]:hover {
62
  margin-top: -3px;
63
  border-bottom: 6px solid #c0392b !important;
64
  }
65
 
66
+ .ig_popup.air-mail .ig_button:active,
67
+ div.ig_popup.air-mail input[type="submit"]:active,
68
+ div.ig_popup.air-mail input[type="button"]:active{
69
  border-top: none;
70
  }
71
 
72
+ .ig_popup.air-mail #TB_ajaxContent {
73
  position: relative;
74
  display: block;
75
  background: #F2F2F2;
81
  background-image: linear-gradient(bottom, #e5e5e5 0%, #f7f7f7 100%);
82
  }
83
 
84
+ .ig_popup.air-mail#TB_window {
85
  background-color: #fff;
86
  -webkit-background-clip: padding-box;
87
  background-clip: padding-box;
92
  border: 0;
93
  }
94
 
95
+ .ig_popup.air-mail#TB_window:before {
96
  position: absolute;
97
  top: 0;
98
  left: 0;
message-types/popup/themes/amaze.css CHANGED
@@ -1,10 +1,10 @@
1
- .popup.amaze.ig_container {
2
  color: hsl(0, 100%, 100%);
3
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
4
  filter: alpha(opacity=100);
5
  }
6
 
7
- .popup.amaze .ig_headline {
8
  text-align: center;
9
  margin: .5em auto;
10
  color: #fff;
@@ -12,25 +12,25 @@
12
  font-size: 2em;
13
  }
14
 
15
- .popup.amaze .ig_image {
16
  float: left;
17
  }
18
 
19
- .popup.amaze .ig_message {
20
  font-size: 1.2em;
21
  font-family: Georgia, Times, "Times New Roman", serif;
22
  color: hsl(0, 100%, 100%);
23
  margin: 0 2em;
24
  }
25
 
26
- .popup.amaze .ig_close {
27
  top: -15px;
28
  right: -15px;
29
  }
30
 
31
- .popup.amaze .ig_button,
32
- .popup.amaze input[type="submit"],
33
- .popup.amaze input[type="button"] {
34
  background: hsl(145, 63%, 49%) !important;
35
  color: hsl(0, 100%, 100%);
36
  font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
@@ -53,9 +53,9 @@
53
  padding: 0.3em 1em;
54
  }
55
 
56
- .popup.amaze .ig_button:active,
57
- .popup.amaze input[type="submit"]:active,
58
- .popup.amaze input[type="button"]:active {
59
  border-top: none;
60
  position: relative;
61
  top: 3px;
@@ -64,18 +64,18 @@
64
  box-shadow: inset 0 -3px 1px #2ECC70, inset 0 0 3px #2ECC70;
65
  }
66
 
67
- .popup.amaze #TB_ajaxContent {
68
  border: .3em solid #444444;
69
  background-image: url(../images/popup-amaze-bg.jpg);
70
  }
71
 
72
- .popup.amaze#TB_window {
73
  -moz-box-shadow: none;
74
  -webkit-box-shadow: none;
75
  box-shadow: none;
76
  }
77
 
78
- .popup.amaze .ig_content {
79
  margin: 1.5em 0 .5em 0;
80
  width: 100%;
81
  }
1
+ .ig_popup.amaze.ig_container {
2
  color: hsl(0, 100%, 100%);
3
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
4
  filter: alpha(opacity=100);
5
  }
6
 
7
+ .ig_popup.amaze .ig_headline {
8
  text-align: center;
9
  margin: .5em auto;
10
  color: #fff;
12
  font-size: 2em;
13
  }
14
 
15
+ .ig_popup.amaze .ig_image {
16
  float: left;
17
  }
18
 
19
+ .ig_popup.amaze .ig_message {
20
  font-size: 1.2em;
21
  font-family: Georgia, Times, "Times New Roman", serif;
22
  color: hsl(0, 100%, 100%);
23
  margin: 0 2em;
24
  }
25
 
26
+ .ig_popup.amaze .ig_close {
27
  top: -15px;
28
  right: -15px;
29
  }
30
 
31
+ .ig_popup.amaze .ig_button,
32
+ .ig_popup.amaze input[type="submit"],
33
+ .ig_popup.amaze input[type="button"] {
34
  background: hsl(145, 63%, 49%) !important;
35
  color: hsl(0, 100%, 100%);
36
  font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
53
  padding: 0.3em 1em;
54
  }
55
 
56
+ .ig_popup.amaze .ig_button:active,
57
+ .ig_popup.amaze input[type="submit"]:active,
58
+ .ig_popup.amaze input[type="button"]:active {
59
  border-top: none;
60
  position: relative;
61
  top: 3px;
64
  box-shadow: inset 0 -3px 1px #2ECC70, inset 0 0 3px #2ECC70;
65
  }
66
 
67
+ .ig_popup.amaze #TB_ajaxContent {
68
  border: .3em solid #444444;
69
  background-image: url(../images/popup-amaze-bg.jpg);
70
  }
71
 
72
+ .ig_popup.amaze#TB_window {
73
  -moz-box-shadow: none;
74
  -webkit-box-shadow: none;
75
  box-shadow: none;
76
  }
77
 
78
+ .ig_popup.amaze .ig_content {
79
  margin: 1.5em 0 .5em 0;
80
  width: 100%;
81
  }
message-types/popup/themes/compel.css CHANGED
@@ -1,4 +1,4 @@
1
- .popup.compel.ig_container {
2
  background: hsl(0, 0%, 100%);
3
  position: relative;
4
  color: hsl(0, 100%, 100%);
@@ -7,7 +7,7 @@
7
  padding: 1.5em 0 1em 0;
8
  }
9
 
10
- .popup.compel .ig_headline {
11
  color: hsl(204, 70%, 53%);
12
  font-size: 2em;
13
  text-shadow: 0 1px 0 hsl(204, 79%, 36%);
@@ -15,19 +15,19 @@
15
  text-align: center;
16
  }
17
 
18
- .popup.compel .ig_image {
19
  float: left;
20
  padding-right: 1em;
21
  }
22
 
23
- .popup.compel .ig_message {
24
  color: hsl(0, 0%, 44%);
25
  font-size: 1.25em;
26
  font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
27
  margin-bottom: .5em;
28
  }
29
 
30
- .popup.compel .ig_close {
31
  background: url(../images/chosen-sprite.png) no-repeat -43px 0;
32
  height: 10px;
33
  width: 10px;
@@ -40,9 +40,9 @@
40
  zoom: 1.5;
41
  }
42
 
43
- .popup.compel .ig_button,
44
- .popup.compel input[type="submit"],
45
- .popup.compel input[type="button"] {
46
  background: hsl(6, 78%, 57%) !important;
47
  width: 50% !important;
48
  -moz-border-radius: 5px;
@@ -58,23 +58,23 @@
58
  padding: 16px 0 13px;
59
  }
60
 
61
- .popup.compel .ig_button:hover,
62
- .popup.compel input[type="submit"]:hover,
63
- .popup.compel input[type="button"]:hover {
64
  margin-top: -3px;
65
  border-bottom: 6px solid #c0392b !important;
66
  }
67
- .popup.compel .ig_button:active,
68
- div.popup.compel input[type="submit"]:active,
69
- div.popup.compel input[type="button"]:active{
70
  border-top: none;
71
  }
72
 
73
 
74
- .popup.compel #TB_ajaxContent {
75
  }
76
 
77
- .popup.compel#TB_window {
78
  -moz-box-shadow: none;
79
  -webkit-box-shadow: none;
80
  box-shadow: none;
1
+ .ig_popup.compel.ig_container {
2
  background: hsl(0, 0%, 100%);
3
  position: relative;
4
  color: hsl(0, 100%, 100%);
7
  padding: 1.5em 0 1em 0;
8
  }
9
 
10
+ .ig_popup.compel .ig_headline {
11
  color: hsl(204, 70%, 53%);
12
  font-size: 2em;
13
  text-shadow: 0 1px 0 hsl(204, 79%, 36%);
15
  text-align: center;
16
  }
17
 
18
+ .ig_popup.compel .ig_image {
19
  float: left;
20
  padding-right: 1em;
21
  }
22
 
23
+ .ig_popup.compel .ig_message {
24
  color: hsl(0, 0%, 44%);
25
  font-size: 1.25em;
26
  font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
27
  margin-bottom: .5em;
28
  }
29
 
30
+ .ig_popup.compel .ig_close {
31
  background: url(../images/chosen-sprite.png) no-repeat -43px 0;
32
  height: 10px;
33
  width: 10px;
40
  zoom: 1.5;
41
  }
42
 
43
+ .ig_popup.compel .ig_button,
44
+ .ig_popup.compel input[type="submit"],
45
+ .ig_popup.compel input[type="button"] {
46
  background: hsl(6, 78%, 57%) !important;
47
  width: 50% !important;
48
  -moz-border-radius: 5px;
58
  padding: 16px 0 13px;
59
  }
60
 
61
+ .ig_popup.compel .ig_button:hover,
62
+ .ig_popup.compel input[type="submit"]:hover,
63
+ .ig_popup.compel input[type="button"]:hover {
64
  margin-top: -3px;
65
  border-bottom: 6px solid #c0392b !important;
66
  }
67
+ .ig_popup.compel .ig_button:active,
68
+ div.ig_popup.compel input[type="submit"]:active,
69
+ div.ig_popup.compel input[type="button"]:active{
70
  border-top: none;
71
  }
72
 
73
 
74
+ .ig_popup.compel #TB_ajaxContent {
75
  }
76
 
77
+ .ig_popup.compel#TB_window {
78
  -moz-box-shadow: none;
79
  -webkit-box-shadow: none;
80
  box-shadow: none;
message-types/popup/themes/convert.css CHANGED
@@ -1,8 +1,8 @@
1
- .popup.convert.ig_container {
2
  padding: 1em;
3
  }
4
 
5
- .popup.convert .ig_headline {
6
  font-size: 2.5em;
7
  color: hsl(0, 1%, 28%);
8
  letter-spacing: 0;
@@ -10,25 +10,25 @@
10
  margin-bottom: 1em;
11
  }
12
 
13
- .popup.convert .ig_image {
14
  float: right;
15
  }
16
 
17
- .popup.convert .ig_message {
18
  font-size: 1.5em;
19
  font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
20
  color: hsl(0, 1%, 28%);
21
  vertical-align: baseline;
22
  }
23
 
24
- .popup.convert .ig_close {
25
  top: -15px;
26
  right: -15px;
27
  }
28
 
29
- .popup.convert .ig_button,
30
- .popup.convert input[type="submit"],
31
- .popup.convert input[type="button"] {
32
  text-transform: uppercase;
33
  font-weight: 700;
34
  text-decoration: none;
@@ -51,9 +51,9 @@
51
  clear: both;
52
  }
53
 
54
- .popup.convert .ig_button,
55
- .popup.convertinput[type="submit"]:active,
56
- .popup.convert input[type="button"]:active{
57
  border-top: .3em solid hsl(0, 6%, 71%) !important;
58
  -moz-border-radius: 1em;
59
  -webkit-border-radius: 1em;
@@ -61,10 +61,10 @@
61
 
62
  }
63
 
64
- .popup.convert #TB_ajaxContent {
65
  }
66
 
67
- .popup.convert#TB_window {
68
  -moz-box-shadow: none;
69
  -webkit-box-shadow: none;
70
  box-shadow: none;
1
+ .ig_popup.convert.ig_container {
2
  padding: 1em;
3
  }
4
 
5
+ .ig_popup.convert .ig_headline {
6
  font-size: 2.5em;
7
  color: hsl(0, 1%, 28%);
8
  letter-spacing: 0;
10
  margin-bottom: 1em;
11
  }
12
 
13
+ .ig_popup.convert .ig_image {
14
  float: right;
15
  }
16
 
17
+ .ig_popup.convert .ig_message {
18
  font-size: 1.5em;
19
  font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
20
  color: hsl(0, 1%, 28%);
21
  vertical-align: baseline;
22
  }
23
 
24
+ .ig_popup.convert .ig_close {
25
  top: -15px;
26
  right: -15px;
27
  }
28
 
29
+ .ig_popup.convert .ig_button,
30
+ .ig_popup.convert input[type="submit"],
31
+ .ig_popup.convert input[type="button"] {
32
  text-transform: uppercase;
33
  font-weight: 700;
34
  text-decoration: none;
51
  clear: both;
52
  }
53
 
54
+ .ig_popup.convert .ig_button,
55
+ .ig_popup.convertinput[type="submit"]:active,
56
+ .ig_popup.convert input[type="button"]:active{
57
  border-top: .3em solid hsl(0, 6%, 71%) !important;
58
  -moz-border-radius: 1em;
59
  -webkit-border-radius: 1em;
61
 
62
  }
63
 
64
+ .ig_popup.convert #TB_ajaxContent {
65
  }
66
 
67
+ .ig_popup.convert#TB_window {
68
  -moz-box-shadow: none;
69
  -webkit-box-shadow: none;
70
  box-shadow: none;
message-types/popup/themes/inspire.css CHANGED
@@ -1,7 +1,7 @@
1
- .popup.inspire.ig_container {
2
  padding: 1em 0 .5em 0;
3
  }
4
- .popup.inspire .ig_headline {
5
  color: #222;
6
  text-align: center;
7
  margin-bottom: 1em;
@@ -9,15 +9,15 @@
9
  font-size: 2.5em;
10
  }
11
 
12
- .popup.inspire .ig_content {
13
  background-color: transparent !important;
14
  }
15
 
16
- .popup.inspire .ig_image {
17
  float: left;
18
  }
19
 
20
- .popup.inspire .ig_message {
21
  -webkit-font-smoothing: antialiased;
22
  text-shadow: 0 1px hsl(0, 100%, 100%);
23
  color: #333;
@@ -27,14 +27,14 @@
27
  text-align: justify;
28
  }
29
 
30
- .popup.inspire .ig_close {
31
  top: -15px;
32
  right: -15px;
33
  }
34
 
35
- .popup.inspire .ig_button,
36
- .popup.inspire input[type="submit"],
37
- .popup.inspire input[type="button"] {
38
  vertical-align: middle;
39
  background-color: hsl(79, 93%, 35%) !important;
40
  background: hsl(79, 93%, 35%) !important;
@@ -53,16 +53,16 @@
53
  padding: 0.5em;
54
  line-height: 1.2em;
55
  }
56
- .popup.inspire .ig_button:active,
57
- .popup.inspire input[type="submit"]:active,
58
- .popup.inspire input[type="button"]:active{
59
  border-top: none;
60
  }
61
 
62
 
63
- .popup.inspire #TB_ajaxContent {
64
  }
65
 
66
- .popup.inspire#TB_window {
67
  background: hsl(0, 100%, 100%);
68
  }
1
+ .ig_popup.inspire.ig_container {
2
  padding: 1em 0 .5em 0;
3
  }
4
+ .ig_popup.inspire .ig_headline {
5
  color: #222;
6
  text-align: center;
7
  margin-bottom: 1em;
9
  font-size: 2.5em;
10
  }
11
 
12
+ .ig_popup.inspire .ig_content {
13
  background-color: transparent !important;
14
  }
15
 
16
+ .ig_popup.inspire .ig_image {
17
  float: left;
18
  }
19
 
20
+ .ig_popup.inspire .ig_message {
21
  -webkit-font-smoothing: antialiased;
22
  text-shadow: 0 1px hsl(0, 100%, 100%);
23
  color: #333;
27
  text-align: justify;
28
  }
29
 
30
+ .ig_popup.inspire .ig_close {
31
  top: -15px;
32
  right: -15px;
33
  }
34
 
35
+ .ig_popup.inspire .ig_button,
36
+ .ig_popup.inspire input[type="submit"],
37
+ .ig_popup.inspire input[type="button"] {
38
  vertical-align: middle;
39
  background-color: hsl(79, 93%, 35%) !important;
40
  background: hsl(79, 93%, 35%) !important;
53
  padding: 0.5em;
54
  line-height: 1.2em;
55
  }
56
+ .ig_popup.inspire .ig_button:active,
57
+ .ig_popup.inspire input[type="submit"]:active,
58
+ .ig_popup.inspire input[type="button"]:active{
59
  border-top: none;
60
  }
61
 
62
 
63
+ .ig_popup.inspire #TB_ajaxContent {
64
  }
65
 
66
+ .ig_popup.inspire#TB_window {
67
  background: hsl(0, 100%, 100%);
68
  }
message-types/popup/themes/persuade.css CHANGED
@@ -1,5 +1,4 @@
1
-
2
- .popup.persuade .ig_headline {
3
  letter-spacing: 0;
4
  color: hsl(0, 100%, 100%);
5
  font-size: 3em;
@@ -8,11 +7,11 @@
8
  margin: .25em auto;
9
  }
10
 
11
- .popup.persuade .ig_image {
12
  float: left;
13
  }
14
 
15
- .popup.persuade .ig_message {
16
  color: #FFF;
17
  font-size: 1.75em;
18
  font-weight: 300;
@@ -21,14 +20,14 @@
21
  -webkit-font-smoothing: antialiased;
22
  }
23
 
24
- .popup.persuade .ig_close {
25
  top: -15px;
26
  right: -15px;
27
  }
28
 
29
- .popup.persuade .ig_button,
30
- .popup.persuade input[type="submit"],
31
- .popup.persuade input[type="button"] {
32
  color: hsl(0, 100%, 100%);
33
  text-decoration: none;
34
  background-color: hsl(0, 0%, 26%) !important;
@@ -53,9 +52,9 @@
53
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
54
  }
55
 
56
- .popup.persuade .ig_button:hover,
57
- .popup.persuade input[type="submit"]:hover,
58
- .popup.persuade input[type="button"]:hover {
59
  -moz-box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
60
  -webkit-box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
61
  box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
@@ -65,17 +64,17 @@
65
  position: relative;
66
  top: .2em
67
  }
68
- .popup.persuade .ig_button:active,
69
- .popup.persuade input[type="submit"]:active,
70
- .popup.persuade input[type="button"]:active {
71
  border-top: none;
72
  }
73
 
74
- .popup.persuade #TB_ajaxContent {
75
  border: .6em dashed hsl(0, 100%, 100%);
76
  }
77
 
78
- .popup.persuade#TB_window {
79
  -moz-box-shadow: none;
80
  -webkit-box-shadow: none;
81
  box-shadow: none;
1
+ .ig_popup.persuade .ig_headline {
 
2
  letter-spacing: 0;
3
  color: hsl(0, 100%, 100%);
4
  font-size: 3em;
7
  margin: .25em auto;
8
  }
9
 
10
+ .ig_popup.persuade .ig_image {
11
  float: left;
12
  }
13
 
14
+ .ig_popup.persuade .ig_message {
15
  color: #FFF;
16
  font-size: 1.75em;
17
  font-weight: 300;
20
  -webkit-font-smoothing: antialiased;
21
  }
22
 
23
+ .ig_popup.persuade .ig_close {
24
  top: -15px;
25
  right: -15px;
26
  }
27
 
28
+ .ig_popup.persuade .ig_button,
29
+ .ig_popup.persuade input[type="submit"],
30
+ .ig_popup.persuade input[type="button"] {
31
  color: hsl(0, 100%, 100%);
32
  text-decoration: none;
33
  background-color: hsl(0, 0%, 26%) !important;
52
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
53
  }
54
 
55
+ .ig_popup.persuade .ig_button:hover,
56
+ .ig_popup.persuade input[type="submit"]:hover,
57
+ .ig_popup.persuade input[type="button"]:hover {
58
  -moz-box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
59
  -webkit-box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
60
  box-shadow: 0 .1em 0 hsl(0, 0%, 20%), 0 .1em .2em hsla(0, 0%, 0%, 0.9) !important;
64
  position: relative;
65
  top: .2em
66
  }
67
+ .ig_popup.persuade .ig_button:active,
68
+ .ig_popup.persuade input[type="submit"]:active,
69
+ .ig_popup.persuade input[type="button"]:active {
70
  border-top: none;
71
  }
72
 
73
+ .ig_popup.persuade #TB_ajaxContent {
74
  border: .6em dashed hsl(0, 100%, 100%);
75
  }
76
 
77
+ .ig_popup.persuade#TB_window {
78
  -moz-box-shadow: none;
79
  -webkit-box-shadow: none;
80
  box-shadow: none;
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Icegram ===
2
- Contributors: storeapps, nareshvachhani, niravmehta, ratnakardubey, putler
3
  Donate link: http://www.icegram.com/
4
  Tags: popup, window, hellobar, optin, lead capture, marketing, form, notification, messenger, targeting, monster, ninja
5
  Requires at least: 3.9
6
  Tested up to: 4.0
7
- Stable tag: 1.8
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -145,6 +145,9 @@ Contact Us, provide as much detail of the problem as you can. We will try to sol
145
  3. Editing an Icegram campaign - add multiple messages, edit them, targeting rules, full HTML editor, themes and more
146
 
147
  == Upgrade Notice ==
 
 
 
148
  = 1.8 =
149
  Target campaigns to any page with wildcard URL support in "Where" conditions and CTA Click based retargeting.
150
 
@@ -180,6 +183,12 @@ Initial Release
180
 
181
 
182
  == Changelog ==
 
 
 
 
 
 
183
  = 1.8 =
184
  * NEW: Target campaigns to any page with wildcard URL support in "Where" conditions
185
  * NEW: CTA Click based retargeting to hide message in a campaign after being clicked
1
  === Icegram ===
2
+ Contributors: storeapps, niravmehta, ratnakardubey, putler
3
  Donate link: http://www.icegram.com/
4
  Tags: popup, window, hellobar, optin, lead capture, marketing, form, notification, messenger, targeting, monster, ninja
5
  Requires at least: 3.9
6
  Tested up to: 4.0
7
+ Stable tag: 1.8.1
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
145
  3. Editing an Icegram campaign - add multiple messages, edit them, targeting rules, full HTML editor, themes and more
146
 
147
  == Upgrade Notice ==
148
+ = 1.8.1 =
149
+ Recommended upgrade. Many improvements.
150
+
151
  = 1.8 =
152
  Target campaigns to any page with wildcard URL support in "Where" conditions and CTA Click based retargeting.
153
 
183
 
184
 
185
  == Changelog ==
186
+ = 1.8.1 =
187
+ * NEW: Support for Icegram Remote - now run your campaigns on other sites - even non WordPress sites
188
+ * Update: Better wildcard matching in Where targeting rules for URLs
189
+ * Update: Compatibility with Avada theme
190
+ * Update: Misc UI and performance enhancements
191
+
192
  = 1.8 =
193
  * NEW: Target campaigns to any page with wildcard URL support in "Where" conditions
194
  * NEW: CTA Click based retargeting to hide message in a campaign after being clicked