aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/output.php5
-rw-r--r--engine/tests/api/helpers.php9
2 files changed, 14 insertions, 0 deletions
diff --git a/engine/lib/output.php b/engine/lib/output.php
index 6f4ef7b96..2c3324b49 100644
--- a/engine/lib/output.php
+++ b/engine/lib/output.php
@@ -160,6 +160,11 @@ function elgg_normalize_url($url) {
return $url;
}
+ // 'install.php', 'install.php?step=step'
+ elseif (preg_match("#^[^/]*\.php(\?.*)?$#i", $url)) {
+ return elgg_get_site_url().$url;
+ }
+
// 'example.com', 'example.com/subpage'
elseif (preg_match("#^[^/]*\.#i", $url)) {
return "http://$url";
diff --git a/engine/tests/api/helpers.php b/engine/tests/api/helpers.php
index 8dab74ff8..565cf054a 100644
--- a/engine/tests/api/helpers.php
+++ b/engine/tests/api/helpers.php
@@ -72,10 +72,19 @@ class ElggCoreHelpersTest extends ElggCoreUnitTest {
'http://example.com' => 'http://example.com',
'https://example.com' => 'https://example.com',
'//example.com' => '//example.com',
+
'example.com' => 'http://example.com',
'example.com/subpage' => 'http://example.com/subpage',
+
'pg/page/handler' => elgg_get_site_url().'pg/page/handler',
'mod/plugin/file.php' => elgg_get_site_url().'mod/plugin/file.php',
+ 'rootfile.php' => elgg_get_site_url().'rootfile.php',
+ 'rootfile.php?setting=setting' => elgg_get_site_url().'rootfile.php?setting=setting',
+
+ '/pg/page/handler' => elgg_get_site_url().'pg/page/handler',
+ '/mod/plugin/file.php' => elgg_get_site_url().'mod/plugin/file.php',
+ '/rootfile.php' => elgg_get_site_url().'rootfile.php',
+ '/rootfile.php?setting=setting' => elgg_get_site_url().'rootfile.php?setting=setting',
);
foreach ($conversions as $input => $output) {