number = 0;
$this->wp_options = array ();
$this->fallback = 0;
$this->client_side_list_detection = false;
$this->w3tc_code = '';
$this->w3tc_code2 = '';
$this->before_w3tc_code2 = '';
$this->needs_class = false;
$this->code_version = 0;
$this->version_name = '';
$this->additional_code_before = '';
$this->additional_code_after = '';
$this->counters = '';
$this->client_side_cookie_check = false;
$this->hide_debug_labels = false;
$this->demo_debugging = false;
$this->hidden_viewports = '';
$this->check_codes = null;
$this->check_codes_index = 0;
$this->check_codes_data = null;
$this->check_code_empty = false;
$this->check_code_insertions = null;
$this->check_names = null;
$this->count_names = null;
$this->roate_names = null;
$this->check_index = 0;
$this->count_index = 0;
$this->rotate_index = 0;
$this->no_insertion_text = '';
$this->labels = new ai_block_labels ();
$this->wp_options [AI_OPTION_CODE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_PROCESS_PHP] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_MANUAL] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_AMP] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_404] = AI_DISABLED;
$this->wp_options [AI_OPTION_DETECT_SERVER_SIDE] = AI_DISABLED;
$this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES] = DEFAULT_DISPLAY_FOR_DEVICES;
}
public function load_options ($block) {
global $ai_db_options;
if (isset ($ai_db_options [$block])) $options = $ai_db_options [$block]; else $options = array ();
// Convert old options
if (empty ($options) && !isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION'])) {
if ($block == "h") $options = ai_get_option (str_replace ("#", "Header", AD_ADx_OPTIONS));
elseif ($block == "f") $options = ai_get_option (str_replace ("#", "Footer", AD_ADx_OPTIONS));
else $options = ai_get_option (str_replace ("#", $block, AD_ADx_OPTIONS));
if (is_array ($options)) {
$old_name = "ad" . $block . "_data";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CODE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_enable_manual";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLE_MANUAL] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_process_php";
if (isset ($options [$old_name])) {
$options [AI_OPTION_PROCESS_PHP] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adH_data";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CODE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adH_enable";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLE_MANUAL] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adH_process_php";
if (isset ($options [$old_name])) {
$options [AI_OPTION_PROCESS_PHP] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adF_data";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CODE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adF_enable";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLE_MANUAL] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "adF_process_php";
if (isset ($options [$old_name])) {
$options [AI_OPTION_PROCESS_PHP] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_name";
if (isset ($options [$old_name])) {
$options [AI_OPTION_BLOCK_NAME] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_displayType";
if (isset ($options [$old_name])) {
$options [AI_OPTION_AUTOMATIC_INSERTION] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_paragraphNumber";
if (isset ($options [$old_name])) {
$options [AI_OPTION_PARAGRAPH_NUMBER] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_minimum_paragraphs";
if (isset ($options [$old_name])) {
$options [AI_OPTION_MIN_PARAGRAPHS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_minimum_words";
if (isset ($options [$old_name])) {
$options [AI_OPTION_MIN_WORDS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_excerptNumber";
if (isset ($options [$old_name])) {
$options [AI_OPTION_EXCERPT_NUMBER] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_directionType";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DIRECTION_TYPE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_floatType";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ALIGNMENT_TYPE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_general_tag";
if (isset ($options [$old_name])) {
$options [AI_OPTION_GENERAL_TAG] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_after_day";
if (isset ($options [$old_name])) {
$options [AI_OPTION_AFTER_DAYS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_block_user";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DOMAIN_LIST] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_domain_list_type";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DOMAIN_LIST_TYPE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_block_cat";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CATEGORY_LIST] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_block_cat_type";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CATEGORY_LIST_TYPE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_block_tag";
if (isset ($options [$old_name])) {
$options [AI_OPTION_TAG_LIST] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_block_tag_type";
if (isset ($options [$old_name])) {
$options [AI_OPTION_TAG_LIST_TYPE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_home";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_HOMEPAGE] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_page";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_PAGES] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_post";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_POSTS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_category";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_CATEGORY_PAGES] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_search";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_SEARCH_PAGES] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_widget_settings_archive";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_ON_ARCHIVE_PAGES] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_enabled_on_which_pages";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLED_ON_WHICH_PAGES] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_enabled_on_which_posts";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLED_ON_WHICH_POSTS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_enable_php_call";
if (isset ($options [$old_name])) {
$options [AI_OPTION_ENABLE_PHP_CALL] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_paragraph_text";
if (isset ($options [$old_name])) {
$options [AI_OPTION_PARAGRAPH_TEXT] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_custom_css";
if (isset ($options [$old_name])) {
$options [AI_OPTION_CUSTOM_CSS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_display_for_users";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_FOR_USERS] = $options [$old_name];
unset ($options [$old_name]);
}
$old_name = "ad" . $block . "_display_for_devices";
if (isset ($options [$old_name])) {
$options [AI_OPTION_DISPLAY_FOR_DEVICES] = $options [$old_name];
unset ($options [$old_name]);
}
}
}
if (!empty ($options)) $this->wp_options = array_merge ($this->wp_options, $options);
unset ($this->wp_options ['']);
}
public function get_ad_name(){
$name = isset ($this->wp_options [AI_OPTION_BLOCK_NAME]) ? $this->wp_options [AI_OPTION_BLOCK_NAME] : "";
return $name;
}
public function get_ad_data(){
$ad_data = isset ($this->wp_options [AI_OPTION_CODE]) ? $this->wp_options [AI_OPTION_CODE] : '';
return $ad_data;
}
public function get_enable_manual (){
$enable_manual = isset ($this->wp_options [AI_OPTION_ENABLE_MANUAL]) ? $this->wp_options [AI_OPTION_ENABLE_MANUAL] : AI_DISABLED;
if ($enable_manual == '') $enable_manual = AI_DISABLED;
return $enable_manual;
}
public function get_enable_amp ($return_saved_value = false){
$enable_amp = isset ($this->wp_options [AI_OPTION_ENABLE_AMP]) ? $this->wp_options [AI_OPTION_ENABLE_AMP] : AI_DISABLED;
if ($return_saved_value) return $enable_amp;
// Fix for AMP code blocks with whitelisted url */amp
$urls = $this->get_ad_url_list();
$url_type = $this->get_ad_url_list_type();
if ($url_type == AI_WHITE_LIST && strpos ($urls, '/amp') !== false) {
$enable_amp = true;
}
// Fix for code blocks using PHP function is_amp_endpoint
elseif ($this->get_process_php() && strpos ($this->get_ad_data (), 'is_amp_endpoint') !== false) {
$enable_amp = true;
}
return $enable_amp;
}
public function get_process_php (){
$process_php = isset ($this->wp_options [AI_OPTION_PROCESS_PHP]) ? $this->wp_options [AI_OPTION_PROCESS_PHP] : AI_DISABLED;
if ($process_php == '') $process_php = AI_DISABLED;
return $process_php;
}
public function get_enable_404 (){
$enable_404 = isset ($this->wp_options [AI_OPTION_ENABLE_404]) ? $this->wp_options [AI_OPTION_ENABLE_404] : AI_DISABLED;
if ($enable_404 == '') $enable_404 = AI_DISABLED;
return $enable_404;
}
public function get_detection_server_side(){
// Check old settings for all devices
if (isset ($this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES])) {
$display_for_devices = $this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES];
} else $display_for_devices = '';
if ($display_for_devices === AD_DISPLAY_ALL_DEVICES) $option = AI_DISABLED; else
$option = isset ($this->wp_options [AI_OPTION_DETECT_SERVER_SIDE]) ? $this->wp_options [AI_OPTION_DETECT_SERVER_SIDE] : AI_DISABLED;
return $option;
}
function check_server_side_detection () {
global $ai_last_check;
if ($this->get_detection_server_side ()) {
$display_for_devices = $this->get_display_for_devices ();
$ai_last_check = AI_CHECK_DESKTOP_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_DESKTOP_DEVICES && !AI_DESKTOP) return false;
$ai_last_check = AI_CHECK_MOBILE_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_MOBILE_DEVICES && !AI_MOBILE) return false;
$ai_last_check = AI_CHECK_TABLET_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_TABLET_DEVICES && !AI_TABLET) return false;
$ai_last_check = AI_CHECK_PHONE_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_PHONE_DEVICES && !AI_PHONE) return false;
$ai_last_check = AI_CHECK_DESKTOP_TABLET_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_DESKTOP_TABLET_DEVICES && !(AI_DESKTOP || AI_TABLET)) return false;
$ai_last_check = AI_CHECK_DESKTOP_PHONE_DEVICES;
if ($display_for_devices == AI_INSERT_FOR_DESKTOP_PHONE_DEVICES && !(AI_DESKTOP || AI_PHONE)) return false;
}
return true;
}
public function get_display_for_devices () {
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES]) ? $this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES] : DEFAULT_DISPLAY_FOR_DEVICES;
// convert old option
if ($option == '' || $option == AD_DISPLAY_ALL_DEVICES) $option = DEFAULT_DISPLAY_FOR_DEVICES;
elseif ($option == AD_DISPLAY_DESKTOP_DEVICES) $option = AI_INSERT_FOR_DESKTOP_DEVICES;
elseif ($option == AD_DISPLAY_MOBILE_DEVICES) $option = AI_INSERT_FOR_MOBILE_DEVICES;
elseif ($option == AD_DISPLAY_TABLET_DEVICES) $option = AI_INSERT_FOR_TABLET_DEVICES;
elseif ($option == AD_DISPLAY_PHONE_DEVICES) $option = AI_INSERT_FOR_PHONE_DEVICES;
elseif ($option == AD_DISPLAY_DESKTOP_TABLET_DEVICES) $option = AI_INSERT_FOR_DESKTOP_TABLET_DEVICES;
elseif ($option == AD_DISPLAY_DESKTOP_PHONE_DEVICES) $option = AI_INSERT_FOR_DESKTOP_PHONE_DEVICES;
return $option;
}
public function get_display_for_devices_text ($translate = true) {
switch ($this->get_display_for_devices ()) {
case AI_INSERT_FOR_DESKTOP_DEVICES:
if (!$translate) return AI_TEXT_ENG_DESKTOP_DEVICES;
return AI_TEXT_DESKTOP_DEVICES;
break;
case AI_INSERT_FOR_MOBILE_DEVICES:
if (!$translate) return AI_TEXT_ENG_MOBILE_DEVICES;
return AI_TEXT_MOBILE_DEVICES;
break;
case AI_INSERT_FOR_TABLET_DEVICES:
if (!$translate) return AI_TEXT_ENG_TABLET_DEVICES;
return AI_TEXT_TABLET_DEVICES;
break;
case AI_INSERT_FOR_PHONE_DEVICES:
if (!$translate) return AI_TEXT_ENG_PHONE_DEVICES;
return AI_TEXT_PHONE_DEVICES;
break;
case AI_INSERT_FOR_DESKTOP_TABLET_DEVICES:
if (!$translate) return AI_TEXT_ENG_DESKTOP_TABLET_DEVICES;
return AI_TEXT_DESKTOP_TABLET_DEVICES;
break;
case AI_INSERT_FOR_DESKTOP_PHONE_DEVICES:
if (!$translate) return AI_TEXT_ENG_DESKTOP_PHONE_DEVICES;
return AI_TEXT_DESKTOP_PHONE_DEVICES;
break;
default:
return '';
break;
}
}
public function get_debug_disable_insertion (){
global $ai_wp_data;
if (defined ('AI_DEBUGGING_DEMO') && !$this->demo_debugging) {
return false;
}
return ($ai_wp_data [AI_WP_DEBUGGING] & AI_DEBUG_NO_INSERTION) != 0;
}
public function clear_code_cache (){
unset ($this->wp_options ['GENERATED_CODE']);
}
public function empty_code () {
global $ai_last_check;
$ai_last_check = AI_CHECK_CODE;
$empty = $this->ai_getCode () == '';
if ($this->get_automatic_insertion () == AI_AUTOMATIC_INSERTION_INSIDE_HTML_ELEMENT &&
($this->get_inside_element () == AI_HTML_REPLACE_CONTENT ||
$this->get_inside_element () == AI_HTML_REPLACE_ELEMENT)) {
return false;
}
return $empty;
}
public function ai_getCode (){
global $block_object, $ai_total_php_time, $ai_wp_data;
if ($this->fallback != 0) return $block_object [$this->fallback]->ai_getCode ();
$obj = $this;
$code = $obj->get_ad_data();
if ($obj->get_process_php () && !get_disable_php_processing () && (!is_multisite() || is_main_site () || multisite_php_processing ())) {
$global_name = 'GENERATED_CODE';
if (isset ($obj->wp_options [$global_name])) return $obj->wp_options [$global_name];
$start_time = microtime (true);
$php_error = "";
ob_start ();
try {
eval ("?>". $code . "number == 0 ? '' : $obj->number . " - ") . $obj->get_ad_name() . "
\n" . $e->getMessage();
}
$processed_code = ob_get_clean ();
if (strpos ($processed_code, __FILE__) || $php_error != "") {
if (preg_match ("%(.+) in ".__FILE__."%", strip_tags($processed_code), $error_message))
// translators: %s: Ad Inserter
$code = sprintf (__("PHP error in %s block", 'ad-inserter'), AD_INSERTER_NAME) . ' '. ($obj->number == 0 ? '' : $obj->number . " - ") . $obj->get_ad_name() . "
\n" . $error_message [1];
elseif (preg_match ("%(.+) in ".__FILE__."%", $php_error, $error_message))
// translators: %s: Ad Inserter
$code = sprintf (__("PHP error in %s block", 'ad-inserter'), AD_INSERTER_NAME) . ' ' .($obj->number == 0 ? '' : $obj->number . " - ") . $obj->get_ad_name() . "
\n" . $error_message [1];
else $code = $processed_code;
} else $code = $processed_code;
// Cache generated code
$obj->wp_options [$global_name] = $code;
$ai_total_php_time += microtime (true) - $start_time;
}
return $code;
}
}
abstract class ai_CodeBlock extends ai_BaseCodeBlock {
var $number;
function __construct () {
parent::__construct();
$this->wp_options [AI_OPTION_BLOCK_NAME] = '';
$this->wp_options [AI_OPTION_DISABLE_INSERTION] = AI_DISABLED;
$this->wp_options [AI_OPTION_SHOW_LABEL] = AI_DISABLED;
$this->wp_options [AI_OPTION_LAZY_LOADING] = AI_DISABLED;
$this->wp_options [AI_OPTION_IFRAME] = AI_DISABLED;
$this->wp_options [AI_OPTION_LABEL_IN_IFRAME] = AI_DISABLED;
$this->wp_options [AI_OPTION_IFRAME_WIDTH] = DEFAULT_IFRAME_WIDTH;
$this->wp_options [AI_OPTION_IFRAME_HEIGHT] = DEFAULT_IFRAME_HEIGHT;
$this->wp_options [AI_OPTION_TRACKING] = AI_DISABLED;
$this->wp_options [AI_OPTION_AUTOMATIC_INSERTION] = AI_AUTOMATIC_INSERTION_DISABLED;
$this->wp_options [AI_OPTION_HTML_SELECTOR] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_SERVER_SIDE_INSERTION] = DEFAULT_SERVER_SIDE_INSERTION;
$this->wp_options [AI_OPTION_HTML_ELEMENT_INSERTION] = DEFAULT_HTML_ELEMENT_INSERTION;
$this->wp_options [AI_OPTION_INSIDE_ELEMENT] = DEFAULT_INSIDE_ELEMENT;
$this->wp_options [AI_OPTION_PARAGRAPH_NUMBER] = AD_ONE;
$this->wp_options [AI_OPTION_MIN_PARAGRAPHS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MIN_WORDS_ABOVE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MIN_WORDS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MAX_WORDS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MIN_PARAGRAPH_WORDS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MAX_PARAGRAPH_WORDS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_COUNT_INSIDE_BLOCKQUOTE] = AI_DISABLED;
$this->wp_options [AI_OPTION_PARAGRAPH_TAGS] = DEFAULT_PARAGRAPH_TAGS;
$this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_ABOVE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_BELOW] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_AVOID_TEXT_ABOVE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_AVOID_TEXT_BELOW] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_AVOID_ACTION] = DEFAULT_AVOID_ACTION;
$this->wp_options [AI_OPTION_AVOID_TRY_LIMIT] = AD_ONE;
$this->wp_options [AI_OPTION_AVOID_DIRECTION] = DEFAULT_AVOID_DIRECTION;
$this->wp_options [AI_OPTION_EXCERPT_NUMBER] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_FILTER_TYPE] = AI_FILTER_AUTO;
$this->wp_options [AI_OPTION_INVERTED_FILTER] = AI_DISABLED;
$this->wp_options [AI_OPTION_DIRECTION_TYPE] = DEFAULT_DIRECTION_TYPE;
$this->wp_options [AI_OPTION_ALIGNMENT_TYPE] = AI_ALIGNMENT_DEFAULT;
if (defined ('AI_STICKY_SETTINGS') && AI_STICKY_SETTINGS) {
$this->wp_options [AI_OPTION_HORIZONTAL_POSITION] = DEFAULT_HORIZONTAL_POSITION;
$this->wp_options [AI_OPTION_VERTICAL_POSITION] = DEFAULT_VERTICAL_POSITION;
$this->wp_options [AI_OPTION_HORIZONTAL_MARGIN] = DEFAULT_HORIZONTAL_MARGIN;
$this->wp_options [AI_OPTION_VERTICAL_MARGIN] = DEFAULT_VERTICAL_MARGIN;
$this->wp_options [AI_OPTION_ANIMATION] = DEFAULT_ANIMATION;
$this->wp_options [AI_OPTION_ANIMATION_TRIGGER] = DEFAULT_ANIMATION_TRIGGER;
$this->wp_options [AI_OPTION_ANIMATION_TRIGGER_VALUE] = DEFAULT_ANIMATION_TRIGGER_VALUE;
$this->wp_options [AI_OPTION_ANIMATION_TRIGGER_OFFSET] = DEFAULT_ANIMATION_TRIGGER_OFFSET;
$this->wp_options [AI_OPTION_ANIMATION_TRIGGER_DELAY] = DEFAULT_ANIMATION_TRIGGER_DELAY;
$this->wp_options [AI_OPTION_ANIMATION_TRIGGER_ONCE] = DEFAULT_ANIMATION_TRIGGER_ONCE;
}
$this->wp_options [AI_OPTION_GENERAL_TAG] = DEFAULT_GENERAL_TAG;
$this->wp_options [AI_OPTION_SCHEDULING] = AI_SCHEDULING_OFF;
$this->wp_options [AI_OPTION_AFTER_DAYS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_START_DATE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_END_DATE] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_FALLBACK] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_ADB_BLOCK_ACTION] = DEFAULT_ADB_BLOCK_ACTION;
$this->wp_options [AI_OPTION_ADB_BLOCK_REPLACEMENT] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_MAXIMUM_INSERTIONS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_ID_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_ID_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_URL_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_URL_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_URL_PARAMETER_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_URL_PARAMETER_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_DOMAIN_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_DOMAIN_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_IP_ADDRESS_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_IP_ADDRESS_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_COUNTRY_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_COUNTRY_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_CATEGORY_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_CATEGORY_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_TAG_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_TAG_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_TAXONOMY_LIST] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_TAXONOMY_LIST_TYPE] = AI_BLACK_LIST;
$this->wp_options [AI_OPTION_DISPLAY_ON_POSTS] = AI_ENABLED;
$this->wp_options [AI_OPTION_DISPLAY_ON_PAGES] = AI_DISABLED;
$this->wp_options [AI_OPTION_DISPLAY_ON_HOMEPAGE] = AI_DISABLED;
$this->wp_options [AI_OPTION_DISPLAY_ON_CATEGORY_PAGES] = AI_DISABLED;
$this->wp_options [AI_OPTION_DISPLAY_ON_SEARCH_PAGES] = AI_DISABLED;
$this->wp_options [AI_OPTION_DISPLAY_ON_ARCHIVE_PAGES] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_AJAX] = AI_ENABLED;
$this->wp_options [AI_OPTION_DISABLE_CACHING] = AI_DISABLED;
$this->wp_options [AI_OPTION_MAX_PAGE_BLOCKS_ENABLED] = AI_DISABLED;
$this->wp_options [AI_OPTION_ONLY_IN_THE_LOOP] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_FEED] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLED_ON_WHICH_PAGES] = AI_NO_INDIVIDUAL_EXCEPTIONS;
$this->wp_options [AI_OPTION_ENABLED_ON_WHICH_POSTS] = AI_NO_INDIVIDUAL_EXCEPTIONS;
$this->wp_options [AI_OPTION_ENABLE_PHP_CALL] = AI_DISABLED;
$this->wp_options [AI_OPTION_ENABLE_WIDGET] = AI_ENABLED;
$this->wp_options [AI_OPTION_PARAGRAPH_TEXT] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_PARAGRAPH_TEXT_TYPE] = DEFAULT_PARAGRAPH_TEXT_TYPE;
$this->wp_options [AI_OPTION_CUSTOM_CSS] = AD_EMPTY_DATA;
$this->wp_options [AI_OPTION_DISPLAY_FOR_USERS] = DEFAULT_DISPLAY_FOR_USERS;
$this->wp_options [AI_OPTION_DETECT_CLIENT_SIDE] = AI_DISABLED;
$this->wp_options [AI_OPTION_CLIENT_SIDE_ACTION] = DEFAULT_CLIENT_SIDE_ACTION;
$this->wp_options [AI_OPTION_CLOSE_BUTTON] = DEFAULT_CLOSE_BUTTON;
for ($viewport = 1; $viewport <= 6; $viewport ++) {
$this->wp_options [AI_OPTION_DETECT_VIEWPORT . '_' . $viewport] = AI_DISABLED;
}
}
public function get_disable_insertion (){
$disable_insertion = isset ($this->wp_options [AI_OPTION_DISABLE_INSERTION]) ? $this->wp_options [AI_OPTION_DISABLE_INSERTION] : AI_DISABLED;
return $disable_insertion;
}
public function get_show_label (){
$show_label = isset ($this->wp_options [AI_OPTION_SHOW_LABEL]) ? $this->wp_options [AI_OPTION_SHOW_LABEL] : AI_DISABLED;
if ($show_label == '') $show_label = AI_DISABLED;
return $show_label;
}
public function get_lazy_loading (){
$lazy_loading = isset ($this->wp_options [AI_OPTION_LAZY_LOADING]) ? $this->wp_options [AI_OPTION_LAZY_LOADING] : AI_DISABLED;
if ($lazy_loading == '') $lazy_loading = AI_DISABLED;
return $lazy_loading;
}
public function get_iframe (){
$option = isset ($this->wp_options [AI_OPTION_IFRAME]) ? $this->wp_options [AI_OPTION_IFRAME] : AI_DISABLED;
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_iframe_width (){
$option = isset ($this->wp_options [AI_OPTION_IFRAME_WIDTH]) ? $this->wp_options [AI_OPTION_IFRAME_WIDTH] : DEFAULT_IFRAME_WIDTH;
return $option;
}
public function get_iframe_height (){
$option = isset ($this->wp_options [AI_OPTION_IFRAME_HEIGHT]) ? $this->wp_options [AI_OPTION_IFRAME_HEIGHT] : DEFAULT_IFRAME_HEIGHT;
return $option;
}
public function get_label_in_iframe (){
$option = isset ($this->wp_options [AI_OPTION_LABEL_IN_IFRAME]) ? $this->wp_options [AI_OPTION_LABEL_IN_IFRAME] : AI_DISABLED;
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_automatic_insertion (){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_AUTOMATIC_INSERTION]) ? $this->wp_options [AI_OPTION_AUTOMATIC_INSERTION] : AI_AUTOMATIC_INSERTION_DISABLED;
if ($option == '') $option = AI_AUTOMATIC_INSERTION_DISABLED;
elseif ($option == AD_SELECT_MANUAL) $option = AI_AUTOMATIC_INSERTION_DISABLED;
elseif ($option == AD_SELECT_BEFORE_TITLE) $option = AI_AUTOMATIC_INSERTION_BEFORE_POST;
elseif ($option == AD_SELECT_WIDGET) $option = AI_AUTOMATIC_INSERTION_DISABLED;
if ($option == AD_SELECT_NONE) $option = AI_AUTOMATIC_INSERTION_DISABLED;
elseif ($option == AD_SELECT_BEFORE_POST) $option = AI_AUTOMATIC_INSERTION_BEFORE_POST;
elseif ($option == AD_SELECT_AFTER_POST) $option = AI_AUTOMATIC_INSERTION_AFTER_POST;
elseif ($option == AD_SELECT_BEFORE_PARAGRAPH) $option = AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH;
elseif ($option == AD_SELECT_AFTER_PARAGRAPH) $option = AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH;
elseif ($option == AD_SELECT_BEFORE_CONTENT) $option = AI_AUTOMATIC_INSERTION_BEFORE_CONTENT;
elseif ($option == AD_SELECT_AFTER_CONTENT) $option = AI_AUTOMATIC_INSERTION_AFTER_CONTENT;
elseif ($option == AD_SELECT_BEFORE_EXCERPT) $option = AI_AUTOMATIC_INSERTION_BEFORE_EXCERPT;
elseif ($option == AD_SELECT_AFTER_EXCERPT) $option = AI_AUTOMATIC_INSERTION_AFTER_EXCERPT;
elseif ($option == AD_SELECT_BETWEEN_POSTS) $option = AI_AUTOMATIC_INSERTION_BETWEEN_POSTS;
return $option;
}
public function get_automatic_insertion_text ($server_side_insertion = false, $translate = true){
if ($server_side_insertion)
$automatic_insertion = $this->get_server_side_insertion (); else
$automatic_insertion = $this->get_automatic_insertion();
if ($automatic_insertion == null) $automatic_insertion = $this->get_automatic_insertion();
switch ($automatic_insertion) {
case AI_AUTOMATIC_INSERTION_DISABLED:
if (!$translate) return AI_TEXT_ENG_DISABLED;
return AI_TEXT_DISABLED;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_POST:
if (!$translate) return AI_TEXT_ENG_BEFORE_POST;
return AI_TEXT_BEFORE_POST;
break;
case AI_AUTOMATIC_INSERTION_AFTER_POST:
if (!$translate) return AI_TEXT_ENG_AFTER_POST;
return AI_TEXT_AFTER_POST;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_CONTENT:
if (!$translate) return AI_TEXT_ENG_BEFORE_CONTENT;
return AI_TEXT_BEFORE_CONTENT;
break;
case AI_AUTOMATIC_INSERTION_AFTER_CONTENT:
if (!$translate) return AI_TEXT_ENG_AFTER_CONTENT;
return AI_TEXT_AFTER_CONTENT;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH:
if (!$translate) return AI_TEXT_ENG_BEFORE_PARAGRAPH;
return AI_TEXT_BEFORE_PARAGRAPH;
break;
case AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH:
if (!$translate) return AI_TEXT_ENG_AFTER_PARAGRAPH;
return AI_TEXT_AFTER_PARAGRAPH;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_IMAGE:
if (!$translate) return AI_TEXT_ENG_BEFORE_IMAGE;
return AI_TEXT_BEFORE_IMAGE;
break;
case AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH:
if (!$translate) return AI_TEXT_ENG_AFTER_IMAGE;
return AI_TEXT_AFTER_IMAGE;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_EXCERPT:
if (!$translate) return AI_TEXT_ENG_BEFORE_EXCERPT;
return AI_TEXT_BEFORE_EXCERPT;
break;
case AI_AUTOMATIC_INSERTION_AFTER_EXCERPT:
if (!$translate) return AI_TEXT_ENG_AFTER_EXCERPT;
return AI_TEXT_AFTER_EXCERPT;
break;
case AI_AUTOMATIC_INSERTION_BETWEEN_POSTS:
if (!$translate) return AI_TEXT_ENG_BETWEEN_POSTS;
return AI_TEXT_BETWEEN_POSTS;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_COMMENTS:
if (!$translate) return AI_TEXT_ENG_BEFORE_COMMENTS;
return AI_TEXT_BEFORE_COMMENTS;
break;
case AI_AUTOMATIC_INSERTION_BETWEEN_COMMENTS:
if (!$translate) return AI_TEXT_ENG_BETWEEN_COMMENTS;
return AI_TEXT_BETWEEN_COMMENTS;
break;
case AI_AUTOMATIC_INSERTION_AFTER_COMMENTS:
if (!$translate) return AI_TEXT_ENG_AFTER_COMMENTS;
return AI_TEXT_AFTER_COMMENTS;
break;
case AI_AUTOMATIC_INSERTION_FOOTER:
if (!$translate) return AI_TEXT_ENG_FOOTER;
return AI_TEXT_FOOTER;
break;
case AI_AUTOMATIC_INSERTION_ABOVE_HEADER:
if (!$translate) return AI_TEXT_ENG_ABOVE_HEADER;
return AI_TEXT_ABOVE_HEADER;
break;
case AI_AUTOMATIC_INSERTION_BEFORE_HTML_ELEMENT:
if (!$translate) return AI_TEXT_ENG_BEFORE_HTML_ELEMENT;
return AI_TEXT_BEFORE_HTML_ELEMENT;
break;
case AI_AUTOMATIC_INSERTION_INSIDE_HTML_ELEMENT:
if (!$translate) return AI_TEXT_ENG_INSIDE_HTML_ELEMENT;
return AI_TEXT_INSIDE_HTML_ELEMENT;
break;
case AI_AUTOMATIC_INSERTION_AFTER_HTML_ELEMENT:
if (!$translate) return AI_TEXT_ENG_AFTER_HTML_ELEMENT;
return AI_TEXT_AFTER_HTML_ELEMENT;
break;
default:
if ($automatic_insertion >= AI_AUTOMATIC_INSERTION_CUSTOM_HOOK && $automatic_insertion < AI_AUTOMATIC_INSERTION_CUSTOM_HOOK + 8) {
$hook_index = $automatic_insertion - AI_AUTOMATIC_INSERTION_CUSTOM_HOOK;
return get_hook_name ($hook_index + 1);
}
return '';
break;
}
}
public function get_alignment_type (){
$option = isset ($this->wp_options [AI_OPTION_ALIGNMENT_TYPE]) ? $this->wp_options [AI_OPTION_ALIGNMENT_TYPE] : AI_ALIGNMENT_DEFAULT;
if ($option == '') $option = AI_ALIGNMENT_DEFAULT;
if ($option == AD_ALIGNMENT_NONE) $option = AI_ALIGNMENT_DEFAULT;
elseif ($option == AD_ALIGNMENT_LEFT) $option = AI_ALIGNMENT_LEFT;
elseif ($option == AD_ALIGNMENT_RIGHT) $option = AI_ALIGNMENT_RIGHT;
elseif ($option == AD_ALIGNMENT_CENTER) $option = AI_ALIGNMENT_CENTER;
elseif ($option == AD_ALIGNMENT_FLOAT_LEFT) $option = AI_ALIGNMENT_FLOAT_LEFT;
elseif ($option == AD_ALIGNMENT_FLOAT_RIGHT) $option = AI_ALIGNMENT_FLOAT_RIGHT;
elseif ($option == AD_ALIGNMENT_NO_WRAPPING) $option = AI_ALIGNMENT_NO_WRAPPING;
elseif ($option == AD_ALIGNMENT_CUSTOM_CSS) $option = AI_ALIGNMENT_CUSTOM_CSS;
if (defined ('AI_STICKY_SETTINGS') && AI_STICKY_SETTINGS) {
if ($option == AI_ALIGNMENT_STICKY_LEFT) $option = AI_ALIGNMENT_STICKY;
elseif ($option == AI_ALIGNMENT_STICKY_RIGHT) $option = AI_ALIGNMENT_STICKY;
elseif ($option == AI_ALIGNMENT_STICKY_TOP) $option = AI_ALIGNMENT_STICKY;
elseif ($option == AI_ALIGNMENT_STICKY_BOTTOM) $option = AI_ALIGNMENT_STICKY;
}
return $option;
}
public function get_alignment_type_text ($translate = true){
switch ($this->get_alignment_type ()) {
case AI_ALIGNMENT_DEFAULT:
if (!$translate) return AI_TEXT_ENG_DEFAULT;
return AI_TEXT_DEFAULT;
break;
case AI_ALIGNMENT_LEFT:
if (!$translate) return AI_TEXT_ENG_LEFT;
return AI_TEXT_LEFT;
break;
case AI_ALIGNMENT_RIGHT:
if (!$translate) return AI_TEXT_ENG_RIGHT;
return AI_TEXT_RIGHT;
break;
case AI_ALIGNMENT_CENTER:
if (!$translate) return AI_TEXT_ENG_CENTER;
return AI_TEXT_CENTER;
break;
case AI_ALIGNMENT_FLOAT_LEFT:
if (!$translate) return AI_TEXT_ENG_FLOAT_LEFT;
return AI_TEXT_FLOAT_LEFT;
break;
case AI_ALIGNMENT_FLOAT_RIGHT:
if (!$translate) return AI_TEXT_ENG_FLOAT_RIGHT;
return AI_TEXT_FLOAT_RIGHT;
break;
case AI_ALIGNMENT_STICKY_LEFT:
if (!$translate) return AI_TEXT_ENG_STICKY_LEFT;
return AI_TEXT_STICKY_LEFT;
break;
case AI_ALIGNMENT_STICKY_RIGHT:
if (!$translate) return AI_TEXT_ENG_STICKY_RIGHT;
return AI_TEXT_STICKY_RIGHT;
break;
case AI_ALIGNMENT_STICKY_TOP:
if (!$translate) return AI_TEXT_ENG_STICKY_TOP;
return AI_TEXT_STICKY_TOP;
break;
case AI_ALIGNMENT_STICKY_BOTTOM:
if (!$translate) return AI_TEXT_ENG_STICKY_BOTTOM;
return AI_TEXT_STICKY_BOTTOM;
break;
case AI_ALIGNMENT_STICKY:
if (!$translate) return AI_TEXT_ENG_STICKY;
return AI_TEXT_STICKY;
break;
case AI_ALIGNMENT_NO_WRAPPING:
if (!$translate) return AI_TEXT_ENG_NO_WRAPPING;
return AI_TEXT_NO_WRAPPING;
break;
case AI_ALIGNMENT_CUSTOM_CSS:
if (!$translate) return AI_TEXT_ENG_CUSTOM_CSS;
return AI_TEXT_CUSTOM_CSS;
break;
default:
return '';
break;
}
}
public function sticky_style ($horizontal_position, $vertical_position, $horizontal_margin = null, $vertical_margin = null) {
$style = "";
if ($horizontal_margin === null) $horizontal_margin = trim ($this->get_horizontal_margin ());
if ($vertical_margin === null) $vertical_margin = trim ($this->get_vertical_margin ());
$animation = $this->get_animation () != AI_ANIMATION_NONE;
$main_content_fixed_width = is_numeric (get_main_content_element ());
if ($main_content_fixed_width) {
$main_content_shift = (int) (get_main_content_element () / 2);
}
switch ($vertical_position) {
case AI_STICK_TO_THE_TOP:
switch ($horizontal_position) {
case AI_STICK_HORIZONTAL_CENTER:
$style = AI_ALIGNMENT_CSS_STICK_TO_THE_TOP;
break;
default:
$style = AI_ALIGNMENT_CSS_STICK_TO_THE_TOP_OFFSET;
break;
}
if ($vertical_margin != '') {
$style = ai_change_css ($style, 'top', $vertical_margin . 'px');
}
break;
case AI_STICK_VERTICAL_CENTER:
if ($animation) $style .= AI_ALIGNMENT_CSS_CENTER_VERTICAL_H_ANIM; else
switch ($horizontal_position) {
case AI_STICK_HORIZONTAL_CENTER:
$style = AI_ALIGNMENT_CSS_CENTER_VERTICAL_H_ANIM;
break;
default:
$style = AI_ALIGNMENT_CSS_CENTER_VERTICAL;
break;
}
break;
case AI_SCROLL_WITH_THE_CONTENT:
$style = AI_ALIGNMENT_CSS_SCROLL_WITH_THE_CONTENT;
if ($vertical_margin != '') {
$style = ai_change_css ($style, 'top', $vertical_margin . 'px');
}
break;
case AI_STICK_TO_THE_BOTTOM:
switch ($horizontal_position) {
case AI_STICK_HORIZONTAL_CENTER:
$style = AI_ALIGNMENT_CSS_STICK_TO_THE_BOTTOM;
break;
default:
$style = AI_ALIGNMENT_CSS_STICK_TO_THE_BOTTOM_OFFSET;
break;
}
if ($vertical_margin != '') {
$style = ai_change_css ($style, 'bottom', $vertical_margin . 'px');
}
break;
}
switch ($horizontal_position) {
case AI_STICK_TO_THE_LEFT:
$style .= AI_ALIGNMENT_CSS_STICK_TO_THE_LEFT;
if ($horizontal_margin != '') {
$style = ai_change_css ($style, 'left', $horizontal_margin . 'px');
}
break;
case AI_STICK_TO_THE_CONTENT_LEFT:
$style .= AI_ALIGNMENT_CSS_STICK_TO_THE_CONTENT_LEFT;
if ($horizontal_margin != '') {
$style = ai_change_css ($style, 'margin-right', $horizontal_margin . 'px');
}
if ($main_content_fixed_width) {
$style = $style . ai_change_css (AI_ALIGNMENT_CSS_STICK_TO_THE_CONTENT_LEFT_W, 'right', 'calc(50% + ' . $main_content_shift . 'px)');
}
break;
case AI_STICK_HORIZONTAL_CENTER:
if ($animation) $style .= AI_ALIGNMENT_CSS_STICK_CENTER_HORIZONTAL_ANIM; else
switch ($vertical_position) {
case AI_STICK_VERTICAL_CENTER:
$style .= AI_ALIGNMENT_CSS_STICK_CENTER_HORIZONTAL_V;
break;
default:
$style .= AI_ALIGNMENT_CSS_STICK_CENTER_HORIZONTAL;
break;
}
break;
case AI_STICK_TO_THE_CONTENT_RIGHT:
$style .= AI_ALIGNMENT_CSS_STICK_TO_THE_CONTENT_RIGHT;
if ($horizontal_margin != '') {
$style = ai_change_css ($style, 'margin-left', $horizontal_margin . 'px');
}
if ($main_content_fixed_width) {
$style = $style . ai_change_css (AI_ALIGNMENT_CSS_STICK_TO_THE_CONTENT_RIGHT_W, 'left', 'calc(50% + ' . $main_content_shift . 'px)');
}
break;
case AI_STICK_TO_THE_RIGHT:
switch ($vertical_position) {
case AI_SCROLL_WITH_THE_CONTENT:
$style .= AI_ALIGNMENT_CSS_STICK_TO_THE_RIGHT_SCROLL;
if ($horizontal_margin != '') {
$style = ai_change_css ($style, 'margin-left', $horizontal_margin . 'px');
}
break;
default:
$style .= AI_ALIGNMENT_CSS_STICK_TO_THE_RIGHT;
if ($horizontal_margin != '') {
$style = ai_change_css ($style, 'right', $horizontal_margin . 'px');
}
break;
}
break;
}
return $style;
}
public function stick_to_the_content_class () {
$classes = array ();
$alignment_type = $this->get_alignment_type ();
$custom_css = $this->get_custom_css ();
$horizontal_position = $this->get_horizontal_position ();
$vertical_position = $this->get_vertical_position ();
$main_content_fixed_width = is_numeric (get_main_content_element ());
switch ($alignment_type) {
case AI_ALIGNMENT_STICKY:
if (!$main_content_fixed_width)
switch ($horizontal_position) {
case AI_STICK_TO_THE_CONTENT_LEFT:
$classes []= 'ai-sticky-left';
break;
case AI_STICK_TO_THE_CONTENT_RIGHT:
$classes []= 'ai-sticky-right';
break;
}
switch ($vertical_position) {
case AI_SCROLL_WITH_THE_CONTENT:
$classes []= 'ai-sticky-scroll';
break;
}
break;
case AI_ALIGNMENT_CUSTOM_CSS:
$clean_custom_css_code = str_replace (' ', '', $custom_css);
if (!$main_content_fixed_width &&
strpos ($clean_custom_css_code, 'position:fixed') !== false &&
strpos ($clean_custom_css_code, 'z-index:') !== false &&
strpos ($clean_custom_css_code, 'display:none') !== false) {
if (strpos ($clean_custom_css_code, ';left:auto') !== false) $classes []= 'ai-sticky-left'; // ; to avoid margin-left:auto
elseif (strpos ($clean_custom_css_code, 'right:auto') !== false) $classes []= 'ai-sticky-right';
if (strpos ($clean_custom_css_code, 'margin-bottom:auto') !== false) $classes []= 'ai-sticky-scroll';
}
break;
}
return implode (' ', $classes);
}
public function is_sticky () {
$custom_sticky_css = false;
if ($this->get_alignment_type () == AI_ALIGNMENT_CUSTOM_CSS) {
$clean_custom_css_code = str_replace (' ', '', $this->get_custom_css ());
if (strpos ($clean_custom_css_code, 'position:fixed') !== false && strpos ($clean_custom_css_code, 'z-index:') !== false) $custom_sticky_css = true;
}
return ($custom_sticky_css || $this->get_alignment_type () == AI_ALIGNMENT_STICKY);
}
public function sticky_parameters (&$classes, $preview = false) {
global $ai_wp_data;
$sticky_parameters = '';
// $custom_sticky_css = false;
// if ($this->get_alignment_type () == AI_ALIGNMENT_CUSTOM_CSS) {
// $clean_custom_css_code = str_replace (' ', '', $this->get_custom_css ());
// if (strpos ($clean_custom_css_code, 'position:fixed') !== false && strpos ($clean_custom_css_code, 'z-index:') !== false) $custom_sticky_css = true;
// }
// if ($this->get_alignment_type () == AI_ALIGNMENT_STICKY || $custom_sticky_css) {
if ($this->is_sticky ()) {
$stick_to_the_content_class = $this->stick_to_the_content_class ();
if ($stick_to_the_content_class != '') {
$classes [] = 'ai-sticky-content';
$classes [] = $stick_to_the_content_class;
}
$horizontal_position = $this->get_horizontal_position ();
$vertical_position = $this->get_vertical_position ();
$animation = $this->get_animation ();
$direction = '';
switch ($horizontal_position) {
case AI_STICK_TO_THE_LEFT:
case AI_STICK_TO_THE_CONTENT_LEFT:
$direction = 'right';
break;
case AI_STICK_HORIZONTAL_CENTER:
$classes [] = 'ai-center-h';
switch ($vertical_position) {
case AI_STICK_TO_THE_TOP:
case AI_SCROLL_WITH_THE_CONTENT:
$direction = 'down';
break;
case AI_STICK_VERTICAL_CENTER:
$direction = 'left';
switch ($animation) {
case AI_ANIMATION_SLIDE:
case AI_ANIMATION_SLIDE_FADE:
$animation = AI_ANIMATION_FADE;
break;
case AI_ANIMATION_ZOOM_IN:
case AI_ANIMATION_ZOOM_OUT:
$direction = 'up';
break;
}
break;
case AI_STICK_TO_THE_BOTTOM:
$direction = 'up';
break;
}
break;
case AI_STICK_TO_THE_CONTENT_RIGHT:
case AI_STICK_TO_THE_RIGHT:
$direction = 'left';
break;
}
if ($vertical_position == AI_STICK_VERTICAL_CENTER) $classes [] = 'ai-center-v';
switch ($horizontal_position) {
case AI_STICK_TO_THE_LEFT:
if ($animation == AI_ANIMATION_TURN) $direction = 'left';
break;
case AI_STICK_TO_THE_RIGHT:
if ($animation == AI_ANIMATION_TURN) $direction = 'right';
break;
case AI_STICK_TO_THE_CONTENT_LEFT:
case AI_STICK_TO_THE_CONTENT_RIGHT:
if ($animation == AI_ANIMATION_SLIDE) $animation = AI_ANIMATION_SLIDE_FADE;
break;
}
switch ($animation) {
case AI_ANIMATION_FADE:
$sticky_parameters .= ' data-aos="fade"';
break;
case AI_ANIMATION_SLIDE:
$sticky_parameters .= ' data-aos="slide-'.$direction.'"';
break;
case AI_ANIMATION_SLIDE_FADE:
$sticky_parameters .= ' data-aos="fade-'.$direction.'"';
break;
case AI_ANIMATION_TURN:
$classes [] = 'ai-sticky-turn';
$sticky_parameters .= ' data-aos="flip-'.$direction.'"';
break;
case AI_ANIMATION_FLIP:
if ($direction == 'right') $direction = 'left';
elseif ($direction == 'left') $direction = 'right';
$sticky_parameters .= ' data-aos="flip-'.$direction.'"';
break;
case AI_ANIMATION_ZOOM_IN:
$sticky_parameters .= ' data-aos="zoom-in-'.$direction.'"';
break;
case AI_ANIMATION_ZOOM_OUT:
$sticky_parameters .= ' data-aos="zoom-out-'.$direction.'"';
break;
}
if (!$preview) {
switch ($this->get_animation_trigger ()) {
case AI_TRIGGER_PAGE_SCROLLED_PC:
$pc = $this->get_animation_trigger_value ();
if (!is_numeric ($pc)) $pc = 0;
$pc = intval ($pc);
if ($pc < 0) $pc = 0;
if ($pc > 100) $pc = 100;
$pc = number_format ($pc / 100, 2);
if (!isset ($ai_wp_data [AI_TRIGGER_ELEMENTS])) $ai_wp_data [AI_TRIGGER_ELEMENTS] = array ();
$ai_wp_data [AI_TRIGGER_ELEMENTS][$this->number] = $pc;
$sticky_parameters .= ' data-aos-anchor="#ai-position-'.$this->number.'" data-aos-anchor-placement="top-top"';
break;
case AI_TRIGGER_PAGE_SCROLLED_PX:
$px = $this->get_animation_trigger_value ();
if (!is_numeric ($px)) $px = 0;
$px = intval ($px);
if ($px < 0) $px = 0;
if (!isset ($ai_wp_data [AI_TRIGGER_ELEMENTS])) $ai_wp_data [AI_TRIGGER_ELEMENTS] = array ();
$ai_wp_data [AI_TRIGGER_ELEMENTS][$this->number] = $px;
$sticky_parameters .= ' data-aos-anchor="#ai-position-'.$this->number.'" data-aos-anchor-placement="top-top"';
break;
case AI_TRIGGER_ELEMENT_VISIBLE:
$sticky_parameters .= ' data-aos-anchor="'.$this->get_animation_trigger_value ().'"';
break;
}
$offset = $this->get_animation_trigger_offset ();
if (is_numeric ($offset)) {
$offset = intval ($offset);
if ($offset < -1000) $offset = - 1000;
elseif ($offset > 1000) $offset = 1000;
$sticky_parameters .= ' data-aos-offset="'.$offset.'"';
}
$delay = $this->get_animation_trigger_delay ();
if (is_numeric ($delay) && $delay > 0) {
$delay = intval ($delay);
$sticky_parameters .= ' data-aos-delay="'.$delay.'"';
}
if ($this->get_animation_trigger_once ()) {
$sticky_parameters .= ' data-aos-once="true"';
}
}
}
return $sticky_parameters;
}
public function alignment_style ($alignment_type, $all_styles = false, $full_sticky_style = true) {
$style = "";
switch ($alignment_type) {
case AI_ALIGNMENT_DEFAULT:
$style = AI_ALIGNMENT_CSS_DEFAULT;
break;
case AI_ALIGNMENT_LEFT:
$style = AI_ALIGNMENT_CSS_LEFT;
break;
case AI_ALIGNMENT_RIGHT:
$style = AI_ALIGNMENT_CSS_RIGHT;
break;
case AI_ALIGNMENT_CENTER:
$style = AI_ALIGNMENT_CSS_CENTER;
break;
case AI_ALIGNMENT_FLOAT_LEFT:
$style = AI_ALIGNMENT_CSS_FLOAT_LEFT;
break;
case AI_ALIGNMENT_FLOAT_RIGHT:
$style = AI_ALIGNMENT_CSS_FLOAT_RIGHT;
break;
case AI_ALIGNMENT_STICKY_LEFT:
$style = AI_ALIGNMENT_CSS_STICKY_LEFT;
break;
case AI_ALIGNMENT_STICKY_RIGHT:
$style = AI_ALIGNMENT_CSS_STICKY_RIGHT;
break;
case AI_ALIGNMENT_STICKY_TOP:
$style = AI_ALIGNMENT_CSS_STICKY_TOP;
break;
case AI_ALIGNMENT_STICKY_BOTTOM:
$style = AI_ALIGNMENT_CSS_STICKY_BOTTOM;
break;
case AI_ALIGNMENT_STICKY:
$style = AI_ALIGNMENT_CSS_STICKY;
if ($full_sticky_style) {
$style .= $this->sticky_style ($this->get_horizontal_position (), $this->get_vertical_position ());
}
break;
case AI_ALIGNMENT_CUSTOM_CSS:
$style = $this->get_custom_css ();
break;
default:
$style = '';
break;
}
if (!$all_styles && strpos ($style, "||") !== false) {
$styles = explode ("||", $style);
if (isset ($styles [0])) {
$style = trim ($styles [0]);
}
}
return $style;
}
public function get_horizontal_position (){
$option = - 1;
if (isset ($this->wp_options [AI_OPTION_ALIGNMENT_TYPE])) {
switch ($this->wp_options [AI_OPTION_ALIGNMENT_TYPE]) {
case AI_ALIGNMENT_STICKY_LEFT:
$option = AI_STICK_TO_THE_LEFT;
break;
case AI_ALIGNMENT_STICKY_RIGHT:
$option = AI_STICK_TO_THE_RIGHT;
break;
case AI_ALIGNMENT_STICKY_TOP:
$option = AI_STICK_HORIZONTAL_CENTER;
break;
case AI_ALIGNMENT_STICKY_BOTTOM:
$option = AI_STICK_HORIZONTAL_CENTER;
break;
}
}
if ($option == - 1) {
$option = isset ($this->wp_options [AI_OPTION_HORIZONTAL_POSITION]) ? $this->wp_options [AI_OPTION_HORIZONTAL_POSITION] : DEFAULT_HORIZONTAL_POSITION;
}
return $option;
}
public function get_vertical_position (){
$option = - 1;
if (isset ($this->wp_options [AI_OPTION_ALIGNMENT_TYPE])) {
switch ($this->wp_options [AI_OPTION_ALIGNMENT_TYPE]) {
case AI_ALIGNMENT_STICKY_LEFT:
$option = AI_STICK_TO_THE_TOP;
break;
case AI_ALIGNMENT_STICKY_RIGHT:
$option = AI_STICK_TO_THE_TOP;
break;
case AI_ALIGNMENT_STICKY_TOP:
$option = AI_STICK_TO_THE_TOP;
break;
case AI_ALIGNMENT_STICKY_BOTTOM:
$option = AI_STICK_TO_THE_BOTTOM;
break;
}
}
if ($option == - 1) {
$option = isset ($this->wp_options [AI_OPTION_VERTICAL_POSITION]) ? $this->wp_options [AI_OPTION_VERTICAL_POSITION] : DEFAULT_VERTICAL_POSITION;
}
return $option;
}
public function get_tracking ($saved_value = false){
$tracking = AI_DISABLED;
if (function_exists ('get_global_tracking')) {
if (get_global_tracking () || $saved_value) {
$tracking = isset ($this->wp_options [AI_OPTION_TRACKING]) ? $this->wp_options [AI_OPTION_TRACKING] : AI_DISABLED;
}
}
return $tracking;
}
public function get_alignment_style (){
return $this->alignment_style ($this->get_alignment_type());
}
public function get_html_selector ($decode = false){
$option = isset ($this->wp_options [AI_OPTION_HTML_SELECTOR]) ? $this->wp_options [AI_OPTION_HTML_SELECTOR] : "";
if ($decode) $option = html_entity_decode ($option);
return $option;
}
public function get_server_side_insertion (){
$option = isset ($this->wp_options [AI_OPTION_SERVER_SIDE_INSERTION]) ? $this->wp_options [AI_OPTION_SERVER_SIDE_INSERTION] : DEFAULT_SERVER_SIDE_INSERTION;
return $option;
}
public function get_html_element_insertion () {
$option = isset ($this->wp_options [AI_OPTION_HTML_ELEMENT_INSERTION]) ? $this->wp_options [AI_OPTION_HTML_ELEMENT_INSERTION] : DEFAULT_HTML_ELEMENT_INSERTION;
return $option;
}
public function get_html_element_insertion_text ($translate = true) {
switch ($this->get_html_element_insertion ()) {
case AI_HTML_INSERTION_CLIENT_SIDE:
if (!$translate) return AI_TEXT_ENG_CLIENT_SIDE;
return AI_TEXT_CLIENT_SIDE;
break;
case AI_HTML_INSERTION_CLIENT_SIDE_DOM_READY:
if (!$translate) return AI_TEXT_ENG_CLIENT_SIDE_DOM_READY;
return AI_TEXT_CLIENT_SIDE_DOM_READY;
break;
case AI_HTML_INSERTION_SEREVR_SIDE:
if (!$translate) return AI_TEXT_ENG_SERVER_SIDE;
return AI_TEXT_SERVER_SIDE;
break;
default:
return '';
break;
}
}
public function get_inside_element (){
$option = isset ($this->wp_options [AI_OPTION_INSIDE_ELEMENT]) ? $this->wp_options [AI_OPTION_INSIDE_ELEMENT] : DEFAULT_INSIDE_ELEMENT;
return $option;
}
public function get_paragraph_number(){
$option = isset ($this->wp_options [AI_OPTION_PARAGRAPH_NUMBER]) ? $this->wp_options [AI_OPTION_PARAGRAPH_NUMBER] : "";
return $option;
}
public function get_paragraph_number_minimum(){
$option = isset ($this->wp_options [AI_OPTION_MIN_PARAGRAPHS]) ? $this->wp_options [AI_OPTION_MIN_PARAGRAPHS] : "";
if ($option == '0') $option = '';
return $option;
}
public function get_minimum_words_above (){
$option = isset ($this->wp_options [AI_OPTION_MIN_WORDS_ABOVE]) ? $this->wp_options [AI_OPTION_MIN_WORDS_ABOVE] : "";
return $option;
}
public function get_minimum_words(){
$option = isset ($this->wp_options [AI_OPTION_MIN_WORDS]) ? $this->wp_options [AI_OPTION_MIN_WORDS] : "";
if ($option == '0') $option = '';
return $option;
}
public function get_maximum_words(){
$option = isset ($this->wp_options [AI_OPTION_MAX_WORDS]) ? $this->wp_options [AI_OPTION_MAX_WORDS] : "";
return $option;
}
public function get_paragraph_tags(){
$option = isset ($this->wp_options [AI_OPTION_PARAGRAPH_TAGS]) ? $this->wp_options [AI_OPTION_PARAGRAPH_TAGS] : DEFAULT_PARAGRAPH_TAGS;
return str_replace (array ('<', '>'), '', $option);
}
public function get_minimum_paragraph_words(){
$option = isset ($this->wp_options [AI_OPTION_MIN_PARAGRAPH_WORDS]) ? $this->wp_options [AI_OPTION_MIN_PARAGRAPH_WORDS] : "";
if ($option == '0') $option = '';
return $option;
}
public function get_maximum_paragraph_words(){
$option = isset ($this->wp_options [AI_OPTION_MAX_PARAGRAPH_WORDS]) ? $this->wp_options [AI_OPTION_MAX_PARAGRAPH_WORDS] : "";
return $option;
}
public function get_count_inside_blockquote(){
$option = isset ($this->wp_options [AI_OPTION_COUNT_INSIDE_BLOCKQUOTE]) ? $this->wp_options [AI_OPTION_COUNT_INSIDE_BLOCKQUOTE] : "";
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_avoid_paragraphs_above(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_ABOVE]) ? $this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_ABOVE] : "";
return $option;
}
public function get_avoid_paragraphs_below(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_BELOW]) ? $this->wp_options [AI_OPTION_AVOID_PARAGRAPHS_BELOW] : "";
return $option;
}
public function get_avoid_text_above(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_TEXT_ABOVE]) ? $this->wp_options [AI_OPTION_AVOID_TEXT_ABOVE] : "";
return $option;
}
public function get_avoid_text_below(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_TEXT_BELOW]) ? $this->wp_options [AI_OPTION_AVOID_TEXT_BELOW] : "";
return $option;
}
public function get_avoid_action(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_ACTION]) ? $this->wp_options [AI_OPTION_AVOID_ACTION] : DEFAULT_AVOID_ACTION;
if ($option == '') $option = DEFAULT_AVOID_ACTION;
elseif ($option == AD_DO_NOT_INSERT) $option = AI_DO_NOT_INSERT;
elseif ($option == AD_TRY_TO_SHIFT_POSITION) $option = AI_TRY_TO_SHIFT_POSITION;
return $option;
}
public function get_avoid_action_text ($translate = true) {
switch ($this->get_avoid_action()) {
case AI_DO_NOT_INSERT:
if (!$translate) return AI_TEXT_ENG_DO_NOT_INSERT;
return AI_TEXT_DO_NOT_INSERT;
break;
case AI_TRY_TO_SHIFT_POSITION:
if (!$translate) return AI_TEXT_ENG_TRY_TO_SHIFT_POSITION;
return AI_TEXT_TRY_TO_SHIFT_POSITION;
break;
default:
return '';
break;
}
}
public function get_avoid_try_limit(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_TRY_LIMIT]) ? $this->wp_options [AI_OPTION_AVOID_TRY_LIMIT] : "";
if ($option == '') $option = AD_ZERO;
return $option;
}
public function get_avoid_direction(){
$option = isset ($this->wp_options [AI_OPTION_AVOID_DIRECTION]) ? $this->wp_options [AI_OPTION_AVOID_DIRECTION] : DEFAULT_AVOID_DIRECTION;
if ($option == '') $option = DEFAULT_AVOID_DIRECTION;
elseif ($option == AD_ABOVE) $option = AI_ABOVE;
elseif ($option == AD_BELOW) $option = AI_BELOW;
elseif ($option == AD_ABOVE_AND_THEN_BELOW) $option = AI_ABOVE_AND_THEN_BELOW;
elseif ($option == AD_BELOW_AND_THEN_ABOVE) $option = AI_BELOW_AND_THEN_ABOVE;
return $option;
}
public function get_avoid_direction_text ($translate = true){
switch ($this->get_avoid_direction()) {
case AI_ABOVE:
if (!$translate) return AI_TEXT_ENG_ABOVE;
return AI_TEXT_ABOVE;
break;
case AI_BELOW:
if (!$translate) return AI_TEXT_ENG_BELOW;
return AI_TEXT_BELOW;
break;
case AI_ABOVE_AND_THEN_BELOW:
if (!$translate) return AI_TEXT_ENG_ABOVE_AND_THEN_BELOW;
return AI_TEXT_ABOVE_AND_THEN_BELOW;
break;
case AI_BELOW_AND_THEN_ABOVE:
if (!$translate) return AI_TEXT_ENG_BELOW_AND_THEN_ABOVE;
return AI_TEXT_BELOW_AND_THEN_ABOVE;
break;
default:
return '';
break;
}
}
public function get_call_filter(){
$option = isset ($this->wp_options [AI_OPTION_EXCERPT_NUMBER]) ? $this->wp_options [AI_OPTION_EXCERPT_NUMBER] : "";
if ($option == '0') $option = '';
return $option;
}
public function get_filter_type(){
$option = isset ($this->wp_options [AI_OPTION_FILTER_TYPE]) ? $this->wp_options [AI_OPTION_FILTER_TYPE] : AI_FILTER_AUTO;
if ($option == '') $option = AI_FILTER_AUTO;
elseif ($option == AI_OPTION_FILTER_AUTO) $option = AI_FILTER_AUTO;
elseif ($option == AI_OPTION_FILTER_PHP_FUNCTION_CALLS) $option = AI_FILTER_PHP_FUNCTION_CALLS;
elseif ($option == AI_OPTION_FILTER_CONTENT_PROCESSING) $option = AI_FILTER_CONTENT_PROCESSING;
elseif ($option == AI_OPTION_FILTER_EXCERPT_PROCESSING) $option = AI_FILTER_EXCERPT_PROCESSING;
elseif ($option == AI_OPTION_FILTER_BEFORE_POST_PROCESSING) $option = AI_FILTER_BEFORE_POST_PROCESSING;
elseif ($option == AI_OPTION_FILTER_AFTER_POST_PROCESSING) $option = AI_FILTER_AFTER_POST_PROCESSING;
elseif ($option == AI_OPTION_FILTER_WIDGET_DRAWING) $option = AI_FILTER_WIDGET_DRAWING;
elseif ($option == AI_OPTION_FILTER_SUBPAGES) $option = AI_FILTER_SUBPAGES;
elseif ($option == AI_OPTION_FILTER_POSTS) $option = AI_FILTER_POSTS;
elseif ($option == AI_OPTION_FILTER_COMMENTS) $option = AI_FILTER_COMMENTS;
return $option;
}
public function get_filter_type_text ($translate = true){
switch ($this->get_filter_type()) {
case AI_FILTER_AUTO:
if (!$translate) return AI_TEXT_ENG_AUTO_COUNTER;
return AI_TEXT_AUTO_COUNTER;
break;
case AI_FILTER_PHP_FUNCTION_CALLS:
if (!$translate) return AI_TEXT_ENG_PHP_FUNCTION_CALLS_COUNTER;
return AI_TEXT_PHP_FUNCTION_CALLS_COUNTER;
break;
case AI_FILTER_CONTENT_PROCESSING:
if (!$translate) return AI_TEXT_ENG_CONTENT_PROCESSING_COUNTER;
return AI_TEXT_CONTENT_PROCESSING_COUNTER;
break;
case AI_FILTER_EXCERPT_PROCESSING:
if (!$translate) return AI_TEXT_ENG_EXCERPT_PROCESSING_COUNTER;
return AI_TEXT_EXCERPT_PROCESSING_COUNTER;
break;
case AI_FILTER_BEFORE_POST_PROCESSING:
if (!$translate) return AI_TEXT_ENG_BEFORE_POST_PROCESSING_COUNTER;
return AI_TEXT_BEFORE_POST_PROCESSING_COUNTER;
break;
case AI_FILTER_AFTER_POST_PROCESSING:
if (!$translate) return AI_TEXT_ENG_AFTER_POST_PROCESSING_COUNTER;
return AI_TEXT_AFTER_POST_PROCESSING_COUNTER;
break;
case AI_FILTER_WIDGET_DRAWING:
if (!$translate) return AI_TEXT_ENG_WIDGET_DRAWING_COUNTER;
return AI_TEXT_WIDGET_DRAWING_COUNTER;
break;
case AI_FILTER_SUBPAGES:
if (!$translate) return AI_TEXT_ENG_SUBPAGES_COUNTER;
return AI_TEXT_SUBPAGES_COUNTER;
break;
case AI_FILTER_POSTS:
if (!$translate) return AI_TEXT_ENG_POSTS_COUNTER;
return AI_TEXT_POSTS_COUNTER;
break;
case AI_FILTER_PARAGRAPHS:
if (!$translate) return AI_TEXT_ENG_PARAGRAPHS_COUNTER;
return AI_TEXT_PARAGRAPHS_COUNTER;
break;
case AI_FILTER_IMAGES:
if (!$translate) return AI_TEXT_ENG_IMAGES_COUNTER;
return AI_TEXT_IMAGES_COUNTER;
break;
case AI_FILTER_COMMENTS:
if (!$translate) return AI_TEXT_ENG_COMMENTS_COUNTER;
return AI_TEXT_COMMENTS_COUNTER;
break;
default:
return '';
break;
}
}
public function get_inverted_filter (){
$inverted_filter = isset ($this->wp_options [AI_OPTION_INVERTED_FILTER]) ? $this->wp_options [AI_OPTION_INVERTED_FILTER] : AI_DISABLED;
if ($inverted_filter == '') $inverted_filter = AI_DISABLED;
return $inverted_filter;
}
public function get_direction_type () {
$option = isset ($this->wp_options [AI_OPTION_DIRECTION_TYPE]) ? $this->wp_options [AI_OPTION_DIRECTION_TYPE] : DEFAULT_DIRECTION_TYPE;
if ($option == '') $option = DEFAULT_DIRECTION_TYPE;
elseif ($option == AD_DIRECTION_FROM_TOP) $option = AI_DIRECTION_FROM_TOP;
elseif ($option == AD_DIRECTION_FROM_BOTTOM) $option = AI_DIRECTION_FROM_BOTTOM;
return $option;
}
public function get_direction_type_text ($translate = true){
switch ($this->get_direction_type ()) {
case AI_DIRECTION_FROM_TOP:
if (!$translate) return AI_TEXT_ENG_DIRECTION_FROM_TOP;
return AI_TEXT_DIRECTION_FROM_TOP;
break;
case AI_DIRECTION_FROM_BOTTOM:
if (!$translate) return AI_TEXT_ENG_DIRECTION_FROM_BOTTOM;
return AI_TEXT_DIRECTION_FROM_BOTTOM;
break;
default:
return '';
break;
}
}
public function get_display_settings_post(){
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_POSTS]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_POSTS] : "";
if ($option == '') $option = AI_ENABLED;
return $option;
}
public function get_display_settings_page(){
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_PAGES]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_PAGES] : "";
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_display_settings_home(){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_HOMEPAGE]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_HOMEPAGE] : "";
if ($option == '') $option = AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605') {
if (isset ($this->wp_options [AI_OPTION_AUTOMATIC_INSERTION])) {
$automatic_insertion = $this->wp_options [AI_OPTION_AUTOMATIC_INSERTION];
} else $automatic_insertion = '';
if ($automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_CONTENT ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_CONTENT)
$option = AI_DISABLED;
}
return $option;
}
public function get_display_settings_category(){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_CATEGORY_PAGES]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_CATEGORY_PAGES] : "";
if ($option == '') $option = AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605') {
if (isset ($this->wp_options [AI_OPTION_AUTOMATIC_INSERTION])) {
$automatic_insertion = $this->wp_options [AI_OPTION_AUTOMATIC_INSERTION];
} else $automatic_insertion = '';
if ($automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_CONTENT ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_CONTENT)
$option = AI_DISABLED;
}
return $option;
}
public function get_display_settings_search(){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_SEARCH_PAGES]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_SEARCH_PAGES] : "";
if ($option == '') $option = AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605') {
if (isset ($this->wp_options [AI_OPTION_AUTOMATIC_INSERTION])) {
$automatic_insertion = $this->wp_options [AI_OPTION_AUTOMATIC_INSERTION];
} else $automatic_insertion = '';
if ($automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_CONTENT ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_CONTENT)
$option = AI_DISABLED;
}
return $option;
}
public function get_display_settings_archive(){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_ON_ARCHIVE_PAGES]) ? $this->wp_options [AI_OPTION_DISPLAY_ON_ARCHIVE_PAGES] : "";
if ($option == '') $option = AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605') {
if (isset ($this->wp_options [AI_OPTION_AUTOMATIC_INSERTION])) {
$automatic_insertion = $this->wp_options [AI_OPTION_AUTOMATIC_INSERTION];
} else $automatic_insertion = '';
if ($automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_PARAGRAPH ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_BEFORE_CONTENT ||
$automatic_insertion == AI_AUTOMATIC_INSERTION_AFTER_CONTENT)
$option = AI_DISABLED;
}
return $option;
}
public function get_enable_feed (){
$enable_feed = isset ($this->wp_options [AI_OPTION_ENABLE_FEED]) ? $this->wp_options [AI_OPTION_ENABLE_FEED] : "";
if ($enable_feed == '') $enable_feed = AI_DISABLED;
return $enable_feed;
}
public function get_enable_ajax (){
$enable_ajax = isset ($this->wp_options [AI_OPTION_ENABLE_AJAX]) ? $this->wp_options [AI_OPTION_ENABLE_AJAX] : "";
if ($enable_ajax == '') $enable_ajax = AI_ENABLED;
return $enable_ajax;
}
public function get_disable_caching (){
$option = isset ($this->wp_options [AI_OPTION_DISABLE_CACHING]) ? $this->wp_options [AI_OPTION_DISABLE_CACHING] : AI_DISABLED;
return $option;
}
public function get_max_page_blocks_enabled (){
$option = isset ($this->wp_options [AI_OPTION_MAX_PAGE_BLOCKS_ENABLED]) ? $this->wp_options [AI_OPTION_MAX_PAGE_BLOCKS_ENABLED] : AI_DISABLED;
return $option;
}
public function get_only_in_the_loop (){
$option = isset ($this->wp_options [AI_OPTION_ONLY_IN_THE_LOOP]) ? $this->wp_options [AI_OPTION_ONLY_IN_THE_LOOP] : AI_DISABLED;
return $option;
}
// Used for shortcodes
public function get_enable_manual (){
$option = isset ($this->wp_options [AI_OPTION_ENABLE_MANUAL]) ? $this->wp_options [AI_OPTION_ENABLE_MANUAL] : AI_DISABLED;
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_enable_widget (){
global $ai_db_options;
$enable_widget = isset ($this->wp_options [AI_OPTION_ENABLE_WIDGET]) ? $this->wp_options [AI_OPTION_ENABLE_WIDGET] : "";
if ($enable_widget == '') $enable_widget = AI_ENABLED;
return $enable_widget;
}
public function get_enable_php_call (){
$option = isset ($this->wp_options [AI_OPTION_ENABLE_PHP_CALL]) ? $this->wp_options [AI_OPTION_ENABLE_PHP_CALL] : "";
if ($option == '') $option = AI_DISABLED;
return $option;
}
public function get_paragraph_text (){
$paragraph_text = isset ($this->wp_options [AI_OPTION_PARAGRAPH_TEXT]) ? $this->wp_options [AI_OPTION_PARAGRAPH_TEXT] : "";
return $paragraph_text;
}
public function get_paragraph_text_type () {
$option = isset ($this->wp_options [AI_OPTION_PARAGRAPH_TEXT_TYPE]) ? $this->wp_options [AI_OPTION_PARAGRAPH_TEXT_TYPE] : DEFAULT_PARAGRAPH_TEXT_TYPE;
if ($option == '') $option = DEFAULT_PARAGRAPH_TEXT_TYPE;
elseif ($option == AD_CONTAIN) $option = AI_CONTAIN;
elseif ($option == AD_DO_NOT_CONTAIN) $option = AI_DO_NOT_CONTAIN;
return $option;
}
public function get_paragraph_text_type_text ($translate = true){
switch ($this->get_paragraph_text_type ()) {
case AI_CONTAIN:
if (!$translate) return AI_TEXT_ENG_CONTAIN;
return AI_TEXT_CONTAIN;
break;
case AI_DO_NOT_CONTAIN:
if (!$translate) return AI_TEXT_ENG_DO_NOT_CONTAIN;
return AI_TEXT_DO_NOT_CONTAIN;
break;
default:
return '';
break;
}
}
public function get_custom_css (){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_CUSTOM_CSS]) ? $this->wp_options [AI_OPTION_CUSTOM_CSS] : "";
// Fix for old bug
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605' && strpos ($option, "Undefined index")) $option = "";
return $option;
}
public function get_display_for_users (){
$option = isset ($this->wp_options [AI_OPTION_DISPLAY_FOR_USERS]) ? $this->wp_options [AI_OPTION_DISPLAY_FOR_USERS] : DEFAULT_DISPLAY_FOR_USERS;
if ($option == '') $option = DEFAULT_DISPLAY_FOR_USERS;
elseif ($option == 'all') $option = AI_DISPLAY_ALL_USERS;
elseif ($option == 'logged in') $option = AI_DISPLAY_LOGGED_IN_USERS;
elseif ($option == 'not logged in') $option = AI_DISPLAY_NOT_LOGGED_IN_USERS;
elseif ($option == AD_DISPLAY_ALL_USERS) $option = AI_DISPLAY_ALL_USERS;
elseif ($option == AD_DISPLAY_LOGGED_IN_USERS) $option = AI_DISPLAY_LOGGED_IN_USERS;
elseif ($option == AD_DISPLAY_NOT_LOGGED_IN_USERS) $option = AI_DISPLAY_NOT_LOGGED_IN_USERS;
elseif ($option == AD_DISPLAY_ADMINISTRATORS) $option = AI_DISPLAY_ADMINISTRATORS;
return $option;
}
public function get_display_for_users_text ($translate = true){
switch ($this->get_display_for_users ()) {
case AI_DISPLAY_ALL_USERS:
if (!$translate) return AI_TEXT_ENG_DISPLAY_ALL_USERS;
return AI_TEXT_DISPLAY_ALL_USERS;
break;
case AI_DISPLAY_LOGGED_IN_USERS:
if (!$translate) return AI_TEXT_ENG_DISPLAY_LOGGED_IN_USERS;
return AI_TEXT_DISPLAY_LOGGED_IN_USERS;
break;
case AI_DISPLAY_NOT_LOGGED_IN_USERS:
if (!$translate) return AI_TEXT_ENG_DISPLAY_NOT_LOGGED_IN_USERS;
return AI_TEXT_DISPLAY_NOT_LOGGED_IN_USERS;
break;
case AI_DISPLAY_ADMINISTRATORS:
if (!$translate) return AI_TEXT_ENG_DISPLAY_ADMINISTRATORS;
return AI_TEXT_DISPLAY_ADMINISTRATORS;
break;
default:
return '';
break;
}
}
public function get_detection_client_side(){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_DETECT_CLIENT_SIDE]) ? $this->wp_options [AI_OPTION_DETECT_CLIENT_SIDE] : AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605') {
if (isset ($this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES])) {
$display_for_devices = $this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES];
} else $display_for_devices = '';
if ($display_for_devices == AD_DISPLAY_ALL_DEVICES) $option = AI_DISABLED;
}
return $option;
}
public function get_client_side_action (){
global $ai_db_options;
$option = isset ($this->wp_options [AI_OPTION_CLIENT_SIDE_ACTION]) ? $this->wp_options [AI_OPTION_CLIENT_SIDE_ACTION] : DEFAULT_CLIENT_SIDE_ACTION;
return $option;
}
public function get_detection_viewport ($viewport){
global $ai_db_options;
$option_name = AI_OPTION_DETECT_VIEWPORT . '_' . $viewport;
$option = isset ($this->wp_options [$option_name]) ? $this->wp_options [$option_name] : AI_DISABLED;
if (isset ($ai_db_options [AI_OPTION_GLOBAL]['VERSION']) && $ai_db_options [AI_OPTION_GLOBAL]['VERSION'] < '010605' && $this->get_detection_client_side()) {
if (isset ($this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES])) {
$display_for_devices = $this->wp_options [AI_OPTION_DISPLAY_FOR_DEVICES];
} else $display_for_devices = '';
if ($display_for_devices == AD_DISPLAY_DESKTOP_DEVICES ||
$display_for_devices == AD_DISPLAY_DESKTOP_TABLET_DEVICES ||
$display_for_devices == AD_DISPLAY_DESKTOP_PHONE_DEVICES) {
switch ($viewport) {
case 1:
$option = AI_ENABLED;
break;
default:
$option = AI_DISABLED;
}
}
elseif ($display_for_devices == AD_DISPLAY_TABLET_DEVICES ||
$display_for_devices == AD_DISPLAY_MOBILE_DEVICES ||
$display_for_devices == AD_DISPLAY_DESKTOP_TABLET_DEVICES) {
switch ($viewport) {
case 2:
$option = AI_ENABLED;
break;
default:
$option = AI_DISABLED;
}
}
elseif ($display_for_devices == AD_DISPLAY_PHONE_DEVICES ||
$display_for_devices == AD_DISPLAY_MOBILE_DEVICES ||
$display_for_devices == AD_DISPLAY_DESKTOP_PHONE_DEVICES) {
switch ($viewport) {
case 3:
$option = AI_ENABLED;
break;
default:
$option = AI_DISABLED;
}
}
elseif ($display_for_devices == AD_DISPLAY_ALL_DEVICES) $option = AI_DISABLED;
}
return $option;
}
public function ai_get_counters (&$title) {
global $ai_wp_data, $ad_inserter_globals;
$predefined_counters_text = $this->counters;
if ($predefined_counters_text != '') {
$this->counters = '';
return $predefined_counters_text;
}
$counters = '';
$title = __('Counters', 'ad-inserter') . ':';
if (isset ($ad_inserter_globals [AI_CONTENT_COUNTER_NAME]) && ($ai_wp_data [AI_CONTEXT] == AI_CONTEXT_CONTENT || $ai_wp_data [AI_CONTEXT] == AI_CONTEXT_SHORTCODE)) {
$counters .= ' C='.$ad_inserter_globals [AI_CONTENT_COUNTER_NAME];
$title .= ' C= ' . __('Content', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_EXCERPT_COUNTER_NAME]) && $ai_wp_data [AI_CONTEXT] == AI_CONTEXT_EXCERPT) {
$counters .= ' X='.$ad_inserter_globals [AI_EXCERPT_COUNTER_NAME];
$title .= ' X = ' . __('Excerpt', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_LOOP_BEFORE_COUNTER_NAME]) && $ai_wp_data [AI_CONTEXT] == AI_CONTEXT_BEFORE_POST) {
$counters .= ' B='.$ad_inserter_globals [AI_LOOP_BEFORE_COUNTER_NAME];
$title .= ' B = ' . __('Before post', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_LOOP_AFTER_COUNTER_NAME]) && $ai_wp_data [AI_CONTEXT] == AI_CONTEXT_AFTER_POST) {
$counters .= ' A='.$ad_inserter_globals [AI_LOOP_AFTER_COUNTER_NAME];
$title .= ' A = ' . __('After post', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_WIDGET_COUNTER_NAME . $this->number]) && $ai_wp_data [AI_CONTEXT] == AI_CONTEXT_WIDGET) {
$counters .= ' W='.$ad_inserter_globals [AI_WIDGET_COUNTER_NAME . $this->number];
$title .= ' W = ' . __('Widget', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_PHP_FUNCTION_CALL_COUNTER_NAME . $this->number])) {
$counters .= ' P='.$ad_inserter_globals [AI_PHP_FUNCTION_CALL_COUNTER_NAME . $this->number];
$title .= ' P = ' . __('PHP function call', 'ad-inserter') . ', ';
}
if (isset ($ad_inserter_globals [AI_BLOCK_COUNTER_NAME . $this->number])) {
$counters .= ' N='.$ad_inserter_globals [AI_BLOCK_COUNTER_NAME . $this->number];
$title .= ' N = ' . __('Block', 'ad-inserter');
}
return $counters;
}
public function ai_getAdLabel () {
$label_enabled = $this->get_show_label ();
if (!$label_enabled) return '';
$ad_label = get_ad_label (true);
if (strpos ($ad_label, '<') === false && strpos ($ad_label, '>') === false) {
$ad_label = '