Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Failed Conditions
Pull Request — main (#1508)
by Dan
04:48
created

CreateGameProcessor   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 32
dl 0
loc 43
rs 10
c 1
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A build() 0 41 3
1
<?php declare(strict_types=1);
2
3
namespace Smr\Pages\Admin\UniGen;
4
5
use DateTime;
6
use Smr\Database;
7
use Smr\Page\AccountPageProcessor;
8
use Smr\Request;
9
use SmrAccount;
10
use SmrGame;
11
12
class CreateGameProcessor extends AccountPageProcessor {
13
14
	public function build(SmrAccount $account): never {
15
		$db = Database::getInstance();
16
17
		//first create the game
18
		$dbResult = $db->read('SELECT 1 FROM game WHERE game_name=' . $db->escapeString(Request::get('game_name')));
19
		if ($dbResult->hasRecord()) {
20
			create_error('That game name is already taken.');
21
		}
22
23
		$dbResult = $db->read('SELECT IFNULL(MAX(game_id), 0) AS max_game_id FROM game');
24
		$newID = $dbResult->record()->getInt('max_game_id') + 1;
25
26
		$join = new DateTime(Request::get('game_join'));
27
		$start = empty(Request::get('game_start')) ? $join :
28
			new DateTime(Request::get('game_start'));
29
		$end = new DateTime(Request::get('game_end'));
30
31
		$game = SmrGame::createGame($newID);
32
		$game->setName(Request::get('game_name'));
33
		$game->setDescription(Request::get('desc'));
34
		$game->setGameTypeID(Request::getInt('game_type'));
35
		$game->setMaxTurns(Request::getInt('max_turns'));
36
		$game->setStartTurnHours(Request::getInt('start_turns'));
37
		$game->setMaxPlayers(Request::getInt('max_players'));
38
		$game->setAllianceMaxPlayers(Request::getInt('alliance_max_players'));
39
		$game->setAllianceMaxVets(Request::getInt('alliance_max_vets'));
40
		$game->setJoinTime($join->getTimestamp());
41
		$game->setStartTime($start->getTimestamp());
42
		$game->setEndTime($end->getTimestamp());
43
		$game->setGameSpeed(Request::getFloat('game_speed'));
44
		$game->setIgnoreStats(Request::get('ignore_stats') == 'Yes');
45
		$game->setStartingCredits(Request::getInt('starting_credits'));
46
		$game->setCreditsNeeded(Request::getInt('creds_needed'));
47
		$game->setStartingRelations(Request::getInt('relations'));
48
49
		// Start game disabled by default
50
		$game->setEnabled(false);
51
		$game->save();
52
53
		$container = new CreateGalaxies($game->getGameID());
54
		$container->go();
55
	}
56
57
}
58