Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
100.00% |
18 / 18 |
|
100.00% |
3 / 3 |
CRAP | |
100.00% |
1 / 1 |
| TsumegoAttemptsRenderer | |
100.00% |
17 / 17 |
|
100.00% |
3 / 3 |
3 | |
100.00% |
1 / 1 |
| __construct | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
1 | |||
| renderItem | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
1 | |||
| renderHeader | |
100.00% |
7 / 7 |
|
100.00% |
1 / 1 |
1 | |||
| 1 | <?php |
| 2 | |
| 3 | App::uses('DataTableRenderer', 'Utility'); |
| 4 | |
| 5 | class TsumegoAttemptsRenderer extends DataTableRenderer |
| 6 | { |
| 7 | public function __construct($urlParams, int $tsumegoID) |
| 8 | { |
| 9 | $this->count = Util::query("SELECT COUNT(*) as total FROM tsumego_attempt WHERE tsumego_id = ?", [$tsumegoID])[0]['total']; |
| 10 | parent::__construct($urlParams, 'tsumego_attempts_page', 'Tsumego attempts'); |
| 11 | $this->data = Util::query(" |
| 12 | SELECT |
| 13 | tsumego_attempt.solved as solved, |
| 14 | tsumego_attempt.misplays as misplays, |
| 15 | tsumego_attempt.tsumego_rating as tsumego_rating, |
| 16 | tsumego_attempt.created as created, |
| 17 | user.name as user_name, |
| 18 | user.id as user_id, |
| 19 | user.rating as user_rating |
| 20 | FROM |
| 21 | tsumego_attempt |
| 22 | JOIN user ON user.id = tsumego_attempt.user_id |
| 23 | WHERE tsumego_attempt.tsumego_id = ? |
| 24 | ORDER BY tsumego_attempt.created DESC |
| 25 | LIMIT " . self::$PAGE_SIZE . " |
| 26 | OFFSET " . $this->offset, [$tsumegoID]); |
| 27 | } |
| 28 | |
| 29 | public function renderItem(int $index, array $item): void |
| 30 | { |
| 31 | echo '<td>' . User::renderLink($item) . '</td>'; |
| 32 | echo '<td>' . $item['solved'] . '</td>'; |
| 33 | echo '<td>' . $item['misplays'] . '</td>'; |
| 34 | echo '<td>' . $item['tsumego_rating'] . '</td>'; |
| 35 | echo '<td>' . $item['created'] . '</td>'; |
| 36 | } |
| 37 | |
| 38 | protected function renderHeader(): void |
| 39 | { |
| 40 | echo '<thead>'; |
| 41 | echo '<td>User</td>'; |
| 42 | echo '<td>Solved</td>'; |
| 43 | echo '<td>Misplays</td>'; |
| 44 | echo '<td>Rating</td>'; |
| 45 | echo '<td>Datetime</td>'; |
| 46 | echo '</thead>'; |
| 47 | } |
| 48 | } |