/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/Backup
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/Backup/Backup.php (2610B)
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
namespace PrestaShop\PrestaShop\Adapter\Backup;
use DateTimeImmutable;
use PrestaShop\PrestaShop\Adapter\Entity\PrestaShopBackup;
use PrestaShop\PrestaShop\Core\Backup\BackupInterface;
/**
* Class Backup represents single database backup.
*
* @internal
*/
final class Backup implements BackupInterface
{
/**
* @var PrestaShopBackup
*/
private $legacyBackup;
/**
* @var string
*/
private $fileName;
/**
* @param string $fileName Backup file name
*/
public function __construct($fileName)
{
$this->fileName = $fileName;
$this->legacyBackup = new PrestaShopBackup($fileName);
}
/**
* {@inheritdoc}
*/
public function getFileName()
{
return $this->fileName;
}
/**
* {@inheritdoc}
*/
public function getFilePath()
{
return $this->legacyBackup->getBackupPath() . $this->getFileName();
}
/**
* {@inheritdoc}
*/
public function getUrl()
{
return $this->legacyBackup->getBackupURL();
}
/**
* {@inheritdoc}
*/
public function getSize()
{
return filesize($this->legacyBackup->id);
}
/**
* {@inheritdoc}
*/
public function getAge()
{
return time() - $this->getDate()->getTimestamp();
}
/**
* {@inheritdoc}
*/
public function getDate()
{
list($timestamp) = explode('-', $this->fileName);
return new DateTimeImmutable('@' . $timestamp);
}
}