/home/tuzdhajd/tuzdayscloset.com/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_User::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')
)
);
}
}