- WIP on picea-asset
This commit is contained in:
1 parent
42d84796ee
commit
3ccbf6bfab
10 files changed
+88
-7
No files matched your search
@@ -3,10 +3,14 @@
|
||||
namespace Picea\Extension;
|
||||
|
||||
use Notes\Route\Attribute\Object\Route;
|
||||
use Picea\EventTrait;
|
||||
use Picea\Compiler\Context;
|
||||
use Picea\Event\Extension\{ UrlBuildAssetEvent, UrlBuildUrlEvent, UrlBuildRouteEvent, UrlRegisterRouteEvent };
|
||||
|
||||
class UrlExtension implements Extension, FunctionExtension {
|
||||
|
||||
use EventTrait;
|
||||
|
||||
public const URLIZE_PATTERN_URL = <<<PATTERN
|
||||
~(?<!href=['"])https?://[\w/._\-&?]*(?!</a>)(?=[^\w/._\-&])~s
|
||||
PATTERN;
|
||||
@@ -105,11 +109,15 @@ PATTERN;
|
||||
|
||||
public function buildUrl(string $uri = "", array $parameters = [], bool $appendVersion = false) : string
|
||||
{
|
||||
$this->eventExecute(UrlBuildUrlEvent::class, $uri, $parameters, $appendVersion);
|
||||
|
||||
return $this->setUrlParameters($this->url() . "/" . ltrim($uri, "/"), $appendVersion ? array_replace([ 'v' => $this->assetToken ], $parameters) : $parameters);
|
||||
}
|
||||
|
||||
public function buildAssetUrl(string $uri, array $parameters = [], bool $appendVersion = true) : string
|
||||
{
|
||||
$this->eventExecute(UrlBuildAssetEvent::class, $uri, $parameters, $appendVersion);
|
||||
|
||||
return $this->buildUrl($uri, $parameters, $appendVersion);
|
||||
}
|
||||
|
||||
@@ -150,6 +158,8 @@ PATTERN;
|
||||
'class' => $class,
|
||||
'classMethod' => $method,
|
||||
];
|
||||
|
||||
$this->eventExecute(UrlRegisterRouteEvent::class, $name, $this->routes[$name]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -195,7 +205,7 @@ PATTERN;
|
||||
|
||||
protected function domain() : string
|
||||
{
|
||||
if ( ! empty($_SERVER['HTTP_X_FORWARDED_PROTO']) || ! empty($_SERVER['HTTP_X_FORWARDED_SSL']) ) {
|
||||
if ( ! empty($_SERVER['HTTP_X_FORWARDED_PROTO']) || ! empty($_SERVER['HTTP_X_FORWARDED_SSL']) ) {
|
||||
$port = "";
|
||||
}
|
||||
else {
|
||||
@@ -274,7 +284,6 @@ PATTERN;
|
||||
}
|
||||
|
||||
$search[$item[0]] = $value ?? "";
|
||||
|
||||
}
|
||||
|
||||
$route = str_replace(array_keys($search), array_values($search), $route);
|
||||
|
||||
Reference in new issue
Block a user