Add friendly_name field to ::forums table
This commit is contained in:
parent
4495f64268
commit
ced3c7cd15
2 changed files with 27 additions and 2 deletions
|
@ -839,6 +839,7 @@ class Install extends Admin
|
|||
'FIELDS' => [
|
||||
'id' => ['SERIAL', false],
|
||||
'forum_name' => ['VARCHAR(80)', false, 'New forum'],
|
||||
'friendly_name' => ['VARCHAR(80)', false, ''],
|
||||
'forum_desc' => ['TEXT', false],
|
||||
'redirect_url' => ['VARCHAR(255)', false, ''],
|
||||
'moderators' => ['TEXT', false],
|
||||
|
|
|
@ -25,7 +25,7 @@ class Update extends Admin
|
|||
{
|
||||
const PHP_MIN = '8.0.0';
|
||||
const REV_MIN_FOR_UPDATE = 53;
|
||||
const LATEST_REV_WITH_DB_CHANGES = 70;
|
||||
const LATEST_REV_WITH_DB_CHANGES = 72;
|
||||
const LOCK_NAME = 'lock_update';
|
||||
const LOCK_TTL = 1800;
|
||||
const CONFIG_FILE = 'main.php';
|
||||
|
@ -1008,8 +1008,32 @@ class Update extends Admin
|
|||
protected function stageNumber71(array $args): ?int
|
||||
{
|
||||
switch ($args['start'] ?? 1) {
|
||||
case 2:
|
||||
case 3:
|
||||
$f = $this->c->FRIENDLY_URL;
|
||||
|
||||
if (
|
||||
! empty($f['lowercase'])
|
||||
|| ! empty($f['translit'])
|
||||
|| ! empty($f['WtoHyphen'])
|
||||
) {
|
||||
|
||||
$names = $this->c->DB->query('SELECT id, forum_name FROM ::forums WHERE redirect_url=\'\' ORDER BY id')->fetchAll(PDO::FETCH_KEY_PAIR);
|
||||
$query = 'UPDATE ::forums SET friendly_name=?s:name WHERE id=?i:id';
|
||||
|
||||
foreach ($names as $id => $name) {
|
||||
$vars = [
|
||||
':id' => $id,
|
||||
':name' => \mb_substr($this->c->Func->friendly($name), 0, 80, 'UTF-8'),
|
||||
];
|
||||
$this->c->DB->exec($query, $vars);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
case 2:
|
||||
$this->c->DB->addField('::forums', 'friendly_name', 'VARCHAR(80)', false, '', null, 'forum_name');
|
||||
|
||||
return 3;
|
||||
default:
|
||||
$coreConfig = new CoreConfig($this->configFile);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue