Changeset 59141 for trunk/src/wp-includes/SimplePie/src/Cache/DB.php
- Timestamp:
- 09/30/2024 10:48:16 PM (6 months ago)
- Location:
- trunk/src/wp-includes/SimplePie/src
- Files:
-
- 1 added
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/SimplePie/src/Cache/DB.php
r47733 r59141 1 1 <?php 2 2 3 /** 3 4 * SimplePie … … 6 7 * Takes the hard work out of managing a complete RSS/Atom solution. 7 8 * 8 * Copyright (c) 2004-20 16, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors9 * Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors 9 10 * All rights reserved. 10 11 * … … 42 43 */ 43 44 45 namespace SimplePie\Cache; 46 44 47 /** 45 48 * Base class for database-based caches … … 47 50 * @package SimplePie 48 51 * @subpackage Caching 52 * @deprecated since SimplePie 1.8.0, use implementation of "Psr\SimpleCache\CacheInterface" instead 49 53 */ 50 abstract class SimplePie_Cache_DB implements SimplePie_Cache_Base54 abstract class DB implements Base 51 55 { 52 53 54 55 56 57 * @paramSimplePie $data58 59 60 61 62 63 $items_by_id = array();56 /** 57 * Helper for database conversion 58 * 59 * Converts a given {@see SimplePie} object into data to be stored 60 * 61 * @param \SimplePie\SimplePie $data 62 * @return array First item is the serialized data for storage, second item is the unique ID for this item 63 */ 64 protected static function prepare_simplepie_object_for_cache($data) 65 { 66 $items = $data->get_items(); 67 $items_by_id = []; 64 68 65 if (!empty($items)) 66 { 67 foreach ($items as $item) 68 { 69 $items_by_id[$item->get_id()] = $item; 70 } 69 if (!empty($items)) { 70 foreach ($items as $item) { 71 $items_by_id[$item->get_id()] = $item; 72 } 71 73 72 if (count($items_by_id) !== count($items)) 73 { 74 $items_by_id = array(); 75 foreach ($items as $item) 76 { 77 $items_by_id[$item->get_id(true)] = $item; 78 } 79 } 74 if (count($items_by_id) !== count($items)) { 75 $items_by_id = []; 76 foreach ($items as $item) { 77 $items_by_id[$item->get_id(true)] = $item; 78 } 79 } 80 80 81 if (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0])) 82 { 83 $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]; 84 } 85 elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0])) 86 { 87 $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]; 88 } 89 elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0])) 90 { 91 $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]; 92 } 93 elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0])) 94 { 95 $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0]; 96 } 97 else 98 { 99 $channel = null; 100 } 81 if (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0])) { 82 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0]; 83 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0])) { 84 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0]; 85 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0])) { 86 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0]; 87 } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0])) { 88 $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0]; 89 } else { 90 $channel = null; 91 } 101 92 102 if ($channel !== null) 103 { 104 if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry'])) 105 { 106 unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']); 107 } 108 if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry'])) 109 { 110 unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']); 111 } 112 if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item'])) 113 { 114 unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']); 115 } 116 if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item'])) 117 { 118 unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']); 119 } 120 if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item'])) 121 { 122 unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']); 123 } 124 } 125 if (isset($data->data['items'])) 126 { 127 unset($data->data['items']); 128 } 129 if (isset($data->data['ordered_items'])) 130 { 131 unset($data->data['ordered_items']); 132 } 133 } 134 return array(serialize($data->data), $items_by_id); 135 } 93 if ($channel !== null) { 94 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry'])) { 95 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry']); 96 } 97 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry'])) { 98 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry']); 99 } 100 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item'])) { 101 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item']); 102 } 103 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item'])) { 104 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item']); 105 } 106 if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item'])) { 107 unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item']); 108 } 109 } 110 if (isset($data->data['items'])) { 111 unset($data->data['items']); 112 } 113 if (isset($data->data['ordered_items'])) { 114 unset($data->data['ordered_items']); 115 } 116 } 117 return [serialize($data->data), $items_by_id]; 118 } 136 119 } 120 121 class_alias('SimplePie\Cache\DB', 'SimplePie_Cache_DB');
Note: See TracChangeset
for help on using the changeset viewer.