library/SimplePie/Cache/DB.php Quellcode

DB.php
gehe zur Dokumentation dieser Datei
1 <?php
51 abstract class SimplePie_Cache_DB implements SimplePie_Cache_Base
52 {
61  protected static function prepare_simplepie_object_for_cache($data)
62  {
63  $items = $data->get_items();
64  $items_by_id = array();
65 
66  if (!empty($items))
67  {
68  foreach ($items as $item)
69  {
70  $items_by_id[$item->get_id()] = $item;
71  }
72 
73  if (count($items_by_id) !== count($items))
74  {
75  $items_by_id = array();
76  foreach ($items as $item)
77  {
78  $items_by_id[$item->get_id(true)] = $item;
79  }
80  }
81 
82  if (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
83  {
84  $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
85  }
86  elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
87  {
88  $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
89  }
90  elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
91  {
92  $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
93  }
94  elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0]))
95  {
96  $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0];
97  }
98  else
99  {
100  $channel = null;
101  }
102 
103  if ($channel !== null)
104  {
105  if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']))
106  {
107  unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']);
108  }
109  if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']))
110  {
111  unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']);
112  }
113  if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']))
114  {
115  unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']);
116  }
117  if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']))
118  {
119  unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']);
120  }
121  if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']))
122  {
123  unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']);
124  }
125  }
126  if (isset($data->data['items']))
127  {
128  unset($data->data['items']);
129  }
130  if (isset($data->data['ordered_items']))
131  {
132  unset($data->data['ordered_items']);
133  }
134  }
135  return array(serialize($data->data), $items_by_id);
136  }
137 }




Korrekturen, Hinweise und Ergänzungen

Bitte scheuen Sie sich nicht und melden Sie, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Support Forum wählen. Es ist eine kostenlose Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden kommentarlos entfernt.