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: RemoteConfig.php
Close
<?php declare(strict_types=1); namespace Kreait\Firebase; use Kreait\Firebase\Exception\RemoteConfig\VersionNotFound; use Kreait\Firebase\RemoteConfig\ApiClient; use Kreait\Firebase\RemoteConfig\FindVersions; use Kreait\Firebase\RemoteConfig\Template; use Kreait\Firebase\RemoteConfig\Version; use Kreait\Firebase\RemoteConfig\VersionNumber; use Kreait\Firebase\Util\JSON; use Psr\Http\Message\ResponseInterface; use Traversable; class RemoteConfig implements Contract\RemoteConfig { private ApiClient $client; /** * @internal */ public function __construct(ApiClient $client) { $this->client = $client; } public function get(): Template { return $this->buildTemplateFromResponse($this->client->getTemplate()); } public function validate($template): void { $this->client->validateTemplate($this->ensureTemplate($template)); } public function publish($template): string { $etag = $this->client ->publishTemplate($this->ensureTemplate($template)) ->getHeader('ETag') ; return \array_shift($etag) ?: ''; } public function getVersion($versionNumber): Version { $versionNumber = $this->ensureVersionNumber($versionNumber); foreach ($this->listVersions() as $version) { if ($version->versionNumber()->equalsTo($versionNumber)) { return $version; } } throw VersionNotFound::withVersionNumber($versionNumber); } public function rollbackToVersion($versionNumber): Template { $versionNumber = $this->ensureVersionNumber($versionNumber); return $this->buildTemplateFromResponse($this->client->rollbackToVersion($versionNumber)); } public function listVersions($query = null): Traversable { $query = $query instanceof FindVersions ? $query : FindVersions::fromArray((array) $query); $pageToken = null; $count = 0; $limit = $query->limit(); do { $response = $this->client->listVersions($query, $pageToken); $result = JSON::decode((string) $response->getBody(), true); foreach ((array) ($result['versions'] ?? []) as $versionData) { ++$count; yield Version::fromArray($versionData); if ($count === $limit) { return; } } $pageToken = $result['nextPageToken'] ?? null; } while ($pageToken); } /** * @param Template|array<string, mixed> $value */ private function ensureTemplate($value): Template { return $value instanceof Template ? $value : Template::fromArray($value); } /** * @param VersionNumber|int|string $value */ private function ensureVersionNumber($value): VersionNumber { return $value instanceof VersionNumber ? $value : VersionNumber::fromValue($value); } private function buildTemplateFromResponse(ResponseInterface $response): Template { $etagHeader = $response->getHeader('ETag'); $etag = \array_shift($etagHeader) ?: '*'; $data = JSON::decode((string) $response->getBody(), true); return Template::fromArray($data, $etag); } }