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::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