SID : rewriting

This commit is contained in:
Etienne Roudeix
2013-09-03 10:09:51 +02:00
parent 6fa4d3a923
commit 3de03dc876
8 changed files with 216 additions and 4 deletions

View File

@@ -25,6 +25,7 @@ namespace Thelia\Tools;
use Symfony\Component\HttpFoundation\Request;
use Thelia\Model\ConfigQuery;
use Thelia\Rewriting\RewritingResolver;
use Thelia\Rewriting\RewritingRetriever;
class URL
@@ -126,7 +127,7 @@ class URL
return $rewrittenUrl === null ? self::viewUrl($view, array($view . '_id' => $viewId, 'locale' => $viewLocale)) : $rewrittenUrl;
}
public static function retrieveCurrent(Request $request)
public static function retrieveCurrent(Request $request, $rewrittenUrlOnly = false)
{
$rewrittenUrl = null;
if(ConfigQuery::isRewritingEnable()) {
@@ -151,6 +152,25 @@ class URL
$rewrittenUrl = $retriever->getSpecificUrl($view, $viewLocale, $viewId, $allOtherParameters);
}
return $rewrittenUrl === null ? self::viewUrl($view, $allParametersWithoutView) : $rewrittenUrl;
if($rewrittenUrlOnly) {
return $rewrittenUrl !== null ? $rewrittenUrl : null;
} else {
return $rewrittenUrl !== null ? $rewrittenUrl : self::viewUrl($view, $allParametersWithoutView);
}
}
public static function resolve($url)
{
$resolver = new RewritingResolver($url);
return $resolver;
}
public static function resolveCurrent(Request $request)
{
if(ConfigQuery::isRewritingEnable()) {
return self::resolve($request->get('rewritten_url'));
}
return null;
}
}