Changeset 1092381
- Timestamp:
- 02/17/2015 12:35:17 PM (11 years ago)
- Location:
- icegram/trunk
- Files:
-
- 1 added
- 11 edited
-
assets/css/admin.css (modified) (4 diffs)
-
assets/css/frontend.css (modified) (1 diff)
-
assets/css/magnific-popup.css (modified) (1 diff)
-
assets/js/admin.js (modified) (13 diffs)
-
assets/js/icegram.js (modified) (2 diffs)
-
classes/class-icegram-campaign-admin.php (modified) (8 diffs)
-
classes/class-icegram-message-admin.php (modified) (3 diffs)
-
classes/mobile-detect.php (added)
-
icegram.php (modified) (12 diffs)
-
message-types/popup/main.js (modified) (1 diff)
-
message-types/popup/themes/inspire.css (modified) (1 diff)
-
readme.txt (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
icegram/trunk/assets/css/admin.css
r1066982 r1092381 264 264 265 265 .message_image_button .image-buttons-icon{ 266 margin: 4px2px;266 margin: 0 2px; 267 267 } 268 268 .message_image_button .image-buttons-icon:before { … … 274 274 } 275 275 .message_headline_button .headline-buttons-icon { 276 margin: 5px2px;276 margin: 2px; 277 277 } 278 278 … … 639 639 } 640 640 641 #embed_form { 642 width: 600px !important; 643 height: 495px !important; 644 margin: 0em !important; 645 } 646 647 #embed_form input[value="ig_vertical"]{ 641 /** Embed Form CSS - Start**/ 642 #popup_container { 643 width: 550px; 644 background-color: #FFF; 645 margin: 0 auto; 646 padding: .5em 1em 1em 1em; 647 } 648 #popup_container input[value="ig_vertical"]{ 648 649 margin-left: 3%; 649 650 } 650 # embed_formselect{651 #popup_container select{ 651 652 width:30%; 652 653 } 654 #popup_container #embed_howto_link { 655 float: right; 656 font-size: .8em; 657 font-weight: normal; 658 } 659 /** Embed Form CSS - End**/ 660 653 661 654 662 /** Fix to keep the message setting row indepenent of other themes **/ … … 691 699 vertical-align: middle; 692 700 } 693 -
icegram/trunk/assets/css/frontend.css
r1066982 r1092381 90 90 } 91 91 92 div.icegram .ig_embed_form.ig_horizontal li{92 div.icegram .ig_embed_form.ig_horizontal .ig_embed_form_container li{ 93 93 display: inline-block; 94 94 min-width: 24%; -
icegram/trunk/assets/css/magnific-popup.css
r1066982 r1092381 17 17 width: 100%; 18 18 height: 100%; 19 z-index: 1043; 19 /*z-index: 1043;*/ 20 /*ICG-Hack:: Higher z-index to make it visible on top */ 21 z-index: 999999; 20 22 position: fixed; 21 23 outline: none !important; -
icegram/trunk/assets/js/admin.js
r1037969 r1092381 45 45 }; 46 46 47 jQuery(' .message-setting-fields').live('change', '.message_type', function() {48 display_message_themes(this);49 });50 51 jQuery('.message-setting-fields').live('change', '.message_theme', function() { 52 53 var message_type = jQuery(this).find('.message_type').val();54 var message_t heme = jQuery(this).find('.message_row.'+message_type).find('.message_theme').val();55 var message_th umb = jQuery(this).find('#message_theme_'+message_type).find('.'+message_theme).attr('style');56 57 jQuery(t his).find('.message_row.'+message_type).find('.message_theme').next().find('.chosen-single span').attr('style',message_thumb);58 59 }); 60 61 jQuery('.message_image_button').live('click', function(event) {47 jQuery('#campaign_data').on('change', '.message_type', function(e) { 48 var t = jQuery(e.target).parents('.message-setting-fields'); 49 display_message_themes(t); 50 }); 51 52 jQuery('#campaign_data').on('change', '.message_theme', function(e) { 53 var t = jQuery(e.target).parents('.message-setting-fields'); 54 var message_type = jQuery(t).find('.message_type').val(); 55 var message_theme = jQuery(t).find('.message_row.'+message_type).find('.message_theme').val(); 56 var message_thumb = jQuery(t).find('#message_theme_'+message_type).find('.'+message_theme).attr('style'); 57 jQuery(t).find('.message_row.'+message_type).find('.message_theme').next().find('.chosen-single span').attr('style',message_thumb); 58 59 }); 60 61 jQuery('#campaign_data').on('click', '.message_image_button', function(event) { 62 62 var that = this; 63 63 window.send_to_editor = function(html) { … … 70 70 }); 71 71 72 jQuery(' .message_headline_button').live('click', function() {72 jQuery('#campaign_data').on('click','.message_headline_button', function() { 73 73 var headline_key = jQuery(this).prev().attr('data-headline'); 74 74 var headline_max = icegram_writepanel_params.available_headlines.length; … … 91 91 92 92 }); 93 94 jQuery('.message_delete').live( 'click', function() { 93 jQuery('#campaign_data').on('click','.message_delete', function() { 95 94 jQuery(this).parent().parent().next().remove(); 96 95 jQuery(this).parent().parent().remove(); … … 99 98 }); 100 99 101 jQuery(' .message_edit').live( 'click',function() {100 jQuery('#campaign_data').on( 'click', '.message_edit' ,function() { 102 101 jQuery(this).parent().parent().next().toggle(); 103 102 jQuery(this).parent().parent().find('.message-title-text, .message-title-input').toggle(); 104 103 }); 105 104 106 jQuery(' .message-title-input').live( 'change',function() {105 jQuery('#campaign_data').on( 'change', '.message-title-input',function() { 107 106 jQuery(this).prev().text(jQuery(this).val()); 108 107 }); … … 124 123 return terms; 125 124 }); 126 127 jQuery('.cancel_parse_form').live('click', function(event) { 128 tb_remove(); 125 126 jQuery(document).on('click', '#embed_form_but', function(event) { 127 jQuery.magnificPopup.open({ 128 items: { 129 src: '#popup_container', 130 type: 'inline' 131 }, 132 modal : true 133 }); 134 135 }); 136 137 jQuery(document).on('click', '.cancel_parse_form', function(event) { 138 jQuery.magnificPopup.close({ items: { 139 src: '#popup_container', 140 type: 'inline' 141 }}); 129 142 jQuery(this).closest('form').get(0).reset(); 130 143 return false; 131 144 }); 132 145 133 jQuery( '.parse_form').live('click',function(event) {146 jQuery(document).on('click', '.parse_form' ,function(event) { 134 147 var that = this; 135 148 var parent_node = jQuery(that).closest('form'); … … 247 260 form_container.find('.ig_detected_bot_fields').parent().css('display', 'none'); 248 261 form_object.append(form_container); 249 tb_remove(); 262 263 //closing a popup 264 jQuery.magnificPopup.close({ items: { 265 src: '#popup_container', 266 type: 'inline' 267 }}); 250 268 // reset all fields of Embed form setting 251 269 jQuery(that).closest('form').get(0).reset(); … … 255 273 256 274 257 var message_rows = jQuery('.message-row').length; 258 jQuery('.ajax_chosen_select_messages').chosen().on('change', function() { 275 //var message_rows = jQuery(this).parent().siblings('.campaign_target_rules_panel').find('.message-row').length; 276 jQuery('.ajax_chosen_select_messages').chosen(); 277 jQuery('#campaign_data').on('change', '.ajax_chosen_select_messages' , function() { 278 var newSettings = jQuery.extend( {}, tinyMCEPreInit.mceInit[ 'content' ] ); 279 var newQTS = jQuery.extend( {}, tinyMCEPreInit.qtInit[ 'content' ] ); 280 var parent_campaign_box = jQuery(this).parent().siblings('.campaign_target_rules_panel'); 281 var message_rows = jQuery(parent_campaign_box).find('.message-row').length; 259 282 var message_id = jQuery(this).val(); 260 if( message_id == '' ) { 283 if( message_id == '' ) { 261 284 jQuery(".ajax_chosen_select_messages").val('').trigger("chosen:updated"); 262 285 return; … … 278 301 279 302 message_rows++; 280 jQuery('.messages-list .messages_list_table tbody').append(response.main); 303 //jQuery('.messages-list .messages_list_table tbody').append(response.main); 304 jQuery(parent_campaign_box).find('.messages-list .messages_list_table tbody').append(response.main); 281 305 jQuery('.color-field').wpColorPicker(); 282 306 display_message_themes(jQuery('#'+response.id)); … … 288 312 jQuery('.message-setting-fields').trigger('change'); 289 313 jQuery(".tips, .help_tip").tipTip({'attribute' : 'data-tip'}); 314 // text editor issue fix 315 if ( typeof( tinyMCEPreInit.mceInit[ 'edit'+response.id ] ) === 'undefined' ) { 316 for ( _prop in newSettings ) { 317 if ( 'string' === typeof( newSettings[_prop] ) ) { 318 if(_prop !== 'content_css'){ 319 newSettings[_prop] = newSettings[_prop].replace( new RegExp( 'content', 'g' ), 'edit'+response.id ); 320 } 321 } 322 } 323 tinyMCEPreInit.mceInit[ 'edit'+response.id ] = newSettings; 324 } 325 if ( typeof( tinyMCEPreInit.qtInit[ 'edit'+response.id ] ) === 'undefined' ) { 326 for ( _prop in newQTS ) { 327 if ( 'string' === typeof( newQTS[_prop] ) ) { 328 if(_prop !== 'content_css'){ 329 newQTS[_prop] = newQTS[_prop].replace( new RegExp( 'content', 'g' ), 'edit'+response.id ); 330 } 331 } 332 } 333 tinyMCEPreInit.qtInit[ 'edit'+response.id ] = newQTS; 334 } 335 tinyMCE.init({ id : tinyMCEPreInit.mceInit[ 'edit'+response.id ]}); 336 quicktags({id : 'edit'+response.id}); 290 337 QTags._buttonsInit(); 338 if(jQuery('#wp-edit'+response.id+'-wrap').hasClass('tmce-active')){ 339 jQuery('#edit'+response.id+'-tmce').click(); 340 }else{ 341 jQuery('#edit'+response.id+'-html').click(); 342 } 291 343 } 292 344 }); 293 345 }); 294 346 //add local url 295 jQuery('# add_local_url_row').live('click',function(e) {347 jQuery('#campaign_target_rules').on('click', '#add_local_url_row' ,function(e) { 296 348 e.preventDefault(); 297 349 var row = add_url_row(); … … 304 356 305 357 }); 306 jQuery(' .delete-url').live('click',function(e) {358 jQuery('#campaign_target_rules').on('click', '.delete-url',function(e) { 307 359 jQuery(this).parent().remove(); 308 360 }); … … 320 372 } 321 373 322 jQuery('select.ajax_chosen_select_messages').next('div'). find('div.chosen-drop').live('click',function() {374 jQuery('select.ajax_chosen_select_messages').next('div').on('click', 'div.chosen-drop' ,function() { 323 375 jQuery(this).closest('h3.hndle').trigger('click'); 324 376 }); … … 329 381 if( jQuery('.message-row').length == 0 ) 330 382 return; 331 383 // trigger event for saving visual content 384 tinyMCE.triggerSave(); 332 385 // Change action 333 386 params = jQuery("#post").serializeArray(); … … 395 448 }); 396 449 397 jQuery(' input.url_input_field').live('focusout',function() {450 jQuery('#campaign_target_rules').on('focusout','input.url_input_field',function() { 398 451 var url = this; 399 452 jQuery(url).parent().find('span#valid-field').removeClass('error'); -
icegram/trunk/assets/js/icegram.js
r1066982 r1092381 41 41 jQuery.each( this.message_data, function ( i, v ) { 42 42 try { 43 //check cookies in js 44 if(v['retargeting'] == 'yes' && jQuery.cookie('icegram_messages_shown_'+v['id']) == 1){ 45 return; 46 } 47 if(v['retargeting_clicked'] == 'yes' && jQuery.cookie('icegram_messages_clicked_'+v['id']) == 1){ 48 return; 49 } 43 // dont check cookies in preview mode 44 if(window.location.href.indexOf("campaign_preview_id") == -1){ 45 //check cookies in js 46 if(v['retargeting'] == 'yes' && jQuery.cookie('icegram_messages_shown_'+v['id']) == 1){ 47 return; 48 } 49 if(v['retargeting_clicked'] == 'yes' && jQuery.cookie('icegram_messages_clicked_'+v['id']) == 1){ 50 return; 51 } 52 } 50 53 51 54 var m = null; … … 142 145 } 143 146 Icegram.prototype.submit_tracking_data = function ( ev, params ) { 144 if (this.tracking_data.length > 0 ) {147 if (this.tracking_data.length > 0 && window.location.href.indexOf("campaign_preview_id") == -1) { 145 148 var params = { 146 149 method: 'POST', -
icegram/trunk/classes/class-icegram-campaign-admin.php
r1053844 r1092381 15 15 add_action( 'wp_ajax_icegram_json_search_messages', array( &$this, 'icegram_json_search_messages' ) ); 16 16 add_action( 'wp_ajax_get_message_action_row', array( &$this, 'get_message_action_row' ) ); 17 add_filter( 'wp_default_editor', create_function('', 'return "html";') );17 //add_filter( 'wp_default_editor', create_function('', 'return "html";') ); 18 18 add_action( 'wp_ajax_save_campaign_preview', array( &$this, 'save_campaign_preview' ) ); 19 19 add_action( 'icegram_campaign_target_rules', array( &$this, 'icegram_add_campaign_target_rules' ), 10, 2 ); 20 add_filter('icegram_campaign_messages' ,array( &$this, 'get_icegram_campaign_messages' ) ,10,2 ); 20 21 //duplicate campaign 21 22 add_filter( 'post_row_actions', array(&$this , 'add_campaign_action'), 10, 2 ); … … 34 35 35 36 } 37 public static function getInstance(){ 38 static $ig_campaign_admin = null; 39 if (null === $ig_campaign_admin) { 40 $ig_campaign_admin = new Icegram_Campaign_Admin(); 41 } 42 return $ig_campaign_admin; 43 } 36 44 37 45 // Initialize campaign metabox … … 70 78 <tbody> 71 79 <?php 72 $messages = get_post_meta( $post->ID, 'messages', true ); 80 $messages = array(); 81 $messages = apply_filters('icegram_campaign_messages' , $messages ,$post->ID); 82 $icegram_message_meta_key = apply_filters('icegram_message_meta_key' , 'messages'); 73 83 if ( !empty( $messages ) ) { 74 84 foreach ( $messages as $row => $message ) { … … 87 97 </td> 88 98 <td class="message_seconds"> 89 <input type="hidden" name=" messages[<?php echo$row; ?>][id]" value="<?php echo $message['id']; ?>" />90 <input type="number" class="seconds-text" name=" messages[<?php echo$row; ?>][time]" min="-1" value="<?php echo ( !empty( $message['time'] ) ) ? $message['time'] : 0; ?>" size="3" />99 <input type="hidden" name="<?php echo $icegram_message_meta_key .'['.$row; ?>][id]" value="<?php echo $message['id']; ?>" /> 100 <input type="number" class="seconds-text" name="<?php echo $icegram_message_meta_key .'['.$row; ?>][time]" min="-1" value="<?php echo ( !empty( $message['time'] ) ) ? $message['time'] : 0; ?>" size="3" /> 91 101 <?php _e( ' sec', 'icegram' )?> 92 102 </td> … … 120 130 } 121 131 132 function get_icegram_campaign_messages($messages , $campaign_id){ 133 $messages = get_post_meta($campaign_id , 'messages' ,true); 134 return $messages; 135 } 122 136 // Campaign targeting rules metabox 123 137 function campaign_target_rules_content() { … … 472 486 473 487 ob_start(); 488 $icegram_message_meta_key = apply_filters('icegram_message_meta_key' , 'messages'); 474 489 ?> 475 490 <tr class="form-field message-row" value="<?php echo $message_id; ?>"> … … 482 497 </td> 483 498 <td class="message_seconds"> 484 <input type="hidden" name=" messages[<?php echo$_POST['row']; ?>][id]" value="<?php echo $message_id; ?>" />485 <input type="number" class="seconds-text" name=" messages[<?php echo$_POST['row']; ?>][time]" min="0" value="0" size="3" /><?php _e( ' sec', 'icegram' )?>499 <input type="hidden" name="<?php echo $icegram_message_meta_key .'['.$_POST['row']; ?>][id]" value="<?php echo $message_id; ?>" /> 500 <input type="number" class="seconds-text" name="<?php echo $icegram_message_meta_key .'['.$_POST['row']; ?>][time]" min="0" value="0" size="3" /><?php _e( ' sec', 'icegram' )?> 486 501 </td> 487 502 <td class="action_links"> … … 597 612 598 613 if( !empty( $_POST['messages'] ) ) { 599 614 600 615 update_post_meta( $_POST['post_ID'], 'campaign_preview', $_POST['messages'] ) ; 601 616 -
icegram/trunk/classes/class-icegram-message-admin.php
r1066982 r1092381 48 48 } 49 49 } 50 echo $out = '<a href="# TB_inline?width=500&height=520&inlineId=popup_container" data-editor="'.$editor_id.'" class="'.implode( ' ', $message_types).' thickbox button" id="embed_form_but" title="'.__('Add an optin / subscription form' , 'icegram' ).'">'.__('Embed Form' , 'icegram' ).'</a>';50 echo $out = '<a href="#popup_container" class="'.implode( ' ', $message_types).' button" id="embed_form_but">'.__('Embed Form' , 'icegram' ).'</a>'; 51 51 } 52 52 } 53 53 54 54 function embed_form_popup_content(){ 55 $screen = get_current_screen(); 56 if ( !in_array( $screen->id, array( 'ig_campaign', 'ig_message' ), true ) ) return; 55 57 ?> 56 <div id="popup_container" style="display:none;"> 57 58 <div id="popup_container" class="mfp-hide" > 59 <h3><?php _e('Add an optin / subscription form', 'icegram' ); ?> 60 <a id="embed_howto_link" target="_blank" href="http://www.icegram.com/icegram_form_integration/" ><?php _e('Need help?', 'icegram' ); ?></a> 61 </h3> 58 62 <form id="embed_form" action="#"> 59 <!-- <h3 ><?php _e('Add an optin / subscription form', 'icegram' ); ?></h3> -->60 63 <p> 61 <textarea rows="10" autocomplete="off" cols="65" name="form_data" style="width:90%"id="form_data" value="" placeholder="<?php _e('Paste HTML code of your form here...', 'icegram' ); ?>"></textarea>64 <textarea rows="10" autocomplete="off" cols="65" name="form_data" id="form_data" value="" placeholder="<?php _e('Paste HTML code of your form here...', 'icegram' ); ?>"></textarea> 62 65 </p> 63 66 <p class="use_cta_check"> … … 291 294 ?> 292 295 <p class="message_row <?php echo implode( ' ', $settings['message'] )?>"> 296 <style type="text/css">.wp-editor-tools:after {display: inline-block !important; }</style> 293 297 <label for="message_body" class="message_body message_label"><strong><?php _e( 'Message Body', 'icegram' ); ?></strong></label> 294 298 <?php $message = ( !empty( $message_data['message'] ) ) ? $message_data['message'] : ''; ?> … … 345 349 346 350 if( !empty( $action['message_id'] ) ) { 347 348 351 ?></div> 349 352 <?php 350 if( !empty( $action['new_message_row'] ) && $action['new_message_row'] ) {351 \_WP_Editors::enqueue_scripts();352 // print_footer_scripts();353 \_WP_Editors::editor_js();354 }355 356 353 } else { 357 354 -
icegram/trunk/icegram.php
r1066982 r1092381 4 4 * Plugin URI: http://www.icegram.com/ 5 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. 46 * Version: 1.8.5 7 7 * Author: icegram 8 8 * Author URI: http://www.icegram.com/ 9 9 * 10 * Copyright (c) 2014- 2015 Icegram10 * Copyright (c) 2014-15 Icegram 11 11 * License: GPLv3 12 12 * License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 35 35 function __construct() { 36 36 37 $this->version = "1.8. 4";37 $this->version = "1.8.5"; 38 38 $this->shortcode_instances = array(); 39 39 $this->mode = 'local'; … … 43 43 44 44 if( is_admin() && current_user_can( 'manage_options' ) ) { 45 new Icegram_Campaign_Admin();45 $ig_campaign_admin = Icegram_Campaign_Admin::getInstance(); 46 46 $ig_message_admin = Icegram_Message_Admin::getInstance(); 47 47 add_action( 'admin_enqueue_scripts', array( &$this, 'enqueue_admin_styles_and_scripts' ) ); … … 672 672 wp_enqueue_script( 'icegram_ajax-chosen' ); 673 673 wp_enqueue_script( 'icegram_tiptip' ); 674 wp_enqueue_script( 'thickbox' ); 674 wp_register_script( 'magnific_popup_js', $this->plugin_url . '/assets/js/magnific-popup.js', array ( 'jquery' ), $this->version, true); 675 if( !wp_script_is( 'magnific_popup_js' ) ) { 676 wp_enqueue_script( 'magnific_popup_js' ); 677 } 675 678 676 679 $icegram_writepanel_params = array ( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'search_message_nonce' => wp_create_nonce( "search-messages" ) ); … … 680 683 wp_localize_script( 'icegram_writepanel', 'icegram_writepanel_params', $icegram_writepanel_params ); 681 684 682 wp_enqueue_style( 'thickbox' );683 685 wp_enqueue_style( 'dashicons' ); 684 686 wp_enqueue_style( 'wp-color-picker' ); … … 686 688 wp_enqueue_style( 'icegram_jquery-ui-style', $this->plugin_url . '/assets/css/jquery-ui.min.css', array(), $this->version ); 687 689 wp_enqueue_style( 'icegram_chosen_styles', $this->plugin_url . '/assets/css/chosen.min.css', array(), $this->version ); 690 wp_enqueue_style( 'magnific_popup_css', $this->plugin_url . '/assets/css/magnific-popup.css', array(), $this->version ); 688 691 689 692 if ( !wp_script_is( 'jquery-ui-datepicker' ) ) { … … 691 694 } 692 695 693 694 696 } 695 697 696 698 public static function get_platform() { 697 $platform = ''; 698 $user_agent = trim(strtolower($_SERVER['HTTP_USER_AGENT'])); 699 $pattern = '/(android\s\d|blackberry|ip(hone|ad|od)|iemobile|webos|palm|symbian|kindle|windows|win64|wow64|macintosh|intel\smac\sos\sx|ppx\smac\sos\sx|googlebot|googlebot-mobile)/'; 700 if ( preg_match( $pattern, $user_agent, $matches ) ) { 701 $platform = $matches[0]; 702 } 703 704 switch ( $platform ) { 705 706 /* phones / smartphones */ 707 case 'android 1': 708 case 'android 2': 709 case 'blackberry': 710 case 'iphone': 711 case 'ipod': 712 case 'iemobile': 713 case 'webos': 714 case 'palm': 715 case 'symbian': 716 case 'googlebot-mobile': 717 $platform = 'mobile'; 718 break; 719 720 /* tablets */ 721 case 'android 3': 722 case 'android 4': 723 case 'ipad': 724 case 'kindle': 725 $platform = 'tablet'; 726 break; 727 728 /* desktops / laptops */ 729 case 'windows': 730 case 'win64': 731 case 'wow64': 732 case 'macintosh': 733 case 'ppx mac os x': 734 case 'intel mac os x': 735 case 'googlebot': 736 $platform = 'laptop'; 737 break; 738 739 /* in case nothing else matches */ 740 default: 741 $platform = 'laptop'; 742 break; 743 } 744 return $platform; 699 $mobile_detect = new Mobile_Detect(); 700 $mobile_detect->setUserAgent(); 701 if($mobile_detect->isMobile()){ 702 return ($mobile_detect->isTablet()) ? 'tablet' : 'mobile'; 703 }else if($mobile_detect->isTablet()){ 704 return 'tablet'; 705 } 706 return 'laptop'; 745 707 } 746 708 … … 789 751 790 752 if ( !empty( $campaign_ids ) ) { 791 $valid_campaigns = $this->get_valid_campaigns( $campaign_ids, true );753 $valid_campaigns = $this->get_valid_campaigns( $campaign_ids, true ,true); 792 754 } 793 755 // When skip_others is true, we won't load campaigns / messages from db … … 863 825 } 864 826 865 function get_valid_campaigns( $campaign_ids = array(), $skip_page_check = false ) {827 function get_valid_campaigns( $campaign_ids = array(), $skip_page_check = false ,$preview_mode = false) { 866 828 global $wpdb; 867 829 … … 880 842 foreach ( (array) $campaign_ids as $campaign_id ) { 881 843 $campaign = new Icegram_Campaign( $campaign_id ); 882 883 if ( $campaign->is_valid( array('skip_page_check' => $skip_page_check) ) ) { 844 if ( $preview_mode || $campaign->is_valid( array('skip_page_check' => $skip_page_check) ) ) { 884 845 $valid_campaigns[$campaign_id] = $campaign; 885 846 } else { … … 1234 1195 function remove_preview_button() { 1235 1196 global $post_type; 1236 1237 1197 if( $post_type == 'ig_message' || $post_type == 'ig_campaign' ) { 1238 1239 1198 ?> 1240 <style> 1241 #preview-action { display:none; } 1242 </style> 1199 <style type="text/css"> 1200 #message.updated.below-h2{ display: none; } 1201 #preview-action { display:none; } 1202 </style> 1243 1203 <?php 1244 1245 } 1246 1247 } 1204 } 1205 } 1206 1248 1207 1249 1208 function remove_row_actions( $actions, $post ) { … … 1430 1389 1431 1390 $icegram = new Icegram(); 1391 do_action('icegram_loaded'); 1432 1392 } 1433 1393 -
icegram/trunk/message-types/popup/main.js
r1066982 r1092381 33 33 showCloseBtn :false 34 34 }); 35 jQuery('.mfp-content').removeClass().addClass('mfp-content'); 36 jQuery('.mfp-content').addClass(self.data.theme).addClass('ig_popup'); 35 jQuery('.mfp-content').removeClass().addClass('mfp-content ig_popup ' + self.data.theme); 37 36 silent !== true && this.track( 'shown' ); 38 37 }; -
icegram/trunk/message-types/popup/themes/inspire.css
r1066982 r1092381 69 69 } 70 70 } 71 72 71 @media only screen and (min-device-width: 320px) and (max-device-width: 359px) { 73 72 .ig_popup.inspire .ig_button, .ig_popup.inspire input[type="submit"], .ig_popup.inspire input[type="button"]{ -
icegram/trunk/readme.txt
r1066982 r1092381 5 5 Requires at least: 3.9 6 6 Tested up to: 4.1 7 Stable tag: 1.8. 47 Stable tag: 1.8.5 8 8 License: GPLv3 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 47 47 * Use short codes **other plugins** provide – embed forms, widgets, social sharing buttons, twitter feed… 48 48 * Add **inline JavaScript or CSS** for customizations 49 * Compatible with WPML for multilingual, translated messages49 * Target campaigns on different pages - with Wildcard URLs, page selection and more... 50 50 * **Full HTML** editing capability for maximum control 51 52 = Works with Multi Site, WPML and even non WordPress sites = 53 Icegram and its addons are WordPress Multisite compatible. Each site becomes an independent Icegram installation. 54 55 Icegram is also *WPML Compatible*. You can show multilingual messages in different languages as you wish. 56 57 And, as a matter of fact you can show Icegram campaign and messages on non WordPress sites too! Use the premium Icegram Remote addon, and you can show Icegram campaigns anywhere. 51 58 52 59 = Icegram is a Good Neighbour = … … 68 75 * Geo Targeting - based on visitor's location - continent, country, city, region or IP address 69 76 * CTA Actions - Open link, in new window, submit form, AJAX submission, show another message, hide this message... New actions for CTA buttons 70 * Additional message types - Overlay, Inline, Sidebars, Ribbons, Stickies, Badges... 77 * Remote - Show Icegram messages on any site - WordPress or otherwise 78 * Additional message types - Overlay, Inline, Sidebars, Interstitial, Ribbons, Stickies, Badges... 71 79 72 80 = Ok, there is even more = … … 146 154 147 155 == Upgrade Notice == 156 = 1.8.5 = 157 Bug fix release for device targeting, preview before publish not working. 158 148 159 = 1.8.4 = 149 160 Popups are now responsive! Plus Visual Composer compatibility and other fixes. … … 193 204 194 205 == Changelog == 206 = 1.8.5 = 207 * New: Added a link to Form Embed Documentation for easy access 208 * Fix: Default mode of content editor set to visual 209 * Fix: Popup hiding behind header for some themes 210 * Fix: Device targeting rule not working on newer devices 211 * Fix: Preview working only after Publishing 212 195 213 = 1.8.4 = 196 214 * New: Popup messages work beautifully on mobile / small devices now!
Note: See TracChangeset
for help on using the changeset viewer.