Current Path : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/admin/fonts/ |
Current File : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/admin/fonts/main.php |
<?php /** * Created by PhpStorm. * User: alex * Date: 1/11/19 * Time: 10:59 AM */ class Brizy_Admin_Fonts_Main { const CP_FONT = 'brizy-font'; const SVG_MIME = 'image/svg+xml'; /** * @return Brizy_Admin_Fonts_Main */ public static function _init() { static $instance; if ( ! $instance ) { $instance = new self(); } return $instance; } /** * BrizyPro_Admin_Popups constructor. */ public function __construct() { $urlBuilder = new Brizy_Editor_UrlBuilder(); $handler = new Brizy_Admin_Fonts_Handler( $urlBuilder, null ); if ( Brizy_Editor::is_user_allowed() ) { add_action( 'wp_loaded', array( $this, 'initializeActions' ) ); add_filter( 'upload_mimes', array( $this, 'addFontTypes' ) ); add_filter( 'wp_check_filetype_and_ext', array( $this, 'wp_check_filetype_and_ext' ), 10, 4 ); } } public function initializeActions() { Brizy_Admin_Fonts_Api::_init(); } public function addFontTypes( $mime_types ) { $mime_types['ttf'] = 'application/x-font-ttf'; $mime_types['eot'] = 'application/vnd.ms-fontobject'; $mime_types['woff'] = 'application/x-font-woff'; $mime_types['woff2'] = 'application/x-font-woff2'; return $mime_types; } /** * @param $data * @param $file * @param $filename * @param $mimes * @param $real_mime * * @return array */ public function wp_check_filetype_and_ext( $data, $file, $filename, $mimes ) { if ( ! $data['ext'] ) { // Do basic extension validation and MIME mapping $wp_filetype = wp_check_filetype( $filename, $mimes ); $ext = $wp_filetype['ext']; $type = $wp_filetype['type']; if ( $ext === 'ttf' ) { return array( 'ext' => $ext, 'type' => 'application/x-font-ttf', 'proper_filename' => false ); } if ( $ext === 'eot' ) { return array( 'ext' => $ext, 'type' => 'application/vnd.ms-fontobject', 'proper_filename' => false ); } if ( $ext === 'woff' ) { return array( 'ext' => $ext, 'type' => 'application/x-font-woff', 'proper_filename' => false ); } if ( $ext === 'woff2' ) { return array( 'ext' => $ext, 'type' => 'application/x-font-woff2', 'proper_filename' => false ); } } return $data; } public static function registerCustomPosts() { $labels = array( 'name' => _x( 'Fonts', 'post type general name' ), ); register_post_type( self::CP_FONT, array( 'labels' => $labels, 'public' => false, 'has_archive' => false, 'description' => __bt( 'brizy', 'Brizy' ) . ' ' . __( 'font', 'brizy' ) . '.', 'publicly_queryable' => false, 'show_ui' => false, 'show_in_menu' => false, 'query_var' => false, 'capability_type' => 'page', 'hierarchical' => false, 'show_in_rest' => false, 'exclude_from_search' => true, 'supports' => array( 'title', 'page-attributes' ) ) ); } }