/** * Gets the Pages module data. * * @static * @access private * @return array */ private static function _get_pages_mod_data() { if (!isset(self::$_page_data)) { self::$_page_data = array(); if (($pages = self::_get_site_pages()) && ($page_ids = array_filter(array_keys($pages['uris'])))) { $EE = get_instance(); $query = $EE->db->query('SELECT entry_id, channel_id, title, url_title, status FROM exp_channel_titles WHERE entry_id IN (' . implode(',', $page_ids) . ') ORDER BY entry_id DESC'); // index entries by entry_id $entry_data = array(); foreach ($query->result_array() as $entry) { $entry_data[$entry['entry_id']] = $entry; } foreach ($pages['uris'] as $entry_id => $uri) { if (!isset($entry_data[$entry_id])) { continue; } $entry = $entry_data[$entry_id]; $url = $EE->functions->create_page_url($pages['url'], $uri); if (!$url || $url == '/') { continue; } self::$_page_data[] = array($entry_id, $entry['channel_id'], $entry['title'], '0', $url); } } // sort by entry title if (count(self::$_page_data) > 0) { self::$_page_data = self::_subval_sort(self::$_page_data, 2); } } return self::$_page_data; }