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 ( 5797ad...3faf69 )
by Dan
29s queued 24s
created

ReportedMessageView   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 37
dl 0
loc 54
rs 10
c 1
b 0
f 0
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A build() 0 50 5
1
<?php declare(strict_types=1);
2
3
namespace Smr\Pages\Admin;
4
5
use Smr\Database;
6
use Smr\Messages;
7
use Smr\Page\AccountPage;
8
use Smr\Template;
9
use SmrAccount;
10
use SmrGame;
11
use SmrPlayer;
12
13
class ReportedMessageView extends AccountPage {
14
15
	public string $file = 'admin/notify_view.php';
16
17
	public function build(SmrAccount $account, Template $template): void {
18
		$template->assign('PageTopic', 'Viewing Reported Messages');
19
20
		$container = new ReportedMessageDeleteProcessor();
21
		$template->assign('DeleteHREF', $container->href());
22
23
		$db = Database::getInstance();
24
		$dbResult = $db->read('SELECT * FROM message_notify');
25
		$messages = [];
26
		foreach ($dbResult->records() as $dbRecord) {
27
			$gameID = $dbRecord->getInt('game_id');
28
			$sender = Messages::getMessagePlayer($dbRecord->getInt('from_id'), $gameID);
29
			$receiver = Messages::getMessagePlayer($dbRecord->getInt('to_id'), $gameID);
30
31
			$container = new ReportedMessageReply(
32
				offenderAccountID: $dbRecord->getInt('from_id'),
33
				offendedAccountID: $dbRecord->getInt('to_id'),
34
				gameID: $gameID
35
			);
36
37
			$getName = function(SmrPlayer|string $messagePlayer) use ($container, $account): string {
38
				if ($messagePlayer instanceof SmrPlayer) {
39
					$name = $messagePlayer->getDisplayName() . ' (Login: ' . $messagePlayer->getAccount()->getLogin() . ')';
40
				} else {
41
					$name = $messagePlayer;
42
				}
43
				// If we can send admin messages, make the names reply links
44
				if ($account->hasPermission(PERMISSION_SEND_ADMIN_MESSAGE)) {
45
					$name = create_link($container, $name);
46
				}
47
				return $name;
48
			};
49
50
			if (!SmrGame::gameExists($gameID)) {
51
				$gameName = 'Game ' . $gameID . ' no longer exists';
52
			} else {
53
				$gameName = SmrGame::getGame($gameID)->getDisplayName();
54
			}
55
56
			$messages[] = [
57
				'notifyID' => $dbRecord->getInt('notify_id'),
58
				'senderName' => $getName($sender),
59
				'receiverName' => $getName($receiver),
60
				'gameName' => $gameName,
61
				'sentDate' => date($account->getDateTimeFormat(), $dbRecord->getInt('sent_time')),
62
				'reportDate' => date($account->getDateTimeFormat(), $dbRecord->getInt('notify_time')),
63
				'text' => bbifyMessage($dbRecord->getString('text'), $gameID),
64
			];
65
		}
66
		$template->assign('Messages', $messages);
67
	}
68
69
}
70