Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/plugins/fusion-builder/inc/lib/inc/ |
Current File : //var/www/web28/html/wp-content/plugins/fusion-builder/inc/lib/inc/class-fusion-font-awesome.php |
<?php /** * Fusion Font Awesome Class. * * @package Fusion-Library * @since 1.8.0 */ /** * A collection of sanitization methods. */ class Fusion_Font_Awesome { /** * Font Awesome version. * * @access protected * @var string */ public static $fa_version = '5.15.4'; /** * Font Awesome URL. * * @access protected * @var string */ protected static $font_base_url = null; /** * Class constructor. * * @since 1.8.0 * @return void */ public function __construct() { add_filter( 'fusion_dynamic_css_final', [ $this, 'add_to_dynamic_css' ] ); add_action( 'wp_ajax_fusion_font_awesome', [ $this, 'front_editor_ajax_callbak' ] ); } /** * AJAX callback, used for toggling Font Awesome options in Front End builder. */ public function front_editor_ajax_callbak() { check_ajax_referer( 'fusion_load_nonce', 'fusion_load_nonce' ); $pro_status = (bool) ( isset( $_GET['pro_status'] ) && '1' === sanitize_text_field( wp_unslash( $_GET['pro_status'] ) ) ); $response = []; if ( $pro_status ) { $response['icons'] = include FUSION_LIBRARY_PATH . '/assets/fonts/fontawesome/icons_pro.php'; $response['css_url'] = 'https://pro.fontawesome.com/releases/v' . self::$fa_version . '/css/all.css'; $response['shims_url'] = 'https://pro.fontawesome.com/releases/v' . self::$fa_version . '/css/v4-shims.css'; } else { $response['icons'] = include FUSION_LIBRARY_PATH . '/assets/fonts/fontawesome/icons_free.php'; $response['css_url'] = FUSION_LIBRARY_URL . '/assets/fonts/fontawesome/font-awesome.min.css'; $response['shims_url'] = FUSION_LIBRARY_URL . '/assets/fonts/fontawesome/v4-shims.min.css'; } echo wp_json_encode( $response ); die(); } /** * Generates local preload tags based on enabled subsets. * * @since 3.2 * @return string */ public function get_local_subsets_tags() { $fusion_settings = awb_get_fusion_settings(); $transient_name = 'fusion_local_subsets_preload_tags'; $tags = get_transient( $transient_name ); if ( ( ! self::is_fa_pro_enabled() && self::is_fa_enabled() ) || ! $tags ) { $subsets = $fusion_settings->get( 'status_fontawesome' ); $tags = ''; foreach ( $subsets as $subset ) { $family = new Fusion_FA_Font_Downloader( $subset ); $tags .= $family->get_preload_tags(); } set_transient( $transient_name, $tags ); } return $tags; } /** * Generates preload tags based on enabled subsets. * * @since 3.2 * @return string */ public function get_subsets_tags() { $transient_name = 'fusion_subsets_preload_tags'; $tags = get_transient( $transient_name ); $subsets = fusion_library()->get_option( 'status_fontawesome' ); $clean_url = str_replace( [ 'http://', 'https://' ], '//', self::get_base_css_url() ); if ( ! $tags ) { if ( is_array( $subsets ) && in_array( 'fab', $subsets, true ) ) { $tags .= '<link rel="preload" href="' . $clean_url . '/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin>'; } if ( is_array( $subsets ) && in_array( 'far', $subsets, true ) ) { $tags .= '<link rel="preload" href="' . $clean_url . '/webfonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin>'; } if ( is_array( $subsets ) && in_array( 'fas', $subsets, true ) ) { $tags .= '<link rel="preload" href="' . $clean_url . '/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin>'; } if ( true === self::is_fa_pro_enabled() && is_array( $subsets ) && in_array( 'fal', $subsets, true ) ) { $tags .= '<link rel="preload" href="' . $clean_url . '/webfonts/fa-light-300.woff2" as="font" type="font/woff2" crossorigin>'; } set_transient( $transient_name, $tags ); } return $tags; } /** * Adds Font Awesome CSS to dynamic CSS. * * @param string $styles Dynamic CSS. * * @since 1.8.0 * @return string */ public function add_to_dynamic_css( $styles ) { if ( self::is_fa_enabled() ) { $styles .= $this->get_css(); } return $styles; } /** * Generates Font Awesome CSS based on enabled subsets. * * @since 1.8.0 * @return string */ public function get_css() { $fusion_settings = awb_get_fusion_settings(); $transient_name = 'fusion_fontawesome'; $active_language = Fusion_Multilingual::get_active_language(); if ( '' !== $active_language && 'all' !== $active_language ) { $transient_name .= '_' . $active_language; } $css = get_transient( $transient_name ); if ( ! $css || ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() ) ) { $subsets = $fusion_settings->get( 'status_fontawesome' ); $icons = fusion_get_icons_array(); $css .= $this->get_extras(); $css .= ( 'local' === $fusion_settings->get( 'gfonts_load_method' ) && true === self::is_fa_pro_enabled() && ! ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() ) ) ? $this->get_local_subsets_font_face() : $this->get_subsets_font_face(); foreach ( $icons as $icon ) { foreach ( $icon[1] as $icon_subsets ) { if ( is_array( $subsets ) && in_array( $icon_subsets, $subsets, true ) ) { $css .= '.' . $icon[0] . ':before{content:"\\' . $icon[2] . '"}'; // No need to add same icon multiple times. break; } } } if ( '1' === $fusion_settings->get( 'fontawesome_v4_compatibility' ) ) { $css .= fusion_file_get_contents( FUSION_LIBRARY_PATH . '/assets/fonts/fontawesome/v4-shims.min.css' ); } // Replace font family name if Pro is enabled. if ( true === self::is_fa_pro_enabled() ) { $css = str_replace( 'Font Awesome 5 Free', 'Font Awesome 5 Pro', $css ); } if ( ! ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() ) ) { set_transient( $transient_name, $css ); } } return $css; } /** * Returns Font Awesome CSS URL, intended to be used only in backend. * * @since 1.8.0 * @return string */ public static function get_base_css_url() { if ( null === self::$font_base_url ) { self::$font_base_url = true === self::is_fa_pro_enabled() ? 'https://pro.fontawesome.com/releases/v' . self::$fa_version : FUSION_LIBRARY_URL . '/assets/fonts/fontawesome'; } return self::$font_base_url; } /** * Returns Font Awesome CSS URL, intended to be used only in backend. * * @since 1.8.0 * @return string */ public static function get_backend_css_url() { return true === self::is_fa_pro_enabled() ? self::get_base_css_url() . '/css/all.css' : self::get_base_css_url() . '/font-awesome.min.css'; } /** * Returns Font Awesome CSS URL, intended to be used only in backend. * * @since 1.8.0 * @return string */ public static function get_backend_shims_css_url() { return true === self::is_fa_pro_enabled() ? self::get_base_css_url() . '/css/v4-shims.css' : self::get_base_css_url() . '/v4-shims.min.css'; } /** * Checks if Font Awesome is enabled or not. * * @since 1.8.0 * @return bool */ public static function is_fa_enabled() { $fusion_settings = awb_get_fusion_settings(); return '' !== $fusion_settings->get( 'status_fontawesome' ) ? true : false; } /** * Checks if Font Awesome Pro is enabled or not. * * @since 1.8.0 * @return bool */ public static function is_fa_pro_enabled() { $fusion_settings = awb_get_fusion_settings(); return '1' === $fusion_settings->get( 'status_fontawesome_pro' ) ? true : false; } /** * Returns Font Awesome Font Face CSS. * * @since 1.8.0 * @return string */ protected function get_subsets_font_face() { $css = ''; $subsets = fusion_library()->get_option( 'status_fontawesome' ); $clean_url = str_replace( [ 'http://', 'https://' ], '//', self::get_base_css_url() ); $font_face_display = fusion_library()->get_option( 'font_face_display' ); $font_face_display = ( 'swap-all' === $font_face_display ) ? 'swap' : 'block'; if ( is_array( $subsets ) && in_array( 'fab', $subsets, true ) ) { $css .= '@font-face{'; $css .= 'font-family:"Font Awesome 5 Brands";'; $css .= 'font-style:normal;'; $css .= 'font-weight:normal;'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-brands-400.eot);'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(' . $clean_url . '/webfonts/fa-brands-400.woff2) format("woff2"),url(' . $clean_url . '/webfonts/fa-brands-400.woff) format("woff"),url(' . $clean_url . '/webfonts/fa-brands-400.ttf) format("truetype"),url(' . $clean_url . '/webfonts/fa-brands-400.svg#fontawesome) format("svg");'; $css .= 'font-display: ' . $font_face_display . ';'; $css .= '}'; $css .= '.fab{font-family:"Font Awesome 5 Brands"}'; } if ( is_array( $subsets ) && in_array( 'far', $subsets, true ) ) { $css .= '@font-face{'; $css .= 'font-family:"Font Awesome 5 Free";'; $css .= 'font-style:normal;'; $css .= 'font-weight:400;'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-regular-400.eot);'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(' . $clean_url . '/webfonts/fa-regular-400.woff2) format("woff2"),url(' . $clean_url . '/webfonts/fa-regular-400.woff) format("woff"),url(' . $clean_url . '/webfonts/fa-regular-400.ttf) format("truetype"),url(' . $clean_url . '/webfonts/fa-regular-400.svg#fontawesome) format("svg");'; $css .= 'font-display: ' . $font_face_display . ';'; $css .= '}'; $css .= '.far{font-family:"Font Awesome 5 Free";font-weight:400;}'; } if ( is_array( $subsets ) && in_array( 'fas', $subsets, true ) ) { $css .= '@font-face{'; $css .= 'font-family:"Font Awesome 5 Free";'; $css .= 'font-style:normal;'; $css .= 'font-weight:900;'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-solid-900.eot);'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(' . $clean_url . '/webfonts/fa-solid-900.woff2) format("woff2"),url(' . $clean_url . '/webfonts/fa-solid-900.woff) format("woff"),url(' . $clean_url . '/webfonts/fa-solid-900.ttf) format("truetype"),url(' . $clean_url . '/webfonts/fa-solid-900.svg#fontawesome) format("svg");'; $css .= 'font-display: ' . $font_face_display . ';'; $css .= '}'; $css .= '.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}'; } if ( true === self::is_fa_pro_enabled() && is_array( $subsets ) && in_array( 'fal', $subsets, true ) ) { $css .= '@font-face{'; $css .= 'font-family:"Font Awesome 5 Pro";'; $css .= 'font-style:normal;'; $css .= 'font-weight:300;'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-light-300.eot);'; $css .= 'src:url(' . $clean_url . '/webfonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(' . $clean_url . '/webfonts/fa-light-300.woff2) format("woff2"),url(' . $clean_url . '/webfonts/fa-light-300.woff) format("woff"),url(' . $clean_url . '/webfonts/fa-light-300.ttf) format("truetype"),url(' . $clean_url . '/webfonts/fa-light-300.svg#fontawesome) format("svg");'; $css .= 'font-display: ' . $font_face_display . ';'; $css .= '}'; $css .= '.fal{font-family:"Font Awesome 5 Pro";font-weight:300}'; } return $css; } /** * Returns local Font Awesome Font Face CSS. * * @since 1.8.0 * @return string */ protected function get_local_subsets_font_face() { $fusion_settings = awb_get_fusion_settings(); $subsets = $fusion_settings->get( 'status_fontawesome' ); $css = ''; foreach ( $subsets as $subset ) { $family = new Fusion_FA_Font_Downloader( $subset ); $css .= $family->get_fontface_css(); } return $css; } /** * Returns Font Awesome Font global CSS. * * @since 1.8.0 * @return string */ protected function get_extras() { return '.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}'; } } /* Omit closing PHP tag to avoid 'Headers already sent' issues. */
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare