Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/updater.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Updater.php')
-rw-r--r--lib/Updater.php35
1 files changed, 17 insertions, 18 deletions
diff --git a/lib/Updater.php b/lib/Updater.php
index e730ee5..59614b6 100644
--- a/lib/Updater.php
+++ b/lib/Updater.php
@@ -66,7 +66,7 @@ class Updater {
return;
}
- $dataDir = $this->getDataDirectoryLocation();
+ $dataDir = $this->getUpdateDirectoryLocation();
if (empty($dataDir) || !is_string($dataDir)) {
throw new \Exception('Could not read data directory from config.php.');
}
@@ -85,10 +85,7 @@ class Updater {
$buildTime = $OC_Build;
}
- if ($version === null) {
- return;
- }
- if ($buildTime === null) {
+ if ($version === null || $buildTime === null) {
return;
}
@@ -186,8 +183,8 @@ class Updater {
*
* @return string
*/
- private function getDataDirectoryLocation() {
- return $this->configValues['datadirectory'];
+ private function getUpdateDirectoryLocation() {
+ return $this->configValues['updatedirectory'] ?? $this->configValues['datadirectory'];
}
/**
@@ -368,7 +365,7 @@ class Updater {
];
// Create new folder for the backup
- $backupFolderLocation = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid').'/backups/nextcloud-'.$this->getConfigOption('version') . '-' . time() . '/';
+ $backupFolderLocation = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid').'/backups/nextcloud-'.$this->getConfigOption('version') . '-' . time() . '/';
$this->silentLog('[info] backup folder location: ' . $backupFolderLocation);
$state = mkdir($backupFolderLocation, 0750, true);
@@ -520,7 +517,8 @@ class Updater {
$this->silentLog('[info] downloadUpdate()');
$response = $this->getUpdateServerResponse();
- $storageLocation = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/';
+
+ $storageLocation = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/';
if (file_exists($storageLocation)) {
$this->silentLog('[info] storage location exists');
$this->recursiveDelete($storageLocation);
@@ -588,7 +586,7 @@ class Updater {
* @throws \Exception
*/
private function getDownloadedFilePath() {
- $storageLocation = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/';
+ $storageLocation = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/';
$this->silentLog('[info] storage location: ' . $storageLocation);
$filesInStorageLocation = scandir($storageLocation);
@@ -809,7 +807,7 @@ EOF;
throw new \Exception('core/shipped.json is not available');
}
- $newShippedAppsFile = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/core/shipped.json';
+ $newShippedAppsFile = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/core/shipped.json';
if (!file_exists($newShippedAppsFile)) {
throw new \Exception('core/shipped.json is not available in the new release');
}
@@ -967,7 +965,7 @@ EOF;
'ocs/v1.php',
'ocs/v2.php',
];
- $storageLocation = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/';
+ $storageLocation = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/';
$this->silentLog('[info] storage location: ' . $storageLocation);
$this->moveWithExclusions($storageLocation, $excludedElements);
@@ -983,14 +981,15 @@ EOF;
public function finalize() {
$this->silentLog('[info] finalize()');
- $storageLocation = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/';
+ $storageLocation = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/downloads/nextcloud/';
$this->silentLog('[info] storage location: ' . $storageLocation);
$this->moveWithExclusions($storageLocation, []);
$state = rmdir($storageLocation);
if ($state === false) {
throw new \Exception('Could not rmdir $storagelocation');
}
- $state = unlink($this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/.step');
+
+ $state = unlink($this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid') . '/.step');
if ($state === false) {
throw new \Exception('Could not rmdir .step');
}
@@ -1009,7 +1008,7 @@ EOF;
* @throws \Exception
*/
private function writeStep($state, $step) {
- $updaterDir = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
+ $updaterDir = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
if (!file_exists($updaterDir . '/.step')) {
if (!file_exists($updaterDir)) {
$result = mkdir($updaterDir);
@@ -1054,7 +1053,7 @@ EOF;
public function currentStep() {
$this->silentLog('[info] currentStep()');
- $updaterDir = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
+ $updaterDir = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
$jsonData = [];
if (file_exists($updaterDir. '/.step')) {
$state = file_get_contents($updaterDir . '/.step');
@@ -1079,7 +1078,7 @@ EOF;
public function rollbackChanges($step) {
$this->silentLog('[info] rollbackChanges("' . $step . '")');
- $updaterDir = $this->getDataDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
+ $updaterDir = $this->getUpdateDirectoryLocation() . '/updater-'.$this->getConfigOption('instanceid');
if (file_exists($updaterDir . '/.step')) {
$this->silentLog('[info] unlink .step');
$state = unlink($updaterDir . '/.step');
@@ -1123,7 +1122,7 @@ EOF;
* @throws LogException
*/
public function log($message) {
- $updaterLogPath = $this->getDataDirectoryLocation() . '/updater.log';
+ $updaterLogPath = $this->getUpdateDirectoryLocation() . '/updater.log';
$fh = fopen($updaterLogPath, 'a');
if ($fh === false) {