aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2020-01-01 12:29:38 +0100
committerMarc Alexander <admin@m-a-styles.de>2020-01-01 12:29:38 +0100
commitaf7dcb9ba2e298fdbc0a8536e3088e4e3e16bb20 (patch)
tree0421b9f834d459a90235a1637dcf315fe00c0919
parent[ticket/16284] Add effectively_installed to add_storage_permission (diff)
downloadphpbb-af7dcb9ba2e298fdbc0a8536e3088e4e3e16bb20.tar.gz
phpbb-af7dcb9ba2e298fdbc0a8536e3088e4e3e16bb20.tar.bz2
phpbb-af7dcb9ba2e298fdbc0a8536e3088e4e3e16bb20.zip
[ticket/16284] Add effectively installed checks where applicable
PHPBB3-16284
-rw-r--r--phpBB/phpbb/db/migration/data/v400/extensions_composer.php39
-rw-r--r--phpBB/phpbb/db/migration/data/v400/extensions_composer_2.php19
-rw-r--r--phpBB/phpbb/db/migration/data/v400/remove_attachment_download_mode.php37
-rw-r--r--phpBB/phpbb/db/migration/data/v400/storage_adapter_local_subfolders.php52
-rw-r--r--phpBB/phpbb/db/migration/data/v400/storage_attachment.php22
-rw-r--r--phpBB/phpbb/db/migration/data/v400/storage_avatar.php22
-rw-r--r--phpBB/phpbb/db/migration/data/v400/storage_backup.php40
-rw-r--r--phpBB/phpbb/db/migration/data/v400/storage_track.php69
8 files changed, 181 insertions, 119 deletions
diff --git a/phpBB/phpbb/db/migration/data/v400/extensions_composer.php b/phpBB/phpbb/db/migration/data/v400/extensions_composer.php
index 7e12150e56..37440744c0 100644
--- a/phpBB/phpbb/db/migration/data/v400/extensions_composer.php
+++ b/phpBB/phpbb/db/migration/data/v400/extensions_composer.php
@@ -11,29 +11,36 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class extensions_composer extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+
+class extensions_composer extends migration
{
+ public function effectively_installed()
+ {
+ return $this->config->offsetExists('exts_composer_repositories');
+ }
+
public function update_data()
{
- return array(
- array('config.add', array('exts_composer_repositories', json_encode([
+ return [
+ ['config.add', ['exts_composer_repositories', json_encode([
'https://www.phpbb.com/customise/db/composer/',
- ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES))),
- array('config.add', array('exts_composer_packagist', false)),
- array('config.add', array('exts_composer_json_file', 'composer-ext.json')),
- array('config.add', array('exts_composer_vendor_dir', 'vendor-ext/')),
- array('config.add', array('exts_composer_enable_on_install', false)),
- array('config.add', array('exts_composer_purge_on_remove', true)),
- array('module.add', array(
+ ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)]],
+ ['config.add', ['exts_composer_packagist', false]],
+ ['config.add', ['exts_composer_json_file', 'composer-ext.json']],
+ ['config.add', ['exts_composer_vendor_dir', 'vendor-ext/']],
+ ['config.add', ['exts_composer_enable_on_install', false]],
+ ['config.add', ['exts_composer_purge_on_remove', true]],
+ ['module.add', [
'acp',
'ACP_EXTENSION_MANAGEMENT',
- array(
+ [
'module_basename' => 'acp_extensions',
- 'modes' => array('catalog'),
- ),
- )),
- );
+ 'modes' => ['catalog'],
+ ],
+ ]],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/extensions_composer_2.php b/phpBB/phpbb/db/migration/data/v400/extensions_composer_2.php
index 8199dc807e..d72e2145e3 100644
--- a/phpBB/phpbb/db/migration/data/v400/extensions_composer_2.php
+++ b/phpBB/phpbb/db/migration/data/v400/extensions_composer_2.php
@@ -11,23 +11,30 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class extensions_composer_2 extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+
+class extensions_composer_2 extends migration
{
+ public function effectively_installed()
+ {
+ return strpos($this->config['exts_composer_repositories'], 'https://satis.phpbb.com') !== false;
+ }
+
public function update_data()
{
$repositories = json_decode($this->config['exts_composer_repositories'], true);
$repositories[] = 'https://satis.phpbb.com';
$repositories = array_unique($repositories);
- return array(
- array('config.update', array('exts_composer_repositories', json_encode($repositories, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES))),
- );
+ return [
+ ['config.update', ['exts_composer_repositories', json_encode($repositories, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)]],
+ ];
}
static public function depends_on()
{
- return array('\phpbb\db\migration\data\v330\extensions_composer');
+ return ['\phpbb\db\migration\data\v400\extensions_composer'];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/remove_attachment_download_mode.php b/phpBB/phpbb/db/migration/data/v400/remove_attachment_download_mode.php
index 988a7167b1..e400387ad4 100644
--- a/phpBB/phpbb/db/migration/data/v400/remove_attachment_download_mode.php
+++ b/phpBB/phpbb/db/migration/data/v400/remove_attachment_download_mode.php
@@ -11,29 +11,36 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class remove_attachment_download_mode extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+
+class remove_attachment_download_mode extends migration
{
+ public function effectively_installed()
+ {
+ return !$this->db_tools->sql_column_exists($this->tables['extension_groups'], 'download_mode');
+ }
+
public function update_schema()
{
- return array(
- 'drop_columns' => array(
- $this->table_prefix . 'extension_groups' => array(
+ return [
+ 'drop_columns' => [
+ $this->table_prefix . 'extension_groups' => [
'download_mode',
- ),
- ),
- );
+ ],
+ ],
+ ];
}
public function revert_schema()
{
- return array(
- 'add_columns' => array(
- $this->table_prefix . 'extension_groups' => array(
- 'download_mode' => array('BOOL', '1'),
- ),
- ),
- );
+ return [
+ 'add_columns' => [
+ $this->table_prefix . 'extension_groups' => [
+ 'download_mode' => ['BOOL', '1'],
+ ],
+ ],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/storage_adapter_local_subfolders.php b/phpBB/phpbb/db/migration/data/v400/storage_adapter_local_subfolders.php
index 491388054c..3c4e5e3a0f 100644
--- a/phpBB/phpbb/db/migration/data/v400/storage_adapter_local_subfolders.php
+++ b/phpBB/phpbb/db/migration/data/v400/storage_adapter_local_subfolders.php
@@ -11,34 +11,44 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class storage_adapter_local_subfolders extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+use phpbb\storage\provider\local;
+
+class storage_adapter_local_subfolders extends migration
{
+ public function effectively_installed()
+ {
+ return $this->config->offsetExists('storage\\attachment\\config\\subfolders') ||
+ $this->config->offsetExists('storage\\avatar\\config\\subfolders') ||
+ $this->config->offsetExists('storage\\backup\\config\\subfolders');
+ }
+
static public function depends_on()
{
- return array(
- '\phpbb\db\migration\data\v330\storage_attachment',
- '\phpbb\db\migration\data\v330\storage_avatar',
- '\phpbb\db\migration\data\v330\storage_backup',
- );
+ return [
+ '\phpbb\db\migration\data\v400\storage_attachment',
+ '\phpbb\db\migration\data\v400\storage_avatar',
+ '\phpbb\db\migration\data\v400\storage_backup',
+ ];
}
public function update_data()
{
- return array(
- array('if', array(
- ($this->config['storage\\attachment\\provider'] == \phpbb\storage\provider\local::class),
- array('config.add', array('storage\\attachment\\config\\subfolders', '0')),
- )),
- array('if', array(
- ($this->config['storage\\avatar\\provider'] == \phpbb\storage\provider\local::class),
- array('config.add', array('storage\\avatar\\config\\subfolders', '0')),
- )),
- array('if', array(
- ($this->config['storage\\backup\\provider'] == \phpbb\storage\provider\local::class),
- array('config.add', array('storage\\backup\\config\\subfolders', '0')),
- )),
- );
+ return [
+ ['if', [
+ ($this->config['storage\\attachment\\provider'] == local::class),
+ ['config.add', ['storage\\attachment\\config\\subfolders', '0']],
+ ]],
+ ['if', [
+ ($this->config['storage\\avatar\\provider'] == local::class),
+ ['config.add', ['storage\\avatar\\config\\subfolders', '0']],
+ ]],
+ ['if', [
+ ($this->config['storage\\backup\\provider'] == local::class),
+ ['config.add', ['storage\\backup\\config\\subfolders', '0']],
+ ]],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/storage_attachment.php b/phpBB/phpbb/db/migration/data/v400/storage_attachment.php
index 626bafed65..adddbdd9b8 100644
--- a/phpBB/phpbb/db/migration/data/v400/storage_attachment.php
+++ b/phpBB/phpbb/db/migration/data/v400/storage_attachment.php
@@ -11,16 +11,24 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class storage_attachment extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+use phpbb\storage\provider\local;
+
+class storage_attachment extends migration
{
+ public function effectively_installed()
+ {
+ return $this->config->offsetExists('storage\\attachment\\provider');
+ }
+
public function update_data()
{
- return array(
- array('config.add', array('storage\\attachment\\provider', \phpbb\storage\provider\local::class)),
- array('config.add', array('storage\\attachment\\config\\path', $this->config['upload_path'])),
- array('config.remove', array('upload_path')),
- );
+ return [
+ ['config.add', ['storage\\attachment\\provider', local::class]],
+ ['config.add', ['storage\\attachment\\config\\path', $this->config['upload_path']]],
+ ['config.remove', ['upload_path']],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/storage_avatar.php b/phpBB/phpbb/db/migration/data/v400/storage_avatar.php
index 077904daa6..a8250b5faf 100644
--- a/phpBB/phpbb/db/migration/data/v400/storage_avatar.php
+++ b/phpBB/phpbb/db/migration/data/v400/storage_avatar.php
@@ -11,16 +11,24 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class storage_avatar extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+use phpbb\storage\provider\local;
+
+class storage_avatar extends migration
{
+ public function effectively_installed()
+ {
+ return $this->config->offsetExists('storage\\avatar\\provider');
+ }
+
public function update_data()
{
- return array(
- array('config.add', array('storage\\avatar\\provider', \phpbb\storage\provider\local::class)),
- array('config.add', array('storage\\avatar\\config\\path', $this->config['avatar_path'])),
- array('config.remove', array('avatar_path')),
- );
+ return [
+ ['config.add', ['storage\\avatar\\provider', local::class]],
+ ['config.add', ['storage\\avatar\\config\\path', $this->config['avatar_path']]],
+ ['config.remove', ['avatar_path']],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/storage_backup.php b/phpBB/phpbb/db/migration/data/v400/storage_backup.php
index 316ba4c104..fffd08582b 100644
--- a/phpBB/phpbb/db/migration/data/v400/storage_backup.php
+++ b/phpBB/phpbb/db/migration/data/v400/storage_backup.php
@@ -11,30 +11,38 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
-class storage_backup extends \phpbb\db\migration\migration
+use phpbb\db\migration\migration;
+use phpbb\storage\provider\local;
+
+class storage_backup extends migration
{
+ public function effectively_installed()
+ {
+ return $this->db_tools->sql_table_exists($this->tables['backups']);
+ }
+
public function update_schema()
{
- return array(
- 'add_tables' => array(
- $this->table_prefix . 'backups' => array(
- 'COLUMNS' => array(
- 'backup_id' => array('UINT', null, 'auto_increment'),
- 'filename' => array('VCHAR', ''),
- ),
+ return [
+ 'add_tables' => [
+ $this->table_prefix . 'backups' => [
+ 'COLUMNS' => [
+ 'backup_id' => ['UINT', null, 'auto_increment'],
+ 'filename' => ['VCHAR', ''],
+ ],
'PRIMARY_KEY' => 'backup_id',
- ),
- ),
- );
+ ],
+ ],
+ ];
}
public function update_data()
{
- return array(
- array('config.add', array('storage\\backup\\provider', \phpbb\storage\provider\local::class)),
- array('config.add', array('storage\\backup\\config\\path', 'store')),
- );
+ return [
+ ['config.add', ['storage\\backup\\provider', local::class]],
+ ['config.add', ['storage\\backup\\config\\path', 'store']],
+ ];
}
}
diff --git a/phpBB/phpbb/db/migration/data/v400/storage_track.php b/phpBB/phpbb/db/migration/data/v400/storage_track.php
index 5abd875ae9..a4aec87fb2 100644
--- a/phpBB/phpbb/db/migration/data/v400/storage_track.php
+++ b/phpBB/phpbb/db/migration/data/v400/storage_track.php
@@ -11,45 +11,52 @@
*
*/
-namespace phpbb\db\migration\data\v330;
+namespace phpbb\db\migration\data\v400;
+use phpbb\db\migration\container_aware_migration;
+use phpbb\storage\exception\exception;
use phpbb\storage\storage;
-class storage_track extends \phpbb\db\migration\container_aware_migration
+class storage_track extends container_aware_migration
{
+ public function effectively_installed()
+ {
+ return $this->db_tools->sql_table_exists($this->tables['storage']);
+ }
+
static public function depends_on()
{
- return array(
- '\phpbb\db\migration\data\v330\storage_attachment',
- '\phpbb\db\migration\data\v330\storage_avatar',
- '\phpbb\db\migration\data\v330\storage_backup',
- );
+ return [
+ '\phpbb\db\migration\data\v400\storage_attachment',
+ '\phpbb\db\migration\data\v400\storage_avatar',
+ '\phpbb\db\migration\data\v400\storage_backup',
+ ];
}
public function update_schema()
{
- return array(
- 'add_tables' => array(
- $this->table_prefix . 'storage' => array(
- 'COLUMNS' => array(
- 'file_id' => array('UINT', null, 'auto_increment'),
- 'file_path' => array('VCHAR', ''),
- 'storage' => array('VCHAR', ''),
- 'filesize' => array('UINT:20', 0),
- ),
+ return [
+ 'add_tables' => [
+ $this->table_prefix . 'storage' => [
+ 'COLUMNS' => [
+ 'file_id' => ['UINT', null, 'auto_increment'],
+ 'file_path' => ['VCHAR', ''],
+ 'storage' => ['VCHAR', ''],
+ 'filesize' => ['UINT:20', 0],
+ ],
'PRIMARY_KEY' => 'file_id',
- ),
- ),
- );
+ ],
+ ],
+ ];
}
public function revert_schema()
{
- return array(
- 'drop_tables' => array(
+ return [
+ 'drop_tables' => [
$this->table_prefix . 'storage',
- ),
- );
+ ],
+ ];
}
public function update_data()
@@ -90,9 +97,9 @@ class storage_track extends \phpbb\db\migration\container_aware_migration
{
$storage->track_file($this->config['avatar_salt'] . '_' . ($avatar_group ? 'g' : '') . $filename . '.' . $ext);
}
- catch (\phpbb\storage\exception\exception $e)
+ catch (exception $e)
{
- // If file don't exist, don't track it
+ // If file doesn't exist, don't track it
}
}
$this->db->sql_freeresult($result);
@@ -114,9 +121,9 @@ class storage_track extends \phpbb\db\migration\container_aware_migration
{
$storage->track_file($row['physical_filename']);
}
- catch (\phpbb\storage\exception\exception $e)
+ catch (exception $e)
{
- // If file don't exist, don't track it
+ // If file doesn't exist, don't track it
}
if ($row['thumbnail'] == 1)
@@ -125,9 +132,9 @@ class storage_track extends \phpbb\db\migration\container_aware_migration
{
$storage->track_file('thumb_' . $row['physical_filename']);
}
- catch (\phpbb\storage\exception\exception $e)
+ catch (exception $e)
{
- // If file don't exist, don't track it
+ // If file doesn't exist, don't track it
}
}
}
@@ -150,9 +157,9 @@ class storage_track extends \phpbb\db\migration\container_aware_migration
{
$storage->track_file($row['filename']);
}
- catch (\phpbb\storage\exception\exception $e)
+ catch (exception $e)
{
- // If file don't exist, don't track it
+ // If file doesn't exist, don't track it
}
}