Ejemplo n.º 1
0
    /**
     * 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;
    }