%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/elementor-pro/modules/notes/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/elementor-pro/modules/notes/utils.php |
<?php namespace ElementorPro\Modules\Notes; use Elementor\Core\Utils\Collection; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * This is specific for notes and should not be used outside the module. */ class Utils { /** * Clean the url. * * @param $url * * @return string */ public static function clean_url( $url ) { $parsed_url = wp_parse_url( $url ); $url = '/'; if ( isset( $parsed_url['path'] ) ) { $url = $parsed_url['path']; } if ( isset( $parsed_url['query'] ) ) { $query = []; parse_str( $parsed_url['query'], $query ); $remove_if_start_with = [ 'utm_' ]; $remove_if_end_with = [ '_nonce' ]; $remove_if_is = [ 'fbclid', 'elementor-preview', 'ver', 'preview_id', 'preview_nonce', 'preview', 'theme_template_id', 'nonce' ]; $query = ( new Collection( $query ) ) ->filter( function ( $value, $key ) use ( $remove_if_start_with, $remove_if_end_with, $remove_if_is ) { foreach ( $remove_if_start_with as $term ) { if ( 0 === strpos( $key, $term ) ) { return false; }; } foreach ( $remove_if_end_with as $term ) { if ( 1 === preg_match( "/{$term}$/", $key ) ) { return false; }; } foreach ( $remove_if_is as $term ) { if ( $key === $term ) { return false; } } return true; } ); if ( ! $query->is_empty() ) { $url = implode( '?', [ $url, build_query( $query->all() ), ] ); } } return esc_url_raw( rtrim( $url, '/' ) ); } /** * @param $value * * @return bool */ public static function validate_url_or_relative_url( $value ) { $is_valid_url = filter_var( $value, FILTER_VALIDATE_URL ); if ( $is_valid_url ) { return (bool) $is_valid_url; } // Check if the $value is relative url. return (bool) filter_var( 'https://localhost/' . ltrim( $value, '/' ), FILTER_VALIDATE_URL ); } /** * Clean the WP document title and return it. * * @return string */ public static function get_clean_document_title() { $filter = function ( $title ) { if ( is_home() || is_front_page() ) { return [ esc_html__( 'Home page', 'elementor-pro' ) ]; } unset( $title['site'] ); return $title; }; add_filter( 'document_title_parts', $filter ); $title = wp_get_document_title(); remove_filter( 'document_title_parts', $filter ); return $title; } }