static function get_current_page_id() { global $post; if (!empty($_REQUEST['page_id']) && is_numeric($_REQUEST['page_id'])) { $post = get_post($_REQUEST['page_id']); setup_postdata($post); // WPML check $id = apply_filters('icegram_identify_current_page', $post->ID); self::$current_page_id = $id; } return self::$current_page_id; }
function change_form_action_url($url) { return Icegram::get_current_page_url(); }
function change_form_action_url($form_tag, $form) { $form_tag = preg_replace("|action='(.*?)'|", "action='" . Icegram::get_current_page_url() . "'", $form_tag); return $form_tag; }
function duplicate_campaign() { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'duplicate-campaign' && !empty($_REQUEST['campaign_id'])) { Icegram::duplicate($_REQUEST['campaign_id']); } }
function duplicate_message() { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'duplicate-message' && !empty($_REQUEST['message_id'])) { Icegram::duplicate($_REQUEST['message_id']); } }
function _is_valid_page($campaign_valid, $campaign, $options) { $page_id = Icegram::get_current_page_id(); if (!$campaign_valid || !empty($options['skip_page_check'])) { return $campaign_valid; } if (!empty($campaign->rules_summary['where']['sitewide']) && $campaign->rules_summary['where']['sitewide'] == 'yes') { if (!empty($campaign->rules['exclude_page_id']) && in_array($page_id, $campaign->rules['exclude_page_id'])) { return false; } else { return true; } } if (!empty($campaign->rules_summary['where']['homepage']) && $campaign->rules_summary['where']['homepage'] == 'yes' && (isset($_REQUEST['is_home']) && $_REQUEST['is_home'] === 'true' || is_home() || is_front_page())) { return true; } if (!empty($page_id)) { if (!empty($campaign->rules_summary['where']['other_page']) && in_array($page_id, $campaign->rules_summary['where']['other_page'])) { return true; } } if (!empty($campaign->rules_summary['where']['local_url']) && $campaign->rules_summary['where']['local_url'] == 'yes') { $current_page_url = Icegram::get_current_page_url(); // TODO::change this check with remote mode //return if call made from remote url if (!empty($_POST['ig_remote_url'])) { return; } foreach ($campaign->rules['local_urls'] as $local_url_pattern) { if (empty($local_url_pattern)) { $local_url_pattern = home_url() . '/'; } $result = $this->is_valid_url($local_url_pattern, $current_page_url); if ($result) { return $result; } else { continue; } } } return false; }