aboutsummaryrefslogtreecommitdiffstats
path: root/lib/news.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/news.php')
-rw-r--r--lib/news.php15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/news.php b/lib/news.php
index 0c5940ecc..36749bdda 100644
--- a/lib/news.php
+++ b/lib/news.php
@@ -170,7 +170,9 @@ function show_feed($locale, $news_title, $link, $feed, $count = 5, $skip = null,
* @param integer $req_quantity number or requested planet/blog titles
* @param integer $min_num_of_loc_post minimum number of localised posts to return without adding English ones
*
- * @return array ($loc_posts_title for show_feed() function, $fresh_loc_posts, $num_fresh_loc_posts, $eng_posts_title for show_feed() function, $fresh_eng_posts)
+ * @return array ($loc_posts_title for show_feed() function, $fresh_loc_posts, $num_fresh_loc_posts, $eng_posts_title for show_feed() function, $fresh_eng_posts, $first_source)
+ *
+ * $first_source: 0 = none, 1 = localized planet, 2 = localized blog, 3 = English planet, 4 = English blog
*/
function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_planet_url, $loc_blog_url, $req_quantity = 9, $min_num_of_loc_post = 4)
{
@@ -180,12 +182,14 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
$fresh_eng_posts = array();
$loc_posts_title = '';
$eng_posts_title = '';
+ $first_source = 0;
// prepare fresh enough localised planet posts if they exist
if ($eng_planet_url != $loc_planet_url) {
$loc_planet_posts = get_feed($loc_planet_url . '?type=rss10', $req_quantity);
if (count($loc_planet_posts) > 0) {
$loc_posts_title = _r('Planet');
+ $first_source = 1;
foreach ($loc_planet_posts as $planet_post) {
if ($posts_age_limit < strtotime($planet_post["date"])) {
$planet_post["desc"] = ''; // not needed (conserving memory)
@@ -194,12 +198,13 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
}
}
}
-
+
// prepare fresh enough localised blog posts if there's no localised planet
if(0 == count($fresh_loc_posts) && $eng_blog_url != $loc_blog_url) {
$loc_blog_posts = get_feed($loc_blog_url . '?type=rss10', $req_quantity);
if (count($loc_blog_posts) > 0) {
$loc_posts_title = _r('Blog');
+ $first_source = 2;
foreach ($loc_blog_posts as $blog_post) {
if ($posts_age_limit < strtotime($blog_post["date"])) {
$blog_post["desc"] = ''; // not needed
@@ -208,7 +213,7 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
}
}
}
-
+
// prepare fresh enough English planet posts if there's only a few or no localised posts
$num_fresh_loc_posts = count($fresh_loc_posts);
if ($min_num_of_loc_post > $num_fresh_loc_posts) {
@@ -218,6 +223,7 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
$eng_planet_posts = get_feed($eng_planet_url . '?type=rss10', $req_quantity);
if (count($eng_planet_posts) > 0) {
$eng_posts_title = _r('Planet');
+ $first_source = 3;
foreach ($eng_planet_posts as $planet_post) {
if ($posts_age_limit < strtotime($planet_post["date"])) {
$planet_post["desc"] = ''; // not needed
@@ -230,6 +236,7 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
$eng_blog_posts = get_feed($eng_blog_url . '?type=rss10', $req_quantity);
if (count($eng_blog_posts) > 1) {
$eng_posts_title = _r('Blog');
+ $first_source = 4;
foreach ($eng_blog_posts as $blog_post) {
if ($posts_age_limit < strtotime($blog_post["date"])) {
$blog_post["desc"] = ''; // not needed
@@ -240,7 +247,7 @@ function prepare_fresh_blog_post_titles($eng_planet_url, $eng_blog_url, $loc_pla
}
}
- return array($loc_posts_title, $fresh_loc_posts, $num_fresh_loc_posts, $eng_posts_title, $fresh_eng_posts);
+ return array($loc_posts_title, $fresh_loc_posts, $num_fresh_loc_posts, $eng_posts_title, $fresh_eng_posts, $first_source);
}
/**