From 388080a1ada96423816e62b86196f7bee3e7afa4 Mon Sep 17 00:00:00 2001 From: Sem Date: Mon, 5 Nov 2012 09:09:34 +0100 Subject: Fixes #4904. Elgg 1.7 group blog RSS links forward correctly now. --- mod/blog/lib/blog.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mod/blog/lib/blog.php b/mod/blog/lib/blog.php index 4622a9e7e..34ea5a01c 100644 --- a/mod/blog/lib/blog.php +++ b/mod/blog/lib/blog.php @@ -403,12 +403,12 @@ function blog_url_forwarder($page) { global $CONFIG; // group usernames - if (substr_count($page[0], 'group:')) { - preg_match('/group\:([0-9]+)/i', $page[0], $matches); + if (substr_count($page[1], 'group:')) { + preg_match('/group\:([0-9]+)/i', $page[1], $matches); $guid = $matches[1]; $entity = get_entity($guid); if ($entity) { - $url = "{$CONFIG->wwwroot}blog/group/$guid/all"; + $url = "{$CONFIG->wwwroot}blog/group/$guid/all?view=" . elgg_get_viewtype(); register_error(elgg_echo("changebookmark")); forward($url); } -- cgit v1.2.3 From 45480715e699ed61cd2b70242c323de99d7325c5 Mon Sep 17 00:00:00 2001 From: Sem Date: Tue, 6 Nov 2012 05:44:26 +0100 Subject: Refs #4904. Forwarding pre and post-1.7.5 blog urls. --- mod/blog/lib/blog.php | 18 +++++++++++++++--- mod/blog/start.php | 3 +-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/mod/blog/lib/blog.php b/mod/blog/lib/blog.php index 34ea5a01c..1ccfe4dc4 100644 --- a/mod/blog/lib/blog.php +++ b/mod/blog/lib/blog.php @@ -396,6 +396,14 @@ function blog_prepare_form_vars($post = NULL, $revision = NULL) { /** * Forward to the new style of URLs + * + * Pre-1.7.5 + * Group blogs page: /blog/group:/ + * Group blog view: /blog/group:/read// + * 1.7.5-1.8 + * Group blogs page: /blog/owner/group:<container_guid>/ + * Group blog view: /blog/read/<guid> + * * * @param string $page */ @@ -403,12 +411,16 @@ function blog_url_forwarder($page) { global $CONFIG; // group usernames - if (substr_count($page[1], 'group:')) { - preg_match('/group\:([0-9]+)/i', $page[1], $matches); + if (substr_count("$page[0]/$page[1]", 'group:')) { + preg_match('/group\:([0-9]+)/i', "$page[0]/$page[1]", $matches); $guid = $matches[1]; $entity = get_entity($guid); if ($entity) { - $url = "{$CONFIG->wwwroot}blog/group/$guid/all?view=" . elgg_get_viewtype(); + if (isset($page[2])) { + $url = "{$CONFIG->wwwroot}blog/view/$page[2]/?view=" . elgg_get_viewtype(); + } else { + $url = "{$CONFIG->wwwroot}blog/group/$guid/all?view=" . elgg_get_viewtype(); + } register_error(elgg_echo("changebookmark")); forward($url); } diff --git a/mod/blog/start.php b/mod/blog/start.php index 9faf1794e..8cbaf5cca 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -99,8 +99,7 @@ function blog_page_handler($page) { elgg_load_library('elgg:blog'); - // @todo remove the forwarder in 1.9 - // forward to correct URL for blog pages pre-1.7.5 + // forward to correct URL for blog pages pre-1.8 blog_url_forwarder($page); // push all blogs breadcrumb -- cgit v1.2.3 From 4f01b88b9fc1fe476189d53df7a34303502ba17e Mon Sep 17 00:00:00 2001 From: Sem <sembrestels@riseup.net> Date: Thu, 15 Nov 2012 01:16:42 +0100 Subject: Refs #4904. Checking if page has segments before using them. --- mod/blog/lib/blog.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mod/blog/lib/blog.php b/mod/blog/lib/blog.php index 1ccfe4dc4..4dcc7d56e 100644 --- a/mod/blog/lib/blog.php +++ b/mod/blog/lib/blog.php @@ -411,8 +411,8 @@ function blog_url_forwarder($page) { global $CONFIG; // group usernames - if (substr_count("$page[0]/$page[1]", 'group:')) { - preg_match('/group\:([0-9]+)/i', "$page[0]/$page[1]", $matches); + if (substr_count(implode('/', $page), 'group:')) { + preg_match('/group\:([0-9]+)/i', implode('/', $page), $matches); $guid = $matches[1]; $entity = get_entity($guid); if ($entity) { @@ -426,6 +426,10 @@ function blog_url_forwarder($page) { } } + if (!isset($page[0])) { + return; + } + // user usernames $user = get_user_by_username($page[0]); if (!$user) { -- cgit v1.2.3