2023-02-01 19:33:36 +00:00
< ? php
2024-04-12 12:04:26 +00:00
use App\Classes\LegacySettingsMigration ;
2023-02-01 19:33:36 +00:00
use Illuminate\Support\Facades\DB ;
2024-04-12 12:04:26 +00:00
class CreateWebsiteSettings extends LegacySettingsMigration
2023-02-01 19:33:36 +00:00
{
public function up () : void
{
2023-02-02 16:36:19 +00:00
$table_exists = DB :: table ( 'settings_old' ) -> exists ();
2023-02-01 19:33:36 +00:00
// Get the user-set configuration values from the old table.
2024-04-12 12:04:26 +00:00
$this -> migrator -> add ( 'website.motd_enabled' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:MOTD_ENABLED " , true ) : true );
2023-02-18 23:34:26 +00:00
$this -> migrator -> add (
'website.motd_message' ,
$table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:MOTD_MESSAGE " ) :
2023-05-05 09:38:00 +00:00
" <h1 style='text-align: center;'><img style='display: block; margin-left: auto; margin-right: auto;' src='https://ctrlpanel.gg/img/controlpanel.png' alt=' width='200' height='200'><span style='font-size: 36pt;'>CtrlPanel.gg</span></h1>
< p >< span style = 'font-size: 18pt;' > Thank you for using our Software </ span ></ p >
< p >< span style = 'font-size: 18pt;' > If you have any questions , make sure to join our < a href = 'https://discord.com/invite/4Y6HjD2uyU' target = '_blank' rel = 'noopener' > Discord </ a ></ span ></ p >
2024-04-12 12:04:26 +00:00
< p >< span style = 'font-size: 10pt;' > ( you can change this message in the < a href = 'admin/settings#system' > Settings </ a > ) </ span ></ p > "
);
$this -> migrator -> add ( 'website.show_imprint' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:SHOW_IMPRINT " , false ) : false );
$this -> migrator -> add ( 'website.show_privacy' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:SHOW_PRIVACY " , false ) : false );
$this -> migrator -> add ( 'website.show_tos' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:SHOW_TOS " , false ) : false );
$this -> migrator -> add ( 'website.useful_links_enabled' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:USEFULLINKS_ENABLED " , true ) : true );
2023-04-29 22:31:32 +00:00
$this -> migrator -> add ( 'website.seo_title' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:SEO_TITLE " ) : 'CtrlPanel.gg' );
2023-02-02 16:36:19 +00:00
$this -> migrator -> add ( 'website.seo_description' , $table_exists ? $this -> getOldValue ( " SETTINGS::SYSTEM:SEO_DESCRIPTION " ) : 'Billing software for Pterodactyl Panel.' );
2023-02-05 17:20:55 +00:00
$this -> migrator -> add ( 'website.enable_login_logo' , true );
2023-02-01 19:33:36 +00:00
}
2023-02-18 23:34:26 +00:00
public function down () : void
{
DB :: table ( 'settings_old' ) -> insert ([
[
'key' => 'SETTINGS::SYSTEM:MOTD_ENABLED' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'motd_enabled' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the MOTD.' ,
],
[
'key' => 'SETTINGS::SYSTEM:MOTD_MESSAGE' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'motd_message' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'text' ,
'description' => 'The message that will be displayed in the MOTD.' ,
],
[
'key' => 'SETTINGS::SYSTEM:SHOW_IMPRINT' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'show_imprint' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the imprint.' ,
],
[
'key' => 'SETTINGS::SYSTEM:SHOW_PRIVACY' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'show_privacy' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the privacy policy.' ,
],
[
'key' => 'SETTINGS::SYSTEM:SHOW_TOS' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'show_tos' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the terms of service.' ,
],
[
'key' => 'SETTINGS::SYSTEM:USEFULLINKS_ENABLED' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'useful_links_enabled' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the useful links.' ,
],
[
'key' => 'SETTINGS::SYSTEM:SEO_TITLE' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'seo_title' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'string' ,
'description' => 'The title of the website.' ,
],
[
'key' => 'SETTINGS::SYSTEM:SEO_DESCRIPTION' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'seo_description' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'string' ,
'description' => 'The description of the website.' ,
],
[
'key' => 'SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO' ,
2024-04-12 19:01:49 +00:00
'value' => $this -> getNewValue ( 'enable_login_logo' , 'website' ),
2023-02-18 23:34:26 +00:00
'type' => 'boolean' ,
'description' => 'Enable or disable the login logo.' ,
]
]);
2024-04-12 19:01:49 +00:00
try {
$this -> migrator -> delete ( 'website.motd_enabled' );
$this -> migrator -> delete ( 'website.motd_message' );
$this -> migrator -> delete ( 'website.show_imprint' );
$this -> migrator -> delete ( 'website.show_privacy' );
$this -> migrator -> delete ( 'website.show_tos' );
$this -> migrator -> delete ( 'website.useful_links_enabled' );
$this -> migrator -> delete ( 'website.seo_title' );
$this -> migrator -> delete ( 'website.seo_description' );
$this -> migrator -> delete ( 'website.enable_login_logo' );
} catch ( Exception $e ) {
// Do nothing
}
2023-02-18 23:34:26 +00:00
}
}