Submit
Path:
~
/
home
/
getwphos
/
www
/
preferredexotics
/
wp-admin
/
includes
/
File Content:
class-wp-site-icon.php
<?php /** * Administration API: WP_Site_Icon class * * @package WordPress * @subpackage Administration * @since 4.3.0 */ /** * Core class used to implement site icon functionality. * * @since 4.3.0 */ #[AllowDynamicProperties] class WP_Site_Icon { /** * The minimum size of the site icon. * * @since 4.3.0 * @var int */ public $min_size = 512; /** * The size to which to crop the image so that we can display it in the UI nicely. * * @since 4.3.0 * @var int */ public $page_crop = 512; /** * List of site icon sizes. * * @since 4.3.0 * @var int[] */ public $site_icon_sizes = array( /* * Square, medium sized tiles for IE11+. * * See https://msdn.microsoft.com/library/dn455106(v=vs.85).aspx */ 270, /* * App icon for Android/Chrome. * * @link https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android * @link https://developer.chrome.com/multidevice/android/installtohomescreen */ 192, /* * App icons up to iPhone 6 Plus. * * See https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html */ 180, // Our regular Favicon. 32, ); /** * Registers actions and filters. * * @since 4.3.0 */ public function __construct() { add_action( 'delete_attachment', array( $this, 'delete_attachment_data' ) ); add_filter( 'get_post_metadata', array( $this, 'get_post_metadata' ), 10, 4 ); } /** * Creates an attachment 'object'. * * @since 4.3.0 * @deprecated 6.5.0 * * @param string $cropped Cropped image URL. * @param int $parent_attachment_id Attachment ID of parent image. * @return array An array with attachment object data. */ public function create_attachment_object( $cropped, $parent_attachment_id ) { _deprecated_function( __METHOD__, '6.5.0', 'wp_copy_parent_attachment_properties()' ); $parent = get_post( $parent_attachment_id ); $parent_url = wp_get_attachment_url( $parent->ID ); $url = str_replace( wp_basename( $parent_url ), wp_basename( $cropped ), $parent_url ); $size = wp_getimagesize( $cropped ); $image_type = ( $size ) ? $size['mime'] : 'image/jpeg'; $attachment = array( 'ID' => $parent_attachment_id, 'post_title' => wp_basename( $cropped ), 'post_content' => $url, 'post_mime_type' => $image_type, 'guid' => $url, 'context' => 'site-icon', ); return $attachment; } /** * Inserts an attachment. * * @since 4.3.0 * * @param array $attachment An array with attachment object data. * @param string $file File path of the attached image. * @return int Attachment ID. */ public function insert_attachment( $attachment, $file ) { $attachment_id = wp_insert_attachment( $attachment, $file ); $metadata = wp_generate_attachment_metadata( $attachment_id, $file ); /** * Filters the site icon attachment metadata. * * @since 4.3.0 * * @see wp_generate_attachment_metadata() * * @param array $metadata Attachment metadata. */ $metadata = apply_filters( 'site_icon_attachment_metadata', $metadata ); wp_update_attachment_metadata( $attachment_id, $metadata ); return $attachment_id; } /** * Adds additional sizes to be made when creating the site icon images. * * @since 4.3.0 * * @param array[] $sizes Array of arrays containing information for additional sizes. * @return array[] Array of arrays containing additional image sizes. */ public function additional_sizes( $sizes = array() ) { $only_crop_sizes = array(); /** * Filters the different dimensions that a site icon is saved in. * * @since 4.3.0 * * @param int[] $site_icon_sizes Array of sizes available for the Site Icon. */ $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes ); // Use a natural sort of numbers. natsort( $this->site_icon_sizes ); $this->site_icon_sizes = array_reverse( $this->site_icon_sizes ); // Ensure that we only resize the image into sizes that allow cropping. foreach ( $sizes as $name => $size_array ) { if ( isset( $size_array['crop'] ) ) { $only_crop_sizes[ $name ] = $size_array; } } foreach ( $this->site_icon_sizes as $size ) { if ( $size < $this->min_size ) { $only_crop_sizes[ 'site_icon-' . $size ] = array( 'width ' => $size, 'height' => $size, 'crop' => true, ); } } return $only_crop_sizes; } /** * Adds Site Icon sizes to the array of image sizes on demand. * * @since 4.3.0 * * @param string[] $sizes Array of image size names. * @return string[] Array of image size names. */ public function intermediate_image_sizes( $sizes = array() ) { /** This filter is documented in wp-admin/includes/class-wp-site-icon.php */ $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes ); foreach ( $this->site_icon_sizes as $size ) { $sizes[] = 'site_icon-' . $size; } return $sizes; } /** * Deletes the Site Icon when the image file is deleted. * * @since 4.3.0 * * @param int $post_id Attachment ID. */ public function delete_attachment_data( $post_id ) { $site_icon_id = (int) get_option( 'site_icon' ); if ( $site_icon_id && $post_id === $site_icon_id ) { delete_option( 'site_icon' ); } } /** * Adds custom image sizes when meta data for an image is requested, that happens to be used as Site Icon. * * @since 4.3.0 * * @param null|array|string $value The value get_metadata() should return a single metadata value, or an * array of values. * @param int $post_id Post ID. * @param string $meta_key Meta key. * @param bool $single Whether to return only the first value of the specified `$meta_key`. * @return array|null|string The attachment metadata value, array of values, or null. */ public function get_post_metadata( $value, $post_id, $meta_key, $single ) { if ( $single && '_wp_attachment_backup_sizes' === $meta_key ) { $site_icon_id = (int) get_option( 'site_icon' ); if ( $post_id === $site_icon_id ) { add_filter( 'intermediate_image_sizes', array( $this, 'intermediate_image_sizes' ) ); } } return $value; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
admin-filters.php
8034 bytes
0644
admin.php
3628 bytes
0644
ajax-actions.php
151895 bytes
0644
bookmark.php
11725 bytes
0644
class-automatic-upgrader-skin.php
3663 bytes
0644
class-bulk-plugin-upgrader-skin.php
2590 bytes
0644
class-bulk-theme-upgrader-skin.php
2660 bytes
0644
class-bulk-upgrader-skin.php
6753 bytes
0644
class-core-upgrader.php
15191 bytes
0644
class-custom-background.php
21685 bytes
0644
class-custom-image-header.php
49287 bytes
0644
class-file-upload-upgrader.php
4163 bytes
0644
class-ftp-pure.php
5426 bytes
0644
class-ftp-sockets.php
8479 bytes
0644
class-ftp.php
27370 bytes
0644
class-language-pack-upgrader-skin.php
2870 bytes
0644
class-language-pack-upgrader.php
15561 bytes
0644
class-pclzip.php
196695 bytes
0644
class-plugin-installer-skin.php
12053 bytes
0644
class-plugin-upgrader-skin.php
3278 bytes
0644
class-plugin-upgrader.php
23444 bytes
0644
class-theme-installer-skin.php
13078 bytes
0644
class-theme-upgrader-skin.php
4176 bytes
0644
class-theme-upgrader.php
26904 bytes
0644
class-walker-category-checklist.php
5091 bytes
0644
class-walker-nav-menu-checklist.php
5707 bytes
0644
class-walker-nav-menu-edit.php
14263 bytes
0644
class-wp-ajax-upgrader-skin.php
4193 bytes
0644
class-wp-application-passwords-list-table.php
6949 bytes
0644
class-wp-automatic-updater.php
61902 bytes
0644
class-wp-comments-list-table.php
33179 bytes
0644
class-wp-community-events.php
18681 bytes
0644
class-wp-debug-data.php
67592 bytes
0644
class-wp-filesystem-base.php
24410 bytes
0644
class-wp-filesystem-direct.php
18143 bytes
0644
class-wp-filesystem-ftpext.php
23255 bytes
0644
class-wp-filesystem-ftpsockets.php
18479 bytes
0644
class-wp-filesystem-ssh2.php
23310 bytes
0644
class-wp-importer.php
7512 bytes
0644
class-wp-internal-pointers.php
4616 bytes
0644
class-wp-links-list-table.php
9241 bytes
0644
class-wp-list-table-compat.php
1497 bytes
0644
class-wp-list-table.php
53004 bytes
0644
class-wp-media-list-table.php
25899 bytes
0644
class-wp-ms-sites-list-table.php
22133 bytes
0644
class-wp-ms-themes-list-table.php
28438 bytes
0644
class-wp-ms-users-list-table.php
15719 bytes
0644
class-wp-plugin-install-list-table.php
25127 bytes
0644
class-wp-plugins-list-table.php
57794 bytes
0644
class-wp-post-comments-list-table.php
1453 bytes
0644
class-wp-posts-list-table.php
65190 bytes
0644
class-wp-privacy-data-export-requests-list-table.php
5563 bytes
0644
class-wp-privacy-data-removal-requests-list-table.php
5715 bytes
0644
class-wp-privacy-policy-content.php
32665 bytes
0644
class-wp-privacy-requests-table.php
14791 bytes
0644
class-wp-screen.php
37348 bytes
0644
class-wp-site-health-auto-updates.php
14337 bytes
0644
class-wp-site-health.php
124812 bytes
0644
class-wp-site-icon.php
6414 bytes
0644
class-wp-terms-list-table.php
21232 bytes
0644
class-wp-theme-install-list-table.php
15599 bytes
0644
class-wp-themes-list-table.php
10388 bytes
0644
class-wp-upgrader-skin.php
7110 bytes
0644
class-wp-upgrader-skins.php
1477 bytes
0644
class-wp-upgrader.php
47977 bytes
0644
class-wp-users-list-table.php
19058 bytes
0644
comment.php
6231 bytes
0644
continents-cities.php
20540 bytes
0644
credits.php
5870 bytes
0644
dashboard.php
69817 bytes
0644
deprecated.php
41776 bytes
0644
edit-tag-messages.php
1478 bytes
0644
export.php
25862 bytes
0644
file.php
98244 bytes
0644
image-edit.php
44157 bytes
0644
image.php
42736 bytes
0644
import.php
6617 bytes
0644
list-table.php
3802 bytes
0644
media.php
119100 bytes
0644
menu.php
9618 bytes
0644
meta-boxes.php
65886 bytes
0644
misc.php
45804 bytes
0644
ms-admin-filters.php
1296 bytes
0644
ms-deprecated.php
3770 bytes
0644
ms.php
34337 bytes
0644
nav-menu.php
50017 bytes
0644
network.php
26983 bytes
0644
noop.php
1148 bytes
0644
options.php
4290 bytes
0644
plugin-install.php
39110 bytes
0644
plugin.php
93519 bytes
0644
post.php
82324 bytes
0644
privacy-tools.php
33457 bytes
0644
revision.php
16569 bytes
0644
schema.php
45529 bytes
0644
screen.php
6378 bytes
0644
taxonomy.php
8423 bytes
0644
template.php
99287 bytes
0644
theme-install.php
6990 bytes
0644
theme.php
47742 bytes
0644
translation-install.php
11075 bytes
0644
update-core.php
70514 bytes
0644
update.php
34437 bytes
0644
upgrade.php
116018 bytes
0644
user.php
23532 bytes
0644
widgets.php
10912 bytes
0644
N4ST4R_ID | Naxtarrr