Completed
Push — trunk ( 79712a...ae0a3d )
by SuperNova.WS
04:57
created

PageAdminMining   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 64
rs 10
ccs 0
cts 55
cp 0
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
B viewStatic() 0 62 5
1
<?php
2
/**
3
 * Created by Gorlum 05.03.2018 12:57
4
 */
5
6
namespace Deprecated;
7
8
9
use classSupernova;
10
use DBAL\DbSqlPaging;
11
use Helpers\PagingRenderer;
12
13
class PageAdminMining extends PageDeprecated {
14
15
  public static function viewStatic() {
16
    define('IN_ADMIN', true);
17
18
    $filterActive = sys_get_param_int('ACTIVE_STATUS', 0);
19
20
    $stringSqlQuery = "
21
SELECT
22
  u.id, username, total_rank, total_points,
23
  sum(metal_perhour)      AS `metal_prod`,
24
  sum(crystal_perhour)    AS `crystal_prod`,
25
  sum(deuterium_perhour)  AS `deuterium_prod`,
26
  avg(metal_mine_porcent) AS `average_metal_percent`,
27
  avg(crystal_mine_porcent)  AS `average_crystal_percent`,
28
  avg(deuterium_sintetizer_porcent)  AS `average_deuterium_percent`
29
FROM
30
  `{{planets}}` AS p
31
  LEFT JOIN `{{users}}` AS u ON u.id = p.id_owner
32
WHERE
33
  u.total_rank <> 0
34
	AND metal_mine_porcent != 0
35
	AND crystal_mine_porcent != 0
36
	AND deuterium_sintetizer_porcent != 0
37
	AND `user_as_ally` IS NULL"
38
      . ($filterActive == 1 ? " AND FROM_UNIXTIME(u.`onlinetime`) >= DATE_SUB(NOW(), INTERVAL " . PLAYER_INACTIVE_TIMEOUT_LONG . " SECOND) " : '')
39
      . ($filterActive == 2 ? " AND FROM_UNIXTIME(u.`onlinetime`) >= DATE_SUB(NOW(), INTERVAL " . PLAYER_INACTIVE_TIMEOUT . " SECOND) " : '')
40
      . "
41
GROUP BY
42
  id_owner
43
ORDER BY
44
  u.total_rank
45
;";
46
47
48
    // View all at one page //    $iterator = classSupernova::$db->selectIterator($stringSqlQuery);
49
    $iterator = new DbSqlPaging($stringSqlQuery, 50, sys_get_param_int(PagingRenderer::KEYWORD));
50
    $pager = new PagingRenderer($iterator, 'index.php?page=admin/admin_mining&ACTIVE_STATUS=' . intval($filterActive));
51
52
    $render = [];
53
    foreach ($iterator as $row) {
54
      $render[] = [
55
        'ID'        => $row['id'],
56
        'NAME'      => player_nick_render_to_html($row, true),
57
        'RANK'      => $row['total_rank'],
58
        'METAL'     => $row['metal_prod'],
59
        'CRYSTAL'   => $row['crystal_prod'],
60
        'DEUTERIUM' => $row['deuterium_prod'],
61
        'TOTAL'     => $row['metal_prod'] + $row['crystal_prod'] + $row['deuterium_prod'],
62
        'PERCENT'   =>
63
          round($row['average_metal_percent'], 1) . '/' .
64
          round($row['average_crystal_percent'], 1) . '/' .
65
          round($row['average_deuterium_percent'], 1),
66
      ];
67
    }
68
69
    $template = gettemplate('admin/admin_mining');
70
    $template->assign_recursive([
71
      '.'              => ['production' => $render],
72
      'PAGER_MESSAGES' => $pager ? $pager->render() : '',
73
      'ACTIVE_STATUS'  => $filterActive,
74
      'PAGE_NAME'      => classSupernova::$lang['menu_admin_minig'],
75
    ]);
76
    display($template, classSupernova::$lang['menu_admin_minig']);
77
  }
78
79
}
80