<?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
namespace Friendica\Core;
use Exception;
-use Friendica\Core\Config\IConfiguration;
-use Friendica\Core\L10n\L10n;
+use Friendica\Core\Config\IConfig;
use Friendica\Database\Database;
use Friendica\Model\Storage;
use Psr\Log\LoggerInterface;
/**
- * @brief Manage storage backends
+ * Manage storage backends
*
* Core code uses this class to get and set current storage backend class.
* Addons use this class to register and unregister additional backends.
/** @var Database */
private $dba;
- /** @var IConfiguration */
+ /** @var IConfig */
private $config;
/** @var LoggerInterface */
private $logger;
/**
* @param Database $dba
- * @param IConfiguration $config
+ * @param IConfig $config
* @param LoggerInterface $logger
* @param L10n $l10n
*/
- public function __construct(Database $dba, IConfiguration $config, LoggerInterface $logger, L10n $l10n)
+ public function __construct(Database $dba, IConfig $config, LoggerInterface $logger, L10n $l10n)
{
$this->dba = $dba;
$this->config = $config;
}
/**
- * @brief Return current storage backend class
+ * Return current storage backend class
*
* @return Storage\IStorage|null
*/
}
/**
- * @brief Return storage backend class by registered name
+ * Return storage backend class by registered name
*
* @param string|null $name Backend name
* @param boolean $onlyUserBackend True, if just user specific instances should be returrned (e.g. not SystemResource)
}
/**
- * @brief Set current storage backend class
+ * Set current storage backend class
*
* @param string $name Backend class name
*
}
/**
- * @brief Get registered backends
+ * Get registered backends
*
* @return array
*/
}
/**
- * @brief Unregister a storage backend class
+ * Unregister a storage backend class
*
* @param string $class Backend class name
*
}
/**
- * @brief Move up to 5000 resources to storage $dest
+ * Move up to 5000 resources to storage $dest
*
* Copy existing data to destination storage and delete from source.
* This method cannot move to legacy in-table `data` field.
$data = $source->get($sourceRef);
}
- $this->logger->info('Save data to new backend.', ['newBackend' => $destination]);
+ $this->logger->info('Save data to new backend.', ['newBackend' => $destination::getName()]);
$destinationRef = $destination->put($data);
$this->logger->info('Saved data.', ['newReference' => $destinationRef]);
if ($destinationRef !== '') {
$this->logger->info('update row');
- if ($this->dba->update($table, ['backend-class' => $destination, 'backend-ref' => $destinationRef, 'data' => ''], ['id' => $id])) {
+ if ($this->dba->update($table, ['backend-class' => $destination::getName(), 'backend-ref' => $destinationRef, 'data' => ''], ['id' => $id])) {
if (!empty($source)) {
$this->logger->info('Delete data from old backend.', ['oldBackend' => $source, 'oldReference' => $sourceRef]);
$source->delete($sourceRef);