Submit
Path:
~
/
home
/
caidadmin
/
dev.scribes.sca-caid.org.old
/
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 */ 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 * * @param string $cropped Cropped image URL. * @param int $parent_attachment_id Attachment ID of parent image. * @return array Attachment object. */ public function create_attachment_object( $cropped, $parent_attachment_id ) { $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 = @getimagesize( $cropped ); $image_type = ( $size ) ? $size['mime'] : 'image/jpeg'; $object = array( 'ID' => $parent_attachment_id, 'post_title' => wp_basename( $cropped ), 'post_content' => $url, 'post_mime_type' => $image_type, 'guid' => $url, 'context' => 'site-icon', ); return $object; } /** * Inserts an attachment. * * @since 4.3.0 * * @param array $object Attachment object. * @param string $file File path of the attached image. * @return int Attachment ID */ public function insert_attachment( $object, $file ) { $attachment_id = wp_insert_attachment( $object, $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 = 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 string|array $single Meta value, or an array of values. * @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 = 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
6539 bytes
0644
admin.php
3556 bytes
0644
ajax-actions.php
140515 bytes
0644
bookmark.php
9540 bytes
0644
class-automatic-upgrader-skin.php
3229 bytes
0644
class-bulk-plugin-upgrader-skin.php
2073 bytes
0644
class-bulk-theme-upgrader-skin.php
2107 bytes
0644
class-bulk-upgrader-skin.php
5309 bytes
0644
class-core-upgrader.php
14599 bytes
0644
class-custom-background.php
20739 bytes
0644
class-custom-image-header.php
47885 bytes
0644
class-file-upload-upgrader.php
3384 bytes
0644
class-ftp-pure.php
5426 bytes
0644
class-ftp-sockets.php
8475 bytes
0644
class-ftp.php
27128 bytes
0644
class-language-pack-upgrader-skin.php
2384 bytes
0644
class-language-pack-upgrader.php
14741 bytes
0644
class-pclzip.php
196026 bytes
0644
class-plugin-installer-skin.php
4624 bytes
0644
class-plugin-upgrader-skin.php
2731 bytes
0644
class-plugin-upgrader.php
17655 bytes
0644
class-theme-installer-skin.php
4386 bytes
0644
class-theme-upgrader-skin.php
3702 bytes
0644
class-theme-upgrader.php
20587 bytes
0644
class-walker-category-checklist.php
4260 bytes
0644
class-walker-nav-menu-checklist.php
5088 bytes
0644
class-walker-nav-menu-edit.php
12267 bytes
0644
class-wp-ajax-upgrader-skin.php
3258 bytes
0644
class-wp-automatic-updater.php
36197 bytes
0644
class-wp-comments-list-table.php
28381 bytes
0644
class-wp-community-events.php
17817 bytes
0644
class-wp-debug-data.php
47017 bytes
0644
class-wp-filesystem-base.php
23114 bytes
0644
class-wp-filesystem-direct.php
16459 bytes
0644
class-wp-filesystem-ftpext.php
19986 bytes
0644
class-wp-filesystem-ftpsockets.php
16770 bytes
0644
class-wp-filesystem-ssh2.php
22068 bytes
0644
class-wp-importer.php
7546 bytes
0644
class-wp-internal-pointers.php
4539 bytes
0644
class-wp-links-list-table.php
7916 bytes
0644
class-wp-list-table-compat.php
1071 bytes
0644
class-wp-list-table.php
38728 bytes
0644
class-wp-media-list-table.php
23038 bytes
0644
class-wp-ms-sites-list-table.php
20362 bytes
0644
class-wp-ms-themes-list-table.php
21064 bytes
0644
class-wp-ms-users-list-table.php
14073 bytes
0644
class-wp-plugin-install-list-table.php
23178 bytes
0644
class-wp-plugins-list-table.php
35918 bytes
0644
class-wp-post-comments-list-table.php
1472 bytes
0644
class-wp-posts-list-table.php
58141 bytes
0644
class-wp-privacy-data-export-requests-list-table.php
4690 bytes
0644
class-wp-privacy-data-removal-requests-list-table.php
4858 bytes
0644
class-wp-privacy-policy-content.php
33206 bytes
0644
class-wp-privacy-requests-table.php
11362 bytes
0644
class-wp-screen.php
36640 bytes
0644
class-wp-site-health-auto-updates.php
13518 bytes
0644
class-wp-site-health.php
71618 bytes
0644
class-wp-site-icon.php
6159 bytes
0644
class-wp-terms-list-table.php
18978 bytes
0644
class-wp-theme-install-list-table.php
15373 bytes
0644
class-wp-themes-list-table.php
10168 bytes
0644
class-wp-upgrader-skin.php
5219 bytes
0644
class-wp-upgrader-skins.php
1477 bytes
0644
class-wp-upgrader.php
35737 bytes
0644
class-wp-users-list-table.php
17765 bytes
0644
comment.php
5885 bytes
0644
continents-cities.php
20750 bytes
0644
credits.php
5549 bytes
0644
dashboard.php
64557 bytes
0644
deprecated.php
40705 bytes
0644
edit-tag-messages.php
1437 bytes
0644
export.php
23610 bytes
0644
file.php
80752 bytes
0644
image-edit.php
35782 bytes
0644
image.php
34245 bytes
0644
import.php
6640 bytes
0644
list-table.php
3226 bytes
0644
media.php
113891 bytes
0644
menu.php
9149 bytes
0644
meta-boxes.php
62853 bytes
0644
misc.php
42172 bytes
0644
ms-admin-filters.php
1376 bytes
0644
ms-deprecated.php
3031 bytes
0644
ms.php
33707 bytes
0644
nav-menu.php
46646 bytes
0644
network.php
24462 bytes
0644
noop.php
1086 bytes
0644
options.php
4108 bytes
0644
plugin-install.php
34454 bytes
0644
plugin.php
84417 bytes
0644
post.php
75425 bytes
0644
privacy-tools.php
31491 bytes
0644
revision.php
15922 bytes
0644
schema.php
41762 bytes
0644
screen.php
6371 bytes
0644
taxonomy.php
7962 bytes
0644
template.php
90554 bytes
0644
theme-install.php
6568 bytes
0644
theme.php
34163 bytes
0644
translation-install.php
8773 bytes
0644
update-core.php
59356 bytes
0644
update.php
29091 bytes
0644
upgrade.php
104564 bytes
0644
user.php
18231 bytes
0644
widgets.php
10795 bytes
0644
N4ST4R_ID | Naxtarrr