Sindbad~EG File Manager
<?php
/**
* Helper functions.
*
* @package olympus-google-fonts
* @copyright Copyright (c) 2020, Fonts Plugin
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
*/
/**
* An array of user-defined elements that can be customized using the plugin.
*
* @return array An array of user-defined elements.
*/
function ogf_get_custom_elements() {
$theme_mod = get_theme_mod( 'ogf_custom_selectors', false );
if ( ! $theme_mod ) {
return array();
}
$custom_selectors = json_decode( $theme_mod, true );
foreach ( $custom_selectors as &$selector ) {
$selector['section'] = 'ogf_advanced__custom';
}
return $custom_selectors;
}
/**
* An array of elements that can be customized using the plugin.
*
* @return array Elements the plugin can target.
*/
function ogf_get_elements() {
$elements = array(
'ogf_body' => array(
'label' => esc_html__( 'Base Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your content.', 'olympus-google-fonts' ),
'section' => 'ogf_basic',
'selectors' => 'body, #content, .entry-content, .post-content, .page-content, .post-excerpt, .entry-summary, .entry-excerpt, .widget-area, .widget, .sidebar, #sidebar, footer, .footer, #footer, .site-footer',
),
'ogf_headings' => array(
'label' => esc_html__( 'Headings Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your headings.', 'olympus-google-fonts' ),
'section' => 'ogf_basic',
'selectors' => '#site-title, .site-title, #site-title a, .site-title a, .entry-title, .entry-title a, h1, h2, h3, h4, h5, h6, .widget-title, .elementor-heading-title',
),
'ogf_inputs' => array(
'label' => esc_html__( 'Buttons and Inputs Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your input fields and buttons.', 'olympus-google-fonts' ),
'section' => 'ogf_basic',
'selectors' => 'button, .button, input, select, textarea, .wp-block-button, .wp-block-button__link',
),
'ogf_site_title' => array(
'label' => esc_html__( 'Site Title Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your site title.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__branding',
'selectors' => '#site-title, .site-title, #site-title a, .site-title a, #site-logo, #site-logo a, #logo, #logo a, .logo, .logo a, .wp-block-site-title, .wp-block-site-title a',
),
'ogf_site_description' => array(
'label' => esc_html__( 'Site Description Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your site description.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__branding',
'selectors' => '#site-description, .site-description, #site-tagline, .site-tagline, .wp-block-site-tagline',
),
'ogf_site_navigation' => array(
'label' => esc_html__( 'Navigation Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your site navigation.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__navigation',
'selectors' => '.menu, .page_item a, .menu-item a, .wp-block-navigation, .wp-block-navigation-item__content',
),
'ogf_post_page_content' => array(
'label' => esc_html__( 'Content Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your post and page content.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content, .entry-content p, .post-content, .page-content, .post-excerpt, .entry-summary, .entry-excerpt, .excerpt, .excerpt p, .type-post p, .type-page p, .wp-block-post-content, .wp-block-post-excerpt, .elementor, .elementor p',
),
'ogf_post_page_h1' => array(
'label' => esc_html__( 'Title and H1 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your title and H1 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.wp-block-post-title, .wp-block-post-title a, .entry-title, .entry-title a, .post-title, .post-title a, .page-title, .entry-content h1, #content h1, .type-post h1, .type-page h1, .elementor h1',
),
'ogf_post_page_h2' => array(
'label' => esc_html__( 'H2 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your H2 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content h2, .post-content h2, .page-content h2, #content h2, .type-post h2, .type-page h2, .elementor h2',
),
'ogf_post_page_h3' => array(
'label' => esc_html__( 'H3 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your H3 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content h3, .post-content h3, .page-content h3, #content h3, .type-post h3, .type-page h3, .elementor h3',
),
'ogf_post_page_h4' => array(
'label' => esc_html__( 'H4 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your H4 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content h4, .post-content h4, .page-content h4, #content h4, .type-post h4, .type-page h4, .elementor h4',
),
'ogf_post_page_h5' => array(
'label' => esc_html__( 'H5 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your H5 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content h5, .post-content h5, .page-content h5, #content h5, .type-post h5, .type-page h5, .elementor h5',
),
'ogf_post_page_h6' => array(
'label' => esc_html__( 'H6 Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your H6 headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => '.entry-content h6, .post-content h6, .page-content h6, #content h6, .type-post h6, .type-page h6, .elementor h6',
),
'ogf_lists' => array(
'label' => esc_html__( 'Lists', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for lists.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => 'ul, ol, ul li, ol li, li',
),
'ogf_blockquotes' => array(
'label' => esc_html__( 'Quotes', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for quotations.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__content',
'selectors' => 'blockquote, .wp-block-quote, blockquote p, .wp-block-quote p',
),
'ogf_sidebar_headings' => array(
'label' => esc_html__( 'Headings Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your sidebar headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__sidebar',
'selectors' => '.widget-title, .widget-area h1, .widget-area h2, .widget-area h3, .widget-area h4, .widget-area h5, .widget-area h6, #secondary h1, #secondary h2, #secondary h3, #secondary h4, #secondary h5, #secondary h6',
),
'ogf_sidebar_content' => array(
'label' => esc_html__( 'Content Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your sidebar content.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__sidebar',
'selectors' => '.widget-area, .widget, .sidebar, #sidebar, #secondary',
),
'ogf_footer_headings' => array(
'label' => esc_html__( 'Headings Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your footer headings.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__footer',
'selectors' => 'footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, .footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6, #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6',
),
'ogf_footer_content' => array(
'label' => esc_html__( 'Content Typography', 'olympus-google-fonts' ),
'description' => esc_html__( 'Select and configure the font for your footer content.', 'olympus-google-fonts' ),
'section' => 'ogf_advanced__footer',
'selectors' => 'footer, #footer, .footer, .site-footer',
),
);
return apply_filters( 'ogf_elements', $elements );
}
/**
* Return an array of all available Google Fonts.
*
* @return array All Google Fonts.
*/
function ogf_fonts_array() {
$fonts = array();
$fonts_json = file_get_contents( OGF_DIR_PATH . '/blocks/src/google-fonts/fonts.json' );
// Change the object to a multidimensional array.
$fonts_array = json_decode( $fonts_json, true );
// Format the variants array for easier use.
foreach ( $fonts_array as $key => $font ) {
$fonts_array[ $key ] = $font;
}
// Change the array key to the font's ID.
foreach ( $fonts_array as $font ) {
$id = trim( strtolower( str_replace( ' ', '-', $font['f'] ) ) );
$fonts[ $id ] = $font;
$fonts[ $id ]['v'] = array_flip( $fonts[ $id ]['v'] );
}
return $fonts;
}
/**
* Return a array of custom fonts.
*
* @return array User uploaded fonts.
*/
function ogf_custom_fonts() {
return OGF_Fonts_Taxonomy::get_fonts();
}
/**
* Return a array of custom fonts.
* Without duplicate font-family.
*
* @return array User uploaded fonts.
*/
function ogf_custom_fonts_unique() {
$fonts = OGF_Fonts_Taxonomy::get_fonts();
$new_fonts = [];
foreach ( $fonts as $key => $value ) {
if ( $value['family'] ) {
$new_fonts[$key] = $value['family'];
} else {
$new_fonts[$key] = $value['label'];
}
}
return array_unique( $new_fonts );
}
/**
* Return a array of typekit fonts.
*
* @return array Typekit fonts.
*/
function ogf_typekit_fonts() {
return OGF_Typekit::get_fonts();
}
/**
* Return a array of system fonts.
*
* @return array System fonts.
*/
function ogf_system_fonts() {
$system_fonts = array(
'arial' => array(
'id' => 'arial',
'label' => esc_html__( 'Arial', 'olympus-google-fonts' ),
'stack' => 'Arial, Helvetica Neue, Helvetica, sans-serif',
),
'calibri' => array(
'id' => 'calibri',
'label' => esc_html__( 'Calibri', 'olympus-google-fonts' ),
'stack' => 'Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif',
),
'century-gothic' => array(
'id' => 'century-gothic',
'label' => esc_html__( 'Century Gothic', 'olympus-google-fonts' ),
'stack' => 'Century Gothic, CenturyGothic, AppleGothic, sans-serif',
),
'consolas' => array(
'id' => 'consolas',
'label' => esc_html__( 'Consolas', 'olympus-google-fonts' ),
'stack' => 'Consolas, monaco, monospace',
),
'courier-new' => array(
'id' => 'courier-new',
'label' => esc_html__( 'Courier New', 'olympus-google-fonts' ),
'stack' => 'Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace',
),
'helvetica' => array(
'id' => 'helvetica',
'label' => esc_html__( 'Helvetica Neue', 'olympus-google-fonts' ),
'stack' => 'Helvetica Neue, Helvetica, Arial, sans-serif',
),
'georgia' => array(
'id' => 'georgia',
'label' => esc_html__( 'Georgia', 'olympus-google-fonts' ),
'stack' => 'Georgia, Times, Times New Roman, serif',
),
'futura' => array(
'id' => 'futura',
'label' => esc_html__( 'Futura', 'olympus-google-fonts' ),
'stack' => 'Futura, Trebuchet MS, Arial, sans-serif',
),
'lucida-grande' => array(
'id' => 'lucida-grande',
'label' => esc_html__( 'Lucida Grande', 'olympus-google-fonts' ),
'stack' => 'Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif',
),
'segoe-ui' => array(
'id' => 'segoe-ui',
'label' => esc_html__( 'Segoe UI', 'olympus-google-fonts' ),
'stack' => 'Segoe UI, Frutiger, Frutiger Linotype, Dejavu Sans, Helvetica Neue, Arial, sans-serif',
),
'tahoma' => array(
'id' => 'tahoma',
'label' => esc_html__( 'Tahoma', 'olympus-google-fonts' ),
'stack' => 'Tahoma, Verdana, Segoe, sans-serif',
),
'times-new-roman' => array(
'id' => 'times-new-roman',
'label' => esc_html__( 'Times New Roman', 'olympus-google-fonts' ),
'stack' => 'TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif',
),
'trebuchet' => array(
'id' => 'trebuchet',
'label' => esc_html__( 'Trebuchet MS', 'olympus-google-fonts' ),
'stack' => 'Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif',
),
'palatino' => array(
'id' => 'palatino',
'label' => esc_html__( 'Palatino', 'olympus-google-fonts' ),
'stack' => 'Palatino, Palatino Linotype, Palatino LT STD, Book Antiqua, Georgia, serif',
),
'verdana' => array(
'id' => 'verdana',
'label' => esc_html__( 'Verdana', 'olympus-google-fonts' ),
'stack' => 'Verdana, Geneva, sans-serif',
),
);
$filtered_system_fonts = apply_filters( 'ogf_system_fonts', $system_fonts );
return $filtered_system_fonts;
}
/**
* Return the full range of font variants.
*
* @return array Font variants.
*/
function ogf_font_variants() {
return array(
'0' => esc_html__( '- Default -', 'olympus-google-fonts' ),
'100' => esc_html__( 'Thin', 'olympus-google-fonts' ),
'200' => esc_html__( 'Extra Light', 'olympus-google-fonts' ),
'300' => esc_html__( 'Light', 'olympus-google-fonts' ),
'400' => esc_html__( 'Normal', 'olympus-google-fonts' ),
'500' => esc_html__( 'Medium', 'olympus-google-fonts' ),
'600' => esc_html__( 'Semi Bold', 'olympus-google-fonts' ),
'700' => esc_html__( 'Bold', 'olympus-google-fonts' ),
'800' => esc_html__( 'Extra Bold', 'olympus-google-fonts' ),
'900' => esc_html__( 'Ultra Bold', 'olympus-google-fonts' ),
'100i' => esc_html__( 'Thin Italic', 'olympus-google-fonts' ),
'200i' => esc_html__( 'Extra Light Italic', 'olympus-google-fonts' ),
'300i' => esc_html__( 'Light Italic', 'olympus-google-fonts' ),
'400i' => esc_html__( 'Normal Italic', 'olympus-google-fonts' ),
'500i' => esc_html__( 'Medium Italic', 'olympus-google-fonts' ),
'600i' => esc_html__( 'Semi Bold Italic', 'olympus-google-fonts' ),
'700i' => esc_html__( 'Bold Italic', 'olympus-google-fonts' ),
'800i' => esc_html__( 'Extra Bold Italic', 'olympus-google-fonts' ),
'900i' => esc_html__( 'Ultra Bold Italic', 'olympus-google-fonts' ),
);
}
/**
* Check if a font is a system font (not Google Font).
*
* @param string $font_id The ID of the font to check.
* @return bool
*/
function ogf_is_system_font( $font_id ) {
if ( ! is_string( $font_id ) ) {
return false;
}
if ( strpos( $font_id, 'sf-' ) === 0 ) {
return true;
}
return false;
}
/**
* Check if a font is a custom font (not Google Font).
*
* @param string $font_id The ID of the font to check.
* @return bool
*/
function ogf_is_custom_font( $font_id ) {
if ( ! is_string( $font_id ) ) {
return false;
}
if ( strpos( $font_id, 'cf-' ) === 0 ) {
return true;
}
return false;
}
/**
* Check if a font is a Typekit font (not Google Font).
*
* @param string $font_id The ID of the font to check.
* @return bool
*/
function ogf_is_typekit_font( $font_id ) {
if ( ! is_string( $font_id ) ) {
return false;
}
if ( strpos( $font_id, 'tk-' ) === 0 ) {
return true;
}
return false;
}
/**
* Check if a font is a Google font.
*
* @param string $font_id The ID of the font to check.
* @return bool
*/
function ogf_is_google_font( $font_id ) {
if ( ! is_string( $font_id ) ) {
return false;
}
if ( array_key_exists( $font_id, OGF_Fonts::$google_fonts ) ) {
return true;
}
return false;
}
/**
* Check if WooCommerce is activated.
*/
function ogf_is_woocommerce_activated() {
if ( class_exists( 'woocommerce' ) ) {
return true;
} else {
return false;
}
}
/**
* Check if MemberPress Courses is activated.
*/
function ogf_is_memberpress_courses_activated() {
include_once ABSPATH . 'wp-admin/includes/plugin.php';
if ( is_plugin_active( 'memberpress-courses/main.php' ) ) {
return true;
} else {
return false;
}
}
/**
* Check if Fonts Plugin Pro is activated.
*/
function ogf_is_fpp_activated() {
if ( function_exists( 'fonts_plugin_pro_init' ) ) {
return true;
} else {
return false;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists