Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Grav\Installer; use DirectoryIterator; /** * Class VersionUpdater * @..
Decoded Output download
<?php
namespace Grav\Installer;
use DirectoryIterator;
/**
* Class VersionUpdater
* @package Grav\Installer
*/
final class VersionUpdater
{
/** @var string */
private $name;
/** @var string */
private $path;
/** @var string */
private $version;
/** @var Versions */
private $versions;
/** @var VersionUpdate[] */
private $updates;
/**
* VersionUpdater constructor.
* @param string $name
* @param string $path
* @param string $version
* @param Versions $versions
*/
public function __construct(string $name, string $path, string $version, Versions $versions)
{
$this->name = $name;
$this->path = $path;
$this->version = $version;
$this->versions = $versions;
$this->loadUpdates();
}
/**
* Pre-installation method.
*/
public function preflight(): void
{
foreach ($this->updates as $revision => $update) {
$update->preflight($this);
}
}
/**
* Install method.
*/
public function install(): void
{
$versions = $this->getVersions();
$versions->updateVersion($this->name, $this->version);
$versions->save();
}
/**
* Post-installation method.
*/
public function postflight(): void
{
$versions = $this->getVersions();
foreach ($this->updates as $revision => $update) {
$update->postflight($this);
$versions->setSchema($this->name, $revision);
$versions->save();
}
}
/**
* @return Versions
*/
public function getVersions(): Versions
{
return $this->versions;
}
/**
* @param string|null $name
* @return string|null
*/
public function getExtensionVersion(string $name = null): ?string
{
return $this->versions->getVersion($name ?? $this->name);
}
/**
* @param string|null $name
* @return string|null
*/
public function getExtensionSchema(string $name = null): ?string
{
return $this->versions->getSchema($name ?? $this->name);
}
/**
* @param string|null $name
* @return array
*/
public function getExtensionHistory(string $name = null): array
{
return $this->versions->getHistory($name ?? $this->name);
}
protected function loadUpdates(): void
{
$this->updates = [];
$schema = $this->getExtensionSchema();
$iterator = new DirectoryIterator($this->path);
foreach ($iterator as $item) {
if (!$item->isFile() || $item->getExtension() !== 'php') {
continue;
}
$revision = $item->getBasename('.php');
if (!$schema || version_compare($revision, $schema, '>')) {
$realPath = $item->getRealPath();
if ($realPath) {
$this->updates[$revision] = new VersionUpdate($realPath, $this);
}
}
}
uksort($this->updates, 'version_compare');
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Grav\Installer;
use DirectoryIterator;
/**
* Class VersionUpdater
* @package Grav\Installer
*/
final class VersionUpdater
{
/** @var string */
private $name;
/** @var string */
private $path;
/** @var string */
private $version;
/** @var Versions */
private $versions;
/** @var VersionUpdate[] */
private $updates;
/**
* VersionUpdater constructor.
* @param string $name
* @param string $path
* @param string $version
* @param Versions $versions
*/
public function __construct(string $name, string $path, string $version, Versions $versions)
{
$this->name = $name;
$this->path = $path;
$this->version = $version;
$this->versions = $versions;
$this->loadUpdates();
}
/**
* Pre-installation method.
*/
public function preflight(): void
{
foreach ($this->updates as $revision => $update) {
$update->preflight($this);
}
}
/**
* Install method.
*/
public function install(): void
{
$versions = $this->getVersions();
$versions->updateVersion($this->name, $this->version);
$versions->save();
}
/**
* Post-installation method.
*/
public function postflight(): void
{
$versions = $this->getVersions();
foreach ($this->updates as $revision => $update) {
$update->postflight($this);
$versions->setSchema($this->name, $revision);
$versions->save();
}
}
/**
* @return Versions
*/
public function getVersions(): Versions
{
return $this->versions;
}
/**
* @param string|null $name
* @return string|null
*/
public function getExtensionVersion(string $name = null): ?string
{
return $this->versions->getVersion($name ?? $this->name);
}
/**
* @param string|null $name
* @return string|null
*/
public function getExtensionSchema(string $name = null): ?string
{
return $this->versions->getSchema($name ?? $this->name);
}
/**
* @param string|null $name
* @return array
*/
public function getExtensionHistory(string $name = null): array
{
return $this->versions->getHistory($name ?? $this->name);
}
protected function loadUpdates(): void
{
$this->updates = [];
$schema = $this->getExtensionSchema();
$iterator = new DirectoryIterator($this->path);
foreach ($iterator as $item) {
if (!$item->isFile() || $item->getExtension() !== 'php') {
continue;
}
$revision = $item->getBasename('.php');
if (!$schema || version_compare($revision, $schema, '>')) {
$realPath = $item->getRealPath();
if ($realPath) {
$this->updates[$revision] = new VersionUpdate($realPath, $this);
}
}
}
uksort($this->updates, 'version_compare');
}
}
Function Calls
None |
Stats
MD5 | d24dc030d45aa4c127f7c5552561b793 |
Eval Count | 0 |
Decode Time | 90 ms |