Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/wp-includes      ( Reset | Go to )
File Name: fonts.php
Edit
<?php
/**
 * Fonts functions.
 *
 * @package    WordPress
 * @subpackage Fonts
 * @since      6.4.0
 */

/**
 * Generates and prints font-face styles for given fonts or theme.json fonts.
 *
 * @since 6.4.0
 *
 * @param array[][] $fonts {
 *     Optional. The font-families and their font faces. Default empty array.
 *
 *     @type array ...$0 {
 *         An indexed or associative (keyed by font-family) array of font variations for this font-family.
 *         Each font face has the following structure.
 *
 *         @type array ...$0 {
 *             The font face properties.
 *
 *             @type string          $font-family             The font-family property.
 *             @type string|string[] $src                     The URL(s) to each resource containing the font data.
 *             @type string          $font-style              Optional. The font-style property. Default 'normal'.
 *             @type string          $font-weight             Optional. The font-weight property. Default '400'.
 *             @type string          $font-display            Optional. The font-display property. Default 'fallback'.
 *             @type string          $ascent-override         Optional. The ascent-override property.
 *             @type string          $descent-override        Optional. The descent-override property.
 *             @type string          $font-stretch            Optional. The font-stretch property.
 *             @type string          $font-variant            Optional. The font-variant property.
 *             @type string          $font-feature-settings   Optional. The font-feature-settings property.
 *             @type string          $font-variation-settings Optional. The font-variation-settings property.
 *             @type string          $line-gap-override       Optional. The line-gap-override property.
 *             @type string          $size-adjust             Optional. The size-adjust property.
 *             @type string          $unicode-range           Optional. The unicode-range property.
 *         }
 *     }
 * }
 */
function wp_print_font_faces$fonts = array() ) {

    if ( empty( 
$fonts ) ) {
        
$fonts WP_Font_Face_Resolver::get_fonts_from_theme_json();
    }

    if ( empty( 
$fonts ) ) {
        return;
    }

    
$wp_font_face = new WP_Font_Face();
    
$wp_font_face->generate_and_print$fonts );
}

/**
 * Generates and prints font-face styles defined the the theme style variations.
 *
 * @since 6.7.0
 *
 */
function wp_print_font_faces_from_style_variations() {
    
$fonts WP_Font_Face_Resolver::get_fonts_from_style_variations();

    if ( empty( 
$fonts ) ) {
        return;
    }

    
wp_print_font_faces$fonts );
}

/**
 * Registers a new font collection in the font library.
 *
 * See {@link https://schemas.wp.org/trunk/font-collection.json} for the schema
 * the font collection data must adhere to.
 *
 * @since 6.5.0
 *
 * @param string $slug Font collection slug. May only contain alphanumeric characters, dashes,
 *                     and underscores. See sanitize_title().
 * @param array  $args {
 *     Font collection data.
 *
 *     @type string       $name          Required. Name of the font collection shown in the Font Library.
 *     @type string       $description   Optional. A short descriptive summary of the font collection. Default empty.
 *     @type array|string $font_families Required. Array of font family definitions that are in the collection,
 *                                       or a string containing the path or URL to a JSON file containing the font collection.
 *     @type array        $categories    Optional. Array of categories, each with a name and slug, that are used by the
 *                                       fonts in the collection. Default empty.
 * }
 * @return WP_Font_Collection|WP_Error A font collection if it was registered
 *                                     successfully, or WP_Error object on failure.
 */
function wp_register_font_collectionstring $slug, array $args ) {
    return 
WP_Font_Library::get_instance()->register_font_collection$slug$args );
}

/**
 * Unregisters a font collection from the Font Library.
 *
 * @since 6.5.0
 *
 * @param string $slug Font collection slug.
 * @return bool True if the font collection was unregistered successfully, else false.
 */
function wp_unregister_font_collectionstring $slug ) {
    return 
WP_Font_Library::get_instance()->unregister_font_collection$slug );
}

/**
 * Retrieves font uploads directory information.
 *
 * Same as wp_font_dir() but "light weight" as it doesn't attempt to create the font uploads directory.
 * Intended for use in themes, when only 'basedir' and 'baseurl' are needed, generally in all cases
 * when not uploading files.
 *
 * @since 6.5.0
 *
 * @see wp_font_dir()
 *
 * @return array See wp_font_dir() for description.
 */
function wp_get_font_dir() {
    return 
wp_font_dirfalse );
}

/**
 * Returns an array containing the current fonts upload directory's path and URL.
 *
 * @since 6.5.0
 *
 * @param bool $create_dir Optional. Whether to check and create the font uploads directory. Default true.
 * @return array {
 *     Array of information about the font upload directory.
 *
 *     @type string       $path    Base directory and subdirectory or full path to the fonts upload directory.
 *     @type string       $url     Base URL and subdirectory or absolute URL to the fonts upload directory.
 *     @type string       $subdir  Subdirectory
 *     @type string       $basedir Path without subdir.
 *     @type string       $baseurl URL path without subdir.
 *     @type string|false $error   False or error message.
 * }
 */
function wp_font_dir$create_dir true ) {
    
/*
     * Allow extenders to manipulate the font directory consistently.
     *
     * Ensures the upload_dir filter is fired both when calling this function
     * directly and when the upload directory is filtered in the Font Face
     * REST API endpoint.
     */
    
add_filter'upload_dir''_wp_filter_font_directory' );
    
$font_dir wp_upload_dirnull$create_dirfalse );
    
remove_filter'upload_dir''_wp_filter_font_directory' );
    return 
$font_dir;
}

/**
 * A callback function for use in the {@see 'upload_dir'} filter.
 *
 * This function is intended for internal use only and should not be used by plugins and themes.
 * Use wp_get_font_dir() instead.
 *
 * @since 6.5.0
 * @access private
 *
 * @param string $font_dir The font directory.
 * @return string The modified font directory.
 */
function _wp_filter_font_directory$font_dir ) {
    if ( 
doing_filter'font_dir' ) ) {
        
// Avoid an infinite loop.
        
return $font_dir;
    }

    
$font_dir = array(
        
'path'    => untrailingslashit$font_dir['basedir'] ) . '/fonts',
        
'url'     => untrailingslashit$font_dir['baseurl'] ) . '/fonts',
        
'subdir'  => '',
        
'basedir' => untrailingslashit$font_dir['basedir'] ) . '/fonts',
        
'baseurl' => untrailingslashit$font_dir['baseurl'] ) . '/fonts',
        
'error'   => false,
    );

    
/**
     * Filters the fonts directory data.
     *
     * This filter allows developers to modify the fonts directory data.
     *
     * @since 6.5.0
     *
     * @param array $font_dir {
     *     Array of information about the font upload directory.
     *
     *     @type string       $path    Base directory and subdirectory or full path to the fonts upload directory.
     *     @type string       $url     Base URL and subdirectory or absolute URL to the fonts upload directory.
     *     @type string       $subdir  Subdirectory
     *     @type string       $basedir Path without subdir.
     *     @type string       $baseurl URL path without subdir.
     *     @type string|false $error   False or error message.
     * }
     */
    
return apply_filters'font_dir'$font_dir );
}

/**
 * Deletes child font faces when a font family is deleted.
 *
 * @access private
 * @since 6.5.0
 *
 * @param int     $post_id Post ID.
 * @param WP_Post $post    Post object.
 */
function _wp_after_delete_font_family$post_id$post ) {
    if ( 
'wp_font_family' !== $post->post_type ) {
        return;
    }

    
$font_faces get_children(
        array(
            
'post_parent' => $post_id,
            
'post_type'   => 'wp_font_face',
        )
    );

    foreach ( 
$font_faces as $font_face ) {
        
wp_delete_post$font_face->IDtrue );
    }
}

/**
 * Deletes associated font files when a font face is deleted.
 *
 * @access private
 * @since 6.5.0
 *
 * @param int     $post_id Post ID.
 * @param WP_Post $post    Post object.
 */
function _wp_before_delete_font_face$post_id$post ) {
    if ( 
'wp_font_face' !== $post->post_type ) {
        return;
    }

    
$font_files get_post_meta$post_id'_wp_font_face_file'false );
    
$font_dir   untrailingslashitwp_get_font_dir()['basedir'] );

    foreach ( 
$font_files as $font_file ) {
        
wp_delete_file$font_dir '/' $font_file );
    }
}

/**
 * Register the default font collections.
 *
 * @access private
 * @since 6.5.0
 */
function _wp_register_default_font_collections() {
    
wp_register_font_collection(
        
'google-fonts',
        array(
            
'name'          => _x'Google Fonts''font collection name' ),
            
'description'   => __'Install from Google Fonts. Fonts are copied to and served from your site.' ),
            
'font_families' => 'https://s.w.org/images/fonts/wp-6.7/collections/google-fonts-with-preview.json',
            
'categories'    => array(
                array(
                    
'name' => _x'Sans Serif''font category' ),
                    
'slug' => 'sans-serif',
                ),
                array(
                    
'name' => _x'Display''font category' ),
                    
'slug' => 'display',
                ),
                array(
                    
'name' => _x'Serif''font category' ),
                    
'slug' => 'serif',
                ),
                array(
                    
'name' => _x'Handwriting''font category' ),
                    
'slug' => 'handwriting',
                ),
                array(
                    
'name' => _x'Monospace''font category' ),
                    
'slug' => 'monospace',
                ),
            ),
        )
    );
}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL