$cache_id = 'sections/index.php#extra'; if (!($text = Cache::get($cache_id))) { // see also $lines = array(); $lines[] = Skin::build_link('categories/', i18n::s('Categories')); $lines[] = Skin::build_link('search.php', i18n::s('Search')); $lines[] = Skin::build_link('help/', i18n::s('Help index')); $lines[] = Skin::build_link('query.php', i18n::s('Contact')); $text .= Skin::build_box(i18n::s('See also'), Skin::finalize_list($lines, 'compact'), 'boxes'); // list monthly publications in an extra box $anchor = Categories::get(i18n::c('monthly')); if (isset($anchor['id']) && ($items = Categories::list_by_date_for_anchor('category:' . $anchor['id'], 0, COMPACT_LIST_SIZE, 'compact'))) { $text .= Skin::build_box($anchor['title'], Skin::build_list($items, 'compact'), 'boxes') . "\n"; } // side boxes for related categories, if any if ($categories = Categories::list_by_date_for_display('section:index', 0, 7, 'raw')) { foreach ($categories as $id => $attributes) { // link to the category page from the box title $label =& Skin::build_box_title(Skin::strip($attributes['title']), Categories::get_permalink($attributes), i18n::s('View the category')); // box content if ($items =& Members::list_articles_by_date_for_anchor('category:' . $id, 0, COMPACT_LIST_SIZE, 'compact')) { $text .= Skin::build_box($label, Skin::build_list($items, 'compact'), 'boxes') . "\n"; } } } // save, whatever change, for 5 minutes Cache::put($cache_id, $text, 'stable', 300); } $context['components']['boxes'] = $text; // referrals, if any $context['components']['referrals'] = Skin::build_referrals('sections/index.php');
} // side bar with a rss feed, if this server is well populated if ($stats['count'] > $items_per_page) { $context['components']['channels'] = Skin::build_box(i18n::s('Information channels'), Skin::build_link(Feeds::get_url('rss'), i18n::s('Recent pages'), 'xml') . BR . Skin::build_link(Feeds::get_url('articles'), i18n::s('Full content'), 'xml'), 'channels'); } // page extra information $cache_id = 'articles/index.php#extra'; if (!($text = Cache::get($cache_id))) { // side bar with the list of most popular articles, if this server is well populated if ($stats['count'] > $items_per_page) { if ($items =& Articles::list_by('hits', 0, COMPACT_LIST_SIZE, 'compact')) { $text .= Skin::build_box(i18n::s('Popular'), Skin::build_list($items, 'compact'), 'boxes'); } } // side boxes for related categories, if any if ($categories = Categories::list_by_date_for_display('article:index', 0, 7, 'raw')) { foreach ($categories as $id => $attributes) { // link to the category page from the box title $label =& Skin::build_box_title(Skin::strip($attributes['title']), Categories::get_permalink($attributes), i18n::s('View the category')); // box content if ($items =& Members::list_articles_by_date_for_anchor('category:' . $id, 0, COMPACT_LIST_SIZE, 'compact')) { $text .= Skin::build_box($label, Skin::build_list($items, 'compact'), 'boxes') . "\n"; } } } // cache it, whatever change, for 1 minute Cache::put($cache_id, $text, 'stable', 60); } $context['components']['boxes'] = $text; // referrals, if any $context['components']['referrals'] = Skin::build_referrals('articles/index.php');