'; $item = NULL; foreach ( $values as $key => $val ) { if ($val['tag'] == 'item' && $val['type'] == 'open') { $item = array(); } else if ($val['type'] == 'complete') { switch (strtolower($val['tag'])) { case 'title': case 'description': case 'guid': case 'pubdate': { if (isset($val['value'])) { $item[strtolower($val['tag'])] = html_entity_decode(trim($val['value'])); switch (strtolower($val['tag'])) { case 'pubdate': $item['pubdate'] = strtotime($item['pubdate']); $item['date'] = gmdate('F jS, Y H:i ',$item['pubdate']).'GMT'; break; } } else { $item[$val['tag']] = ''; } } break; } } else if ($val['tag'] == 'item' && $val['type'] == 'close' && $item) { $item['guid'] = md5('['.$item['pubdate'].'] '.$item['title']); if (!isset($item['link']) || ! $item['link']) { $item['link'] = $item_base_uri.'/'.$item['guid']; } if (isset($item['description'])) { $desc = preg_split('@@i',$item['description']); $item['brief'] = $desc[0]; if (isset($desc[1])) { $item['description'] = $desc[1]; } } $this->db[$item['guid']] = $item; $item = NULL; } } } function sort_by($field) { $f = '_field_cmp_'.strtolower(str_replace('-','_',$field)).'_'; uasort($this->db,$f); } } ?>