OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
kreait
/
firebase-php
/
src
/
Firebase
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:34:12 AM
rwxr-xr-x
📁
Auth
-
08/12/2024 10:36:25 AM
rwxr-xr-x
📄
Auth.php
25.2 KB
08/12/2024 10:34:12 AM
rw-r--r--
📁
Contract
-
08/12/2024 10:35:37 AM
rwxr-xr-x
📁
Database
-
08/12/2024 10:36:26 AM
rwxr-xr-x
📄
Database.php
2.17 KB
08/12/2024 10:34:12 AM
rw-r--r--
📁
DynamicLink
-
08/12/2024 10:36:26 AM
rwxr-xr-x
📄
DynamicLink.php
1.59 KB
08/12/2024 10:34:12 AM
rw-r--r--
📄
DynamicLinks.php
5.36 KB
08/12/2024 10:34:12 AM
rw-r--r--
📁
Exception
-
08/12/2024 10:36:28 AM
rwxr-xr-x
📄
Factory.php
25.17 KB
08/12/2024 10:34:12 AM
rw-r--r--
📄
Firestore.php
564 bytes
08/12/2024 10:34:12 AM
rw-r--r--
📁
Http
-
08/12/2024 10:35:38 AM
rwxr-xr-x
📁
Messaging
-
08/12/2024 10:36:41 AM
rwxr-xr-x
📄
Messaging.php
7.86 KB
08/12/2024 10:34:12 AM
rw-r--r--
📁
Project
-
08/12/2024 10:35:39 AM
rwxr-xr-x
📁
RemoteConfig
-
08/12/2024 10:35:39 AM
rwxr-xr-x
📄
RemoteConfig.php
3.36 KB
08/12/2024 10:34:12 AM
rw-r--r--
📁
Request
-
08/12/2024 10:35:39 AM
rwxr-xr-x
📄
Request.php
118 bytes
08/12/2024 10:34:12 AM
rw-r--r--
📄
ServiceAccount.php
3.78 KB
08/12/2024 10:34:12 AM
rw-r--r--
📄
Storage.php
1.2 KB
08/12/2024 10:34:13 AM
rw-r--r--
📁
Util
-
08/12/2024 10:35:39 AM
rwxr-xr-x
📄
Util.php
418 bytes
08/12/2024 10:34:12 AM
rw-r--r--
📁
Value
-
08/12/2024 10:35:39 AM
rwxr-xr-x
Editing: DynamicLinks.php
Close
<?php declare(strict_types=1); namespace Kreait\Firebase; use GuzzleHttp\ClientInterface; use InvalidArgumentException; use Kreait\Firebase\DynamicLink\CreateDynamicLink; use Kreait\Firebase\DynamicLink\DynamicLinkStatistics; use Kreait\Firebase\DynamicLink\GetStatisticsForDynamicLink; use Kreait\Firebase\DynamicLink\ShortenLongDynamicLink; use Kreait\Firebase\Value\Url; use Psr\Http\Message\UriInterface; final class DynamicLinks implements Contract\DynamicLinks { private ClientInterface $apiClient; private ?Url $defaultDynamicLinksDomain = null; private function __construct(ClientInterface $apiClient) { $this->apiClient = $apiClient; } public static function withApiClient(ClientInterface $apiClient): self { return new self($apiClient); } /** * @param string|Url|UriInterface|mixed $dynamicLinksDomain */ public static function withApiClientAndDefaultDomain(ClientInterface $apiClient, $dynamicLinksDomain): self { $domainUrl = Url::fromValue($dynamicLinksDomain); $service = self::withApiClient($apiClient); $service->defaultDynamicLinksDomain = $domainUrl; return $service; } public function createUnguessableLink($url): DynamicLink { return $this->createDynamicLink($url, CreateDynamicLink::WITH_UNGUESSABLE_SUFFIX); } public function createShortLink($url): DynamicLink { return $this->createDynamicLink($url, CreateDynamicLink::WITH_SHORT_SUFFIX); } public function createDynamicLink($actionOrParametersOrUrl, ?string $suffixType = null): DynamicLink { $action = $this->ensureCreateAction($actionOrParametersOrUrl); if ($this->defaultDynamicLinksDomain && !$action->hasDynamicLinkDomain()) { $action = $action->withDynamicLinkDomain($this->defaultDynamicLinksDomain); } if ($suffixType && $suffixType === CreateDynamicLink::WITH_SHORT_SUFFIX) { $action = $action->withShortSuffix(); } elseif ($suffixType && $suffixType === CreateDynamicLink::WITH_UNGUESSABLE_SUFFIX) { $action = $action->withUnguessableSuffix(); } return (new CreateDynamicLink\GuzzleApiClientHandler($this->apiClient))->handle($action); } public function shortenLongDynamicLink($longDynamicLinkOrAction, ?string $suffixType = null): DynamicLink { $action = $this->ensureShortenAction($longDynamicLinkOrAction); if ($suffixType && $suffixType === ShortenLongDynamicLink::WITH_SHORT_SUFFIX) { $action = $action->withShortSuffix(); } elseif ($suffixType && $suffixType === ShortenLongDynamicLink::WITH_UNGUESSABLE_SUFFIX) { $action = $action->withUnguessableSuffix(); } return (new ShortenLongDynamicLink\GuzzleApiClientHandler($this->apiClient))->handle($action); } public function getStatistics($dynamicLinkOrAction, ?int $durationInDays = null): DynamicLinkStatistics { $action = $this->ensureGetStatisticsAction($dynamicLinkOrAction); if ($durationInDays) { $action = $action->withDurationInDays($durationInDays); } return (new DynamicLink\GetStatisticsForDynamicLink\GuzzleApiClientHandler($this->apiClient))->handle($action); } /** * @param mixed $actionOrParametersOrUrl */ private function ensureCreateAction($actionOrParametersOrUrl): CreateDynamicLink { if ($this->isStringable($actionOrParametersOrUrl)) { return CreateDynamicLink::forUrl((string) $actionOrParametersOrUrl); } if (\is_array($actionOrParametersOrUrl)) { return CreateDynamicLink::fromArray($actionOrParametersOrUrl); } if ($actionOrParametersOrUrl instanceof CreateDynamicLink) { return $actionOrParametersOrUrl; } throw new InvalidArgumentException('Unsupported action'); } /** * @param mixed $actionOrParametersOrUrl */ private function ensureShortenAction($actionOrParametersOrUrl): ShortenLongDynamicLink { if ($this->isStringable($actionOrParametersOrUrl)) { return ShortenLongDynamicLink::forLongDynamicLink((string) $actionOrParametersOrUrl); } if (\is_array($actionOrParametersOrUrl)) { return ShortenLongDynamicLink::fromArray($actionOrParametersOrUrl); } if ($actionOrParametersOrUrl instanceof ShortenLongDynamicLink) { return $actionOrParametersOrUrl; } throw new InvalidArgumentException('Unsupported action'); } /** * @param mixed $actionOrUrl */ private function ensureGetStatisticsAction($actionOrUrl): GetStatisticsForDynamicLink { if ($this->isStringable($actionOrUrl)) { return GetStatisticsForDynamicLink::forLink($actionOrUrl); } if ($actionOrUrl instanceof GetStatisticsForDynamicLink) { return $actionOrUrl; } throw new InvalidArgumentException('Unsupported action'); } /** * @param mixed $value */ private function isStringable($value): bool { return \is_string($value) || $value instanceof UriInterface || (\is_object($value) && \method_exists($value, '__toString')); } }