Tentative de régler le bordel

This commit is contained in:
Gauvain Boiché
2020-03-31 15:58:31 +02:00
parent a1864c0414
commit 459b46df7b
345 changed files with 10758 additions and 4066 deletions

View File

@@ -117,7 +117,7 @@ class release_3_0_4_rc1 extends \phpbb\db\migration\migration
}
else
{
// equivelant to "none", which is the "Display in user control panel" option
// equivalent to "none", which is the "Display in user control panel" option
$sql_ary['field_show_profile'] = 1;
}

View File

@@ -132,7 +132,7 @@ class softdelete_p1 extends \phpbb\db\migration\migration
/*
* Using sql_case here to avoid "BIGINT UNSIGNED value is out of range" errors.
* As we update all topics in 2 queries, one broken topic would stop the conversion
* for all topics and the surpressed error will cause the admin to not even notice it.
* for all topics and the suppressed error will cause the admin to not even notice it.
*/
$sql = 'UPDATE ' . $this->table_prefix . 'topics
SET topic_posts_approved = topic_replies + 1,

View File

@@ -0,0 +1,29 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class timezone_p3 extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v310\timezone');
}
public function update_data()
{
return array(
array('config.remove', array('board_dst')),
);
}
}

View File

@@ -0,0 +1,44 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class user_emoji_permission extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
$sql = 'SELECT auth_option_id
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option = 'u_emoji'";
$result = $this->db->sql_query($sql);
$auth_option_id = $this->db->sql_fetchfield('auth_option_id');
$this->db->sql_freeresult($result);
return $auth_option_id !== false;
}
static public function depends_on()
{
return [
'\phpbb\db\migration\data\v32x\v329rc1',
];
}
public function update_data()
{
return [
['permission.add', ['u_emoji']],
['permission.permission_set', ['REGISTERED', 'u_emoji', 'group']],
];
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class v328 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.2.8', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v328rc1',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.2.8')),
);
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class v328rc1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.2.8-RC1', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\timezone_p3',
'\phpbb\db\migration\data\v32x\v327',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.2.8-RC1')),
);
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class v329 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.2.9', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v329rc1',
'\phpbb\db\migration\data\v32x\user_emoji_permission',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.2.9')),
);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class v329rc1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.2.9-RC1', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v328',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.2.9-RC1')),
);
}
}

View File

@@ -0,0 +1,34 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class add_display_unapproved_posts_config extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return $this->config->offsetExists('display_unapproved_posts');
}
public static function depends_on()
{
return ['\phpbb\db\migration\data\v330\dev',];
}
public function update_data()
{
return [
['config.add', ['display_unapproved_posts', 1]],
];
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class dev extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return version_compare($this->config['version'], '3.3.0-dev', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v327',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.3.0-dev')),
);
}
}

View File

@@ -0,0 +1,49 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class forums_legend_limit extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return $this->db_tools->sql_column_exists($this->table_prefix . 'forums', 'display_subforum_limit');
}
static public function depends_on()
{
return ['\phpbb\db\migration\data\v330\v330b1'];
}
public function update_schema()
{
return [
'add_columns' => [
$this->table_prefix . 'forums' => [
'display_subforum_limit' => ['BOOL', 0, 'after' => 'display_subforum_list'],
],
],
];
}
public function revert_schema()
{
return [
'drop_columns' => [
$this->table_prefix . 'forums' => [
'display_subforum_limit',
],
],
];
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class jquery_update extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return $this->config['load_jquery_url'] === '//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js';
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v330\dev',
);
}
public function update_data()
{
return array(
array('config.update', array('load_jquery_url', '//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js')),
);
}
}

View File

@@ -0,0 +1,89 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class remove_attachment_flash extends \phpbb\db\migration\migration
{
// Following constants were deprecated in 3.3
// and moved from constants.php to compatibility_globals.php,
// thus define them as class constants
const ATTACHMENT_CATEGORY_FLASH = 5;
protected $cat_id = array(
self::ATTACHMENT_CATEGORY_FLASH,
);
public static function depends_on()
{
return ['\phpbb\db\migration\data\v330\dev',];
}
public function update_data()
{
return array(
array('custom', array(array($this, 'remove_flash_group'))),
);
}
public function remove_flash_group()
{
// select group ids of outdated media
$sql = 'SELECT group_id
FROM ' . EXTENSION_GROUPS_TABLE . '
WHERE ' . $this->db->sql_in_set('cat_id', $this->cat_id);
$result = $this->db->sql_query($sql);
$group_ids = array();
while ($group_id = (int) $this->db->sql_fetchfield('group_id'))
{
$group_ids[] = $group_id;
}
$this->db->sql_freeresult($result);
// nothing to do, admin has removed all the outdated media extension groups
if (empty($group_ids))
{
return true;
}
// get the group id of downloadable files
$sql = 'SELECT group_id
FROM ' . EXTENSION_GROUPS_TABLE . "
WHERE group_name = 'DOWNLOADABLE_FILES'";
$result = $this->db->sql_query($sql);
$download_id = (int) $this->db->sql_fetchfield('group_id');
$this->db->sql_freeresult($result);
if (empty($download_id))
{
$sql = 'UPDATE ' . EXTENSIONS_TABLE . '
SET group_id = 0
WHERE ' . $this->db->sql_in_set('group_id', $group_ids);
}
else
{
// move outdated media extensions to downloadable files
$sql = 'UPDATE ' . EXTENSIONS_TABLE . "
SET group_id = $download_id" . '
WHERE ' . $this->db->sql_in_set('group_id', $group_ids);
}
$this->db->sql_query($sql);
// delete the now empty, outdated media extension groups
$sql = 'DELETE FROM ' . EXTENSION_GROUPS_TABLE . '
WHERE ' . $this->db->sql_in_set('group_id', $group_ids);
$this->db->sql_query($sql);
}
}

View File

@@ -0,0 +1,62 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class remove_email_hash extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return ['\phpbb\db\migration\data\v30x\release_3_0_0'];
}
public function update_schema()
{
return [
'add_index' => [
$this->table_prefix . 'users' => [
'user_email' => ['user_email'],
],
],
'drop_keys' => [
$this->table_prefix . 'users' => [
'user_email_hash',
],
],
'drop_columns' => [
$this->table_prefix . 'users' => ['user_email_hash'],
],
];
}
public function revert_schema()
{
return [
'add_columns' => [
$this->table_prefix . 'users' => [
'user_email_hash' => ['BINT', 0],
],
],
'add_index' => [
$this->table_prefix . 'users' => [
'user_email_hash',
],
],
'drop_keys' => [
$this->table_prefix . 'users' => [
'user_email' => ['user_email'],
],
],
];
}
}

View File

@@ -0,0 +1,43 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class remove_max_pass_chars extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return !$this->config->offsetExists('max_pass_chars');
}
public static function depends_on()
{
return [
'\phpbb\db\migration\data\v330\dev',
];
}
public function update_data()
{
return [
['config.remove', ['max_pass_chars']],
];
}
public function revert_data()
{
return [
['config.add', ['max_pass_chars', 100]],
];
}
}

View File

@@ -0,0 +1,48 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class reset_password extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return [
'\phpbb\db\migration\data\v330\dev',
];
}
public function update_schema()
{
return [
'add_columns' => [
$this->table_prefix . 'users' => [
'reset_token' => ['VCHAR:64', '', 'after' => 'user_actkey'],
'reset_token_expiration' => ['TIMESTAMP', 0, 'after' => 'reset_token'],
],
],
];
}
public function revert_schema()
{
return [
'drop_columns' => [
$this->table_prefix . 'users' => [
'reset_token',
'reset_token_expiration',
],
],
];
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class v330 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return version_compare($this->config['version'], '3.3.0', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v329',
'\phpbb\db\migration\data\v330\v330rc1',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.3.0')),
);
}
}

View File

@@ -0,0 +1,41 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class v330b1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return version_compare($this->config['version'], '3.3.0-b1', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v330\jquery_update',
'\phpbb\db\migration\data\v330\reset_password',
'\phpbb\db\migration\data\v330\remove_attachment_flash',
'\phpbb\db\migration\data\v330\remove_max_pass_chars',
'\phpbb\db\migration\data\v32x\v328',
'\phpbb\db\migration\data\v330\dev',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.3.0-b1')),
);
}
}

View File

@@ -0,0 +1,39 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class v330b2 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return version_compare($this->config['version'], '3.3.0-b2', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v330\add_display_unapproved_posts_config',
'\phpbb\db\migration\data\v330\forums_legend_limit',
'\phpbb\db\migration\data\v330\remove_email_hash',
'\phpbb\db\migration\data\v330\v330b1',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.3.0-b2')),
);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v330;
class v330rc1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return version_compare($this->config['version'], '3.3.0-RC1', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v330\v330b2',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.3.0-RC1')),
);
}
}

View File

@@ -509,7 +509,7 @@ class module implements \phpbb\db\migration\tool\tool_interface
* Get parent module id
*
* @param string|int $parent_id The parent module_id|module_langname
* @param int|string|array $data The module_id, module_langname for existance checking or module data array for adding
* @param int|string|array $data The module_id, module_langname for existence checking or module data array for adding
* @param bool $throw_exception The flag indicating if exception should be thrown on error
* @return mixed The int parent module_id, an array of int parent module_id values or false
* @throws \phpbb\db\migration\exception