%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/elementskit-lite/helpers/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/elementskit-lite/helpers/utils.php |
<?php namespace ElementsKit_Lite; defined( 'ABSPATH' ) || exit; /** * Global helper class. * * @since 1.0.0 */ class Utils { /** * Auto generate classname from path. * * @since 1.0.0 * @access public */ public static function make_classname( $dirname ) { $dirname = pathinfo( $dirname, PATHINFO_FILENAME ); $class_name = explode( '-', $dirname ); $class_name = array_map( 'ucfirst', $class_name ); $class_name = implode( '_', $class_name ); return $class_name; } public static function google_fonts( $font_families = array() ) { $fonts_url = ''; if ( $font_families ) { $query_args = array( 'family' => urlencode( implode( '|', $font_families ) ), ); $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' ); } return esc_url_raw( $fonts_url ); } public static function get_kses_array(){ return array( 'a' => array( 'class' => array(), 'href' => array(), 'rel' => array(), 'title' => array(), 'target' => array(), 'style' => array(), ), 'abbr' => array( 'title' => array(), ), 'b' => array( 'class' => array(), ), 'blockquote' => array( 'cite' => array(), ), 'cite' => array( 'title' => array(), ), 'code' => array(), 'pre' => array(), 'del' => array( 'datetime' => array(), 'title' => array(), ), 'dd' => array(), 'div' => array( 'class' => array(), 'title' => array(), 'style' => array(), ), 'dl' => array(), 'dt' => array(), 'em' => array(), 'strong' => array(), 'h1' => array( 'class' => array(), ), 'h2' => array( 'class' => array(), ), 'h3' => array( 'class' => array(), ), 'h4' => array( 'class' => array(), ), 'h5' => array( 'class' => array(), ), 'h6' => array( 'class' => array(), ), 'i' => array( 'class' => array(), ), 'img' => array( 'alt' => array(), 'class' => array(), 'height' => array(), 'src' => array(), 'width' => array(), 'style' => array(), 'title' => array(), 'srcset' => array(), 'loading' => array(), 'sizes' => array(), ), 'figure' => array( 'class' => array(), ), 'li' => array( 'class' => array(), ), 'ol' => array( 'class' => array(), ), 'p' => array( 'class' => array(), ), 'q' => array( 'cite' => array(), 'title' => array(), ), 'span' => array( 'class' => array(), 'title' => array(), 'style' => array(), ), 'iframe' => array( 'width' => array(), 'height' => array(), 'scrolling' => array(), 'frameborder' => array(), 'allow' => array(), 'src' => array(), ), 'strike' => array(), 'br' => array(), 'table' => array(), 'thead' => array(), 'tbody' => array(), 'tfoot' => array(), 'tr' => array(), 'th' => array( 'class' => true, 'colspan' => true, 'rowspan' => true, 'style' => true, 'id' => true, ), 'td' => array( 'class' => true, 'colspan' => true, 'rowspan' => true, 'style' => true, 'id' => true, ), 'caption'=> array(), 'col' => array( 'span' => true, 'style' => true, ), 'colgroup' => array( 'span' => true, 'style' => true, ), 'strong' => array(), 'data-wow-duration' => array(), 'data-wow-delay' => array(), 'data-wallpaper-options' => array(), 'data-stellar-background-ratio' => array(), 'ul' => array( 'class' => 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! 'preserveaspectratio' => true, ), 'g' => array( 'fill' => true ), 'title' => array( 'title' => true ), 'path' => array( 'd' => true, 'fill' => true, ), 'input' => array( 'class' => array(), 'type' => array(), 'value' => array() ) ); } public static function kses( $raw ) { $allowed_tags = self::get_kses_array(); if ( function_exists( 'wp_kses' ) ) { // WP is here return wp_kses( $raw, $allowed_tags ); } else { return $raw; } } public static function kspan( $text ) { return str_replace( array( '{', '}' ), array( '<span>', '</span>' ), $text ); } public static function ekit_get__forms( $post_type ) { $wpuf_form_list = get_posts( array( 'post_type' => $post_type, 'showposts' => 999, ) ); $options = array(); if ( ! empty( $wpuf_form_list ) && ! is_wp_error( $wpuf_form_list ) ) { $options[0] = esc_html__( 'Select Form', 'elementskit-lite' ); foreach ( $wpuf_form_list as $post ) { $options[ $post->ID ] = $post->post_title; } } else { $options[0] = esc_html__( 'Create a form first', 'elementskit-lite' ); } return $options; } public static function ekit_get_ninja_form() { $options = array(); if ( class_exists( 'Ninja_Forms' ) ) { $contact_forms = Ninja_Forms()->form()->get_forms(); if ( ! empty( $contact_forms ) && ! is_wp_error( $contact_forms ) ) { $options[0] = esc_html__( 'Select Ninja Form', 'elementskit-lite' ); foreach ( $contact_forms as $form ) { $options[ $form->get_id() ] = $form->get_setting( 'title' ); } } } else { $options[0] = esc_html__( 'Create a Form First', 'elementskit-lite' ); } return $options; } public static function tablepress_table_list() { $table_options = array(); if ( class_exists( 'TablePress' ) ) { $table_ids = \TablePress::$model_table->load_all( false ); $table_options[0] = esc_html__( 'Select Table', 'elementskit-lite' ); foreach ( $table_ids as $table_id ) { // Load table, without table data, options, and visibility settings. $table = \TablePress::$model_table->load( $table_id, false, false ); if ( '' === trim( $table['name'] ) ) { $table['name'] = __( '(no name)', 'elementskit-lite' ); } $table_options[ $table['id'] ] = $table['name']; } } else { $table_options[0] = esc_html__( 'Create a Table First', 'elementskit-lite' ); } return $table_options; } public static function ekit_do_shortcode( $tag, array $atts = array(), $content = null ) { global $shortcode_tags; if ( ! isset( $shortcode_tags[ $tag ] ) ) { return false; } return call_user_func( $shortcode_tags[ $tag ], $atts, $content, $tag ); } public static function trim_words( $text, $num_words ) { return wp_trim_words( $text, $num_words, '' ); } public static function array_push_assoc( $array, $key, $value ) { $array[ $key ] = $value; return $array; } public static function render_elementor_content_css( $content_id ) { if ( class_exists( '\Elementor\Core\Files\CSS\Post' ) ) { $css_file = new \Elementor\Core\Files\CSS\Post( $content_id ); $css_file->enqueue(); } } public static function render_elementor_content( $content_id ) { $elementor_instance = \Elementor\Plugin::instance(); $has_css = false; /** * CSS Print Method Internal and Exteral option support for Header and Footer Builder. */ if ( ( 'internal' === get_option( 'elementor_css_print_method' ) ) || \Elementor\Plugin::$instance->preview->is_preview_mode() ) { $has_css = true; } return $elementor_instance->frontend->get_builder_content_for_display( $content_id, $has_css ); } public static function render( $content ) { if ( stripos( $content, 'elementskit-has-lisence' ) !== false ) { return null; } return $content; } public static function render_tab_content( $content, $id ) { return str_replace( '.elementor-' . $id . ' ', '#elementor .elementor-' . $id . ' ', $content ); } public static function img_meta( $id ) { $attachment = get_post( $id ); if ( $attachment == null || $attachment->post_type != 'attachment' ) { return null; } return array( 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ), 'caption' => $attachment->post_excerpt, 'description' => $attachment->post_content, 'href' => get_permalink( $attachment->ID ), 'src' => $attachment->guid, 'title' => $attachment->post_title, ); } public static function esc_options( $str, $options = array(), $default = '' ) { if ( ! in_array( $str, $options ) ) { return $default; } return $str; } public static function get_attachment_image_html( $settings, $image_key, $image_size_key = null, $image_attr = array() ) { if ( ! $image_key ) { $image_key = $image_size_key; } $image = $settings[ $image_key ]; $size = $image_size_key; $html = ''; if ( ! empty( $image['id'] ) && $image['id'] != '-1' ) { $html .= wp_get_attachment_image( $image['id'], $size, false, $image_attr ); } else { $html .= sprintf( '<img src="%s" title="%s" alt="%s" />', esc_attr( $image['url'] ), \Elementor\Control_Media::get_image_title( $image ), \Elementor\Control_Media::get_image_alt( $image ) ); } $html = preg_replace( array( '/max-width:[^"]*;/', '/width:[^"]*;/', '/height:[^"]*;/' ), '', $html ); return $html; } public static function swiper_class() { $swiper_class = \Elementor\Plugin::$instance->experiments->is_feature_active( 'e_swiper_latest' ) ? 'swiper' : 'swiper-container'; return 'ekit-main-swiper ' . $swiper_class; } public static function get_page_by_title( $page_title, $post_type = 'page' ) { $query = new \WP_Query( array( 'post_type' => $post_type, 'title' => $page_title, ) ); if (!empty($query->post)) { $page_got_by_title = $query->post; } else { $page_got_by_title = null; } return $page_got_by_title; } public static function remove_special_chars($string) { return preg_replace('/[^A-Za-z0-9 ]/', '', $string); } }