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
Push — main ( d9cfb9...10f5c7 )
by Dan
32s queued 21s
created

CreateGameProcessor::build()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 41
Code Lines 31

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 31
nc 4
nop 1
dl 0
loc 41
rs 9.424
c 1
b 0
f 0
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