mc-cms-namelessmc/dev/scripts/seeder/MinecraftPlaceholderSeeder.php
tadhgboyle 0c80570609
Enable StyleCI (#3475)
* Create StyleCI config file

* Disable `phpdoc_separation`

* Apply fixes from StyleCI (#3476)

Co-authored-by: StyleCI Bot <bot@styleci.io>

* style: styleci fixes

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Sam <samerton@users.noreply.github.com>
2024-03-09 11:19:55 +00:00

41 lines
1.4 KiB
PHP

<?php
class MinecraftPlaceholderSeeder extends Seeder
{
public array $tables = [
'nl2_placeholders_settings',
];
protected function run(DB $db, \Faker\Generator $faker): void
{
$db->query('UPDATE nl2_settings SET value = ? WHERE name = ?', [
1, 'placeholders',
]);
$servers = $db->get('mc_servers', ['id', '<>', 0])->results();
$this->times(5, function () use ($db, $faker, $servers) {
$name = str_replace(' ', '_', $faker->words(2, true));
if ($faker->boolean) {
$friendly_name = $name;
/** @phpstan-ignore-next-line Bad */
} elseif ($faker->boolean) {
$friendly_name = str_replace('_', ' ', $name);
} else {
$friendly_name = $faker->words(2, true);
}
$db->insert('placeholders_settings', [
'server_id' => $faker->randomElement($servers)->id,
'name' => $name,
'friendly_name' => $friendly_name,
'show_on_profile' => $faker->boolean(75) ? 1 : 0,
'show_on_forum' => $faker->boolean(75) ? 1 : 0,
'leaderboard' => true,
'leaderboard_title' => $friendly_name . ' leaderboard',
'leaderboard_sort' => $faker->randomElement(['DESC', 'ASC']),
]);
});
}
}