Submit
Path:
~
/
home
/
caidadmin
/
dev.technology.sca-caid.org
/
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 = wp_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 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 = 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
665045d4f306b
---
0755
.htaccess
203 bytes
0444
admin-filters.php
6740 bytes
0644
admin.php
3556 bytes
0644
ajax-actions.php
146997 bytes
0644
bookmark.php
11713 bytes
0644
class-automatic-upgrader-skin.php
3667 bytes
0644
class-bulk-plugin-upgrader-skin.php
2065 bytes
0644
class-bulk-theme-upgrader-skin.php
2099 bytes
0644
class-bulk-upgrader-skin.php
5568 bytes
0644
class-core-upgrader.php
15006 bytes
0644
class-custom-background.php
20810 bytes
0644
class-custom-image-header.php
48113 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
27203 bytes
0644
class-language-pack-upgrader-skin.php
2477 bytes
0644
class-language-pack-upgrader.php
14922 bytes
0644
class-pclzip.php
196717 bytes
0644
class-plugin-installer-skin.php
11864 bytes
0644
class-plugin-upgrader-skin.php
3277 bytes
0644
class-plugin-upgrader.php
21462 bytes
0644
class-theme-installer-skin.php
12496 bytes
0644
class-theme-upgrader-skin.php
4085 bytes
0644
class-theme-upgrader.php
24343 bytes
0644
class-walker-category-checklist.php
4870 bytes
0644
class-walker-nav-menu-checklist.php
5629 bytes
0644
class-walker-nav-menu-edit.php
13200 bytes
0644
class-wp-ajax-upgrader-skin.php
3613 bytes
0644
class-wp-application-passwords-list-table.php
6847 bytes
0644
class-wp-automatic-updater.php
50605 bytes
0644
class-wp-comments-list-table.php
30893 bytes
0644
class-wp-community-events.php
18465 bytes
0644
class-wp-debug-data.php
60175 bytes
0644
class-wp-filesystem-base.php
23303 bytes
0644
class-wp-filesystem-direct.php
16641 bytes
0644
class-wp-filesystem-ftpext.php
20140 bytes
0644
class-wp-filesystem-ftpsockets.php
16886 bytes
0644
class-wp-filesystem-ssh2.php
22013 bytes
0644
class-wp-importer.php
7415 bytes
0644
class-wp-internal-pointers.php
4550 bytes
0644
class-wp-links-list-table.php
8448 bytes
0644
class-wp-list-table-compat.php
1497 bytes
0644
class-wp-list-table.php
41536 bytes
0644
class-wp-media-list-table.php
24445 bytes
0644
class-wp-ms-sites-list-table.php
20896 bytes
0644
class-wp-ms-themes-list-table.php
27720 bytes
0644
class-wp-ms-users-list-table.php
14679 bytes
0644
class-wp-plugin-install-list-table.php
23869 bytes
0644
class-wp-plugins-list-table.php
49591 bytes
0644
class-wp-post-comments-list-table.php
1472 bytes
0644
class-wp-posts-list-table.php
60387 bytes
0644
class-wp-privacy-data-export-requests-list-table.php
5535 bytes
0644
class-wp-privacy-data-removal-requests-list-table.php
5692 bytes
0644
class-wp-privacy-policy-content.php
32286 bytes
0644
class-wp-privacy-requests-table.php
13802 bytes
0644
class-wp-screen.php
37028 bytes
0644
class-wp-site-health-auto-updates.php
13346 bytes
0644
class-wp-site-health.php
92103 bytes
0644
class-wp-site-icon.php
6195 bytes
0644
class-wp-terms-list-table.php
19604 bytes
0644
class-wp-theme-install-list-table.php
15742 bytes
0644
class-wp-themes-list-table.php
10189 bytes
0644
class-wp-upgrader-skin.php
6468 bytes
0644
class-wp-upgrader-skins.php
1477 bytes
0644
class-wp-upgrader.php
36729 bytes
0644
class-wp-users-list-table.php
18444 bytes
0644
comment.php
6068 bytes
0644
continents-cities.php
20468 bytes
0644
credits.php
5937 bytes
0644
dashboard.php
66227 bytes
0644
deprecated.php
40963 bytes
0644
edit-tag-messages.php
1478 bytes
0644
export.php
23954 bytes
0644
file.php
89023 bytes
0644
image-edit.php
36437 bytes
0644
image.php
38158 bytes
0644
import.php
6654 bytes
0644
list-table.php
3349 bytes
0644
media.php
117543 bytes
0644
menu.php
9151 bytes
0644
meta-boxes.php
63722 bytes
0644
misc.php
44032 bytes
0644
ms-admin-filters.php
1376 bytes
0644
ms-deprecated.php
3031 bytes
0644
ms.php
34155 bytes
0644
nav-menu.php
46748 bytes
0644
network.php
25119 bytes
0644
noop.php
1086 bytes
0644
options.php
4129 bytes
0644
plugin-install.php
34564 bytes
0644
plugin.php
88600 bytes
0644
post.php
77678 bytes
0644
privacy-tools.php
33460 bytes
0644
revision.php
16141 bytes
0644
schema.php
42059 bytes
0644
screen.php
6355 bytes
0644
taxonomy.php
8281 bytes
0644
template.php
94090 bytes
0644
theme-install.php
6586 bytes
0644
theme.php
46296 bytes
0644
translation-install.php
8870 bytes
0644
update-core.php
64203 bytes
0644
update.php
34939 bytes
0644
upgrade.php
109416 bytes
0644
user.php
20490 bytes
0644
widgets.php
10793 bytes
0644
N4ST4R_ID | Naxtarrr