142 lines
No EOL
5.5 KiB
PHP
142 lines
No EOL
5.5 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of Wootook
|
|
*
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.txt
|
|
* @see http://www.wootook.com/
|
|
*
|
|
* Copyright (c) 2009-Present, Wootook Support Team <http://www.xnova-ng.org>
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* --> NOTICE <--
|
|
* This file is part of the core development branch, changing its contents will
|
|
* make you unable to use the automatic updates manager. Please refer to the
|
|
* documentation for further information about customizing Wootook.
|
|
*
|
|
*/
|
|
|
|
define('INSIDE' , true);
|
|
define('INSTALL' , false);
|
|
require_once dirname(__FILE__) .'/application/bootstrap.php';
|
|
|
|
$cacheFile = ROOT_PATH . '/cache/' . basename(__FILE__) . '.cache';
|
|
$timeDelay = 21600; // 21600s = 6h
|
|
|
|
if(!file_exists($cacheFile) || (time() - filemtime($cacheFile)) > $timeDelay)
|
|
{
|
|
ob_start();
|
|
|
|
includeLang('records');
|
|
|
|
$recordTpl = gettemplate('records_body');
|
|
$headerTpl = gettemplate('records_section_header');
|
|
$tableRows = gettemplate('records_section_rows');
|
|
$parse['rec_title'] = $lang['rec_title'];
|
|
|
|
$bloc['section'] = $lang['rec_build'];
|
|
$bloc['player'] = $lang['rec_playe'];
|
|
$bloc['level'] = $lang['rec_level'];
|
|
$parse['building'] = parsetemplate($headerTpl, $bloc);
|
|
|
|
$bloc['section'] = $lang['rec_specb'];
|
|
$bloc['player'] = $lang['rec_playe'];
|
|
$bloc['level'] = $lang['rec_level'];
|
|
$parse['buildspe'] = parsetemplate($headerTpl, $bloc);
|
|
|
|
$bloc['section'] = $lang['rec_techn'];
|
|
$bloc['player'] = $lang['rec_playe'];
|
|
$bloc['level'] = $lang['rec_level'];
|
|
$parse['research'] = parsetemplate($headerTpl, $bloc);
|
|
|
|
$bloc['section'] = $lang['rec_fleet'];
|
|
$bloc['player'] = $lang['rec_playe'];
|
|
$bloc['level'] = $lang['rec_nbre'];
|
|
$parse['fleet'] = parsetemplate($headerTpl, $bloc);
|
|
|
|
$bloc['section'] = $lang['rec_defes'];
|
|
$bloc['player'] = $lang['rec_playe'];
|
|
$bloc['level'] = $lang['rec_nbre'];
|
|
$parse['defenses'] = parsetemplate($headerTpl, $bloc);
|
|
|
|
|
|
foreach($lang['tech'] as $element => $elementName)
|
|
{
|
|
if(!empty($elementName) && !empty($resource[$element]))
|
|
{
|
|
$data = array();
|
|
if($element >= 0 && $element < 100 || $element >= 200 && $element < 600)
|
|
{
|
|
$record = doquery(sprintf(
|
|
'SELECT IF(COUNT(u.username)<=10,GROUP_CONCAT(DISTINCT u.username ORDER BY u.username DESC SEPARATOR ", "),"Plus de 10 joueurs ont ce record") AS players, p.%1$s AS level ' .
|
|
'FROM {{table}}users AS u ' .
|
|
'LEFT JOIN {{table}}planets AS p ON (u.id=p.id_owner) ' .
|
|
'WHERE p.%1$s=(SELECT MAX(p2.%1$s) FROM {{table}}planets AS p2) AND p.%1$s>0 ' .
|
|
'GROUP BY p.%1$s ORDER BY u.username ASC', $resource[$element]), '', true);
|
|
}
|
|
else if($element >= 100 && $element < 200)
|
|
{
|
|
$record = doquery(sprintf(
|
|
'SELECT IF(COUNT(u.username)<=10,GROUP_CONCAT(DISTINCT u.username ORDER BY u.username DESC SEPARATOR ", "),"Plus de 10 joueurs ont ce record") AS players, u.%1$s AS level ' .
|
|
'FROM {{table}}users AS u ' .
|
|
'WHERE u.%1$s=(SELECT MAX(u2.%1$s) FROM {{table}}users AS u2) AND u.%1$s>0 ' .
|
|
'GROUP BY u.%1$s ORDER BY u.username ASC', $resource[$element]), '', true);
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
|
|
$data['element'] = $elementName;
|
|
$data['winner'] = !empty($record['players']) ? $record['players'] : '-';
|
|
$data['count'] = intval($record['level']);
|
|
|
|
if($element >= 0 && $element < 40 || $element == 44)
|
|
{
|
|
$parse['building'] .= parsetemplate($tableRows, $data);
|
|
}
|
|
else if($element >= 40 && $element < 100 && $element != 44)
|
|
{
|
|
$parse['buildspe'] .= parsetemplate($tableRows, $data);
|
|
}
|
|
else if($element >= 100 && $element < 200)
|
|
{
|
|
$parse['research'] .= parsetemplate($tableRows, $data);
|
|
}
|
|
else if($element >= 200 && $element < 400)
|
|
{
|
|
$data['count'] = number_format(intval($data['count']), 0, ',', '.');
|
|
$parse['fleet'] .= parsetemplate($tableRows, $data);
|
|
}
|
|
else if($element >= 400 && $element < 600 && $element!=407 && $element!=408)
|
|
{
|
|
$data['count'] = number_format(intval($data['count']), 0, ',', '.');
|
|
$parse['defenses'] .= parsetemplate($tableRows, $data);
|
|
}
|
|
}
|
|
}
|
|
|
|
$page = parsetemplate($recordTpl, $parse);
|
|
display($page, $lang['rec_title']);
|
|
|
|
$data = ob_get_contents();
|
|
ob_end_flush();
|
|
|
|
file_put_contents($cacheFile, $data);
|
|
}
|
|
else
|
|
{
|
|
echo file_get_contents($cacheFile);
|
|
} |