mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-27 09:49:22 +02:00
* do not display software version
This commit is contained in:
parent
c5980f2350
commit
bd19b8665a
862
index.php
862
index.php
@ -1,431 +1,431 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Project: MyAAC
|
* Project: MyAAC
|
||||||
* Automatic Account Creator for Open Tibia Servers
|
* Automatic Account Creator for Open Tibia Servers
|
||||||
* File: index.php
|
* File: index.php
|
||||||
*
|
*
|
||||||
* This is free software; you can redistribute it and/or
|
* This is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This software is distributed in the hope that it will be useful,
|
* This software is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Lesser General Public License for more details.
|
* Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* @package MyAAC
|
* @package MyAAC
|
||||||
* @author Slawkens <slawkens@gmail.com>
|
* @author Slawkens <slawkens@gmail.com>
|
||||||
* @copyright 2017 MyAAC
|
* @copyright 2017 MyAAC
|
||||||
* @link http://my-aac.org
|
* @link http://my-aac.org
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// uncomment if your php.ini have display_errors disabled and you want to see errors
|
// uncomment if your php.ini have display_errors disabled and you want to see errors
|
||||||
// ini_set('display_errors', 1);
|
// ini_set('display_errors', 1);
|
||||||
// ini_set('display_startup_errors', 1);
|
// ini_set('display_startup_errors', 1);
|
||||||
// error_reporting(E_ALL);
|
// error_reporting(E_ALL);
|
||||||
|
|
||||||
require_once('common.php');
|
require_once('common.php');
|
||||||
require_once(SYSTEM . 'functions.php');
|
require_once(SYSTEM . 'functions.php');
|
||||||
|
|
||||||
$uri = $_SERVER['REQUEST_URI'];
|
$uri = $_SERVER['REQUEST_URI'];
|
||||||
|
|
||||||
$tmp = BASE_DIR;
|
$tmp = BASE_DIR;
|
||||||
if(!empty($tmp))
|
if(!empty($tmp))
|
||||||
$uri = str_replace(BASE_DIR . '/', '', $uri);
|
$uri = str_replace(BASE_DIR . '/', '', $uri);
|
||||||
else
|
else
|
||||||
$uri = str_replace_first('/', '', $uri);
|
$uri = str_replace_first('/', '', $uri);
|
||||||
|
|
||||||
$uri = str_replace(array('index.php/', '?'), '', $uri);
|
$uri = str_replace(array('index.php/', '?'), '', $uri);
|
||||||
define('URI', $uri);
|
define('URI', $uri);
|
||||||
|
|
||||||
if(preg_match("/^[A-Za-z0-9-_%\'+]+\.png$/i", $uri)) {
|
if(preg_match("/^[A-Za-z0-9-_%\'+]+\.png$/i", $uri)) {
|
||||||
$tmp = explode('.', $uri);
|
$tmp = explode('.', $uri);
|
||||||
$_REQUEST['name'] = urldecode($tmp[0]);
|
$_REQUEST['name'] = urldecode($tmp[0]);
|
||||||
|
|
||||||
chdir(TOOLS . 'signature');
|
chdir(TOOLS . 'signature');
|
||||||
include(TOOLS . 'signature/index.php');
|
include(TOOLS . 'signature/index.php');
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
else if(preg_match("/^(.*)\.(gif|jpg|png|jpeg|tiff|bmp|css|js|less|map|html|php|zip|rar|gz|ttf|woff|ico)$/i", $_SERVER['REQUEST_URI'])) {
|
else if(preg_match("/^(.*)\.(gif|jpg|png|jpeg|tiff|bmp|css|js|less|map|html|php|zip|rar|gz|ttf|woff|ico)$/i", $_SERVER['REQUEST_URI'])) {
|
||||||
header("HTTP/1.0 404 Not Found");
|
header("HTTP/1.0 404 Not Found");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once(BASE . 'config.local.php');
|
require_once(BASE . 'config.local.php');
|
||||||
if(file_exists(BASE . 'install') && (!isset($config['installed']) || !$config['installed']))
|
if(file_exists(BASE . 'install') && (!isset($config['installed']) || !$config['installed']))
|
||||||
{
|
{
|
||||||
header('Location: ' . BASE_URL . 'install/');
|
header('Location: ' . BASE_URL . 'install/');
|
||||||
die('Setup detected that <b>install/</b> directory exists. Please visit <a href="' . BASE_URL . 'install">this</a> url to start MyAAC Installation.<br/>Delete <b>install/</b> directory if you already installed MyAAC.<br/>Remember to REFRESH this page when you\'re done!');
|
die('Setup detected that <b>install/</b> directory exists. Please visit <a href="' . BASE_URL . 'install">this</a> url to start MyAAC Installation.<br/>Delete <b>install/</b> directory if you already installed MyAAC.<br/>Remember to REFRESH this page when you\'re done!');
|
||||||
}
|
}
|
||||||
|
|
||||||
$found = false;
|
$found = false;
|
||||||
if(empty($uri) || isset($_REQUEST['template'])) {
|
if(empty($uri) || isset($_REQUEST['template'])) {
|
||||||
$_REQUEST['p'] = 'news';
|
$_REQUEST['p'] = 'news';
|
||||||
$found = true;
|
$found = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$tmp = strtolower($uri);
|
$tmp = strtolower($uri);
|
||||||
if(!preg_match('/[^A-z0-9_\-]/', $uri) && file_exists(SYSTEM . 'pages/' . $tmp . '.php')) {
|
if(!preg_match('/[^A-z0-9_\-]/', $uri) && file_exists(SYSTEM . 'pages/' . $tmp . '.php')) {
|
||||||
$_REQUEST['p'] = $uri;
|
$_REQUEST['p'] = $uri;
|
||||||
$found = true;
|
$found = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$rules = array(
|
$rules = array(
|
||||||
'/^account\/manage\/?$/' => array('subtopic' => 'accountmanagement'),
|
'/^account\/manage\/?$/' => array('subtopic' => 'accountmanagement'),
|
||||||
'/^account\/create\/?$/' => array('subtopic' => 'createaccount'),
|
'/^account\/create\/?$/' => array('subtopic' => 'createaccount'),
|
||||||
'/^account\/lost\/?$/' => array('subtopic' => 'lostaccount'),
|
'/^account\/lost\/?$/' => array('subtopic' => 'lostaccount'),
|
||||||
'/^account\/logout\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'logout'),
|
'/^account\/logout\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'logout'),
|
||||||
'/^account\/password\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_password'),
|
'/^account\/password\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_password'),
|
||||||
'/^account\/register\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'register'),
|
'/^account\/register\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'register'),
|
||||||
'/^account\/register\/new\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'register_new'),
|
'/^account\/register\/new\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'register_new'),
|
||||||
'/^account\/email\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_email'),
|
'/^account\/email\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_email'),
|
||||||
'/^account\/info\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_info'),
|
'/^account\/info\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_info'),
|
||||||
'/^account\/character\/create\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'create_character'),
|
'/^account\/character\/create\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'create_character'),
|
||||||
'/^account\/character\/name\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_name'),
|
'/^account\/character\/name\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_name'),
|
||||||
'/^account\/character\/sex\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_sex'),
|
'/^account\/character\/sex\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_sex'),
|
||||||
'/^account\/character\/delete\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'delete_character'),
|
'/^account\/character\/delete\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'delete_character'),
|
||||||
'/^account\/character\/comment\/[A-Za-z0-9-_%+\']+\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_comment', 'name' => '$3'),
|
'/^account\/character\/comment\/[A-Za-z0-9-_%+\']+\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_comment', 'name' => '$3'),
|
||||||
'/^account\/character\/comment\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_comment'),
|
'/^account\/character\/comment\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'change_comment'),
|
||||||
'/^account\/confirm_email\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'confirm_email', 'v' => '$2'),
|
'/^account\/confirm_email\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'accountmanagement', 'action' => 'confirm_email', 'v' => '$2'),
|
||||||
'/^characters\/[A-Za-z0-9-_%+\']+$/' => array('subtopic' => 'characters', 'name' => '$1'),
|
'/^characters\/[A-Za-z0-9-_%+\']+$/' => array('subtopic' => 'characters', 'name' => '$1'),
|
||||||
'/^changelog\/[0-9]+\/?$/' => array('subtopic' => 'changelog', 'page' => '$1'),
|
'/^changelog\/[0-9]+\/?$/' => array('subtopic' => 'changelog', 'page' => '$1'),
|
||||||
'/^commands\/add\/?$/' => array('subtopic' => 'commands', 'action' => 'add'),
|
'/^commands\/add\/?$/' => array('subtopic' => 'commands', 'action' => 'add'),
|
||||||
'/^commands\/edit\/?$/' => array('subtopic' => 'commands', 'action' => 'edit'),
|
'/^commands\/edit\/?$/' => array('subtopic' => 'commands', 'action' => 'edit'),
|
||||||
'/^faq\/add\/?$/' => array('subtopic' => 'faq', 'action' => 'add'),
|
'/^faq\/add\/?$/' => array('subtopic' => 'faq', 'action' => 'add'),
|
||||||
'/^faq\/edit\/?$/' => array('subtopic' => 'faq', 'action' => 'edit'),
|
'/^faq\/edit\/?$/' => array('subtopic' => 'faq', 'action' => 'edit'),
|
||||||
'/^forum\/add_board\/?$/' => array('subtopic' => 'forum', 'action' => 'add_board'),#
|
'/^forum\/add_board\/?$/' => array('subtopic' => 'forum', 'action' => 'add_board'),#
|
||||||
'/^forum\/edit_board\/?$/' => array('subtopic' => 'forum', 'action' => 'edit_board'),
|
'/^forum\/edit_board\/?$/' => array('subtopic' => 'forum', 'action' => 'edit_board'),
|
||||||
'/^forum\/board\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_board', 'id' => '$2'),
|
'/^forum\/board\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_board', 'id' => '$2'),
|
||||||
'/^forum\/board\/[0-9]+\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_board', 'id' => '$2', 'page' => '$3'),
|
'/^forum\/board\/[0-9]+\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_board', 'id' => '$2', 'page' => '$3'),
|
||||||
'/^forum\/thread\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_thread', 'id' => '$2'),
|
'/^forum\/thread\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_thread', 'id' => '$2'),
|
||||||
'/^forum\/thread\/[0-9]+\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_thread', 'id' => '$2', 'page' => '$3'),
|
'/^forum\/thread\/[0-9]+\/[0-9]+\/?$/' => array('subtopic' => 'forum', 'action' => 'show_thread', 'id' => '$2', 'page' => '$3'),
|
||||||
'/^gallery\/add\/?$/' => array('subtopic' => 'gallery', 'action' => 'add'),
|
'/^gallery\/add\/?$/' => array('subtopic' => 'gallery', 'action' => 'add'),
|
||||||
'/^gallery\/edit\/?$/' => array('subtopic' => 'gallery', 'action' => 'edit'),
|
'/^gallery\/edit\/?$/' => array('subtopic' => 'gallery', 'action' => 'edit'),
|
||||||
'/^gallery\/[0-9]+\/?$/' => array('subtopic' => 'gallery', 'image' => '$1'),
|
'/^gallery\/[0-9]+\/?$/' => array('subtopic' => 'gallery', 'image' => '$1'),
|
||||||
'/^gifts\/history\/?$/' => array('subtopic' => 'gifts', 'action' => 'show_history'),
|
'/^gifts\/history\/?$/' => array('subtopic' => 'gifts', 'action' => 'show_history'),
|
||||||
'/^guilds\/[A-Za-z0-9-_%+\']+$/' => array('subtopic' => 'guilds', 'action' => 'show', 'guild' => '$1'),
|
'/^guilds\/[A-Za-z0-9-_%+\']+$/' => array('subtopic' => 'guilds', 'action' => 'show', 'guild' => '$1'),
|
||||||
'/^highscores\/[A-Za-z0-9-_]+\/[A-Za-z0-9-_]+\/[0-9]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'vocation' => '$2', 'page' => '$3'),
|
'/^highscores\/[A-Za-z0-9-_]+\/[A-Za-z0-9-_]+\/[0-9]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'vocation' => '$2', 'page' => '$3'),
|
||||||
'/^highscores\/[A-Za-z0-9-_]+\/[0-9]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'page' => '$2'),
|
'/^highscores\/[A-Za-z0-9-_]+\/[0-9]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'page' => '$2'),
|
||||||
'/^highscores\/[A-Za-z0-9-_]+\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'vocation' => '$2'),
|
'/^highscores\/[A-Za-z0-9-_]+\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1', 'vocation' => '$2'),
|
||||||
'/^highscores\/[A-Za-z0-9-_\']+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1'),
|
'/^highscores\/[A-Za-z0-9-_\']+\/?$/' => array('subtopic' => 'highscores', 'list' => '$1'),
|
||||||
'/^news\/add\/?$/' => array('subtopic' => 'news', 'action' => 'add'),
|
'/^news\/add\/?$/' => array('subtopic' => 'news', 'action' => 'add'),
|
||||||
'/^news\/edit\/?$/' => array('subtopic' => 'news', 'action' => 'edit'),
|
'/^news\/edit\/?$/' => array('subtopic' => 'news', 'action' => 'edit'),
|
||||||
'/^news\/archive\/?$/' => array('subtopic' => 'newsarchive'),
|
'/^news\/archive\/?$/' => array('subtopic' => 'newsarchive'),
|
||||||
'/^news\/archive\/[0-9]+\/?$/' => array('subtopic' => 'newsarchive', 'id' => '$2'),
|
'/^news\/archive\/[0-9]+\/?$/' => array('subtopic' => 'newsarchive', 'id' => '$2'),
|
||||||
'/^polls\/[0-9]+\/?$/' => array('subtopic' => 'polls', 'id' => '$1'),
|
'/^polls\/[0-9]+\/?$/' => array('subtopic' => 'polls', 'id' => '$1'),
|
||||||
'/^spells\/[A-Za-z0-9-_%]+\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'spells', 'vocation' => '$1', 'order' => '$2'),
|
'/^spells\/[A-Za-z0-9-_%]+\/[A-Za-z0-9-_]+\/?$/' => array('subtopic' => 'spells', 'vocation' => '$1', 'order' => '$2'),
|
||||||
'/^gifts\/history\/?$/' => array('subtopic' => 'gifts', 'action' => 'show_history'),
|
'/^gifts\/history\/?$/' => array('subtopic' => 'gifts', 'action' => 'show_history'),
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach($rules as $rule => $redirect) {
|
foreach($rules as $rule => $redirect) {
|
||||||
if (preg_match($rule, $uri)) {
|
if (preg_match($rule, $uri)) {
|
||||||
$tmp = explode('/', $uri);
|
$tmp = explode('/', $uri);
|
||||||
foreach($redirect as $key => $value) {
|
foreach($redirect as $key => $value) {
|
||||||
|
|
||||||
if(strpos($value, '$') !== false) {
|
if(strpos($value, '$') !== false) {
|
||||||
$value = str_replace('$' . $value[1], $tmp[$value[1]], $value);
|
$value = str_replace('$' . $value[1], $tmp[$value[1]], $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
$_REQUEST[$key] = $value;
|
$_REQUEST[$key] = $value;
|
||||||
$_GET[$key] = $value;
|
$_GET[$key] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
$found = true;
|
$found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// define page visited, so it can be used within events system
|
// define page visited, so it can be used within events system
|
||||||
$page = isset($_REQUEST['subtopic']) ? $_REQUEST['subtopic'] : (isset($_REQUEST['p']) ? $_REQUEST['p'] : '');
|
$page = isset($_REQUEST['subtopic']) ? $_REQUEST['subtopic'] : (isset($_REQUEST['p']) ? $_REQUEST['p'] : '');
|
||||||
if(empty($page) || !preg_match('/^[A-z0-9\_\-]+$/', $page)) {
|
if(empty($page) || !preg_match('/^[A-z0-9\_\-]+$/', $page)) {
|
||||||
$tmp = URI;
|
$tmp = URI;
|
||||||
if(!empty($tmp)) {
|
if(!empty($tmp)) {
|
||||||
$page = $tmp;
|
$page = $tmp;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(!$found)
|
if(!$found)
|
||||||
$page = '404';
|
$page = '404';
|
||||||
else
|
else
|
||||||
$page = 'news';
|
$page = 'news';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$page = strtolower($page);
|
$page = strtolower($page);
|
||||||
define('PAGE', $page);
|
define('PAGE', $page);
|
||||||
|
|
||||||
$template_place_holders = array();
|
$template_place_holders = array();
|
||||||
|
|
||||||
require_once(SYSTEM . 'init.php');
|
require_once(SYSTEM . 'init.php');
|
||||||
require_once(SYSTEM . 'template.php');
|
require_once(SYSTEM . 'template.php');
|
||||||
require_once(SYSTEM . 'login.php');
|
require_once(SYSTEM . 'login.php');
|
||||||
require_once(SYSTEM . 'status.php');
|
require_once(SYSTEM . 'status.php');
|
||||||
|
|
||||||
$twig->addGlobal('config', $config);
|
$twig->addGlobal('config', $config);
|
||||||
$twig->addGlobal('status', $status);
|
$twig->addGlobal('status', $status);
|
||||||
|
|
||||||
// database migrations
|
// database migrations
|
||||||
$tmp = '';
|
$tmp = '';
|
||||||
if(fetchDatabaseConfig('database_version', $tmp)) { // we got version
|
if(fetchDatabaseConfig('database_version', $tmp)) { // we got version
|
||||||
$tmp = (int)$tmp;
|
$tmp = (int)$tmp;
|
||||||
if($tmp < DATABASE_VERSION) { // import if older
|
if($tmp < DATABASE_VERSION) { // import if older
|
||||||
for($i = $tmp + 1; $i <= DATABASE_VERSION; $i++) {
|
for($i = $tmp + 1; $i <= DATABASE_VERSION; $i++) {
|
||||||
require(SYSTEM . 'migrations/' . $i . '.php');
|
require(SYSTEM . 'migrations/' . $i . '.php');
|
||||||
updateDatabaseConfig('database_version', $i);
|
updateDatabaseConfig('database_version', $i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { // register first version
|
else { // register first version
|
||||||
registerDatabaseConfig('database_version', 0);
|
registerDatabaseConfig('database_version', 0);
|
||||||
for($i = 1; $i <= DATABASE_VERSION; $i++) {
|
for($i = 1; $i <= DATABASE_VERSION; $i++) {
|
||||||
require(SYSTEM . 'migrations/' . $i . '.php');
|
require(SYSTEM . 'migrations/' . $i . '.php');
|
||||||
updateDatabaseConfig('database_version', $i);
|
updateDatabaseConfig('database_version', $i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// event system
|
// event system
|
||||||
require_once(SYSTEM . 'hooks.php');
|
require_once(SYSTEM . 'hooks.php');
|
||||||
$hooks = new Hooks();
|
$hooks = new Hooks();
|
||||||
$hooks->load();
|
$hooks->load();
|
||||||
$hooks->trigger(HOOK_STARTUP);
|
$hooks->trigger(HOOK_STARTUP);
|
||||||
|
|
||||||
// anonymous usage statistics
|
// anonymous usage statistics
|
||||||
// sent only when user agrees
|
// sent only when user agrees
|
||||||
if(isset($config['anonymous_usage_statistics']) && $config['anonymous_usage_statistics']) {
|
if(isset($config['anonymous_usage_statistics']) && $config['anonymous_usage_statistics']) {
|
||||||
$report_time = 30 * 24 * 60 * 60; // report one time per 30 days
|
$report_time = 30 * 24 * 60 * 60; // report one time per 30 days
|
||||||
$should_report = true;
|
$should_report = true;
|
||||||
|
|
||||||
$value = '';
|
$value = '';
|
||||||
if($cache->enabled() && $cache->fetch('last_usage_report', $value)) {
|
if($cache->enabled() && $cache->fetch('last_usage_report', $value)) {
|
||||||
$should_report = time() > (int)$value + $report_time;
|
$should_report = time() > (int)$value + $report_time;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$value = '';
|
$value = '';
|
||||||
if(fetchDatabaseConfig('last_usage_report', $value)) {
|
if(fetchDatabaseConfig('last_usage_report', $value)) {
|
||||||
$should_report = time() > (int)$value + $report_time;
|
$should_report = time() > (int)$value + $report_time;
|
||||||
if($cache->enabled()) {
|
if($cache->enabled()) {
|
||||||
$cache->set('last_usage_report', $value);
|
$cache->set('last_usage_report', $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
registerDatabaseConfig('last_usage_report', time() - ($report_time - (7 * 24 * 60 * 60))); // first report after a week
|
registerDatabaseConfig('last_usage_report', time() - ($report_time - (7 * 24 * 60 * 60))); // first report after a week
|
||||||
$should_report = false;
|
$should_report = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($should_report) {
|
if($should_report) {
|
||||||
require_once(LIBS . 'usage_statistics.php');
|
require_once(LIBS . 'usage_statistics.php');
|
||||||
Usage_Statistics::report();
|
Usage_Statistics::report();
|
||||||
|
|
||||||
updateDatabaseConfig('last_usage_report', time());
|
updateDatabaseConfig('last_usage_report', time());
|
||||||
if($cache->enabled()) {
|
if($cache->enabled()) {
|
||||||
$cache->set('last_usage_report', time());
|
$cache->set('last_usage_report', time());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($config['views_counter'])
|
if($config['views_counter'])
|
||||||
require_once(SYSTEM . 'counter.php');
|
require_once(SYSTEM . 'counter.php');
|
||||||
|
|
||||||
if($config['visitors_counter'])
|
if($config['visitors_counter'])
|
||||||
{
|
{
|
||||||
require_once(SYSTEM . 'libs/visitors.php');
|
require_once(SYSTEM . 'libs/visitors.php');
|
||||||
$visitors = new Visitors($config['visitors_counter_ttl']);
|
$visitors = new Visitors($config['visitors_counter_ttl']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// page content loading
|
// page content loading
|
||||||
if(!isset($content[0]))
|
if(!isset($content[0]))
|
||||||
$content = '';
|
$content = '';
|
||||||
$load_it = true;
|
$load_it = true;
|
||||||
|
|
||||||
// check if site has been closed
|
// check if site has been closed
|
||||||
$site_closed = false;
|
$site_closed = false;
|
||||||
if(fetchDatabaseConfig('site_closed', $site_closed)) {
|
if(fetchDatabaseConfig('site_closed', $site_closed)) {
|
||||||
$site_closed = ($site_closed == 1);
|
$site_closed = ($site_closed == 1);
|
||||||
if($site_closed) {
|
if($site_closed) {
|
||||||
if(!admin())
|
if(!admin())
|
||||||
{
|
{
|
||||||
$title = getDatabaseConfig('site_closed_title');
|
$title = getDatabaseConfig('site_closed_title');
|
||||||
$content .= '<p class="note">' . getDatabaseConfig('site_closed_message') . '</p><br/>';
|
$content .= '<p class="note">' . getDatabaseConfig('site_closed_message') . '</p><br/>';
|
||||||
$load_it = false;
|
$load_it = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$logged)
|
if(!$logged)
|
||||||
{
|
{
|
||||||
ob_start();
|
ob_start();
|
||||||
require(SYSTEM . 'pages/accountmanagement.php');
|
require(SYSTEM . 'pages/accountmanagement.php');
|
||||||
$content .= ob_get_contents();
|
$content .= ob_get_contents();
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
$load_it = false;
|
$load_it = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
define('SITE_CLOSED', $site_closed);
|
define('SITE_CLOSED', $site_closed);
|
||||||
|
|
||||||
// backward support for gesior
|
// backward support for gesior
|
||||||
if($config['backward_support']) {
|
if($config['backward_support']) {
|
||||||
define('INITIALIZED', true);
|
define('INITIALIZED', true);
|
||||||
$SQL = $db;
|
$SQL = $db;
|
||||||
$layout_header = template_header();
|
$layout_header = template_header();
|
||||||
$layout_name = $template_path;
|
$layout_name = $template_path;
|
||||||
$news_content = '';
|
$news_content = '';
|
||||||
$tickers_content = '';
|
$tickers_content = '';
|
||||||
$subtopic = PAGE;
|
$subtopic = PAGE;
|
||||||
$main_content = '';
|
$main_content = '';
|
||||||
|
|
||||||
$config['access_admin_panel'] = 2;
|
$config['access_admin_panel'] = 2;
|
||||||
$group_id_of_acc_logged = 0;
|
$group_id_of_acc_logged = 0;
|
||||||
if($logged && $account_logged)
|
if($logged && $account_logged)
|
||||||
$group_id_of_acc_logged = $account_logged->getGroupId();
|
$group_id_of_acc_logged = $account_logged->getGroupId();
|
||||||
|
|
||||||
$config['site'] = &$config;
|
$config['site'] = &$config;
|
||||||
$config['server'] = &$config['lua'];
|
$config['server'] = &$config['lua'];
|
||||||
$config['site']['shop_system'] = $config['gifts_system'];
|
$config['site']['shop_system'] = $config['gifts_system'];
|
||||||
|
|
||||||
if(!isset($config['vdarkborder']))
|
if(!isset($config['vdarkborder']))
|
||||||
$config['vdarkborder'] = '#505050';
|
$config['vdarkborder'] = '#505050';
|
||||||
if(!isset($config['darkborder']))
|
if(!isset($config['darkborder']))
|
||||||
$config['darkborder'] = '#D4C0A1';
|
$config['darkborder'] = '#D4C0A1';
|
||||||
if(!isset($config['lightborder']))
|
if(!isset($config['lightborder']))
|
||||||
$config['lightborder'] = '#F1E0C6';
|
$config['lightborder'] = '#F1E0C6';
|
||||||
|
|
||||||
$config['site']['download_page'] = true;
|
$config['site']['download_page'] = true;
|
||||||
$config['site']['serverinfo_page'] = true;
|
$config['site']['serverinfo_page'] = true;
|
||||||
$config['site']['screenshot_page'] = true;
|
$config['site']['screenshot_page'] = true;
|
||||||
|
|
||||||
if($config['forum'] != '')
|
if($config['forum'] != '')
|
||||||
$config['forum_link'] = (strtolower($config['forum']) == 'site' ? getLink('forum') : $config['forum']);
|
$config['forum_link'] = (strtolower($config['forum']) == 'site' ? getLink('forum') : $config['forum']);
|
||||||
|
|
||||||
foreach($status as $key => $value)
|
foreach($status as $key => $value)
|
||||||
$config['status']['serverStatus_' . $key] = $value;
|
$config['status']['serverStatus_' . $key] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($load_it)
|
if($load_it)
|
||||||
{
|
{
|
||||||
if(SITE_CLOSED && admin())
|
if(SITE_CLOSED && admin())
|
||||||
$content .= '<p class="note">Site is under maintenance (closed mode). Only privileged users can see it.</p>';
|
$content .= '<p class="note">Site is under maintenance (closed mode). Only privileged users can see it.</p>';
|
||||||
|
|
||||||
if($config['backward_support'])
|
if($config['backward_support'])
|
||||||
require(SYSTEM . 'compat_pages.php');
|
require(SYSTEM . 'compat_pages.php');
|
||||||
|
|
||||||
$ignore = false;
|
$ignore = false;
|
||||||
|
|
||||||
$logged_access = 1;
|
$logged_access = 1;
|
||||||
if($logged && $account_logged && $account_logged->isLoaded()) {
|
if($logged && $account_logged && $account_logged->isLoaded()) {
|
||||||
$logged_access = $account_logged->getAccess();
|
$logged_access = $account_logged->getAccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
$query =
|
$query =
|
||||||
$db->query(
|
$db->query(
|
||||||
'SELECT `id`, `title`, `body`, `php`, `hidden`' .
|
'SELECT `id`, `title`, `body`, `php`, `hidden`' .
|
||||||
' FROM `' . TABLE_PREFIX . 'pages`' .
|
' FROM `' . TABLE_PREFIX . 'pages`' .
|
||||||
' WHERE `name` LIKE ' . $db->quote($page) . ' AND `hidden` != 1 AND `access` <= ' . $db->quote($logged_access));
|
' WHERE `name` LIKE ' . $db->quote($page) . ' AND `hidden` != 1 AND `access` <= ' . $db->quote($logged_access));
|
||||||
if($query->rowCount() > 0) // found page
|
if($query->rowCount() > 0) // found page
|
||||||
{
|
{
|
||||||
$ignore = true;
|
$ignore = true;
|
||||||
$query = $query->fetch();
|
$query = $query->fetch();
|
||||||
$title = $query['title'];
|
$title = $query['title'];
|
||||||
|
|
||||||
if($query['php'] == '1') // execute it as php code
|
if($query['php'] == '1') // execute it as php code
|
||||||
{
|
{
|
||||||
$tmp = substr($query['body'], 0, 10);
|
$tmp = substr($query['body'], 0, 10);
|
||||||
if(($pos = strpos($tmp, '<?php')) !== false) {
|
if(($pos = strpos($tmp, '<?php')) !== false) {
|
||||||
$tmp = preg_replace('/<\?php/', '', $query['body'], 1);
|
$tmp = preg_replace('/<\?php/', '', $query['body'], 1);
|
||||||
}
|
}
|
||||||
else if(($pos = strpos($tmp, '<?')) !== false) {
|
else if(($pos = strpos($tmp, '<?')) !== false) {
|
||||||
$tmp = preg_replace('/<\?/', '', $query['body'], 1);
|
$tmp = preg_replace('/<\?/', '', $query['body'], 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$tmp = $query['body'];
|
$tmp = $query['body'];
|
||||||
|
|
||||||
$php_errors = array();
|
$php_errors = array();
|
||||||
function error_handler($errno, $errstr) {
|
function error_handler($errno, $errstr) {
|
||||||
global $php_errors;
|
global $php_errors;
|
||||||
$php_errors[] = array('errno' => $errno, 'errstr' => $errstr);
|
$php_errors[] = array('errno' => $errno, 'errstr' => $errstr);
|
||||||
}
|
}
|
||||||
set_error_handler('error_handler');
|
set_error_handler('error_handler');
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
eval($tmp);
|
eval($tmp);
|
||||||
$content .= ob_get_contents();
|
$content .= ob_get_contents();
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
|
|
||||||
restore_error_handler();
|
restore_error_handler();
|
||||||
if(isset($php_errors[0]) && superAdmin()) {
|
if(isset($php_errors[0]) && superAdmin()) {
|
||||||
var_dump($php_errors);
|
var_dump($php_errors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$content .= $query['body']; // plain html
|
$content .= $query['body']; // plain html
|
||||||
|
|
||||||
if(hasFlag(FLAG_CONTENT_PAGES) || superAdmin()) {
|
if(hasFlag(FLAG_CONTENT_PAGES) || superAdmin()) {
|
||||||
$content = $twig->render('admin.pages.links.html.twig', array(
|
$content = $twig->render('admin.pages.links.html.twig', array(
|
||||||
'page' => array('id' => $query['id'], 'hidden' => $query['hidden'])
|
'page' => array('id' => $query['id'], 'hidden' => $query['hidden'])
|
||||||
)) . $content;
|
)) . $content;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$file = SYSTEM . 'pages/' . $page . '.php';
|
$file = SYSTEM . 'pages/' . $page . '.php';
|
||||||
if(!@file_exists($file))
|
if(!@file_exists($file))
|
||||||
{
|
{
|
||||||
$page = '404';
|
$page = '404';
|
||||||
$file = SYSTEM . 'pages/404.php';
|
$file = SYSTEM . 'pages/404.php';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
if($hooks->trigger(HOOK_BEFORE_PAGE)) {
|
if($hooks->trigger(HOOK_BEFORE_PAGE)) {
|
||||||
if(!$ignore)
|
if(!$ignore)
|
||||||
require($file);
|
require($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($config['backward_support'] && isset($main_content[0]))
|
if($config['backward_support'] && isset($main_content[0]))
|
||||||
$content .= $main_content;
|
$content .= $main_content;
|
||||||
|
|
||||||
$content .= ob_get_contents();
|
$content .= ob_get_contents();
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
$hooks->trigger(HOOK_AFTER_PAGE);
|
$hooks->trigger(HOOK_AFTER_PAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($config['backward_support']) {
|
if($config['backward_support']) {
|
||||||
$main_content = $content;
|
$main_content = $content;
|
||||||
if(!isset($title))
|
if(!isset($title))
|
||||||
$title = ucfirst($page);
|
$title = ucfirst($page);
|
||||||
|
|
||||||
$topic = $title;
|
$topic = $title;
|
||||||
}
|
}
|
||||||
|
|
||||||
$title_full = (isset($title) ? $title . $config['title_separator'] : '') . $config['lua']['serverName'];
|
$title_full = (isset($title) ? $title . $config['title_separator'] : '') . $config['lua']['serverName'];
|
||||||
if(file_exists($template_path . '/index.php'))
|
if(file_exists($template_path . '/index.php'))
|
||||||
require($template_path . '/index.php');
|
require($template_path . '/index.php');
|
||||||
else if(file_exists($template_path . '/template.php')) // deprecated
|
else if(file_exists($template_path . '/template.php')) // deprecated
|
||||||
require($template_path . '/template.php');
|
require($template_path . '/template.php');
|
||||||
else if($config['backward_support'] && file_exists($template_path . '/layout.php'))
|
else if($config['backward_support'] && file_exists($template_path . '/layout.php'))
|
||||||
{
|
{
|
||||||
require($template_path . '/layout.php');
|
require($template_path . '/layout.php');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// TODO: save more info to log file
|
// TODO: save more info to log file
|
||||||
die('ERROR: Cannot load template.');
|
die('ERROR: Cannot load template.');
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<!-- MyAAC ' . MYAAC_VERSION . ' :: http://www.my-aac.org/ -->' . "\n";
|
echo base64_decode('PCEtLSBQb3dlcmVkIGJ5IE15QUFDIDo6IGh0dHBzOi8vd3d3Lm15LWFhYy5vcmcvIC0tPg==') . PHP_EOL;
|
||||||
if(($config['debug_level'] & 1) == 1)
|
if(($config['debug_level'] & 1) == 1)
|
||||||
echo '<!-- Generated in :: ' . round(microtime(true) - START_TIME, 4) . ' -->';
|
echo '<!-- Generated in :: ' . round(microtime(true) - START_TIME, 4) . ' -->';
|
||||||
|
|
||||||
if(($config['debug_level'] & 2) == 2)
|
if(($config['debug_level'] & 2) == 2)
|
||||||
echo "\n" . '<!-- Queries done :: ' . $db->queries() . ' -->';
|
echo "\n" . '<!-- Queries done :: ' . $db->queries() . ' -->';
|
||||||
|
|
||||||
if(($config['debug_level'] & 4) == 4 && function_exists('memory_get_peak_usage'))
|
if(($config['debug_level'] & 4) == 4 && function_exists('memory_get_peak_usage'))
|
||||||
echo "\n" . '<!-- Peak memory usage: ' . convert_bytes(memory_get_peak_usage(true)) . ' -->';
|
echo "\n" . '<!-- Peak memory usage: ' . convert_bytes(memory_get_peak_usage(true)) . ' -->';
|
||||||
|
|
||||||
$hooks->trigger(HOOK_FINISH);
|
$hooks->trigger(HOOK_FINISH);
|
||||||
?>
|
?>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<div id="wrapper">
|
<div id="wrapper">
|
||||||
<!--div class="buffer"-->
|
<!--div class="buffer"-->
|
||||||
<div id="header">
|
<div id="header">
|
||||||
<h1>MyAAC v<?php echo MYAAC_VERSION . ' ' . $locale['installation']; ?></h1>
|
<h1>MyAAC <?php echo $locale['installation']; ?></h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="body">
|
<div id="body">
|
||||||
|
@ -473,7 +473,7 @@ function template_header($is_admin = false)
|
|||||||
$ret .= '
|
$ret .= '
|
||||||
<meta name="description" content="' . $config['meta_description'] . '" />
|
<meta name="description" content="' . $config['meta_description'] . '" />
|
||||||
<meta name="keywords" content="' . $config['meta_keywords'] . ', myaac, wodzaac" />
|
<meta name="keywords" content="' . $config['meta_keywords'] . ', myaac, wodzaac" />
|
||||||
<meta name="generator" content="MyAAC ' . MYAAC_VERSION . '" />
|
<meta name="generator" content="MyAAC" />
|
||||||
<link rel="stylesheet" type="text/css" href="' . BASE_URL . 'tools/messages.css" />
|
<link rel="stylesheet" type="text/css" href="' . BASE_URL . 'tools/messages.css" />
|
||||||
<script type="text/javascript" src="' . BASE_URL . 'tools/jquery.js"></script>
|
<script type="text/javascript" src="' . BASE_URL . 'tools/jquery.js"></script>
|
||||||
<noscript>
|
<noscript>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user