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 change_form_action_url($url)
 {
     return Icegram::get_current_page_url();
 }
 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;
 }