File size: 2.47Kb
<?php
namespace AddonFlare\PaidRegistrations;
use XF\AddOn\AbstractSetup;
use XF\AddOn\StepRunnerInstallTrait;
use XF\AddOn\StepRunnerUninstallTrait;
use XF\AddOn\StepRunnerUpgradeTrait;
use XF\Db\Schema\Alter;
use XF\Db\Schema\Create;
class Setup extends AbstractSetup
{
use StepRunnerInstallTrait;
use StepRunnerUpgradeTrait;
use StepRunnerUninstallTrait;
// install
public function installStep1()
{
$this->schemaManager()->createTable('xf_af_paidregistrations_accounttype', function(Create $table)
{
$table->addColumn('account_type_id', 'int')->autoIncrement();
$table->addColumn('row', 'int');
$table->addColumn('display_order', 'int');
$table->addColumn('user_upgrade_id', 'int')->unsigned(false);
$table->addColumn('color', 'varchar', 50)->setDefault('');
$table->addColumn('color_dark', 'varchar', 50)->setDefault('');
$table->addColumn('features', 'mediumtext')->nullable();
$table->addColumn('active', 'tinyint', 3)->setDefault(1);
});
}
public function installStep2()
{
$this->schemaManager()->alterTable('xf_af_paidregistrations_accounttype', function(Alter $alter)
{
$alter->addColumn('is_featured', 'tinyint', 3)->setDefault(0);
});
}
public function installStep3()
{
$this->schemaManager()->alterTable('xf_af_paidregistrations_accounttype', function(Alter $alter)
{
$alter->addColumn('alias_user_upgrades', 'mediumtext');
$alter->addColumn('allow_custom_amount', 'tinyint', 3)->setDefault(0);
});
}
public function installStep4()
{
$this->schemaManager()->alterTable('xf_af_paidregistrations_accounttype', function(Alter $alter)
{
$alter->addColumn('custom_amount_min')->type('decimal', '10,2');
$alter->addColumn('disable_custom_amount_guest', 'tinyint', 3)->setDefault(0);
});
}
// upgrade
public function upgrade1020070Step1()
{
$this->installStep2();
}
public function upgrade1030070Step1()
{
$this->installStep3();
}
public function upgrade1040070Step1()
{
$this->installStep4();
}
// uninstall
public function uninstallStep1()
{
$this->schemaManager()->dropTable('xf_af_paidregistrations_accounttype');
}
}