run:R W Run
1.83 KB
2026-03-11 16:18:52
R W Run
3.5 KB
2026-03-11 16:18:52
R W Run
1.48 KB
2026-03-11 16:18:52
R W Run
3.62 KB
2026-03-11 16:18:52
R W Run
2.73 KB
2026-03-11 16:18:52
R W Run
2.91 KB
2026-03-11 16:18:52
R W Run
3.63 KB
2026-03-11 16:18:52
R W Run
3.74 KB
2026-03-11 16:18:52
R W Run
13.38 KB
2026-03-11 16:18:52
R W Run
1.15 KB
2026-03-11 16:18:52
R W Run
3.18 KB
2026-03-11 16:18:52
R W Run
4.2 KB
2026-03-11 16:18:52
R W Run
error_log
📄DB.php
1<?php
2
3// SPDX-FileCopyrightText: 2004-2023 Ryan Parman, Sam Sneddon, Ryan McCue
4// SPDX-License-Identifier: BSD-3-Clause
5
6declare(strict_types=1);
7
8namespace SimplePie\Cache;
9
10use SimplePie\Item;
11
12/**
13 * Base class for database-based caches
14 *
15 * @deprecated since SimplePie 1.8.0, use implementation of "Psr\SimpleCache\CacheInterface" instead
16 */
17abstract class DB implements Base
18{
19 /**
20 * Helper for database conversion
21 *
22 * Converts a given {@see SimplePie} object into data to be stored
23 *
24 * @param \SimplePie\SimplePie $data
25 * @return array{string, array<string, Item>} First item is the serialized data for storage, second item is the unique ID for this item
26 */
27 protected static function prepare_simplepie_object_for_cache(\SimplePie\SimplePie $data)
28 {
29 $items = $data->get_items();
30 $items_by_id = [];
31
32 if (!empty($items)) {
33 foreach ($items as $item) {
34 $items_by_id[$item->get_id()] = $item;
35 }
36
37 if (count($items_by_id) !== count($items)) {
38 $items_by_id = [];
39 foreach ($items as $item) {
40 $items_by_id[$item->get_id(true)] = $item;
41 }
42 }
43
44 if (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0])) {
45 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0];
46 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0])) {
47 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0];
48 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0])) {
49 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0];
50 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0])) {
51 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0];
52 } else {
53 $channel = null;
54 }
55
56 if ($channel !== null) {
57 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry'])) {
58 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry']);
59 }
60 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry'])) {
61 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry']);
62 }
63 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item'])) {
64 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item']);
65 }
66 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item'])) {
67 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item']);
68 }
69 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item'])) {
70 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item']);
71 }
72 }
73 if (isset($data->data['items'])) {
74 unset($data->data['items']);
75 }
76 if (isset($data->data['ordered_items'])) {
77 unset($data->data['ordered_items']);
78 }
79 }
80 return [serialize($data->data), $items_by_id];
81 }
82}
83
84class_alias('SimplePie\Cache\DB', 'SimplePie_Cache_DB');
85