From e6e939c3c969887d76c32db0e07b5a414899cb17 Mon Sep 17 00:00:00 2001 From: alvaro <alvaro@alia.(none)> Date: Wed, 15 Feb 2012 22:36:25 -0800 Subject: [PATCH] Testing new version of uri renaming --- classes/Utils.php | 20 ++++++++++++++++++-- classes/modules/serviceModule.php | 2 +- classes/modules/typeModule.php | 2 +- classes/modules/uriModule.php | 2 +- index.php | 15 +++++++++++++-- install.sh | 2 +- 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/classes/Utils.php b/classes/Utils.php index a5116f06..dd6a8d29 100644 --- a/classes/Utils.php +++ b/classes/Utils.php @@ -468,10 +468,26 @@ class Utils{ }*/ }else{ if(isset($value['uri']) && $value['uri'] == 1){ - if($conf['mirror_external_uris']){ + if($conf['mirror_external_uris'] != false){ $value['mirroredUri'] = $value['value']; } - $value['value'] = preg_replace("|^".$conf['ns']['local']."|", $conf['basedir'], $value['value']); + if(is_boolean($conf['mirror_external_uris'])){ + $value['value'] = preg_replace("|^".$conf['ns']['local']."|", $conf['basedir'], $value['value']); + }elseif(is_string($conf['mirror_external_uris'])){ + $value['value'] = preg_replace("|^".$conf['mirror_external_uris']."|", $conf['basedir'], $value['value']); + }elseif(is_array($conf['mirror_external_uris'])){ + foreach($conf['mirror_external_uris'] as $v){ + $aux = preg_replace("|^".$conf['mirror_external_uris']."|", $conf['basedir'], $value['value']); + if($aux != $value['value']]){ + $value['value'] = $aux; + break; + } + } + }else{ + Utils::send500("Error in mirroring configuration"); + exit(1); + } + $value['curie'] = Utils::uri2curie($value['value']); $array[$key] = $value; } diff --git a/classes/modules/serviceModule.php b/classes/modules/serviceModule.php index a791cf23..b4ca8910 100644 --- a/classes/modules/serviceModule.php +++ b/classes/modules/serviceModule.php @@ -64,7 +64,7 @@ class ServiceModule extends abstractModule{ $prefixHeader = array(); for($i=0;$i<sizeof($params);$i++){ - if($conf['mirror_external_uris']){ + if($conf['mirror_external_uris'] != false){ $altUri = Utils::curie2uri($params[$i]); $altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri); $params[$i] = Utils::uri2curie($altUri); diff --git a/classes/modules/typeModule.php b/classes/modules/typeModule.php index 02f6433c..fd13cc9e 100644 --- a/classes/modules/typeModule.php +++ b/classes/modules/typeModule.php @@ -47,7 +47,7 @@ class TypeModule extends abstractModule{ } $uri = $res; - if($conf['mirror_external_uris']){ + if($conf['mirror_external_uris'] != false){ $localUri = preg_replace("|^".$conf['ns']['local']."|", $conf['basedir'], $res); } diff --git a/classes/modules/uriModule.php b/classes/modules/uriModule.php index 1bb02a68..e9c22255 100644 --- a/classes/modules/uriModule.php +++ b/classes/modules/uriModule.php @@ -67,7 +67,7 @@ class UriModule extends abstractModule{ } $uri = $res; - if($conf['mirror_external_uris']){ + if($conf['mirror_external_uris'] != false){ $localUri = preg_replace("|^".$conf['ns']['local']."|", $conf['basedir'], $res); } diff --git a/index.php b/index.php index 7bd8b7fc..ecf54b9b 100755 --- a/index.php +++ b/index.php @@ -59,9 +59,20 @@ if($uri == $conf['basedir']){ } //Configure external URIs if necessary -if($conf['mirror_external_uris']){ - $uri = $conf['ns']['local'].$_GET['q']; +if($conf['mirror_external_uris'] != false){ $localUri = $conf['basedir'].$_GET['q']; + + if(is_boolean($conf['mirror_external_uris'])){ + $uri = $conf['ns']['local'].$_GET['q']; + }elseif(is_string($conf['mirror_external_uris'])){ + $uri = $conf['mirror_external_uris'].$_GET['q']; + }elseif(is_array($conf['mirror_external_uris'])){ + $uri = $conf['ns']['local'].$_GET['q']; + }else{ + Utils::send500("Error in mirroring configuration"); + exit(1); + } + } diff --git a/install.sh b/install.sh index 65619b53..5dfc13d0 100755 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ while [ "$everything_ok" != "y" ]; do if [[ "$basedir" =~ ^"$ns" ]]; then external="false" else - external="true" + external=$ns extra="\$conf['ns']['base'] = '$basedir';" fi -- GitLab