Files
XenForoRomhackPlazaAddon/Setup.php
2026-06-08 16:25:52 +02:00

58 lines
1.7 KiB
PHP

<?php
namespace RomhackPlaza\Master;
use XF\AddOn\AbstractSetup;
use XF\AddOn\StepRunnerInstallTrait;
use XF\AddOn\StepRunnerUninstallTrait;
use XF\AddOn\StepRunnerUpgradeTrait;
use XF\Db\Schema\Create;
class Setup extends AbstractSetup
{
use StepRunnerInstallTrait;
use StepRunnerUpgradeTrait;
use StepRunnerUninstallTrait;
/**
* Create Database xf_user new fields.
*/
public function installStep1(): void
{
$this->schemaManager()->alterTable('xf_user', function (\XF\Db\Schema\Alter $table) {
$table->addColumn('rhpz_entry_count', 'int')->setDefault(0);
});
}
/**
* Create club table.
* @return void
*/
public function installStep2(): void
{
$this->schemaManager()->createTable('xf_club', function(Create $table){
$table->addColumn('club_id', 'int')->autoIncrement();
$table->addColumn( 'node_id', 'int' );
$table->addColumn('user_id', 'int');
$table->addColumn('title', 'varchar', 100);
$table->addColumn('description', 'text');
$table->addColumn('club_state', 'enum')->values(['visible','moderated','rejected'])->setDefault('moderated');
$table->addColumn('club_creation_date','int');
$table->addColumn('banner_date', 'int')->setDefault(0);
$table->addPrimaryKey('club_id');
$table->addKey('club_state');
});
}
public function uninstallStep1(): void
{
$this->schemaManager()->alterTable('xf_user', function($table) {
$table->dropColumns(['rhpz_entry_count']);
});
}
public function uninstallStep2(): void
{
$this->schemaManager()->dropTable('xf_club');
}
}