mirror of
https://github.com/slawkens/myaac.git
synced 2025-09-14 12:33:35 +02:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4fcc71e127 | ||
![]() |
403b4aa89b | ||
![]() |
613bcf379b | ||
![]() |
8f2cc2ca38 | ||
![]() |
cdae11226d | ||
![]() |
79fd97ad78 | ||
![]() |
b477d4c821 | ||
![]() |
289f82ad23 | ||
![]() |
92569b7965 | ||
![]() |
c03b041f40 | ||
![]() |
2ac8ed7411 | ||
![]() |
3280b3b9df | ||
![]() |
05c37b94bb | ||
![]() |
a91e7226dc | ||
![]() |
a39600efe2 | ||
![]() |
4fd5922784 |
19
CHANGELOG.md
19
CHANGELOG.md
@@ -1,5 +1,24 @@
|
||||
# Changelog
|
||||
|
||||
## [0.8.9 - 16.03.2023]
|
||||
|
||||
### Added
|
||||
* You can now disable server status checking for testing purposes, useful for local testing when there is no server running
|
||||
* with this, the page won't need 2 seconds to load
|
||||
* set status_enabled to false in config.php
|
||||
* new buttons code for tibiacom template, can create button with any text
|
||||
* patched some small changes from develop branch
|
||||
|
||||
### Changed
|
||||
* add .git to denied folders in nginx-sample.conf
|
||||
* plugins folder is now accessible from outside
|
||||
* add plugins folder to twig search paths
|
||||
|
||||
### Fixed
|
||||
* player save on tfs 1.5 with new ipv6
|
||||
* more php 8.x compatibility
|
||||
* rel path for exception message, causing message to be not in red background
|
||||
|
||||
## [0.8.8 - 18.02.2023]
|
||||
|
||||
### Added
|
||||
|
14
CONTRIBUTORS.txt
Normal file
14
CONTRIBUTORS.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
# automatically exported using this script:
|
||||
# git log --all --format='%cN <%cE>' | sort -u > contributors
|
||||
# in no particular order
|
||||
# cleaned for readability
|
||||
|
||||
Evil Puncker <EPuncker@users.noreply.github.com>
|
||||
Fernando Matos <fernando@pixele.com.br>
|
||||
Lee <42119604+Leesneaks@users.noreply.github.com>
|
||||
caio <caio.zucoli@gmail.com>
|
||||
slawkens <slawkens@gmail.com>
|
||||
tobi132 <52947952+tobi132@users.noreply.github.com>
|
||||
vankk <nwtr.otland@hotmail.com>
|
||||
whiteblXK <krzys16001@gmail.com>
|
||||
xitobuh <jonas.hockert92@gmail.com>
|
3
CREDITS
3
CREDITS
@@ -1,2 +1,3 @@
|
||||
* Gesior.pl (2007 - 2008)
|
||||
* Slawkens (2009 - 2020)
|
||||
* Slawkens (2009 - 2023)
|
||||
* Contributors listed in CONTRIBUTORS.txt
|
||||
|
@@ -9,6 +9,8 @@
|
||||
|
||||
MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP. It is a fork of the [Gesior](https://github.com/gesior/Gesior2012) project. It supports only MySQL databases.
|
||||
|
||||
Official website: https://my-aac.org
|
||||
|
||||
### Requirements
|
||||
|
||||
- PHP 5.6 or later
|
||||
@@ -57,12 +59,13 @@ That means, we use:
|
||||
|
||||
- Some compatibility issues with some exotical distibutions.
|
||||
|
||||
|
||||
### Contributing
|
||||
|
||||
Contributions are more than welcome.
|
||||
|
||||
Pull requests should be made to the Dev branch as that is the working branch, master is for release code.
|
||||
Pull requests should be made to the *develop* branch as that is the working branch, master is for release code.
|
||||
|
||||
Bug fixes to current release should be done to master branch.
|
||||
|
||||
Look: [Contributing](https://github.com/otsoft/myaac/wiki/Contributing) in our wiki.
|
||||
|
||||
|
@@ -2,6 +2,9 @@
|
||||
// few things we'll need
|
||||
require '../common.php';
|
||||
|
||||
define('ADMIN_PANEL', true);
|
||||
define('MYAAC_ADMIN', true);
|
||||
|
||||
if(file_exists(BASE . 'config.local.php')) {
|
||||
require_once BASE . 'config.local.php';
|
||||
}
|
||||
@@ -12,8 +15,6 @@ if(file_exists(BASE . 'install') && (!isset($config['installed']) || !$config['i
|
||||
throw new RuntimeException('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!');
|
||||
}
|
||||
|
||||
define('ADMIN_PANEL', true);
|
||||
|
||||
$content = '';
|
||||
|
||||
// validate page
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
define('MYAAC_ADMIN', true);
|
||||
|
||||
require '../../common.php';
|
||||
require SYSTEM . 'functions.php';
|
||||
require SYSTEM . 'init.php';
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
define('MYAAC_ADMIN', true);
|
||||
|
||||
require '../../common.php';
|
||||
require SYSTEM . 'init.php';
|
||||
require SYSTEM . 'functions.php';
|
||||
|
@@ -26,7 +26,7 @@
|
||||
if (version_compare(phpversion(), '5.6', '<')) die('PHP version 5.6 or higher is required.');
|
||||
|
||||
define('MYAAC', true);
|
||||
define('MYAAC_VERSION', '0.8.8');
|
||||
define('MYAAC_VERSION', '0.8.9');
|
||||
define('DATABASE_VERSION', 33);
|
||||
define('TABLE_PREFIX', 'myaac_');
|
||||
define('START_TIME', microtime(true));
|
||||
|
@@ -267,6 +267,7 @@ $config = array(
|
||||
'last_kills_limit' => 50, // max. number of deaths shown on the last kills page
|
||||
|
||||
// status, took automatically from config file if empty
|
||||
'status_enabled' => true, // you can disable status checking by settings this to "false"
|
||||
'status_ip' => '',
|
||||
'status_port' => '',
|
||||
'status_timeout' => 2, // how long to wait for the initial response from the server (default: 2 seconds)
|
||||
|
@@ -2,10 +2,10 @@ We have detected that you don't have access to write to the system/cache directo
|
||||
|
||||
<style type="text/css">
|
||||
.console {
|
||||
font-family:Courier;
|
||||
font-family: Courier,serif;
|
||||
color: #CCCCCC;
|
||||
background: #000000;
|
||||
border: 3px double #CCCCCC;
|
||||
padding: 0px;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
@@ -82,6 +82,7 @@ if(!$error) {
|
||||
}
|
||||
|
||||
if($saved) {
|
||||
success($locale['step_database_config_saved']);
|
||||
if(!$error) {
|
||||
$_SESSION['saved'] = true;
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
define('MYAAC_INSTALL', true);
|
||||
|
||||
require_once '../../common.php';
|
||||
|
||||
require SYSTEM . 'functions.php';
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
define('MYAAC_INSTALL', true);
|
||||
|
||||
require_once '../../common.php';
|
||||
|
||||
require SYSTEM . 'functions.php';
|
||||
|
@@ -3,16 +3,27 @@ server {
|
||||
root /home/otserv/www/public;
|
||||
index index.php;
|
||||
server_name your-domain.com;
|
||||
|
||||
|
||||
# increase max file upload
|
||||
client_max_body_size 10M;
|
||||
|
||||
# this is very important, be sure its in your nginx conf - it prevents access to logs etc.
|
||||
location ~ /system {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
# block .htaccess
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# block git files and folders
|
||||
location ~ /\.git {
|
||||
return 404;
|
||||
deny all;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php;
|
||||
}
|
||||
@@ -20,6 +31,7 @@ server {
|
||||
location ~ \.php$ {
|
||||
include snippets/fastcgi-php.conf;
|
||||
fastcgi_read_timeout 240;
|
||||
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
|
||||
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
|
||||
# for ubuntu 22.04+ it will be php8.1-fpm.-sock
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,11 +1,3 @@
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
<IfVersion < 2.4>
|
||||
order allow,deny
|
||||
deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
Require all denied
|
||||
</IfVersion>
|
||||
|
@@ -61,8 +61,8 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
|
||||
// check if monsters.xml exist
|
||||
if(!@file_exists($this->monstersPath . 'monsters.xml')) {
|
||||
log_append('error.log', '[OTS_MonstersList.php] Fatal error: Cannot load monsters.xml. File does not exist. (' . $this->monstersPath . 'monsters.xml' . '). Error: ' . print_r(error_get_last(), true));
|
||||
throw new Exception('Error: Cannot load monsters.xml. File not found. More info in system/logs/error.log file.');
|
||||
log_append('error.log', '[OTS_MonstersList.php] Fatal error: Cannot load monsters.xml. File does not exist. (' . $this->monstersPath . 'monsters.xml' . ').');
|
||||
throw new Exception('Error: Cannot load monsters.xml. File not found.');
|
||||
}
|
||||
|
||||
// loads monsters mapping file
|
||||
@@ -174,6 +174,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
* @return OTS_Monster Monster.
|
||||
* @throws DOMException On DOM operation error.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function current()
|
||||
{
|
||||
return $this->getMonster( key($this->monsters) );
|
||||
@@ -187,7 +188,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
/**
|
||||
* Moves to next iterator monster.
|
||||
*/
|
||||
public function next()
|
||||
public function next(): void
|
||||
{
|
||||
next($this->monsters);
|
||||
}
|
||||
@@ -197,6 +198,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
*
|
||||
* @return string Current position key.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function key()
|
||||
{
|
||||
return key($this->monsters);
|
||||
@@ -207,7 +209,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
*
|
||||
* @return bool If iterator has anything more.
|
||||
*/
|
||||
public function valid()
|
||||
public function valid(): bool
|
||||
{
|
||||
return key($this->monsters) !== null;
|
||||
}
|
||||
@@ -215,7 +217,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
/**
|
||||
* Resets iterator index.
|
||||
*/
|
||||
public function rewind()
|
||||
public function rewind(): void
|
||||
{
|
||||
reset($this->monsters);
|
||||
}
|
||||
@@ -226,6 +228,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
* @param string $offset Array key.
|
||||
* @return bool True if it's set.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->monsters[$offset]);
|
||||
@@ -239,6 +242,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
* @return OTS_Monster Monster instance.
|
||||
* @throws DOMException On DOM operation error.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return $this->getMonster($offset);
|
||||
@@ -251,6 +255,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
* @param mixed $value Field value.
|
||||
* @throws E_OTS_ReadOnly Always - this class is read-only.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
throw new E_OTS_ReadOnly();
|
||||
@@ -262,6 +267,7 @@ class OTS_MonstersList implements Iterator, Countable, ArrayAccess
|
||||
* @param string|int $offset Array key.
|
||||
* @throws E_OTS_ReadOnly Always - this class is read-only.
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
throw new E_OTS_ReadOnly();
|
||||
|
@@ -398,7 +398,7 @@ class OTS_Player extends OTS_Row_DAO
|
||||
}
|
||||
|
||||
// UPDATE query on database
|
||||
$this->db->query('UPDATE ' . $this->db->tableName('players') . ' SET ' . $this->db->fieldName('name') . ' = ' . $this->db->quote($this->data['name']) . ', ' . $this->db->fieldName('account_id') . ' = ' . $this->data['account_id'] . ', ' . $this->db->fieldName('group_id') . ' = ' . $this->data['group_id'] . ', ' . $this->db->fieldName('sex') . ' = ' . $this->data['sex'] . ', ' . $this->db->fieldName('vocation') . ' = ' . $this->data['vocation'] . ', ' . $this->db->fieldName('experience') . ' = ' . $this->data['experience'] . ', ' . $this->db->fieldName('level') . ' = ' . $this->data['level'] . ', ' . $this->db->fieldName('maglevel') . ' = ' . $this->data['maglevel'] . ', ' . $this->db->fieldName('health') . ' = ' . $this->data['health'] . ', ' . $this->db->fieldName('healthmax') . ' = ' . $this->data['healthmax'] . ', ' . $this->db->fieldName('mana') . ' = ' . $this->data['mana'] . ', ' . $this->db->fieldName('manamax') . ' = ' . $this->data['manamax'] . ', ' . $this->db->fieldName('manaspent') . ' = ' . $this->data['manaspent'] . ', ' . $this->db->fieldName('soul') . ' = ' . $this->data['soul'] . ', ' . $this->db->fieldName('lookbody') . ' = ' . $this->data['lookbody'] . ', ' . $this->db->fieldName('lookfeet') . ' = ' . $this->data['lookfeet'] . ', ' . $this->db->fieldName('lookhead') . ' = ' . $this->data['lookhead'] . ', ' . $this->db->fieldName('looklegs') . ' = ' . $this->data['looklegs'] . ', ' . $this->db->fieldName('looktype') . ' = ' . $this->data['looktype'] . $lookaddons . ', ' . $this->db->fieldName('posx') . ' = ' . $this->data['posx'] . ', ' . $this->db->fieldName('posy') . ' = ' . $this->data['posy'] . ', ' . $this->db->fieldName('posz') . ' = ' . $this->data['posz'] . ', ' . $this->db->fieldName('cap') . ' = ' . $this->data['cap'] . ', ' . $this->db->fieldName('lastlogin') . ' = ' . $this->data['lastlogin'] . ', ' . $this->db->fieldName('lastlogout') . ' = ' . $this->data['lastlogout'] . ', ' . $this->db->fieldName('lastip') . ' = ' . $this->data['lastip'] . ', ' . $this->db->fieldName('save') . ' = ' . (int) $this->data['save'] . ', ' . $this->db->fieldName('conditions') . ' = ' . $this->db->quote($this->data['conditions']) . ', `' . $skull_time . '` = ' . $this->data['skulltime'] . ', `' . $skull_type . '` = ' . (int) $this->data['skull'] . $guild_info . ', ' . $this->db->fieldName('town_id') . ' = ' . $this->data['town_id'] . $loss . $loss_items . ', ' . $this->db->fieldName('balance') . ' = ' . $this->data['balance'] . $blessings . $stamina . $direction . ' WHERE ' . $this->db->fieldName('id') . ' = ' . $this->data['id']);
|
||||
$this->db->query('UPDATE ' . $this->db->tableName('players') . ' SET ' . $this->db->fieldName('name') . ' = ' . $this->db->quote($this->data['name']) . ', ' . $this->db->fieldName('account_id') . ' = ' . $this->data['account_id'] . ', ' . $this->db->fieldName('group_id') . ' = ' . $this->data['group_id'] . ', ' . $this->db->fieldName('sex') . ' = ' . $this->data['sex'] . ', ' . $this->db->fieldName('vocation') . ' = ' . $this->data['vocation'] . ', ' . $this->db->fieldName('experience') . ' = ' . $this->data['experience'] . ', ' . $this->db->fieldName('level') . ' = ' . $this->data['level'] . ', ' . $this->db->fieldName('maglevel') . ' = ' . $this->data['maglevel'] . ', ' . $this->db->fieldName('health') . ' = ' . $this->data['health'] . ', ' . $this->db->fieldName('healthmax') . ' = ' . $this->data['healthmax'] . ', ' . $this->db->fieldName('mana') . ' = ' . $this->data['mana'] . ', ' . $this->db->fieldName('manamax') . ' = ' . $this->data['manamax'] . ', ' . $this->db->fieldName('manaspent') . ' = ' . $this->data['manaspent'] . ', ' . $this->db->fieldName('soul') . ' = ' . $this->data['soul'] . ', ' . $this->db->fieldName('lookbody') . ' = ' . $this->data['lookbody'] . ', ' . $this->db->fieldName('lookfeet') . ' = ' . $this->data['lookfeet'] . ', ' . $this->db->fieldName('lookhead') . ' = ' . $this->data['lookhead'] . ', ' . $this->db->fieldName('looklegs') . ' = ' . $this->data['looklegs'] . ', ' . $this->db->fieldName('looktype') . ' = ' . $this->data['looktype'] . $lookaddons . ', ' . $this->db->fieldName('posx') . ' = ' . $this->data['posx'] . ', ' . $this->db->fieldName('posy') . ' = ' . $this->data['posy'] . ', ' . $this->db->fieldName('posz') . ' = ' . $this->data['posz'] . ', ' . $this->db->fieldName('cap') . ' = ' . $this->data['cap'] . ', ' . $this->db->fieldName('lastlogin') . ' = ' . $this->data['lastlogin'] . ', ' . $this->db->fieldName('lastlogout') . ' = ' . $this->data['lastlogout'] . ', ' . $this->db->fieldName('lastip') . ' = ' . $this->db->quote($this->data['lastip']) . ', ' . $this->db->fieldName('save') . ' = ' . (int) $this->data['save'] . ', ' . $this->db->fieldName('conditions') . ' = ' . $this->db->quote($this->data['conditions']) . ', `' . $skull_time . '` = ' . $this->data['skulltime'] . ', `' . $skull_type . '` = ' . (int) $this->data['skull'] . $guild_info . ', ' . $this->db->fieldName('town_id') . ' = ' . $this->data['town_id'] . $loss . $loss_items . ', ' . $this->db->fieldName('balance') . ' = ' . $this->data['balance'] . $blessings . $stamina . $direction . ' WHERE ' . $this->db->fieldName('id') . ' = ' . $this->data['id']);
|
||||
}
|
||||
// creates new player
|
||||
else
|
||||
|
@@ -95,8 +95,8 @@ class OTS_SpellsList implements IteratorAggregate, Countable
|
||||
{
|
||||
// check if spells.xml exist
|
||||
if(!@file_exists($file)) {
|
||||
log_append('error.log', '[OTS_SpellsList.php] Fatal error: Cannot load spells.xml. File does not exist. (' . $file . '). Error: ' . print_r(error_get_last(), true));
|
||||
throw new Exception('Error: Cannot load spells.xml. File not found. More info in system/logs/error.log file.');
|
||||
log_append('error.log', '[OTS_SpellsList.php] Fatal error: Cannot load spells.xml. File does not exist. (' . $file . ').');
|
||||
throw new Exception('Error: Cannot load spells.xml. File not found.');
|
||||
}
|
||||
|
||||
// loads monsters mapping file
|
||||
@@ -308,7 +308,7 @@ class OTS_SpellsList implements IteratorAggregate, Countable
|
||||
* @since 0.1.5
|
||||
* @return AppendIterator Iterator for all spells.
|
||||
*/
|
||||
public function getIterator()
|
||||
public function getIterator(): Traversable
|
||||
{
|
||||
$iterator = new AppendIterator();
|
||||
$iterator->append( new ArrayIterator($this->runes) );
|
||||
|
@@ -20,7 +20,7 @@ $locale['not_loaded'] = 'Not loaded';
|
||||
$locale['loading_spinner'] = 'Please wait, installing...';
|
||||
$locale['importing_spinner'] = 'Please wait, importing data...';
|
||||
$locale['please_fill_all'] = 'Please fill all inputs!';
|
||||
$locale['already_installed'] = 'MyAAC has been already installed. Please delete <b>install/<b/> directory. If you want to reinstall MyAAC - please delete <strong>config.local.php</strong> file from the main directory and refresh the page.';
|
||||
$locale['already_installed'] = 'MyAAC has been already installed. Please delete <b>install/</b> directory. If you want to reinstall MyAAC - please delete <strong>config.local.php</strong> file from the main directory and refresh the page.';
|
||||
|
||||
// welcome
|
||||
$locale['step_welcome'] = 'Welcome';
|
||||
@@ -63,6 +63,7 @@ $locale['step_config_usage_desc'] = 'Allow MyAAC to report anonymous usage stati
|
||||
$locale['step_database'] = 'Import schema';
|
||||
$locale['step_database_title'] = 'Import MySQL schema';
|
||||
$locale['step_database_importing'] = 'Your database is MySQL. Database name is: "$DATABASE_NAME$". Importing schema now...';
|
||||
$locale['step_database_config_saved'] = 'Local configuration has been saved into file: config.local.php';
|
||||
$locale['step_database_error_path'] = 'Please specify server path.';
|
||||
$locale['step_database_error_config'] = 'Cannot find config.lua file. Is your server path correct? Go back and check again.';
|
||||
$locale['step_database_error_database_empty'] = 'Cannot determine database type from config.lua. Your OTS is unsupported by this AAC.';
|
||||
|
@@ -59,6 +59,7 @@ $locale['step_config_usage_desc'] = 'Zezwalaj MyAAC na raportowanie anonimowych
|
||||
$locale['step_database'] = 'Baza Danych';
|
||||
$locale['step_database_title'] = 'Baza MySQL';
|
||||
$locale['step_database_importing'] = 'Twoja baza to MySQL. Nazwa bazy danych to: "$DATABASE_NAME$". Importowanie schematu...';
|
||||
$locale['step_database_config_saved'] = 'Lokalna konfiguracja została zapisana do pliku: config.local.php';
|
||||
$locale['step_database_error_path'] = 'Proszę podać ścieżkę do serwera.';
|
||||
$locale['step_database_error_config'] = 'Nie można znaleźć pliku config.lua. Czy ścieżka do katalogu serwera jest poprawna? Wróć się i sprawdź ponownie.';
|
||||
$locale['step_database_error_database_empty'] = 'Nie można wykryć typu bazy danych z pliku config.lua. Prawdopodobnie Twój OTS nie jest wspierany przez ten AAC.';
|
||||
|
@@ -42,13 +42,12 @@ $locale['step_config'] = 'Konfiguration';
|
||||
$locale['step_config_title'] = 'Grundläggande konfiguration';
|
||||
$locale['step_config_server_path'] = 'Server mapp';
|
||||
$locale['step_config_server_path_desc'] = 'Mappen som innhåller exe filen till The Forgotten Server, där du har din config.lua.';
|
||||
|
||||
$locale['step_config_mail_admin'] = 'Admin E-Post';
|
||||
$locale['step_config_mail_admin_desc'] = 'Adress där E-Post från kontaktförmolär kommer att leveraras, till exempel admin@gmail.com';
|
||||
|
||||
$locale['step_config_mail_admin_error'] = 'Admin E-Post är inte korrekt.';
|
||||
$locale['step_config_mail_address'] = 'Server E-Post';
|
||||
$locale['step_config_mail_address_desc'] = 'Adress som kommer att användas för utgående email (från:), till exempel no-reply@your-server.org';
|
||||
|
||||
$locale['step_config_mail_address_error'] = 'Server E-Post är inte korrekt.';
|
||||
$locale['step_config_client'] = 'Klientversion';
|
||||
$locale['step_config_client_desc'] = 'Används för nerladdningssidan och teman.';
|
||||
|
@@ -147,9 +147,10 @@ if($player->isLoaded() && !$player->isDeleted())
|
||||
if($config['characters']['skills'])
|
||||
{
|
||||
if($db->hasColumn('players', 'skill_fist')) {// tfs 1.0+
|
||||
$skills_db = $db->query('SELECT `skill_fist`, `skill_club`, `skill_sword`, `skill_axe`, `skill_dist`, `skill_shielding`, `skill_fishing` FROM `players` WHERE `id` = ' . $player->getId())->fetch();
|
||||
$skills_db = $db->query('SELECT `maglevel`, `skill_fist`, `skill_club`, `skill_sword`, `skill_axe`, `skill_dist`, `skill_shielding`, `skill_fishing` FROM `players` WHERE `id` = ' . $player->getId())->fetch();
|
||||
|
||||
$skill_ids = array(
|
||||
POT::SKILL_MAGIC => 'maglevel',
|
||||
POT::SKILL_FIST => 'skill_fist',
|
||||
POT::SKILL_CLUB => 'skill_club',
|
||||
POT::SKILL_SWORD => 'skill_sword',
|
||||
|
@@ -17,6 +17,10 @@ $status['lastCheck'] = 0;
|
||||
$status['uptime'] = '0h 0m';
|
||||
$status['monsters'] = 0;
|
||||
|
||||
if(config('status_enabled') === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
$status_ip = $config['lua']['ip'];
|
||||
if(isset($config['lua']['statusProtocolPort'])) {
|
||||
$config['lua']['loginPort'] = $config['lua']['statusProtocolPort'];
|
||||
|
6
system/templates/account.back_button.html.twig
Normal file
6
system/templates/account.back_button.html.twig
Normal file
@@ -0,0 +1,6 @@
|
||||
{% if new_line is defined and new_line %}
|
||||
<br/>
|
||||
{% endif %}
|
||||
<form action="{% if action is not defined %}{{ getLink('account/manage') }}{% else %}{{ action }}{% endif %}" method="post">
|
||||
{{ include('buttons.back.html.twig') }}
|
||||
</form>
|
@@ -8,8 +8,8 @@
|
||||
<meta name="description" content="myaac">
|
||||
<meta name="generator" content="MyAAC">
|
||||
|
||||
<link rel="stylesheet" href="/tools/css/messages.css">
|
||||
<link rel="shortcut icon" href="/images/error.ico">
|
||||
<link rel="stylesheet" href="tools/css/messages.css">
|
||||
<link rel="shortcut icon" href="images/error.ico">
|
||||
<base href="{{ BASE_URL }}" />
|
||||
|
||||
<style>
|
||||
@@ -57,7 +57,7 @@
|
||||
}
|
||||
</style>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/tools/js/html5shiv.js"></script>
|
||||
<script src="tools/js/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
@@ -76,4 +76,4 @@
|
||||
<p>{{ powered_by }}</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -3,9 +3,9 @@
|
||||
<img src="{{ constant('BASE_URL') }}images/loading_spinner.gif" height="32" width="32"/>
|
||||
{{ message }}
|
||||
</div>
|
||||
<script type="text/javascript" src="tools/installer.js"></script>
|
||||
<script type="text/javascript" src="{{ constant('BASE_URL') }}install/tools/installer.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
performInstall('{{ url }}');
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<tr bgcolor="{{ getStyle(i) }}">
|
||||
<td width=4%>
|
||||
<div style="text-align:center">
|
||||
<img src="{{ template_path }}/images/news/icon_{{ news.icon_id }}_small.gif"/>
|
||||
<img src="{{ constant('BASE_URL') }}images/news/icon_{{ news.icon_id }}_small.gif"/>
|
||||
</div>
|
||||
</td>
|
||||
<td>{{ news.date|date('j.n.Y') }}</td>
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
|
||||
</div>
|
||||
</div>
|
||||
<table class="Table1" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<table class="Table5" cellpadding="0" cellspacing="0" style="background-color: {{ config.lightborder }}">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="InnerTableContainer">
|
||||
|
@@ -14,6 +14,8 @@ $twig = new Twig_Environment($twig_loader, array(
|
||||
'debug' => $dev_mode
|
||||
));
|
||||
|
||||
$twig_loader->addPath(PLUGINS);
|
||||
|
||||
if($dev_mode) {
|
||||
$twig->addExtension(new Twig_DebugExtension());
|
||||
}
|
||||
|
@@ -1486,6 +1486,25 @@ img {
|
||||
width: 135px;
|
||||
z-index: 20;
|
||||
}
|
||||
.BigButtonText {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 135px;
|
||||
height: 25px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: 0 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
color: #ffd18c;
|
||||
font-family: Verdana,Arial,Times New Roman,sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
z-index: 20;
|
||||
text-shadow: -1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,1px 0 0 #000,1px 1px 0 #000,0 1px 0 #000,-1px 1px 0 #000,-1px 0 0 #000
|
||||
}
|
||||
.TopButtonContainer {
|
||||
position: relative;
|
||||
right: 4px;
|
||||
|
@@ -1,8 +1,8 @@
|
||||
{% spaceless %}
|
||||
<div class="BigButton" style="background-image:url({{ template_path }}/images/global/buttons/sbutton.gif)">
|
||||
<div class="BigButton" style="background-image:url({{ template_path }}/images/global/buttons/button_blue.gif)">
|
||||
<div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);">
|
||||
<div class="BigButtonOver" style="background-image:url({{ template_path }}/images/global/buttons/sbutton_over.gif);" ></div>
|
||||
<input class="ButtonText" type="image" name="{{ button_name }}" alt="{{ button_name }}" src="{{ template_path }}/images/global/buttons/{{ button_image }}.gif" />
|
||||
<div class="BigButtonOver" style="background-image:url({{ template_path }}/images/global/buttons/{% if button_color is defined and button_color == 'green' %}button_green{% else %}button_blue_over{% endif %}.gif);" ></div>
|
||||
<input class="BigButtonText" type="submit" value="{{ button_name }}">
|
||||
</div>
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
{% endspaceless %}
|
||||
|
BIN
templates/tibiacom/images/global/buttons/button_blue.gif
Normal file
BIN
templates/tibiacom/images/global/buttons/button_blue.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
BIN
templates/tibiacom/images/global/buttons/button_blue_over.gif
Normal file
BIN
templates/tibiacom/images/global/buttons/button_blue_over.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 443 B |
Reference in New Issue
Block a user