Пример #1
0
 function __construct()
 {
     $this->version = "1.9.16";
     $this->shortcode_instances = array();
     $this->mode = 'local';
     $this->plugin_url = untrailingslashit(plugins_url('/', __FILE__));
     $this->plugin_path = untrailingslashit(plugin_dir_path(__FILE__));
     $this->include_classes();
     $this->cache_compatibility = get_option('icegram_cache_compatibility', 'no');
     if (is_admin() && current_user_can('edit_posts')) {
         $ig_campaign_admin = Icegram_Campaign_Admin::getInstance();
         $ig_message_admin = Icegram_Message_Admin::getInstance();
         add_action('admin_enqueue_scripts', array(&$this, 'enqueue_admin_styles_and_scripts'));
         add_action('admin_print_styles', array(&$this, 'remove_preview_button'));
         add_filter('post_row_actions', array(&$this, 'remove_row_actions'), 10, 2);
         add_action('admin_menu', array(&$this, 'admin_menus'));
         add_action('admin_init', array(&$this, 'welcome'));
         add_action('admin_init', array(&$this, 'dismiss_admin_notice'));
         add_action('admin_init', array(&$this, 'import_gallery_item'));
         add_action('icegram_settings_after', array(&$this, 'klawoo_subscribe_form'));
         add_action('icegram_about_changelog', array(&$this, 'klawoo_subscribe_form'));
         add_action('icegram_settings_after', array(&$this, 'icegram_houskeeping'));
         add_action('admin_notices', array(&$this, 'add_admin_notices'));
         add_filter('ig_in_app_offers', array(&$this, 'add_in_app_offer'));
         add_filter('plugin_action_links', array($this, 'ig_plugin_settings_link'), 10, 2);
     } else {
         add_action('wp_footer', array(&$this, 'icegram_load_data'));
     }
     if ($this->cache_compatibility === 'no') {
         add_action('wp_footer', array(&$this, 'display_messages'));
     }
     add_shortcode('icegram', array(&$this, 'execute_shortcode'));
     add_shortcode('ig_form', array(&$this, 'execute_form_shortcode'));
     // WPML compatibility
     add_filter('icegram_identify_current_page', array(&$this, 'wpml_get_parent_id'), 10);
     add_filter('icegram_branding_data', array(&$this, 'branding_data_remove'), 10);
     add_action('wp_enqueue_scripts', array(&$this, 'identify_current_page'));
     add_filter('icegram_get_valid_campaigns_sql', array(&$this, 'append_to_valid_campaigns_sql'), 10, 2);
     add_action('icegram_print_js_css_data', array(&$this, 'print_js_css_data'), 10, 1);
     // common
     add_action('init', array(&$this, 'register_campaign_post_type'));
     add_action('init', array(&$this, 'register_message_post_type'));
     add_action('icegram_loaded', array(&$this, 'load_compat_classes'));
     // execute shortcode in sidebar
     add_filter('widget_text', array(&$this, 'ig_widget_text_filter'));
     if (defined('DOING_AJAX')) {
         if ($this->cache_compatibility === 'yes') {
             add_action('wp_ajax_display_messages', array(&$this, 'display_messages'));
             add_action('wp_ajax_nopriv_display_messages', array(&$this, 'display_messages'));
         }
         add_action('wp_ajax_icegram_event_track', array(&$this, 'icegram_event_track'));
         add_action('wp_ajax_nopriv_icegram_event_track', array(&$this, 'icegram_event_track'));
         add_action('wp_ajax_klawoo_subscribe', array(&$this, 'klawoo_subscribe'));
         add_action('wp_ajax_icegram_run_housekeeping', array(&$this, 'run_housekeeping'));
     }
 }
        function get_message_action_row()
        {
            $ig_message_admin = Icegram_Message_Admin::getInstance();
            $ig_message_admin->is_icegram_editor = true;
            if (empty($_POST['message_id']) || !is_numeric($_POST['message_id'])) {
                $my_post = array('post_status' => 'auto-draft', 'post_type' => 'ig_message');
                $message_id = wp_insert_post($my_post);
                $message_title = '';
                $message_type = $_POST['message_id'];
            } else {
                $message_id = $_POST['message_id'];
                $message_title = get_the_title($message_id);
                $message_data = get_post_meta($message_id, 'icegram_message_data', true);
                $message_type = $message_data['type'];
            }
            ob_start();
            $icegram_message_meta_key = apply_filters('icegram_message_meta_key', 'messages');
            ?>
			<tr class="form-field message-row" value="<?php 
            echo $message_id;
            ?>
">
				<td class="message_header">
					<label class="message_header_label <?php 
            echo "ig_" . $message_type;
            ?>
"><?php 
            echo ucwords(str_replace("-", ' ', $message_type));
            ?>
</label>
				</td>
				<td class="message_title">
					<div class="message-title-text" style="display:none;"><?php 
            echo $message_title;
            ?>
</div>
					<input type="text" class="message-title-input" name="message_data[<?php 
            echo $message_id;
            ?>
][post_title]" value="<?php 
            echo $message_title;
            ?>
" placeholder="<?php 
            echo __('Give this message a name for your own reference', 'icegram');
            ?>
">
				</td>
				<td class="message_seconds">
					<input type="hidden" name="<?php 
            echo $icegram_message_meta_key . '[' . $_POST['row'];
            ?>
][id]" value="<?php 
            echo $message_id;
            ?>
" />
					<input type="number" class="seconds-text" name="<?php 
            echo $icegram_message_meta_key . '[' . $_POST['row'];
            ?>
][time]" min="-1" value="0" size="3" /><?php 
            _e(' sec', 'icegram');
            ?>
				</td>
				<td class="action_links">
					<span class="actions message_edit" title="<?php 
            _e('Edit Message', 'icegram');
            ?>
" ></span> 
					<span class="actions message_delete" title="<?php 
            _e('Remove from Campaign', 'icegram');
            ?>
" ></span>
				</td> 
			</tr>
			<tr id="message_row_<?php 
            echo $message_id;
            ?>
" class="message-edit-row">
				<td colspan="4">
				<?php 
            $ig_message_admin->message_form_fields('', array('message_type' => $message_type, 'message_id' => $message_id, 'new_message_row' => true));
            ?>
				</td>
			</tr>
			<?php 
            echo json_encode(array('id' => $message_id, 'main' => ob_get_clean()));
            die;
        }