Merge remote-tracking branch 'upstream/2021.03-rc' into issue-10019
This commit is contained in:
commit
acffafe6b9
|
@ -23,6 +23,7 @@ namespace Friendica\Console;
|
||||||
|
|
||||||
use Asika\SimpleConsole\CommandArgsException;
|
use Asika\SimpleConsole\CommandArgsException;
|
||||||
use Friendica\Core\StorageManager;
|
use Friendica\Core\StorageManager;
|
||||||
|
use Friendica\Model\Storage\StorageException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tool to manage storage backend and stored data from CLI
|
* tool to manage storage backend and stored data from CLI
|
||||||
|
@ -165,6 +166,10 @@ HELP;
|
||||||
$current = $this->storageManager->getBackend();
|
$current = $this->storageManager->getBackend();
|
||||||
$total = 0;
|
$total = 0;
|
||||||
|
|
||||||
|
if (is_null($current)) {
|
||||||
|
throw new StorageException(sprintf("Cannot move to legacy storage. Please select a storage backend."));
|
||||||
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
$moved = $this->storageManager->move($current, $tables, $this->getOption('n', 5000));
|
$moved = $this->storageManager->move($current, $tables, $this->getOption('n', 5000));
|
||||||
if ($moved) {
|
if ($moved) {
|
||||||
|
|
|
@ -305,13 +305,13 @@ class StorageManager
|
||||||
$data = $source->get($sourceRef);
|
$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);
|
$destinationRef = $destination->put($data);
|
||||||
$this->logger->info('Saved data.', ['newReference' => $destinationRef]);
|
$this->logger->info('Saved data.', ['newReference' => $destinationRef]);
|
||||||
|
|
||||||
if ($destinationRef !== '') {
|
if ($destinationRef !== '') {
|
||||||
$this->logger->info('update row');
|
$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)) {
|
if (!empty($source)) {
|
||||||
$this->logger->info('Delete data from old backend.', ['oldBackend' => $source, 'oldReference' => $sourceRef]);
|
$this->logger->info('Delete data from old backend.', ['oldBackend' => $source, 'oldReference' => $sourceRef]);
|
||||||
$source->delete($sourceRef);
|
$source->delete($sourceRef);
|
||||||
|
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
||||||
use Friendica\Core;
|
use Friendica\Core;
|
||||||
use Friendica\Core\Config\Cache;
|
use Friendica\Core\Config\Cache;
|
||||||
use Friendica\Core\Renderer;
|
use Friendica\Core\Renderer;
|
||||||
|
use Friendica\Core\Theme;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
use Friendica\Util\BasePath;
|
use Friendica\Util\BasePath;
|
||||||
|
@ -163,6 +164,16 @@ class Install extends BaseModule
|
||||||
|
|
||||||
self::$installer->installDatabase($configCache->get('system', 'basepath'));
|
self::$installer->installDatabase($configCache->get('system', 'basepath'));
|
||||||
|
|
||||||
|
// install allowed themes to register theme hooks
|
||||||
|
// this is same as "Reload active theme" in /admin/themes
|
||||||
|
$allowed_themes = Theme::getAllowedList();
|
||||||
|
$allowed_themes = array_unique($allowed_themes);
|
||||||
|
foreach ($allowed_themes as $theme) {
|
||||||
|
Theme::uninstall($theme);
|
||||||
|
Theme::install($theme);
|
||||||
|
}
|
||||||
|
Theme::setAllowedList($allowed_themes);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,13 +127,16 @@ class Proxy extends BaseModule
|
||||||
}
|
}
|
||||||
|
|
||||||
$basepath = $a->getBasePath();
|
$basepath = $a->getBasePath();
|
||||||
|
$filepermission = DI::config()->get('system', 'proxy_file_chmod');
|
||||||
|
|
||||||
// Store original image
|
// Store original image
|
||||||
if ($direct_cache) {
|
if ($direct_cache) {
|
||||||
// direct cache , store under ./proxy/
|
// direct cache , store under ./proxy/
|
||||||
$filename = $basepath . '/proxy/' . ProxyUtils::proxifyUrl($request['url'], true);
|
$filename = $basepath . '/proxy/' . ProxyUtils::proxifyUrl($request['url'], true);
|
||||||
file_put_contents($filename, $image->asString());
|
file_put_contents($filename, $image->asString());
|
||||||
chmod($filename, DI::config()->get('system', 'proxy_file_chmod'));
|
if (!empty($filepermission)) {
|
||||||
|
chmod($filename, $filepermission);
|
||||||
|
}
|
||||||
} elseif($cachefile !== '') {
|
} elseif($cachefile !== '') {
|
||||||
// cache file
|
// cache file
|
||||||
file_put_contents($cachefile, $image->asString());
|
file_put_contents($cachefile, $image->asString());
|
||||||
|
@ -153,7 +156,9 @@ class Proxy extends BaseModule
|
||||||
if ($direct_cache && $request['sizetype'] != '') {
|
if ($direct_cache && $request['sizetype'] != '') {
|
||||||
$filename = $basepath . '/proxy/' . ProxyUtils::proxifyUrl($request['url'], true) . $request['sizetype'];
|
$filename = $basepath . '/proxy/' . ProxyUtils::proxifyUrl($request['url'], true) . $request['sizetype'];
|
||||||
file_put_contents($filename, $image->asString());
|
file_put_contents($filename, $image->asString());
|
||||||
chmod($filename, DI::config()->get('system', 'proxy_file_chmod'));
|
if (!empty($filepermission)) {
|
||||||
|
chmod($filename, $filepermission);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self::responseImageHttpCache($image);
|
self::responseImageHttpCache($image);
|
||||||
|
|
|
@ -571,9 +571,9 @@ return [
|
||||||
// Timeout in seconds for fetching the XRD links.
|
// Timeout in seconds for fetching the XRD links.
|
||||||
'xrd_timeout' => 20,
|
'xrd_timeout' => 20,
|
||||||
|
|
||||||
// proxy_file_chmod (Integer)
|
// proxy_file_chmod (Octal Integer like 0640)
|
||||||
// Access rights for downloaded files in /proxy/ directory
|
// If set, defines the files permissions for downloaded files in the /proxy/ directory, default is system-dependent
|
||||||
'proxy_file_chmod' => 0640,
|
'proxy_file_chmod' => 0,
|
||||||
],
|
],
|
||||||
'experimental' => [
|
'experimental' => [
|
||||||
// exp_themes (Boolean)
|
// exp_themes (Boolean)
|
||||||
|
|
Loading…
Reference in a new issue