Example #1
0
 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;
 }