44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Shaarli\Updater;
|
|
|
|
class UpdaterUtils
|
|
{
|
|
/**
|
|
* Read the updates file, and return already done updates.
|
|
*
|
|
* @param string $updatesFilepath Updates file path.
|
|
*
|
|
* @return array Already done update methods.
|
|
*/
|
|
public static function read_updates_file($updatesFilepath)
|
|
{
|
|
if (! empty($updatesFilepath) && is_file($updatesFilepath)) {
|
|
$content = file_get_contents($updatesFilepath);
|
|
if (! empty($content)) {
|
|
return explode(';', $content);
|
|
}
|
|
}
|
|
return [];
|
|
}
|
|
|
|
/**
|
|
* Write updates file.
|
|
*
|
|
* @param string $updatesFilepath Updates file path.
|
|
* @param array $updates Updates array to write.
|
|
*
|
|
* @throws \Exception Couldn't write version number.
|
|
*/
|
|
public static function write_updates_file($updatesFilepath, $updates)
|
|
{
|
|
if (empty($updatesFilepath)) {
|
|
throw new \Exception('Updates file path is not set, can\'t write updates.');
|
|
}
|
|
|
|
$res = file_put_contents($updatesFilepath, implode(';', $updates));
|
|
if ($res === false) {
|
|
throw new \Exception('Unable to write updates in ' . $updatesFilepath . '.');
|
|
}
|
|
}
|
|
}
|