Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu...
File: post.php
}
[6500] Fix | Delete
}
[6501] Fix | Delete
}
[6502] Fix | Delete
}
[6503] Fix | Delete
[6504] Fix | Delete
// Remove intermediate and backup images if there are any.
[6505] Fix | Delete
if ( isset( $meta['sizes'] ) && is_array( $meta['sizes'] ) ) {
[6506] Fix | Delete
$intermediate_dir = path_join( $uploadpath['basedir'], dirname( $file ) );
[6507] Fix | Delete
[6508] Fix | Delete
foreach ( $meta['sizes'] as $size => $sizeinfo ) {
[6509] Fix | Delete
$intermediate_file = str_replace( wp_basename( $file ), $sizeinfo['file'], $file );
[6510] Fix | Delete
[6511] Fix | Delete
if ( ! empty( $intermediate_file ) ) {
[6512] Fix | Delete
$intermediate_file = path_join( $uploadpath['basedir'], $intermediate_file );
[6513] Fix | Delete
[6514] Fix | Delete
if ( ! wp_delete_file_from_directory( $intermediate_file, $intermediate_dir ) ) {
[6515] Fix | Delete
$deleted = false;
[6516] Fix | Delete
}
[6517] Fix | Delete
}
[6518] Fix | Delete
}
[6519] Fix | Delete
}
[6520] Fix | Delete
[6521] Fix | Delete
if ( ! empty( $meta['original_image'] ) ) {
[6522] Fix | Delete
if ( empty( $intermediate_dir ) ) {
[6523] Fix | Delete
$intermediate_dir = path_join( $uploadpath['basedir'], dirname( $file ) );
[6524] Fix | Delete
}
[6525] Fix | Delete
[6526] Fix | Delete
$original_image = str_replace( wp_basename( $file ), $meta['original_image'], $file );
[6527] Fix | Delete
[6528] Fix | Delete
if ( ! empty( $original_image ) ) {
[6529] Fix | Delete
$original_image = path_join( $uploadpath['basedir'], $original_image );
[6530] Fix | Delete
[6531] Fix | Delete
if ( ! wp_delete_file_from_directory( $original_image, $intermediate_dir ) ) {
[6532] Fix | Delete
$deleted = false;
[6533] Fix | Delete
}
[6534] Fix | Delete
}
[6535] Fix | Delete
}
[6536] Fix | Delete
[6537] Fix | Delete
if ( is_array( $backup_sizes ) ) {
[6538] Fix | Delete
$del_dir = path_join( $uploadpath['basedir'], dirname( $meta['file'] ) );
[6539] Fix | Delete
[6540] Fix | Delete
foreach ( $backup_sizes as $size ) {
[6541] Fix | Delete
$del_file = path_join( dirname( $meta['file'] ), $size['file'] );
[6542] Fix | Delete
[6543] Fix | Delete
if ( ! empty( $del_file ) ) {
[6544] Fix | Delete
$del_file = path_join( $uploadpath['basedir'], $del_file );
[6545] Fix | Delete
[6546] Fix | Delete
if ( ! wp_delete_file_from_directory( $del_file, $del_dir ) ) {
[6547] Fix | Delete
$deleted = false;
[6548] Fix | Delete
}
[6549] Fix | Delete
}
[6550] Fix | Delete
}
[6551] Fix | Delete
}
[6552] Fix | Delete
[6553] Fix | Delete
if ( ! wp_delete_file_from_directory( $file, $uploadpath['basedir'] ) ) {
[6554] Fix | Delete
$deleted = false;
[6555] Fix | Delete
}
[6556] Fix | Delete
[6557] Fix | Delete
return $deleted;
[6558] Fix | Delete
}
[6559] Fix | Delete
[6560] Fix | Delete
/**
[6561] Fix | Delete
* Retrieves attachment metadata for attachment ID.
[6562] Fix | Delete
*
[6563] Fix | Delete
* @since 2.1.0
[6564] Fix | Delete
* @since 6.0.0 The `$filesize` value was added to the returned array.
[6565] Fix | Delete
*
[6566] Fix | Delete
* @param int $attachment_id Attachment post ID. Defaults to global $post.
[6567] Fix | Delete
* @param bool $unfiltered Optional. If true, filters are not run. Default false.
[6568] Fix | Delete
* @return array|false {
[6569] Fix | Delete
* Attachment metadata. False on failure.
[6570] Fix | Delete
*
[6571] Fix | Delete
* @type int $width The width of the attachment.
[6572] Fix | Delete
* @type int $height The height of the attachment.
[6573] Fix | Delete
* @type string $file The file path relative to `wp-content/uploads`.
[6574] Fix | Delete
* @type array $sizes Keys are size slugs, each value is an array containing
[6575] Fix | Delete
* 'file', 'width', 'height', and 'mime-type'.
[6576] Fix | Delete
* @type array $image_meta Image metadata.
[6577] Fix | Delete
* @type int $filesize File size of the attachment.
[6578] Fix | Delete
* }
[6579] Fix | Delete
*/
[6580] Fix | Delete
function wp_get_attachment_metadata( $attachment_id = 0, $unfiltered = false ) {
[6581] Fix | Delete
$attachment_id = (int) $attachment_id;
[6582] Fix | Delete
[6583] Fix | Delete
if ( ! $attachment_id ) {
[6584] Fix | Delete
$post = get_post();
[6585] Fix | Delete
[6586] Fix | Delete
if ( ! $post ) {
[6587] Fix | Delete
return false;
[6588] Fix | Delete
}
[6589] Fix | Delete
[6590] Fix | Delete
$attachment_id = $post->ID;
[6591] Fix | Delete
}
[6592] Fix | Delete
[6593] Fix | Delete
$data = get_post_meta( $attachment_id, '_wp_attachment_metadata', true );
[6594] Fix | Delete
[6595] Fix | Delete
if ( ! $data ) {
[6596] Fix | Delete
return false;
[6597] Fix | Delete
}
[6598] Fix | Delete
[6599] Fix | Delete
if ( $unfiltered ) {
[6600] Fix | Delete
return $data;
[6601] Fix | Delete
}
[6602] Fix | Delete
[6603] Fix | Delete
/**
[6604] Fix | Delete
* Filters the attachment meta data.
[6605] Fix | Delete
*
[6606] Fix | Delete
* @since 2.1.0
[6607] Fix | Delete
*
[6608] Fix | Delete
* @param array $data Array of meta data for the given attachment.
[6609] Fix | Delete
* @param int $attachment_id Attachment post ID.
[6610] Fix | Delete
*/
[6611] Fix | Delete
return apply_filters( 'wp_get_attachment_metadata', $data, $attachment_id );
[6612] Fix | Delete
}
[6613] Fix | Delete
[6614] Fix | Delete
/**
[6615] Fix | Delete
* Updates metadata for an attachment.
[6616] Fix | Delete
*
[6617] Fix | Delete
* @since 2.1.0
[6618] Fix | Delete
*
[6619] Fix | Delete
* @param int $attachment_id Attachment post ID.
[6620] Fix | Delete
* @param array $data Attachment meta data.
[6621] Fix | Delete
* @return int|false False if $post is invalid.
[6622] Fix | Delete
*/
[6623] Fix | Delete
function wp_update_attachment_metadata( $attachment_id, $data ) {
[6624] Fix | Delete
$attachment_id = (int) $attachment_id;
[6625] Fix | Delete
[6626] Fix | Delete
$post = get_post( $attachment_id );
[6627] Fix | Delete
[6628] Fix | Delete
if ( ! $post ) {
[6629] Fix | Delete
return false;
[6630] Fix | Delete
}
[6631] Fix | Delete
[6632] Fix | Delete
/**
[6633] Fix | Delete
* Filters the updated attachment meta data.
[6634] Fix | Delete
*
[6635] Fix | Delete
* @since 2.1.0
[6636] Fix | Delete
*
[6637] Fix | Delete
* @param array $data Array of updated attachment meta data.
[6638] Fix | Delete
* @param int $attachment_id Attachment post ID.
[6639] Fix | Delete
*/
[6640] Fix | Delete
$data = apply_filters( 'wp_update_attachment_metadata', $data, $post->ID );
[6641] Fix | Delete
if ( $data ) {
[6642] Fix | Delete
return update_post_meta( $post->ID, '_wp_attachment_metadata', $data );
[6643] Fix | Delete
} else {
[6644] Fix | Delete
return delete_post_meta( $post->ID, '_wp_attachment_metadata' );
[6645] Fix | Delete
}
[6646] Fix | Delete
}
[6647] Fix | Delete
[6648] Fix | Delete
/**
[6649] Fix | Delete
* Retrieves the URL for an attachment.
[6650] Fix | Delete
*
[6651] Fix | Delete
* @since 2.1.0
[6652] Fix | Delete
*
[6653] Fix | Delete
* @global string $pagenow The filename of the current screen.
[6654] Fix | Delete
*
[6655] Fix | Delete
* @param int $attachment_id Optional. Attachment post ID. Defaults to global $post.
[6656] Fix | Delete
* @return string|false Attachment URL, otherwise false.
[6657] Fix | Delete
*/
[6658] Fix | Delete
function wp_get_attachment_url( $attachment_id = 0 ) {
[6659] Fix | Delete
global $pagenow;
[6660] Fix | Delete
[6661] Fix | Delete
$attachment_id = (int) $attachment_id;
[6662] Fix | Delete
[6663] Fix | Delete
$post = get_post( $attachment_id );
[6664] Fix | Delete
[6665] Fix | Delete
if ( ! $post ) {
[6666] Fix | Delete
return false;
[6667] Fix | Delete
}
[6668] Fix | Delete
[6669] Fix | Delete
if ( 'attachment' !== $post->post_type ) {
[6670] Fix | Delete
return false;
[6671] Fix | Delete
}
[6672] Fix | Delete
[6673] Fix | Delete
$url = '';
[6674] Fix | Delete
// Get attached file.
[6675] Fix | Delete
$file = get_post_meta( $post->ID, '_wp_attached_file', true );
[6676] Fix | Delete
if ( $file ) {
[6677] Fix | Delete
// Get upload directory.
[6678] Fix | Delete
$uploads = wp_get_upload_dir();
[6679] Fix | Delete
if ( $uploads && false === $uploads['error'] ) {
[6680] Fix | Delete
// Check that the upload base exists in the file location.
[6681] Fix | Delete
if ( str_starts_with( $file, $uploads['basedir'] ) ) {
[6682] Fix | Delete
// Replace file location with url location.
[6683] Fix | Delete
$url = str_replace( $uploads['basedir'], $uploads['baseurl'], $file );
[6684] Fix | Delete
} elseif ( str_contains( $file, 'wp-content/uploads' ) ) {
[6685] Fix | Delete
// Get the directory name relative to the basedir (back compat for pre-2.7 uploads).
[6686] Fix | Delete
$url = trailingslashit( $uploads['baseurl'] . '/' . _wp_get_attachment_relative_path( $file ) ) . wp_basename( $file );
[6687] Fix | Delete
} else {
[6688] Fix | Delete
// It's a newly-uploaded file, therefore $file is relative to the basedir.
[6689] Fix | Delete
$url = $uploads['baseurl'] . "/$file";
[6690] Fix | Delete
}
[6691] Fix | Delete
}
[6692] Fix | Delete
}
[6693] Fix | Delete
[6694] Fix | Delete
/*
[6695] Fix | Delete
* If any of the above options failed, Fallback on the GUID as used pre-2.7,
[6696] Fix | Delete
* not recommended to rely upon this.
[6697] Fix | Delete
*/
[6698] Fix | Delete
if ( ! $url ) {
[6699] Fix | Delete
$url = get_the_guid( $post->ID );
[6700] Fix | Delete
}
[6701] Fix | Delete
[6702] Fix | Delete
// On SSL front end, URLs should be HTTPS.
[6703] Fix | Delete
if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) {
[6704] Fix | Delete
$url = set_url_scheme( $url );
[6705] Fix | Delete
}
[6706] Fix | Delete
[6707] Fix | Delete
/**
[6708] Fix | Delete
* Filters the attachment URL.
[6709] Fix | Delete
*
[6710] Fix | Delete
* @since 2.1.0
[6711] Fix | Delete
*
[6712] Fix | Delete
* @param string $url URL for the given attachment.
[6713] Fix | Delete
* @param int $attachment_id Attachment post ID.
[6714] Fix | Delete
*/
[6715] Fix | Delete
$url = apply_filters( 'wp_get_attachment_url', $url, $post->ID );
[6716] Fix | Delete
[6717] Fix | Delete
if ( ! $url ) {
[6718] Fix | Delete
return false;
[6719] Fix | Delete
}
[6720] Fix | Delete
[6721] Fix | Delete
return $url;
[6722] Fix | Delete
}
[6723] Fix | Delete
[6724] Fix | Delete
/**
[6725] Fix | Delete
* Retrieves the caption for an attachment.
[6726] Fix | Delete
*
[6727] Fix | Delete
* @since 4.6.0
[6728] Fix | Delete
*
[6729] Fix | Delete
* @param int $post_id Optional. Attachment ID. Default is the ID of the global `$post`.
[6730] Fix | Delete
* @return string|false Attachment caption on success, false on failure.
[6731] Fix | Delete
*/
[6732] Fix | Delete
function wp_get_attachment_caption( $post_id = 0 ) {
[6733] Fix | Delete
$post_id = (int) $post_id;
[6734] Fix | Delete
$post = get_post( $post_id );
[6735] Fix | Delete
[6736] Fix | Delete
if ( ! $post ) {
[6737] Fix | Delete
return false;
[6738] Fix | Delete
}
[6739] Fix | Delete
[6740] Fix | Delete
if ( 'attachment' !== $post->post_type ) {
[6741] Fix | Delete
return false;
[6742] Fix | Delete
}
[6743] Fix | Delete
[6744] Fix | Delete
$caption = $post->post_excerpt;
[6745] Fix | Delete
[6746] Fix | Delete
/**
[6747] Fix | Delete
* Filters the attachment caption.
[6748] Fix | Delete
*
[6749] Fix | Delete
* @since 4.6.0
[6750] Fix | Delete
*
[6751] Fix | Delete
* @param string $caption Caption for the given attachment.
[6752] Fix | Delete
* @param int $post_id Attachment ID.
[6753] Fix | Delete
*/
[6754] Fix | Delete
return apply_filters( 'wp_get_attachment_caption', $caption, $post->ID );
[6755] Fix | Delete
}
[6756] Fix | Delete
[6757] Fix | Delete
/**
[6758] Fix | Delete
* Retrieves URL for an attachment thumbnail.
[6759] Fix | Delete
*
[6760] Fix | Delete
* @since 2.1.0
[6761] Fix | Delete
* @since 6.1.0 Changed to use wp_get_attachment_image_url().
[6762] Fix | Delete
*
[6763] Fix | Delete
* @param int $post_id Optional. Attachment ID. Default is the ID of the global `$post`.
[6764] Fix | Delete
* @return string|false Thumbnail URL on success, false on failure.
[6765] Fix | Delete
*/
[6766] Fix | Delete
function wp_get_attachment_thumb_url( $post_id = 0 ) {
[6767] Fix | Delete
$post_id = (int) $post_id;
[6768] Fix | Delete
[6769] Fix | Delete
/*
[6770] Fix | Delete
* This uses image_downsize() which also looks for the (very) old format $image_meta['thumb']
[6771] Fix | Delete
* when the newer format $image_meta['sizes']['thumbnail'] doesn't exist.
[6772] Fix | Delete
*/
[6773] Fix | Delete
$thumbnail_url = wp_get_attachment_image_url( $post_id, 'thumbnail' );
[6774] Fix | Delete
[6775] Fix | Delete
if ( empty( $thumbnail_url ) ) {
[6776] Fix | Delete
return false;
[6777] Fix | Delete
}
[6778] Fix | Delete
[6779] Fix | Delete
/**
[6780] Fix | Delete
* Filters the attachment thumbnail URL.
[6781] Fix | Delete
*
[6782] Fix | Delete
* @since 2.1.0
[6783] Fix | Delete
*
[6784] Fix | Delete
* @param string $thumbnail_url URL for the attachment thumbnail.
[6785] Fix | Delete
* @param int $post_id Attachment ID.
[6786] Fix | Delete
*/
[6787] Fix | Delete
return apply_filters( 'wp_get_attachment_thumb_url', $thumbnail_url, $post_id );
[6788] Fix | Delete
}
[6789] Fix | Delete
[6790] Fix | Delete
/**
[6791] Fix | Delete
* Verifies an attachment is of a given type.
[6792] Fix | Delete
*
[6793] Fix | Delete
* @since 4.2.0
[6794] Fix | Delete
*
[6795] Fix | Delete
* @param string $type Attachment type. Accepts `image`, `audio`, `video`, or a file extension.
[6796] Fix | Delete
* @param int|WP_Post $post Optional. Attachment ID or object. Default is global $post.
[6797] Fix | Delete
* @return bool True if an accepted type or a matching file extension, false otherwise.
[6798] Fix | Delete
*/
[6799] Fix | Delete
function wp_attachment_is( $type, $post = null ) {
[6800] Fix | Delete
$post = get_post( $post );
[6801] Fix | Delete
[6802] Fix | Delete
if ( ! $post ) {
[6803] Fix | Delete
return false;
[6804] Fix | Delete
}
[6805] Fix | Delete
[6806] Fix | Delete
$file = get_attached_file( $post->ID );
[6807] Fix | Delete
[6808] Fix | Delete
if ( ! $file ) {
[6809] Fix | Delete
return false;
[6810] Fix | Delete
}
[6811] Fix | Delete
[6812] Fix | Delete
if ( str_starts_with( $post->post_mime_type, $type . '/' ) ) {
[6813] Fix | Delete
return true;
[6814] Fix | Delete
}
[6815] Fix | Delete
[6816] Fix | Delete
$check = wp_check_filetype( $file );
[6817] Fix | Delete
[6818] Fix | Delete
if ( empty( $check['ext'] ) ) {
[6819] Fix | Delete
return false;
[6820] Fix | Delete
}
[6821] Fix | Delete
[6822] Fix | Delete
$ext = $check['ext'];
[6823] Fix | Delete
[6824] Fix | Delete
if ( 'import' !== $post->post_mime_type ) {
[6825] Fix | Delete
return $type === $ext;
[6826] Fix | Delete
}
[6827] Fix | Delete
[6828] Fix | Delete
switch ( $type ) {
[6829] Fix | Delete
case 'image':
[6830] Fix | Delete
$image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp', 'avif' );
[6831] Fix | Delete
return in_array( $ext, $image_exts, true );
[6832] Fix | Delete
[6833] Fix | Delete
case 'audio':
[6834] Fix | Delete
return in_array( $ext, wp_get_audio_extensions(), true );
[6835] Fix | Delete
[6836] Fix | Delete
case 'video':
[6837] Fix | Delete
return in_array( $ext, wp_get_video_extensions(), true );
[6838] Fix | Delete
[6839] Fix | Delete
default:
[6840] Fix | Delete
return $type === $ext;
[6841] Fix | Delete
}
[6842] Fix | Delete
}
[6843] Fix | Delete
[6844] Fix | Delete
/**
[6845] Fix | Delete
* Determines whether an attachment is an image.
[6846] Fix | Delete
*
[6847] Fix | Delete
* For more information on this and similar theme functions, check out
[6848] Fix | Delete
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
[6849] Fix | Delete
* Conditional Tags} article in the Theme Developer Handbook.
[6850] Fix | Delete
*
[6851] Fix | Delete
* @since 2.1.0
[6852] Fix | Delete
* @since 4.2.0 Modified into wrapper for wp_attachment_is() and
[6853] Fix | Delete
* allowed WP_Post object to be passed.
[6854] Fix | Delete
*
[6855] Fix | Delete
* @param int|WP_Post $post Optional. Attachment ID or object. Default is global $post.
[6856] Fix | Delete
* @return bool Whether the attachment is an image.
[6857] Fix | Delete
*/
[6858] Fix | Delete
function wp_attachment_is_image( $post = null ) {
[6859] Fix | Delete
return wp_attachment_is( 'image', $post );
[6860] Fix | Delete
}
[6861] Fix | Delete
[6862] Fix | Delete
/**
[6863] Fix | Delete
* Retrieves the icon for a MIME type or attachment.
[6864] Fix | Delete
*
[6865] Fix | Delete
* @since 2.1.0
[6866] Fix | Delete
* @since 6.5.0 Added the `$preferred_ext` parameter.
[6867] Fix | Delete
*
[6868] Fix | Delete
* @param string|int $mime MIME type or attachment ID.
[6869] Fix | Delete
* @param string $preferred_ext File format to prefer in return. Default '.png'.
[6870] Fix | Delete
* @return string|false Icon, false otherwise.
[6871] Fix | Delete
*/
[6872] Fix | Delete
function wp_mime_type_icon( $mime = 0, $preferred_ext = '.png' ) {
[6873] Fix | Delete
if ( ! is_numeric( $mime ) ) {
[6874] Fix | Delete
$icon = wp_cache_get( "mime_type_icon_$mime" );
[6875] Fix | Delete
}
[6876] Fix | Delete
[6877] Fix | Delete
// Check if preferred file format variable is present and is a validly formatted file extension.
[6878] Fix | Delete
if ( ! empty( $preferred_ext ) && is_string( $preferred_ext ) && ! str_starts_with( $preferred_ext, '.' ) ) {
[6879] Fix | Delete
$preferred_ext = '.' . strtolower( $preferred_ext );
[6880] Fix | Delete
}
[6881] Fix | Delete
[6882] Fix | Delete
$post_id = 0;
[6883] Fix | Delete
if ( empty( $icon ) ) {
[6884] Fix | Delete
$post_mimes = array();
[6885] Fix | Delete
if ( is_numeric( $mime ) ) {
[6886] Fix | Delete
$mime = (int) $mime;
[6887] Fix | Delete
$post = get_post( $mime );
[6888] Fix | Delete
if ( $post ) {
[6889] Fix | Delete
$post_id = (int) $post->ID;
[6890] Fix | Delete
$file = get_attached_file( $post_id );
[6891] Fix | Delete
$ext = preg_replace( '/^.+?\.([^.]+)$/', '$1', $file );
[6892] Fix | Delete
if ( ! empty( $ext ) ) {
[6893] Fix | Delete
$post_mimes[] = $ext;
[6894] Fix | Delete
$ext_type = wp_ext2type( $ext );
[6895] Fix | Delete
if ( $ext_type ) {
[6896] Fix | Delete
$post_mimes[] = $ext_type;
[6897] Fix | Delete
}
[6898] Fix | Delete
}
[6899] Fix | Delete
$mime = $post->post_mime_type;
[6900] Fix | Delete
} else {
[6901] Fix | Delete
$mime = 0;
[6902] Fix | Delete
}
[6903] Fix | Delete
} else {
[6904] Fix | Delete
$post_mimes[] = $mime;
[6905] Fix | Delete
}
[6906] Fix | Delete
[6907] Fix | Delete
$icon_files = wp_cache_get( 'icon_files' );
[6908] Fix | Delete
[6909] Fix | Delete
if ( ! is_array( $icon_files ) ) {
[6910] Fix | Delete
/**
[6911] Fix | Delete
* Filters the icon directory path.
[6912] Fix | Delete
*
[6913] Fix | Delete
* @since 2.0.0
[6914] Fix | Delete
*
[6915] Fix | Delete
* @param string $path Icon directory absolute path.
[6916] Fix | Delete
*/
[6917] Fix | Delete
$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
[6918] Fix | Delete
[6919] Fix | Delete
/**
[6920] Fix | Delete
* Filters the icon directory URI.
[6921] Fix | Delete
*
[6922] Fix | Delete
* @since 2.0.0
[6923] Fix | Delete
*
[6924] Fix | Delete
* @param string $uri Icon directory URI.
[6925] Fix | Delete
*/
[6926] Fix | Delete
$icon_dir_uri = apply_filters( 'icon_dir_uri', includes_url( 'images/media' ) );
[6927] Fix | Delete
[6928] Fix | Delete
/**
[6929] Fix | Delete
* Filters the array of icon directory URIs.
[6930] Fix | Delete
*
[6931] Fix | Delete
* @since 2.5.0
[6932] Fix | Delete
*
[6933] Fix | Delete
* @param string[] $uris Array of icon directory URIs keyed by directory absolute path.
[6934] Fix | Delete
*/
[6935] Fix | Delete
$dirs = apply_filters( 'icon_dirs', array( $icon_dir => $icon_dir_uri ) );
[6936] Fix | Delete
$icon_files = array();
[6937] Fix | Delete
$all_icons = array();
[6938] Fix | Delete
while ( $dirs ) {
[6939] Fix | Delete
$keys = array_keys( $dirs );
[6940] Fix | Delete
$dir = array_shift( $keys );
[6941] Fix | Delete
$uri = array_shift( $dirs );
[6942] Fix | Delete
$dh = opendir( $dir );
[6943] Fix | Delete
if ( $dh ) {
[6944] Fix | Delete
while ( false !== $file = readdir( $dh ) ) {
[6945] Fix | Delete
$file = wp_basename( $file );
[6946] Fix | Delete
if ( str_starts_with( $file, '.' ) ) {
[6947] Fix | Delete
continue;
[6948] Fix | Delete
}
[6949] Fix | Delete
[6950] Fix | Delete
$ext = strtolower( substr( $file, -4 ) );
[6951] Fix | Delete
if ( ! in_array( $ext, array( '.svg', '.png', '.gif', '.jpg' ), true ) ) {
[6952] Fix | Delete
if ( is_dir( "$dir/$file" ) ) {
[6953] Fix | Delete
$dirs[ "$dir/$file" ] = "$uri/$file";
[6954] Fix | Delete
}
[6955] Fix | Delete
continue;
[6956] Fix | Delete
}
[6957] Fix | Delete
$all_icons[ "$dir/$file" ] = "$uri/$file";
[6958] Fix | Delete
if ( $ext === $preferred_ext ) {
[6959] Fix | Delete
$icon_files[ "$dir/$file" ] = "$uri/$file";
[6960] Fix | Delete
}
[6961] Fix | Delete
}
[6962] Fix | Delete
closedir( $dh );
[6963] Fix | Delete
}
[6964] Fix | Delete
}
[6965] Fix | Delete
// If directory only contained icons of a non-preferred format, return those.
[6966] Fix | Delete
if ( empty( $icon_files ) ) {
[6967] Fix | Delete
$icon_files = $all_icons;
[6968] Fix | Delete
}
[6969] Fix | Delete
wp_cache_add( 'icon_files', $icon_files, 'default', 600 );
[6970] Fix | Delete
}
[6971] Fix | Delete
[6972] Fix | Delete
$types = array();
[6973] Fix | Delete
// Icon wp_basename - extension = MIME wildcard.
[6974] Fix | Delete
foreach ( $icon_files as $file => $uri ) {
[6975] Fix | Delete
$types[ preg_replace( '/^([^.]*).*$/', '$1', wp_basename( $file ) ) ] =& $icon_files[ $file ];
[6976] Fix | Delete
}
[6977] Fix | Delete
[6978] Fix | Delete
if ( ! empty( $mime ) ) {
[6979] Fix | Delete
$post_mimes[] = substr( $mime, 0, strpos( $mime, '/' ) );
[6980] Fix | Delete
$post_mimes[] = substr( $mime, strpos( $mime, '/' ) + 1 );
[6981] Fix | Delete
$post_mimes[] = str_replace( '/', '_', $mime );
[6982] Fix | Delete
}
[6983] Fix | Delete
[6984] Fix | Delete
$matches = wp_match_mime_types( array_keys( $types ), $post_mimes );
[6985] Fix | Delete
$matches['default'] = array( 'default' );
[6986] Fix | Delete
[6987] Fix | Delete
foreach ( $matches as $match => $wilds ) {
[6988] Fix | Delete
foreach ( $wilds as $wild ) {
[6989] Fix | Delete
if ( ! isset( $types[ $wild ] ) ) {
[6990] Fix | Delete
continue;
[6991] Fix | Delete
}
[6992] Fix | Delete
[6993] Fix | Delete
$icon = $types[ $wild ];
[6994] Fix | Delete
if ( ! is_numeric( $mime ) ) {
[6995] Fix | Delete
wp_cache_add( "mime_type_icon_$mime", $icon );
[6996] Fix | Delete
}
[6997] Fix | Delete
break 2;
[6998] Fix | Delete
}
[6999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function