Current Path: > home > transcarter > > www > wp-content > themes > woostify > > > > inc
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.135 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
admin | Directory | - | - | |
compatibility | Directory | - | - | |
customizer | Directory | - | - | |
widget | Directory | - | - | |
woocommerce | Directory | - | - | |
class-woostify-icon.php | File | 2112 bytes | June 12 2025 15:15:30. | |
class-woostify-walker-menu.php | File | 6000 bytes | June 12 2025 15:15:30. | |
class-woostify.php | File | 35833 bytes | June 12 2025 15:15:30. | |
woostify-functions.php | File | 24364 bytes | June 12 2025 15:15:30. | |
woostify-template-builder.php | File | 1246 bytes | June 12 2025 15:15:30. | |
woostify-template-functions.php | File | 79906 bytes | June 12 2025 15:15:30. | |
woostify-template-hooks.php | File | 6378 bytes | June 12 2025 15:15:30. |
<?php /** * Woostify functions. * * @package woostify */ defined( 'ABSPATH' ) || exit; if ( ! function_exists( 'wp_body_open' ) ) { /** * Backwards compatibility for site WP < 5.2 */ function wp_body_open() { do_action( 'wp_body_open' ); } } if ( ! function_exists( 'woostify_version' ) ) { /** * Woostify Version * * @return string Woostify Version. */ function woostify_version() { return esc_attr( WOOSTIFY_VERSION ); } } if ( ! function_exists( 'woostify_info' ) ) { /** * Woostify Information. * * @param string $output The output. */ function woostify_info( $output ) { $output .= ' data-woostify-version="' . woostify_version() . '"'; $output .= defined( 'WOOSTIFY_PRO_VERSION' ) ? ' data-woostify-pro-version="' . esc_attr( WOOSTIFY_PRO_VERSION ) . '"' : ''; return $output; } } if ( ! function_exists( 'woostify_suffix' ) ) { /** * Define Script debug. * * @return string $suffix */ function woostify_suffix() { $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; return $suffix; } } if ( ! function_exists( 'woostify_get_pro_url' ) ) { /** * Generate a URL to our pro add-ons. * Allows the use of a referral ID and campaign. * * @param string $url URL to pro page. * * @return string The URL to woostify.com. */ function woostify_get_pro_url( $url = 'https://woostify.com' ) { $url = trailingslashit( $url ); $args = apply_filters( 'woostify_premium_url_args', array( 'ref' => null, 'campaign' => null, ) ); // Set up our URL if we have an ID. if ( isset( $args['ref'] ) ) { $url = add_query_arg( 'ref', absint( $args['ref'] ), $url ); } // Set up our URL if we have a campaign. if ( isset( $args['campaign'] ) ) { $url = add_query_arg( 'campaign', sanitize_text_field( $args['campaign'] ), $url ); } return esc_url( $url ); } } if ( ! function_exists( 'woostify_is_woocommerce_activated' ) ) { /** * Query WooCommerce activation */ function woostify_is_woocommerce_activated() { return class_exists( 'woocommerce' ) ? true : false; } } if ( ! function_exists( 'woostify_is_elementor_activated' ) ) { /** * Check Elementor active * * @return bool */ function woostify_is_elementor_activated() { return defined( 'ELEMENTOR_VERSION' ); } } if ( ! function_exists( 'woostify_is_elementor_page' ) ) { /** * Detect Elementor Page editor with current page * * @param int $page_id The page id. * * @return bool */ function woostify_is_elementor_page( $page_id = false ) { if ( ! woostify_is_elementor_activated() ) { return false; } if ( ! $page_id ) { $page_id = woostify_get_page_id(); } $is_elementor_page = get_post_meta( $page_id, '_elementor_edit_mode', true ); $is_elementor_page = 'builder' === $is_elementor_page ? true : false; // Priority first. if ( in_array( get_post_type( $page_id ), array( 'hf_builder', 'mega_menu' ), true ) ) { return $is_elementor_page; } if ( ! $page_id || is_tax() || is_singular( 'product' ) ) { $is_elementor_page = false; } return $is_elementor_page; } } if ( ! function_exists( 'woostify_get_product_id' ) ) { /** * Get product id */ function woostify_get_product_id() { $last_product_id = woostify_get_last_product_id(); $post = isset( $_REQUEST['post'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['post'] ) ) : false; // phpcs:ignore $editor_post_id = isset( $_REQUEST['editor_post_id'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['editor_post_id'] ) ) : false; // phpcs:ignore $post_id = $post ? $post : $editor_post_id; if ( $post_id ) { $selected_id = get_post_meta( $post_id, 'woostify_woo_builder_select_product_preview', true ); if ( $selected_id ) { $last_product_id = $selected_id; } } $product_id = woostify_is_elementor_editor() ? $last_product_id : woostify_get_page_id(); return apply_filters( 'woostify_get_product_id', $product_id ); } } if ( ! function_exists( 'woostify_elementor_has_location' ) ) { /** * Detect if a page has Elementor location template. * * @param string $location The location. * * @return boolean */ function woostify_elementor_has_location( $location ) { if ( ! did_action( 'elementor_pro/init' ) ) { return false; } $conditions_manager = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'theme-builder' )->get_conditions_manager(); $documents = $conditions_manager->get_documents_for_location( $location ); return ! empty( $documents ); } } if ( ! function_exists( 'woostify_is_elementor_editor' ) ) { /** * Condition if Current screen is Edit mode || Preview mode. */ function woostify_is_elementor_editor() { if ( ! woostify_is_elementor_activated() ) { return false; } $editor = ( \Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode() ); return $editor; } } if ( ! function_exists( 'woostify_is_divi_page' ) ) { /** * Get Divi page content * * @param int $id The page id. */ function woostify_is_divi_page( $id = false ) { if ( ! defined( 'ET_BUILDER_PLUGIN_VERSION' ) ) { return false; } if ( ! $id ) { $id = woostify_get_page_id(); } if ( ! $id || is_tax() ) { return false; } $content_post = get_post( $id ); $content = $content_post->post_content; if ( false !== strpos( $content, '<!-- wp:divi/placeholder -->' ) || false !== strpos( $content, '[et_pb_' ) ) { return true; } return false; } } if ( ! function_exists( 'woostify_sanitize_array' ) ) { /** * Sanitize integer value * * @param array $value The array. */ function woostify_sanitize_array( $value ) { $data = array(); foreach ( $value as $key ) { $data[] = sanitize_text_field( $key ); } return $data; } } if ( ! function_exists( 'woostify_sanitize_choices' ) ) { /** * Sanitizes choices (selects / radios) * Checks that the input matches one of the available choices * * @param array $input the available choices. * @param array $setting the setting object. */ function woostify_sanitize_choices( $input, $setting ) { // Ensure input is a slug. $input = sanitize_key( $input ); // Get list of choices from the control associated with the setting. $choices = $setting->manager->get_control( $setting->id )->choices; // If the input is a valid key, return it; otherwise, return the default. return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } } if ( ! function_exists( 'woostify_sanitize_checkbox' ) ) { /** * Checkbox sanitization callback. * * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked` * as a boolean value, either TRUE or FALSE. * * @param bool $checked Whether the checkbox is checked. * * @return bool Whether the checkbox is checked. */ function woostify_sanitize_checkbox( $checked ) { return ( ( isset( $checked ) && true === $checked ) ? true : false ); } } if ( ! function_exists( 'woostify_sanitize_variants' ) ) { /** * Sanitize our Google Font variants * * @param string $input sanitize variants. * * @return sanitize_text_field( $input ) */ function woostify_sanitize_variants( $input ) { if ( is_array( $input ) ) { $input = implode( ',', $input ); } return sanitize_text_field( $input ); } } if ( ! function_exists( 'woostify_sanitize_rgba_color' ) ) { /** * Sanitize color || rgba color * * @param string $color The color. */ function woostify_sanitize_rgba_color( $color ) { if ( empty( $color ) || is_array( $color ) ) { return ''; } // If string does not start with 'rgba', then treat as hex sanitize the hex color and finally convert hex to rgba. if ( false === strpos( $color, 'rgba' ) ) { return (strlen($color) != 9)? sanitize_hex_color( $color ) : $color; } // By now we know the string is formatted as an rgba color so we need to further sanitize it. $color = str_replace( ' ', '', $color ); sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha ); return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')'; } } if ( ! function_exists( 'woostify_sanitize_int' ) ) { /** * Sanitize integer value * * @param integer $value The integer number. */ function woostify_sanitize_int( $value ) { return intval( $value ); } } if ( ! function_exists( 'woostify_sanitize_raw_html' ) ) { /** * Sanitize raw html value * * @param string $value The raw html value. */ function woostify_sanitize_raw_html( $value ) { $kses_defaults = wp_kses_allowed_html( 'post' ); $image = array( 'img' => array( 'class' => array(), 'alt' => array(), 'width' => array(), 'height' => array(), 'src' => array(), ), ); return wp_kses( $value, array_merge( $kses_defaults, $image ) ); } } if ( ! function_exists( 'woostify_is_blog' ) ) { /** * Woostify detect blog page * * @return boolean $is_blog */ function woostify_is_blog() { global $post; $post_type = get_post_type( $post ); $is_blog = ( 'post' === $post_type && ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag() ) ) ? true : false; return apply_filters( 'woostify_is_blog', $is_blog ); } } if ( ! function_exists( 'woostify_options' ) ) { /** * Theme option * If ( $defaults = true ) return Default value * Else return all theme option * * @param bool $defaults Condition check output. * * @return array $options All theme options */ function woostify_options( $defaults = true ) { $default_settings = Woostify_Customizer::woostify_get_woostify_default_setting_values(); $default_fonts = Woostify_Fonts_Helpers::woostify_get_default_fonts(); $default_options = array_merge( $default_settings, $default_fonts ); if ( $defaults ) { return $default_options; } $options = wp_parse_args( get_option( 'woostify_setting', array() ), $default_options ); return $options; } } if ( ! function_exists( 'woostify_image_alt' ) ) { /** * Get image alt * * @param bolean $id The image id. * @param string $alt The alternate. * @param bolean $placeholder The bolean. * * @return string The image alt */ function woostify_image_alt( $id = null, $alt = '', $placeholder = false ) { if ( ! $id ) { if ( $placeholder ) { return esc_attr__( 'Placeholder image', 'woostify' ); } return esc_attr__( 'Error image', 'woostify' ); } $data = get_post_meta( $id, '_wp_attachment_image_alt', true ); $img_alt = ! empty( $data ) ? $data : $alt; return $img_alt; } } if ( ! function_exists( 'woostify_hex_to_rgba' ) ) { /** * Convert HEX to RGBA color * * @param string $hex The hexadecimal color. * @param integer $alpha The alpha. * * @return string The rgba color. */ function woostify_hex_to_rgba( $hex, $alpha = 1 ) { $hex = str_replace( '#', '', $hex ); if ( 3 === strlen( $hex ) ) { $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) ); $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) ); $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) ); } else { $r = hexdec( substr( $hex, 0, 2 ) ); $g = hexdec( substr( $hex, 2, 2 ) ); $b = hexdec( substr( $hex, 4, 2 ) ); } $rgba = array( $r, $g, $b, $alpha ); return 'rgba(' . implode( ',', $rgba ) . ')'; } } if ( ! function_exists( 'woostify_browser_detection' ) ) { /** * Woostify broswer detection */ function woostify_browser_detection() { global $is_IE, $is_edge, $is_safari, $is_iphone; $class = ''; if ( $is_iphone ) { $class = 'iphone'; } elseif ( $is_IE ) { $class = 'ie'; } elseif ( $is_edge ) { $class = 'edge'; } elseif ( $is_safari ) { $class = 'safari'; } return $class; } } if ( ! function_exists( 'woostify_dequeue_scripts_and_styles' ) ) { /** * Dequeue scripts and style no need */ function woostify_dequeue_scripts_and_styles() { // What is 'sb-font-awesome'? wp_deregister_style( 'sb-font-awesome' ); wp_dequeue_style( 'sb-font-awesome' ); } } if ( ! function_exists( 'woostify_narrow_data' ) ) { /** * Get dropdown data * * @param string $type The type 'post' || 'term'. * @param string $terms The terms post, category, product, product_cat, custom_post_type... * @param intval $total The total. * * @return array */ function woostify_narrow_data( $type = 'post', $terms = 'category', $total = - 1 ) { $output = array(); switch ( $type ) { case 'post': $args = array( 'post_type' => $terms, 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => $total, ); $qr = new WP_Query( $args ); if ( $qr->have_posts() ) { $output = wp_list_pluck( $qr->posts, 'post_title', 'ID' ); } break; case 'term': $terms = get_terms( $terms ); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) { $output = wp_list_pluck( $terms, 'name', 'term_id' ); } break; } return $output; } } if ( ! function_exists( 'woostify_get_metabox' ) ) { /** * Get metabox option * * @param int $page_id The page ID. * @param string $metabox_name Metabox option name. */ function woostify_get_metabox( $page_id = false, $metabox_name = '' ) { $page_id = $page_id ? intval( $page_id ) : woostify_get_page_id(); $metabox = get_post_meta( $page_id, $metabox_name, true ); $is_product_category = class_exists( 'woocommerce' ) && is_product_category(); if ( ! $metabox || $is_product_category ) { $metabox = 'default'; } return $metabox; } } if ( ! function_exists( 'woostify_header_transparent' ) ) { /** * Detect header transparent on current page */ function woostify_header_transparent() { $options = woostify_options( false ); $transparent = $options['header_transparent']; $archive_transparent = $options['header_transparent_disable_archive']; $index_transparent = $options['header_transparent_disable_index']; $page_transparent = $options['header_transparent_disable_page']; $post_transparent = $options['header_transparent_disable_post']; $shop_transparent = $options['header_transparent_disable_shop']; $product_transparent = $options['header_transparent_disable_product']; $metabox_transparent = woostify_get_metabox( false, 'site-header-transparent' ); // Disable header transparent on Shop page. if ( class_exists( 'woocommerce' ) && is_shop() && $shop_transparent ) { $transparent = false; } elseif ( class_exists( 'woocommerce' ) && is_product() && $product_transparent ) { // Disable header transparent on Product page. $transparent = false; } elseif ( ( ( is_archive() && ( class_exists( 'woocommerce' ) && ! is_shop() ) ) || is_404() || is_search() ) && $archive_transparent ) { // Disable header transparent on Archive, 404 and Search page NOT Shop page. $transparent = false; } elseif ( is_home() && $index_transparent ) { // Disable header transparent on Blog page. $transparent = false; } elseif ( is_page() && $page_transparent ) { // Disable header transparent on Pages. $transparent = false; } elseif ( is_singular( 'post' ) && $post_transparent ) { // Disable header transparent on Posts. $transparent = false; } // Metabox option for single post or page. Priority highest. if ( 'default' !== $metabox_transparent ) { if ( 'enabled' === $metabox_transparent ) { $transparent = true; } else { $transparent = false; } } return $transparent; } } if ( ! function_exists( 'woostify_meta_charset' ) ) { /** * Meta charset */ function woostify_meta_charset() { ?> <meta charset="<?php bloginfo( 'charset' ); ?>"> <?php } } if ( ! function_exists( 'woostify_meta_viewport' ) ) { /** * Meta viewport */ function woostify_meta_viewport() { ?> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php } } if ( ! function_exists( 'woostify_rel_profile' ) ) { /** * Rel profile */ function woostify_rel_profile() { ?> <link rel="profile" href="http://gmpg.org/xfn/11"> <?php } } if ( ! function_exists( 'woostify_pingback' ) ) { /** * Pingback */ function woostify_pingback() { if ( ! is_singular() || ! pings_open( get_queried_object() ) ) { return; } ?> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"> <?php } } if ( ! function_exists( 'woostify_facebook_social' ) ) { /** * Get Title and Image for Facebook share */ function woostify_facebook_social() { if ( ! is_singular( 'product' ) ) { return; } $id = woostify_get_page_id(); $title = get_the_title( $id ); $image = wp_get_attachment_image_src( get_post_thumbnail_id( $id ), 'full' ); $image_src = $image ? $image[0] : wc_placeholder_img_src(); ?> <meta property="og:title" content="<?php echo esc_attr( $title ); ?>"> <meta property="og:image" content="<?php echo esc_attr( $image_src ); ?>"> <?php } } if ( ! function_exists( 'woostify_array_insert' ) ) { /** * Insert an array into another array before/after a certain key * * @param array $array The initial array. * @param array $pairs The array to insert. * @param string $key The certain key. * @param string $position Wether to insert the array before or after the key. * * @return array */ function woostify_array_insert( $array, $pairs, $key, $position = 'after' ) { $key_pos = array_search( $key, array_keys( $array ), true ); if ( 'after' === $position ) { $key_pos ++; if ( false !== $key_pos ) { $result = array_slice( $array, 0, $key_pos ); $result = array_merge( $result, $pairs ); $result = array_merge( $result, array_slice( $array, $key_pos ) ); } } else { $result = array_merge( $array, $pairs ); } return $result; } } if ( ! function_exists( 'woostify_support_wishlist_plugin' ) ) { /** * Detect wishlist plugin */ function woostify_support_wishlist_plugin() { if ( ! woostify_is_woocommerce_activated() ) { return false; } $options = woostify_options( false ); $plugin = $options['shop_page_wishlist_support_plugin']; // Ti plugin or YITH plugin. if ( ( defined( 'TINVWL_URL' ) && 'ti' === $plugin ) || ( defined( 'YITH_WCWL' ) && 'yith' === $plugin ) ) { return true; } return false; } } if ( ! function_exists( 'woostify_wishlist_page_url' ) ) { /** * Get wishlist page url */ function woostify_wishlist_page_url() { if ( ! woostify_support_wishlist_plugin() ) { return '#'; } $options = woostify_options( false ); $shortcode = '[yith_wcwl_wishlist]'; if ( 'ti' === $options['shop_page_wishlist_support_plugin'] ) { $shortcode = '[ti_wishlistsview]'; } global $wpdb; $id = $wpdb->get_results( 'SELECT ID FROM ' . $wpdb->prefix . 'posts WHERE post_content LIKE "%' . $shortcode . '%" AND post_parent = 0' ); // phpcs:ignore if ( $id ) { $id = intval( $id[0]->ID ); $url = get_the_permalink( $id ); return $url; } return '#'; } } if ( ! function_exists( 'woostify_get_social_icon_list' ) ) { /** * Supported render icon list by link in custom html * * @return array */ function woostify_get_social_icon_list() { $list = array( array( 'href' => 'twitter.com', 'icon' => 'twitter', ), array( 'href' => 'facebook.com', 'icon' => 'facebook', ), array( 'href' => 'plus.google.com', 'icon' => 'google', ), array( 'href' => 'instagram.com', 'icon' => 'instagram', ), array( 'href' => 'vimeo.com', 'icon' => 'vimeo', ), array( 'href' => 'youtube.com', 'icon' => 'youtube', ), array( 'href' => 'github.com', 'icon' => 'github', ), array( 'href' => 'linkedin.com', 'icon' => 'linkedin', ), array( 'href' => 'pinterest.com', 'icon' => 'pinterest-alt', ), array( 'href' => 'flickr.com', 'icon' => 'flickr', ), array( 'href' => 'tumblr.com', 'icon' => 'tumblr', ), array( 'href' => 'mailto', 'icon' => 'email', ), array( 'href' => 'whatsapp', 'icon' => 'themify-favicon', ), ); return apply_filters( 'woostify_social_icon_list', $list ); } } if ( ! function_exists( 'woostify_allow_tags_svg' ) ) { /** * Allow svg tags * * @return mixed|void */ function woostify_allow_tags_svg() { $kses_defaults = wp_kses_allowed_html( 'post' ); $svg_args = array( 'svg' => array( 'class' => true, 'aria-hidden' => true, 'aria-labelledby' => true, 'role' => true, 'xmlns' => true, 'width' => true, 'height' => true, 'viewbox' => true, // <= Must be lower case! ), 'g' => array( 'fill' => true ), 'title' => array( 'title' => true ), 'path' => array( 'd' => true, 'fill' => true, ), ); return array_merge( $kses_defaults, $svg_args ); } } if ( ! function_exists( 'woostify_render_css_space' ) ) { /** * Render css property with value * * @param string $option option. * @param string $property property. * @param string $unit unit. * * @return string */ function woostify_render_css_spacing( $option, $property = '', $unit = 'px' ) { if ( '' === $option ) { return ''; } $css = '' !== $property ? $property . ': ' : ''; $values = explode( ' ', $option ); foreach ( $values as $val ) { $css .= '0' !== $val ? $val . $unit : $val; $css .= ' '; } return trim( $css ); } } if ( ! function_exists( 'woostify_custom_search_form' ) ) { /** * Override search with get form html * * @param string $form Form html. * @param string $args Arguments. * * @return string */ function woostify_custom_search_form( $form, $args ) { // Build a string containing an aria-label to use for the search form. if ( $args['aria_label'] ) { $aria_label = 'aria-label="' . esc_attr( $args['aria_label'] ) . '" '; } else { /* * If there's no custom aria-label, we can set a default here. At the * moment it's empty as there's uncertainty about what the default should be. */ $aria_label = ''; } $format = current_theme_supports( 'html5', 'search-form' ) ? 'html5' : 'xhtml'; if ( 'html5' === $format ) { $form = '<form role="search" ' . $aria_label . 'method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '"> <label> <span class="screen-reader-text">' . _x( 'Search for:', 'label', 'woostify' ) . '</span> <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search …', 'placeholder', 'woostify' ) . '" value="' . get_search_query() . '" name="s" /> </label> <input type="submit" class="search-submit" value="' . esc_attr_x( 'Search', 'submit button', 'woostify' ) . '" /> <span class="search-form-icon">' . Woostify_Icon::fetch_svg_icon( 'search', false ) . '</span> </form>'; } else { $form = '<form role="search" ' . $aria_label . 'method="get" id="searchform" class="searchform" action="' . esc_url( home_url( '/' ) ) . '"> <div> <label class="screen-reader-text" for="s">' . _x( 'Search for:', 'label', 'woostify' ) . '</label> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <input type="submit" id="searchsubmit" value="' . esc_attr_x( 'Search', 'submit button', 'woostify' ) . '" /> </div> </form>'; } return $form; } } if ( ! function_exists( 'woostify_sanitize_abs_number' ) ) { /** * Sanitize abs int|float value * * @param integer $value The int|float number. */ function woostify_sanitize_abs_number( $value ) { return abs( $value ); } } if ( ! function_exists( 'woostify_sanitize_json_string' ) ) { /** * Sanitize json value * * @param string $value The json string data. */ function woostify_sanitize_json_string( $value ) { $new_value = json_decode( $value ); return wp_json_encode( $new_value ); } }
SILENT KILLER Tool