Sindbad~EG File Manager
<?php
namespace PixelYourSite\GTM\Helpers;
use PixelYourSite;
use function PixelYourSite\GTM;
use function PixelYourSite\isWPMLActive;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
function get_all_blacklist_tabs() {
$tags = array(
array('tag' => 'AB TASTY Generic Tag', 'id' => 'abtGeneric', 'classes' => 'nonGoogleScripts'),
array('tag' => 'AdAdvisor Tag', 'id' => 'ta', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Adometry Tag', 'id' => 'adm', 'classes' => 'google'),
array('tag' => 'AdRoll Smart Pixel Tag', 'id' => 'asp', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Google Ads Conversion Tracking Tag', 'id' => 'awct', 'classes' => 'google'),
array('tag' => 'Google Ads Remarketing Tag', 'id' => 'sp', 'classes' => 'google'),
array('tag' => 'Affiliate Window Conversion Tag', 'id' => 'awc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Affiliate Window Journey Tag', 'id' => 'awj', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Bing Ads Universal Event Tracking', 'id' => 'baut', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Bizrate Insights Buyer Survey Solution', 'id' => 'bb', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Bizrate Insights Site Abandonment Survey Solution', 'id' => 'bsa', 'classes' => 'nonGoogleScripts'),
array('tag' => 'ClickTale Standard Tracking Tag (OBSOLETE)', 'id' => 'cts', 'classes' => 'nonGoogleScripts'),
array('tag' => 'comScore Unified Digital Measurement Tag', 'id' => 'csm', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Conversant Mediaplex - IFRAME MCT Tag', 'id' => 'mpm', 'classes' => 'nonGoogleIframes'),
array('tag' => 'Conversant Mediaplex - Standard IMG ROI Tag', 'id' => 'mpr', 'classes' => 'nonGooglePixels'),
array('tag' => 'Conversion Linker', 'id' => 'gclidw', 'classes' => 'google'),
array('tag' => 'Crazy Egg Tag', 'id' => 'cegg', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Criteo OneTag', 'id' => 'crto', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Custom HTML Tag', 'id' => 'html', 'classes' => 'customScripts'),
array('tag' => 'Custom Image Tag', 'id' => 'img', 'classes' => 'customPixels'),
array('tag' => 'DistroScale Tag', 'id' => 'dstag', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Floodlight Counter Tag', 'id' => 'flc', 'classes' => ''),
array('tag' => 'Floodlight Sales Tag', 'id' => 'fls', 'classes' => ''),
array('tag' => 'Dstillery Universal Pixel Tag', 'id' => 'm6d', 'classes' => 'nonGooglePixels'),
array('tag' => 'Eulerian Analytics Tag', 'id' => 'ela', 'classes' => 'customScripts'),
array('tag' => 'Google tag (formerly Google Analytics 4 Configuration)', 'id' => 'gaawc', 'classes' => 'google'),
array('tag' => 'Google Analytics 4 Event', 'id' => 'gaawe', 'classes' => 'google'),
array('tag' => 'Google Analytics Tag (legacy)', 'id' => 'ga', 'classes' => 'google'),
array('tag' => 'Google Consumer Surveys Website Satisfaction', 'id' => 'gcs', 'classes' => 'google'),
array('tag' => 'Google Trusted Stores Tag', 'id' => 'ts', 'classes' => ''),
array('tag' => 'Hotjar Tracking Code', 'id' => 'hjtc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Infinity Call Tracking Tag', 'id' => 'infinity', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Intent Media - Search Compare Ads', 'id' => 'sca', 'classes' => 'nonGoogleScripts'),
array('tag' => 'K50 tracking tag', 'id' => 'k50Init', 'classes' => 'nonGoogleScripts'),
array('tag' => 'LeadLab', 'id' => 'll', 'classes' => 'nonGoogleScripts'),
array('tag' => 'LinkedIn Tag', 'id' => 'bzi', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Lytics JS Tag', 'id' => 'ljs', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Marin Software Tag', 'id' => 'ms', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Mediaplex - IFRAME MCT Tag', 'id' => 'mpm', 'classes' => 'nonGoogleIframes'),
array('tag' => 'Mediaplex - Standard IMG ROI Tag', 'id' => 'mpr', 'classes' => 'nonGooglePixels'),
array('tag' => 'Message Mate', 'id' => 'messagemate', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Mouseflow Tag', 'id' => 'mf', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Nielsen DCR Static Lite Tag', 'id' => 'ndcr', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Nudge Content Analytics Tag', 'id' => 'nudge', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Oktopost Tracking Code', 'id' => 'okt', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Optimise Conversion Tag', 'id' => 'omc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'OwnerListens Message Mate', 'id' => 'messagemate', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Perfect Audience Pixel', 'id' => 'pa', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Personali Canvas', 'id' => 'pc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Pinterest', 'id' => 'pntr', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Placed', 'id' => 'placedPixel', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Pulse Insights Voice of Customer Platform', 'id' => 'pijs', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Quantcast Audience Measurement', 'id' => 'qcm', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Quora Pixel', 'id' => 'qpx', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Rawsoft FoxMetrics', 'id' => 'fxm', 'classes' => 'nonGoogleScripts'),
array('tag' => 'SaleCycle JavaScript Tag', 'id' => 'scjs', 'classes' => 'customScripts'),
array('tag' => 'SaleCycle Pixel Tag', 'id' => 'scp', 'classes' => 'customPixels'),
array('tag' => 'SearchForce JavaScript Tracking for Conversion Page', 'id' => 'sfc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'SearchForce JavaScript Tracking for Landing Page', 'id' => 'sfl', 'classes' => 'nonGoogleScripts'),
array('tag' => 'SearchForce Redirection Tracking Tag', 'id' => 'sfr', 'classes' => 'nonGooglePixels'),
array('tag' => 'Shareaholic', 'id' => 'shareaholic', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Survicate Widget', 'id' => 'svw', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Tradedoubler Lead Conversion Tag', 'id' => 'tdlc', 'classes' => 'nonGooglePixels'),
array('tag' => 'Tradedoubler Sale Conversion Tag', 'id' => 'tdsc', 'classes' => 'nonGooglePixels'),
array('tag' => 'Turn Conversion Tracking Tag', 'id' => 'tc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Turn Data Collection Tag', 'id' => 'tdc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Twitter Universal Website Tag', 'id' => 'twitter_website_tag', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Universal Analytics Tag', 'id' => 'ua', 'classes' => 'google'),
array('tag' => 'Upsellit Global Footer Tag', 'id' => 'uslt', 'classes' => 'customScripts'),
array('tag' => 'Upsellit Confirmation Tag', 'id' => 'uspt', 'classes' => 'customScripts'),
array('tag' => 'Ve Interactive JavaScript Tag', 'id' => 'vei', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Ve Interactive Pixel', 'id' => 'veip', 'classes' => 'nonGooglePixels'),
array('tag' => 'VisualDNA Conversion Tag', 'id' => 'vdc', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Xtremepush', 'id' => 'xpsh', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Yieldify', 'id' => 'yieldify', 'classes' => 'nonGoogleScripts'),
array('tag' => 'Zones', 'id' => 'zone', 'classes' => ''),
);
$triggers = array(
array('trigger' => 'Element Visibility Listener/Trigger', 'id' => 'evl', 'classes' => 'google'),
array('trigger' => 'Click Listener/Trigger', 'id' => 'cl', 'classes' => 'google'),
array('trigger' => 'Form Submit Listener/Trigger', 'id' => 'fsl', 'classes' => ''),
array('trigger' => 'History Listener/Trigger', 'id' => 'hl', 'classes' => 'google'),
array('trigger' => 'JavaScript Error Listener/Trigger', 'id' => 'jel', 'classes' => 'google'),
array('trigger' => 'Link Click Listener/Trigger', 'id' => 'lcl', 'classes' => ''),
array('trigger' => 'Scroll Depth Listener/Trigger', 'id' => 'sdl', 'classes' => 'google'),
array('trigger' => 'Timer Listener/Trigger', 'id' => 'tl', 'classes' => 'google'),
array('trigger' => 'YouTube Video Listener/Trigger', 'id' => 'ytl', 'classes' => 'google'),
);
$variables = array(
array('variable' => 'First Party Cookie', 'id' => 'k', 'classes' => 'google'),
array('variable' => 'Auto-Event Variable', 'id' => 'v', 'classes' => 'google'),
array('variable' => 'Constant', 'id' => 'c', 'classes' => 'google'),
array('variable' => 'Container Version Number', 'id' => 'ctv', 'classes' => 'google'),
array('variable' => 'Custom Event', 'id' => 'e', 'classes' => 'google'),
array('variable' => 'Custom JavaScript Variable', 'id' => 'jsm', 'classes' => 'customScripts'),
array('variable' => 'Data Layer Variable', 'id' => 'v', 'classes' => 'google'),
array('variable' => 'Debug Mode', 'id' => 'dbg', 'classes' => 'google'),
array('variable' => 'DOM Element', 'id' => 'd', 'classes' => 'google'),
array('variable' => 'Element Visibility', 'id' => 'vis', 'classes' => 'google'),
array('variable' => 'Google Analytics Settings (legacy)', 'id' => 'gas', 'classes' => 'google'),
array('variable' => 'HTTP Referrer', 'id' => 'f', 'classes' => 'google'),
array('variable' => 'JavaScript Variable', 'id' => 'j', 'classes' => 'google'),
array('variable' => 'Lookup Table', 'id' => 'smm', 'classes' => 'google'),
array('variable' => 'Random Number', 'id' => 'r', 'classes' => 'google'),
array('variable' => 'RegEx Table', 'id' => 'remm', 'classes' => 'google'),
array('variable' => 'URL', 'id' => 'u', 'classes' => 'google'),
);
$black_list_tag = array(
'tags' => $tags, 'triggers' => $triggers, 'variables' => $variables
);
return $black_list_tag;
}
function custom_wc_get_related_products( $product_id, $limit = 5, $exclude_ids = array() ) {
$product_id = absint( $product_id );
$limit = $limit >= -1 ? $limit : 5;
$exclude_ids = array_merge( array( 0, $product_id ), $exclude_ids );
$transient_name = 'wc_related_' . $product_id;
$query_args = http_build_query(
array(
'limit' => $limit,
'exclude_ids' => $exclude_ids,
)
);
$transient = get_transient( $transient_name );
$related_posts = $transient && isset( $transient[ $query_args ] ) ? $transient[ $query_args ] : false;
// We want to query related posts if they are not cached, or we don't have enough.
if ( false === $related_posts || count( $related_posts ) < $limit ) {
$cats_array = apply_filters( 'woocommerce_product_related_posts_relate_by_category', true, $product_id ) ? apply_filters( 'woocommerce_get_related_product_cat_terms', wc_get_product_term_ids( $product_id, 'product_cat' ), $product_id ) : array();
$tags_array = apply_filters( 'woocommerce_product_related_posts_relate_by_tag', true, $product_id ) ? apply_filters( 'woocommerce_get_related_product_tag_terms', wc_get_product_term_ids( $product_id, 'product_tag' ), $product_id ) : array();
// Don't bother if none are set, unless woocommerce_product_related_posts_force_display is set to true in which case all products are related.
if ( empty( $cats_array ) && empty( $tags_array ) && ! apply_filters( 'woocommerce_product_related_posts_force_display', false, $product_id ) ) {
$related_posts = array();
} else {
$data_store = \WC_Data_Store::load( 'product' );
$related_posts = $data_store->get_related_products( $cats_array, $tags_array, $exclude_ids, $limit + 10, $product_id );
}
if ( $transient ) {
$transient[ $query_args ] = $related_posts;
} else {
$transient = array( $query_args => $related_posts );
}
set_transient( $transient_name, $transient, DAY_IN_SECONDS );
}
$related_posts = apply_filters(
'woocommerce_related_products',
$related_posts,
$product_id,
array(
'limit' => $limit,
'excluded_ids' => $exclude_ids,
)
);
// if ( apply_filters( 'woocommerce_product_related_posts_shuffle', true ) ) {
// shuffle( $related_posts );
// }
return $related_posts; //array_slice( $related_posts, 0, $limit );
}
/**
* @param $product_id
* @return string
*/
function getWooProductContentId( $product_id ) {
if(isWPMLActive() && PixelYourSite\GTM()->getOption( 'woo_wpml_unified_id' )) {
$wpml_product_id = apply_filters('wpml_original_element_id', NULL, $product_id);
if ($wpml_product_id) {
$product_id = $wpml_product_id;
}
}
if ( GTM()->getOption( 'woo_content_id' ) == 'product_sku' ) {
$product = wc_get_product( $product_id );
if ($product && $product->is_type( 'variation' ) ) {
$content_id = $product->get_sku();
if ( empty( $content_id ) ) {
$parent_id = $product->get_parent_id();
$parent_product = wc_get_product( $parent_id );
if($parent_product){
$content_id = $parent_product->get_sku();
}
if ( empty( $content_id ) ) {
$content_id = $product_id;
}
}
} elseif($product) {
$content_id = $product->get_sku();
if ( empty( $content_id ) ) {
$content_id = $product_id;
}
} else {
$content_id = $product_id;
}
} else {
$content_id = $product_id;
}
$prefix = GTM()->getOption( 'woo_content_id_prefix' );
$suffix = GTM()->getOption( 'woo_content_id_suffix' );
$value = $prefix . $content_id . $suffix;
return $value;
}
function getWooEventCartItemId( $item ) {
if ( GTM()->getOption( 'woo_variable_as_simple' )
&& isset( $item['parent_id'] )
&& $item['parent_id'] !== 0 )
{
$product_id = $item['parent_id'];
} else {
$product_id = $item['product_id'];
}
return $product_id;
}
/**
* @deprecated use getWooEventCartItemId
* @param $item
* @return mixed
*/
function getWooCartItemId( $item ) {
if ( ! GTM()->getOption( 'woo_variable_as_simple' ) && isset( $item['variation_id'] ) && $item['variation_id'] !== 0 ) {
$product_id = $item['variation_id'];
} else {
$product_id = $item['product_id'];
}
return $product_id;
}
function getWooProductDataId( $item ) {
if($item['type'] == 'variation'
&& GTM()->getOption( 'woo_variable_as_simple' )
) {
$product_id = $item['parent_id'];
}else {
$product_id = $item['id'];
}
return $product_id;
}
function getTriggerType($event_id) {
$triggerType = false;
switch ($event_id) {
case 'init_event':
// No triggerType for init_event
break;
// Automated events
case 'automatic_event_video':
case 'automatic_event_signup':
case 'automatic_event_login':
case 'automatic_event_404':
case 'automatic_event_search':
case 'automatic_event_tel_link':
case 'automatic_event_email_link':
case 'automatic_event_form':
case 'automatic_event_download':
case 'automatic_event_comment':
case 'automatic_event_adsense':
case 'automatic_event_scroll':
case 'automatic_event_time_on_page':
case 'automatic_event_outbound_link':
case 'automatic_event_internal_link':
case 'woo_paypal':
case 'woo_select_content_category':
case 'woo_select_content_single':
case 'woo_select_content_search':
case 'woo_select_content_shop':
case 'woo_select_content_tag':
$triggerType = 'automated';
break;
// Advanced marketing events
case 'woo_frequent_shopper':
case 'woo_vip_client':
case 'woo_big_whale':
case 'woo_FirstTimeBuyer':
case 'woo_ReturningCustomer':
case 'edd_frequent_shopper':
case 'edd_vip_client':
case 'edd_big_whale':
$triggerType = 'advanced_marketing';
break;
// E-commerce events
case 'woo_view_content':
case 'woo_view_cart':
case 'woo_view_item_list':
case 'woo_view_item_list_single':
case 'woo_view_item_list_search':
case 'woo_view_item_list_shop':
case 'woo_view_item_list_tag':
case 'woo_add_to_cart_on_cart_page':
case 'woo_add_to_cart_on_checkout_page':
case 'woo_initiate_checkout':
case 'woo_purchase':
case 'woo_initiate_set_checkout_option':
case 'woo_initiate_checkout_progress_f':
case 'woo_initiate_checkout_progress_l':
case 'woo_initiate_checkout_progress_e':
case 'woo_initiate_checkout_progress_o':
case 'woo_remove_from_cart':
case 'edd_view_content':
case 'edd_add_to_cart_on_checkout_page':
case 'edd_remove_from_cart':
case 'edd_view_category':
case 'edd_initiate_checkout':
case 'edd_purchase':
case 'edd_refund':
case 'woo_add_to_cart_on_button_click':
case 'woo_affiliate':
case 'edd_add_to_cart_on_button_click':
case 'wcf_view_content':
case 'wcf_add_to_cart_on_bump_click':
case 'wcf_add_to_cart_on_next_step_click':
case 'wcf_remove_from_cart_on_bump_click':
case 'wcf_bump':
case 'wcf_page':
case 'wcf_step_page':
case 'wcf_lead':
$triggerType = 'ecommerce';
break;
// Manual events
case 'custom_event':
$triggerType = 'manual';
break;
}
return $triggerType;
}
/*
* EASY DIGITAL DOWNLOADS
*/
function getEddDownloadContentId( $download_id ) {
if ( GTM()->getOption( 'edd_content_id' ) == 'download_sku' ) {
$content_id = get_post_meta( $download_id, 'edd_sku', true );
} else {
$content_id = $download_id;
}
$prefix = GTM()->getOption( 'edd_content_id_prefix' );
$suffix = GTM()->getOption( 'edd_content_id_suffix' );
return $prefix . $content_id . $suffix;
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists