diff --git a/CHANGELOG b/CHANGELOG
index 94f8d161..7b1dd5a4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,351 +1,366 @@
+[0.7.3 - 18.12.2017]
+ * auto generate myaac cache & session prefix on install to be unique accross installations
+ * fixed hidding shop system menu on tibiacom template when disabled in config
+ * prevent adding duplicated newses with installation
+ * some changes to sample characters: chanced town_id to 1, posx: 1000, posy: 1000, posz: 1000 and default group_id to 1 so you can change in-game outfits and they will be used
+ * added version 772 constant to install client choose (OTHire)
+ * better solution for hidding samples (configurable) - highscores_ids_hidden
+ * fixed account.login redirect not working on tibiacom template
+ * installation: warn about wrong admin account name/id and password
+ * fixed last menu closing in tibiacom template
+ * updated polish locale (translation) on install
+ * (internal) removed some duplicated code on install finish
+ * (internal) renamed installation step files to be in correct order
+ * added TODO file
+
[0.7.1 - 13.12.2017]
- - added changelog menu item to kathrine template
- - fixed some php short tag in changelogs page
- - fixed guild change description back button
- - removed duplicated "Support List" menu item from tibiacom template
- - changed some notice when version check is failed
- - (internal) moved changelog to twig
+ * added changelog menu item to kathrine template
+ * fixed some php short tag in changelogs page
+ * fixed guild change description back button
+ * removed duplicated "Support List" menu item from tibiacom template
+ * changed some notice when version check is failed
+ * (internal) moved changelog to twig
[0.7.0 - 20.11.2017]
- - moved template menus to database, they're now dynamically loaded
- - added anonymous usage statistics reporting (only if user agrees, first usage report will be send after 7 days)
- - you can edit them in Admin Panel under 'Menus' option
- - you can also add custom links, like http://google.pl
- - added networks (facebook and twitter) and highscores (top 5) boxes to tibiacom template, configurable in templates/tibiacom/config.php
- - added news ticker for kathrine template
- - added featured article to tibiacom template (you can add them with add news button)
- - added tinymce editor to 'Pages' in admin panel
- - added links to edit/delete/hide custom page directly from page
- - update forum post after editing news (when forum post has been created)
- - enabled code plugin for tinymce which enabled raw html code editing
- - removed videos pages, as it can be easily added using custom Menus and Pages with insert Media
- - removed bug_report configurable, its now enabled by default
- - log some error info when mail cannot be send on account create
- - twig getLink function will now return with full url (BASE_URL included)
- - verify install post values directly on config page and display error
- - updated tinymce to version 4.7.2 (from 4.7.0)
- - updated phpmailer to version 5.2.26 (from 5.2.23)
- - (#30) (fix) recovering account on servers that doesn't support salts
- - (fix) account email confirm function
- - (fix) showing changelog with urls in Admin Panel
- - (fix) uninstalling plugin
- - (fix) polls box in tibiacom template
- - (fix) remove hooks from db on plugin deinstall
- - (fix) some weird include possibilities with forum and account actions (verify action name)
- - (fix) loading hooks from plugin installed from command line
- - (fix) some changelog PHP Notice warning
- - (internal) moved uninstall logic to Plugins class
- - (internal) moved tibiacom boxes to separate directory
- - (internal) moved news tickers to twig template
- - (internal) moved Forum class to separate file
- - (internal) moved deprecated functions to compat.php
- - (internal) added some compat functions that are used by shop system
- - (internal) renamed constant TICKET -> TICKER
- - (internal) shortened message functions
+ * moved template menus to database, they're now dynamically loaded
+ * added anonymous usage statistics reporting (only if user agrees, first usage report will be send after 7 days)
+ * you can edit them in Admin Panel under 'Menus' option
+ * you can also add custom links, like http://google.pl
+ * added networks (facebook and twitter) and highscores (top 5) boxes to tibiacom template, configurable in templates/tibiacom/config.php
+ * added news ticker for kathrine template
+ * added featured article to tibiacom template (you can add them with add news button)
+ * added tinymce editor to 'Pages' in admin panel
+ * added links to edit/delete/hide custom page directly from page
+ * update forum post after editing news (when forum post has been created)
+ * enabled code plugin for tinymce which enabled raw html code editing
+ * removed videos pages, as it can be easily added using custom Menus and Pages with insert Media
+ * removed bug_report configurable, its now enabled by default
+ * log some error info when mail cannot be send on account create
+ * twig getLink function will now return with full url (BASE_URL included)
+ * verify install post values directly on config page and display error
+ * updated tinymce to version 4.7.2 (from 4.7.0)
+ * updated phpmailer to version 5.2.26 (from 5.2.23)
+ * (#30) (fix) recovering account on servers that doesn't support salts
+ * (fix) account email confirm function
+ * (fix) showing changelog with urls in Admin Panel
+ * (fix) uninstalling plugin
+ * (fix) polls box in tibiacom template
+ * (fix) remove hooks from db on plugin deinstall
+ * (fix) some weird include possibilities with forum and account actions (verify action name)
+ * (fix) loading hooks from plugin installed from command line
+ * (fix) some changelog PHP Notice warning
+ * (internal) moved uninstall logic to Plugins class
+ * (internal) moved tibiacom boxes to separate directory
+ * (internal) moved news tickers to twig template
+ * (internal) moved Forum class to separate file
+ * (internal) moved deprecated functions to compat.php
+ * (internal) added some compat functions that are used by shop system
+ * (internal) renamed constant TICKET -> TICKER
+ * (internal) shortened message functions
[0.6.6 - 22.10.2017]
- - fixed some php fatal error on spells page
- - changed spells.vocations field in db size to 300
- - please reload your spells after this update!
+ * fixed some php fatal error on spells page
+ * changed spells.vocations field in db size to 300
+ * please reload your spells after this update!
[0.6.5 - 21.10.2017]
- - fixed displaying custom pages
- - fixed adding new group forum board
+ * fixed displaying custom pages
+ * fixed adding new group forum board
[0.6.4 - 20.10.2017]
- - reverted OTS_Account::getLastLogin() cause its used by tibia11-login plugin
+ * reverted OTS_Account::getLastLogin() cause its used by tibia11-login plugin
[0.6.3 - 20.10.2017]
- - fixed creating account
- - fixed viewing thread without being logged
- - fixed showing premium account status
+ * fixed creating account
+ * fixed viewing thread without being logged
+ * fixed showing premium account status
[0.6.2 - 20.10.2017]
- - added forums for guilds and groups
- - added nice looking menu for my account page in default template
- - new command line tool: install_plugin.php - can be used to install plugins from command line. Usage: "php install_plugin.php path_to_file"
- - added new tooltip to view characters equipment item name and monster loot
- - added items.xml loader class and weapons.xml loader class
- - minimum PHP version to install AAC is now 5.3.0 cause of Anonymous functions used by Twig
- - Added 'Are you sure?' popup when uninstalling plugin
- - added some warnings when plugin json file is incomplete
- - fixed showing in characters ban expires when is unlimited
- - fixed displaying monster loot when item.name in loot is used instead of item.id
- - load also runes into spells table
- - display plugin uninstall option only if its possible
- - after changing template you will be redirected to latest viewed page
- - display gallery add image form only on main gallery page
- - (internal) moved most of guilds html-in-php code to twig
- - (internal) moved spells page to twig template
- - (internal) removed useless spells.spell column that was duplicate of spells.words
- - (internal) save monster loot in database in json format instead loading it every time from xml file
- - (internal) store monster voices and immunities in json format
- - (internal) moved buttons to separate template
- - (internal) moved online search form to twig
- - (internal) added new function getItemNameById($id)
- - (internal) Moved plugin install logic to a new class: Plugins
- - (internal) changed spells.vocations database field to store json data instead of comma separated
- - (internal) removed $hook_types array, using defined() and constant() functions now
- - (internal) removed useless monsters.gfx_name field from database
- - (internal) renamed database field monsters.hide_creature to hidden
- - (internal) renamed existing Items class to Items_Images
- - (internal) optimized Spells class
- - (internal) new function: OTS_Guild::hasMember(OTS_Player $player)
- - (internal) new function: Forum::hasAccess($board_id)
+ * added forums for guilds and groups
+ * added nice looking menu for my account page in default template
+ * new command line tool: install_plugin.php - can be used to install plugins from command line. Usage: "php install_plugin.php path_to_file"
+ * added new tooltip to view characters equipment item name and monster loot
+ * added items.xml loader class and weapons.xml loader class
+ * minimum PHP version to install AAC is now 5.3.0 cause of Anonymous functions used by Twig
+ * Added 'Are you sure?' popup when uninstalling plugin
+ * added some warnings when plugin json file is incomplete
+ * fixed showing in characters ban expires when is unlimited
+ * fixed displaying monster loot when item.name in loot is used instead of item.id
+ * load also runes into spells table
+ * display plugin uninstall option only if its possible
+ * after changing template you will be redirected to latest viewed page
+ * display gallery add image form only on main gallery page
+ * (internal) moved most of guilds html-in-php code to twig
+ * (internal) moved spells page to twig template
+ * (internal) removed useless spells.spell column that was duplicate of spells.words
+ * (internal) save monster loot in database in json format instead loading it every time from xml file
+ * (internal) store monster voices and immunities in json format
+ * (internal) moved buttons to separate template
+ * (internal) moved online search form to twig
+ * (internal) added new function getItemNameById($id)
+ * (internal) Moved plugin install logic to a new class: Plugins
+ * (internal) changed spells.vocations database field to store json data instead of comma separated
+ * (internal) removed $hook_types array, using defined() and constant() functions now
+ * (internal) removed useless monsters.gfx_name field from database
+ * (internal) renamed database field monsters.hide_creature to hidden
+ * (internal) renamed existing Items class to Items_Images
+ * (internal) optimized Spells class
+ * (internal) new function: OTS_Guild::hasMember(OTS_Player $player)
+ * (internal) new function: Forum::hasAccess($board_id)
[0.6.1 - 17.10.2017]
- - fixed signatures loading
- - new configurable: session_prefix, to allow more websites on one machine (must be unique for every website on your dedicated server!)
- - better error handling for monsters and spells loader (save errors to system/logs/error.log)
- - check if file exist before loading (monsters and spells)
- - (internal) Account::getAccess() = Account::getGroupId()
- - (internal) moved account actions (pages) to account/ directory
- - (internal) moved forum actions (pages) to forum/ directory
- - (internal) moved forum.edit_post to twig templates
+ * fixed signatures loading
+ * new configurable: session_prefix, to allow more websites on one machine (must be unique for every website on your dedicated server!)
+ * better error handling for monsters and spells loader (save errors to system/logs/error.log)
+ * check if file exist before loading (monsters and spells)
+ * (internal) Account::getAccess() = Account::getGroupId()
+ * (internal) moved account actions (pages) to account/ directory
+ * (internal) moved forum actions (pages) to forum/ directory
+ * (internal) moved forum.edit_post to twig templates
[0.6.0 - 16.10.2017]
- - added faq management - add/edit/move/hide/delete from website
- - new account.login view for tibiacom template
- - monsters and spells are now being loaded at the installation of the AAC
- - fix for php versions under 5.5 where empty() function supported only variables
- - added missing change email and change info buttons to account.management default template
- - added new indicator icons for create account, create character and change character name
- - fixed config loader when some inline comments are present
- - fixed editing page in admin panel that contains some html code
- - fixed forum new post on mac os and some specific mysql versions
- - attempt to fix incorrect views counter behavior (its resetting to 0 in some cases)
- - enabled cache http headers for signatures
- - check if monster file exist before loading it
- - fixed if plugin zip file name contains dot (.)
- - renamed screenshots to gallery and movies to videos
- - moved install pages to twig
- - fixed Account::getGuildAccess function
- - removed never used library from sources - dwoo
- - moved check_* functions to class Validator
- - from now all validators ajax requests will fire onblur instead of onkeyup
- - ajax requests returns now json instead of xml
- - added 404 response when file is not found
+ * added faq management - add/edit/move/hide/delete from website
+ * new account.login view for tibiacom template
+ * monsters and spells are now being loaded at the installation of the AAC
+ * fix for php versions under 5.5 where empty() function supported only variables
+ * added missing change email and change info buttons to account.management default template
+ * added new indicator icons for create account, create character and change character name
+ * fixed config loader when some inline comments are present
+ * fixed editing page in admin panel that contains some html code
+ * fixed forum new post on mac os and some specific mysql versions
+ * attempt to fix incorrect views counter behavior (its resetting to 0 in some cases)
+ * enabled cache http headers for signatures
+ * check if monster file exist before loading it
+ * fixed if plugin zip file name contains dot (.)
+ * renamed screenshots to gallery and movies to videos
+ * moved install pages to twig
+ * fixed Account::getGuildAccess function
+ * removed never used library from sources - dwoo
+ * moved check_* functions to class Validator
+ * from now all validators ajax requests will fire onblur instead of onkeyup
+ * ajax requests returns now json instead of xml
+ * added 404 response when file is not found
[0.5.1 - 11.10.2017]
- - fixed forum add/edit board
- - new configurable: highscores_length, how much highscores to display
- - fixed highscores links (ALL, previous and next page)
- - update templates cache when installing/uninstalling plugin
- - moved character deaths and frags table generation to twig
- - fixed some bug when you uninstall plugin and then try to install again on the same page
- - check if plugin exist before uninstalling
- - fixed some warning in OTS_Base_DB
+ * fixed forum add/edit board
+ * new configurable: highscores_length, how much highscores to display
+ * fixed highscores links (ALL, previous and next page)
+ * update templates cache when installing/uninstalling plugin
+ * moved character deaths and frags table generation to twig
+ * fixed some bug when you uninstall plugin and then try to install again on the same page
+ * check if plugin exist before uninstalling
+ * fixed some warning in OTS_Base_DB
[0.5.0 - 10.10.2017]
- - moved .htaccess rules to plain php (index.php)
- - updated tinymce to the latest (4.7.0) version, you can now embed code, for example youtube videos
- - added option to uninstall plugin
- - added option to require specified myaac, php or database version for plugins, without that plugin won't be installed
- - change accountmanagement links to use friendly_urls
- - fixed creating new forum thread
- - sample characters are now assigned to admin account and have group_id 4 to not be shown on highscores
- - added links loaded from database to admin panel - for future plugins
- - print some info to error.log when can't find config.lua
- - some fixes in account changecomment action
- - show info when account name/number or password is empty on login
- - fixed showing account login errors
- - added few characters hooks
- - fixed some kathrine template js bug when shop is disabled
- - you can now use slash '/' in custom pages loaded from database
- - added new twig function getLink that convert link taking into account config.friendly_urls
- - internalLayoutLink -> getLink
+ * moved .htaccess rules to plain php (index.php)
+ * updated tinymce to the latest (4.7.0) version, you can now embed code, for example youtube videos
+ * added option to uninstall plugin
+ * added option to require specified myaac, php or database version for plugins, without that plugin won't be installed
+ * change accountmanagement links to use friendly_urls
+ * fixed creating new forum thread
+ * sample characters are now assigned to admin account and have group_id 4 to not be shown on highscores
+ * added links loaded from database to admin panel - for future plugins
+ * print some info to error.log when can't find config.lua
+ * some fixes in account changecomment action
+ * show info when account name/number or password is empty on login
+ * fixed showing account login errors
+ * added few characters hooks
+ * fixed some kathrine template js bug when shop is disabled
+ * you can now use slash '/' in custom pages loaded from database
+ * added new twig function getLink that convert link taking into account config.friendly_urls
+ * internalLayoutLink -> getLink
[0.4.3 - 05.10.2017]
- - better config loader taken from latest gesior, you can now include files in your config by doing dofile('config.local.lua')
- - fixed country detection in create account
- - fixed showing of character deaths and frags
- - fixed https://otland.net/threads/myaac-v0-0-1.251454/page-13#post-2466303
- - fixed https://otland.net/threads/myaac-v0-0-1.251454/page-13#post-2466313
- - fixed rook sample, which will now have level 1, 150 health, 0 mana, and 400 cap.
- - fixed samples being deleted by tfs 1.0+ cause of 'deletion' field set to 1
- - pages loaded from database have higher priority than normal .php pages, so they will be loaded first if they exist
- - moved many pages to twig templates
- - change download client links from clients.halfaway.net to tibia-clients.com
- - added bugtracker to kathrine template
- - added CREDITS file
+ * better config loader taken from latest gesior, you can now include files in your config by doing dofile('config.local.lua')
+ * fixed country detection in create account
+ * fixed showing of character deaths and frags
+ * fixed https://otland.net/threads/myaac-v0-0-1.251454/page-13#post-2466303
+ * fixed https://otland.net/threads/myaac-v0-0-1.251454/page-13#post-2466313
+ * fixed rook sample, which will now have level 1, 150 health, 0 mana, and 400 cap.
+ * fixed samples being deleted by tfs 1.0+ cause of 'deletion' field set to 1
+ * pages loaded from database have higher priority than normal .php pages, so they will be loaded first if they exist
+ * moved many pages to twig templates
+ * change download client links from clients.halfaway.net to tibia-clients.com
+ * added bugtracker to kathrine template
+ * added CREDITS file
[0.4.2 - 14.09.2017]
- - updated version number
+ * updated version number
[0.4.1 - 13.09.2017]
- - fixed log in to admin panel
- - fixed File is not .zip plugin upload error
+ * fixed log in to admin panel
+ * fixed File is not .zip plugin upload error
[0.4.0 - 13.09.2017
- - added option to add/edit/delete/hide/move forum boards
- - moved some of HTML-in-PHP code to Twig templates
- - added bug_report configurable which can enable/disable bug tracker
- - log errors instead of showing them to users with system directories
- - fix when $_SERVER['HTTP_ACCEPT_ENCODING'] is not set
- - when it fails to load config.lua it will output error also to error.log
- - automatically detect json file in .zip instead of basing on filename (admin panel - plugins)
- - hopefully fixed the error with "The file you are trying to upload is not a .zip file. Please try again."
- - fixed wrong name of table in bugtracker
- - fixed some bugs in bugtracker
- - added report bug link in templates
- - fixed some rare error when user is logged in for longer than 15 minutes and tries to login again
- - fixed some grammar errors
- - some small improvements
- - fixed some separators in kathrine template
+ * added option to add/edit/delete/hide/move forum boards
+ * moved some of HTML-in-PHP code to Twig templates
+ * added bug_report configurable which can enable/disable bug tracker
+ * log errors instead of showing them to users with system directories
+ * fix when $_SERVER['HTTP_ACCEPT_ENCODING'] is not set
+ * when it fails to load config.lua it will output error also to error.log
+ * automatically detect json file in .zip instead of basing on filename (admin panel - plugins)
+ * hopefully fixed the error with "The file you are trying to upload is not a .zip file. Please try again."
+ * fixed wrong name of table in bugtracker
+ * fixed some bugs in bugtracker
+ * added report bug link in templates
+ * fixed some rare error when user is logged in for longer than 15 minutes and tries to login again
+ * fixed some grammar errors
+ * some small improvements
+ * fixed some separators in kathrine template
[0.3.0 - 28.08.2017]
- - added administration panel for screenshots management with auto thumbnail generator and image auto-resizing
- - added Twig template engine and moved some html-in-php code to it
- - automatically detect player country based on user location (IP) on create account
- - player sex (gender) is now configurable at $config['genders']
- - fixed recovering account and changing password when salt is enabled
- - fixed installing samples when for example Rook Sample already exist and other samples not
- - fixed some mysql error when character you trying to create already exist
- - fixed some warning when you select nonexistent country
- - password change minimal/maximal length notice is now more precise
- - added 'enabled' field in myaac_hooks table, which can enable or disable specified hook
- - removed DEFAULT '' for TEXT field. It didn't worked under some systems like MAC OS X.
- - minimum PHP version to install the MyAAC is now 5.2.0 cause of pathinfo (extension) function
- - removed unused admin stylish template
- - removed some unused cities field from myaac_spells table
- - moved news adding at installation from schema.sql to finish.php
- - some optimizations
+ * added administration panel for screenshots management with auto thumbnail generator and image auto-resizing
+ * added Twig template engine and moved some html-in-php code to it
+ * automatically detect player country based on user location (IP) on create account
+ * player sex (gender) is now configurable at $config['genders']
+ * fixed recovering account and changing password when salt is enabled
+ * fixed installing samples when for example Rook Sample already exist and other samples not
+ * fixed some mysql error when character you trying to create already exist
+ * fixed some warning when you select nonexistent country
+ * password change minimal/maximal length notice is now more precise
+ * added 'enabled' field in myaac_hooks table, which can enable or disable specified hook
+ * removed DEFAULT '' for TEXT field. It didn't worked under some systems like MAC OS X.
+ * minimum PHP version to install the MyAAC is now 5.2.0 cause of pathinfo (extension) function
+ * removed unused admin stylish template
+ * removed some unused cities field from myaac_spells table
+ * moved news adding at installation from schema.sql to finish.php
+ * some optimizations
[0.2.4 - 09.06.2017]
- - fixed invite to guild
- - added id field on monsters, so you can delete them in phpmyadmin
- - fixed adding some creatures with ' and "
- - fixed when there are spaces at beginning of the file (creatures)
- - fixed when file is unable to parse (creatures)
- - fixed typo loss_items => loss_containers
- - more elegant way of showing message on reload creatures and spells
+ * fixed invite to guild
+ * added id field on monsters, so you can delete them in phpmyadmin
+ * fixed adding some creatures with ' and "
+ * fixed when there are spaces at beginning of the file (creatures)
+ * fixed when file is unable to parse (creatures)
+ * fixed typo loss_items => loss_containers
+ * more elegant way of showing message on reload creatures and spells
[0.2.3 - 31.05.2017]
- - fixed guild management on OTHire 0.0.3
- - set default skills to 10 when creating new character
- - fixed displaying of "Create forum thread" in newses
- - fixed deleting guild on servers that use players.rank_id field
- - fixed phpmailer class loading (https://otland.net/threads/myaac-v0-0-1.251454/page-8#post-2445222)
- - fixed displaying vocation amount on online page
- - better support for custom vocations, you just need to set in config vocations_amount to yours.
- - fixed huge space in player name (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444328)
- - fixed Undefined variable (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444034)
- - fixed Undefined offset (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444035)
+ * fixed guild management on OTHire 0.0.3
+ * set default skills to 10 when creating new character
+ * fixed displaying of "Create forum thread" in newses
+ * fixed deleting guild on servers that use players.rank_id field
+ * fixed phpmailer class loading (https://otland.net/threads/myaac-v0-0-1.251454/page-8#post-2445222)
+ * fixed displaying vocation amount on online page
+ * better support for custom vocations, you just need to set in config vocations_amount to yours.
+ * fixed huge space in player name (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444328)
+ * fixed Undefined variable (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444034)
+ * fixed Undefined offset (https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2444035)
[0.2.2 - 22.05.2017]
- - added missing cache/signature directory
- - fixed https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2443868
+ * added missing cache/signature directory
+ * fixed https://otland.net/threads/myaac-v0-0-1.251454/page-7#post-2443868
[0.2.1 - 21.05.2017]
- - added Swedish translation by Sizaro
- - fixed some bugs with installlation & characters & houses
+ * added Swedish translation by Sizaro
+ * fixed some bugs with installlation & characters & houses
[0.2.0 - 21.05.2017]
- - added option to change character sex for premium points
- - moved site_closed to database, now you can close your site through admin panel
- - added option to admin panel: clear cache
- - added experiencetable_rows configurable
- - optimized OTS_Account->getGroupId(), now its using like 20 queries less
- - optimized OTS_Player->load($id) function, should be much faster now
- - fixed displaying on highscores special outfits
- - fixed skull images displaying
- - fixed displaying unlimited premium account
- - fixed bug where players.lookaddons doesn't exist (OTHire etc.) (https://otland.net/threads/myaac-v0-0-1.251454/page-6#post-2442407)
- - fixed signature tibian for OTHire and other servers that doesnt use accounts.premdays field
- - fixed when player name in signature containst space
- - don't show "Create forum thread" when editing
- - fixed red color table after create account
- - updated download links, as clients.halfaway.net isn't working anymore
- - fixed some bugs while installing when field `email_next` or `hidden` already exist
- - fixed movies unexpected comment
- - added template_place_holder('center_top') to kathrine template
+ * added option to change character sex for premium points
+ * moved site_closed to database, now you can close your site through admin panel
+ * added option to admin panel: clear cache
+ * added experiencetable_rows configurable
+ * optimized OTS_Account->getGroupId(), now its using like 20 queries less
+ * optimized OTS_Player->load($id) function, should be much faster now
+ * fixed displaying on highscores special outfits
+ * fixed skull images displaying
+ * fixed displaying unlimited premium account
+ * fixed bug where players.lookaddons doesn't exist (OTHire etc.) (https://otland.net/threads/myaac-v0-0-1.251454/page-6#post-2442407)
+ * fixed signature tibian for OTHire and other servers that doesnt use accounts.premdays field
+ * fixed when player name in signature containst space
+ * don't show "Create forum thread" when editing
+ * fixed red color table after create account
+ * updated download links, as clients.halfaway.net isn't working anymore
+ * fixed some bugs while installing when field `email_next` or `hidden` already exist
+ * fixed movies unexpected comment
+ * added template_place_holder('center_top') to kathrine template
[0.1.5 - 13.05.2017]
- - fixed bug with "Integrity constraint violation: 1048 Column 'ip' cannot be null"
+ * fixed bug with "Integrity constraint violation: 1048 Column 'ip' cannot be null"
[0.1.4 - 13.05.2017]
- - added outfit shower, in characters, online, and highscores
- - updated database to version 2
- - fixed item images (now using item-images.ots.me host by default)
- - fixed news ticket and posting long newses (https://otland.net/threads/myaac-v0-0-1.251454/page-5#post-2442026)
- - news body limit increased to 65535 (mysql text field)
- - removed some unused code from my old server
- - added spells & monsters to kathrine template
+ * added outfit shower, in characters, online, and highscores
+ * updated database to version 2
+ * fixed item images (now using item-images.ots.me host by default)
+ * fixed news ticket and posting long newses (https://otland.net/threads/myaac-v0-0-1.251454/page-5#post-2442026)
+ * news body limit increased to 65535 (mysql text field)
+ * removed some unused code from my old server
+ * added spells & monsters to kathrine template
[0.1.3 - 11.05.2017]
- - this is just release to update version number
+ * this is just release to update version number
[0.1.2 - 11.05.2017]
- - forgot to update CHANGELOG and MYAAC_VERSION
+ * forgot to update CHANGELOG and MYAAC_VERSION
[0.1.1 - 11.05.2017]
- - fixed updating myaac_config with database_version to 1
- - fixed database updater
+ * fixed updating myaac_config with database_version to 1
+ * fixed database updater
[0.1.0 - 11.05.2017]
- - added new feature: change character name for premium points (disabled by default, you can enable it in config under account_change_character_name in config.php)
- - added automatic database updater (data migrations)
- - renamed events to hooks
- - moved hooks to database
- - now you can use hooks in plugins
- - set account.type field to 5 on install, if TFS 1.0+
- - added example plugin
- - new, latest google analytics code
- - fixed bug with loading account.name that has numbers in it
- - fixed many bugs in player editor in admin panel
- - added error handling to plugin manager and some more verification in
- - file has been correctly unpacked/uploaded
- - fixed Statistics page in admin panel when using account.number
- - fixed bug when creating/recovering account on servers with
- - account.salt field (TFS 0.3 for example)
- - fixed forum showing thread with html tags (added from news manager)
- - new, latest code for youtube videos in movies page
- - fixed showing vocation images when using $config['online_vocations_images']
- - many fixes in polls (also importing proper schema)
- - fixed hovering on buttons in kathrine template (on accountmanagement page)
- - fixed signatures (many fixes)
- - added missing gesior signature system
+ * added new feature: change character name for premium points (disabled by default, you can enable it in config under account_change_character_name in config.php)
+ * added automatic database updater (data migrations)
+ * renamed events to hooks
+ * moved hooks to database
+ * now you can use hooks in plugins
+ * set account.type field to 5 on install, if TFS 1.0+
+ * added example plugin
+ * new, latest google analytics code
+ * fixed bug with loading account.name that has numbers in it
+ * fixed many bugs in player editor in admin panel
+ * added error handling to plugin manager and some more verification in
+ * file has been correctly unpacked/uploaded
+ * fixed Statistics page in admin panel when using account.number
+ * fixed bug when creating/recovering account on servers with
+ * account.salt field (TFS 0.3 for example)
+ * fixed forum showing thread with html tags (added from news manager)
+ * new, latest code for youtube videos in movies page
+ * fixed showing vocation images when using $config['online_vocations_images']
+ * many fixes in polls (also importing proper schema)
+ * fixed hovering on buttons in kathrine template (on accountmanagement page)
+ * fixed signatures (many fixes)
+ * added missing gesior signature system
[0.0.6 - 06.05.2017]
- - fixed bug while installing (https://otland.net/threads/myaac-v0-0-1.251454/page-3#post-2440543)
- - fixed bug when creating character (not showing errors) (one more time)
- - fixed support for TFS 0.2 series
- - added FAQ link
+ * fixed bug while installing (https://otland.net/threads/myaac-v0-0-1.251454/page-3#post-2440543)
+ * fixed bug when creating character (not showing errors) (one more time)
+ * fixed support for TFS 0.2 series
+ * added FAQ link
[0.0.5 - 05.05.2017]
- - fixed bug when creating character (not showing errors)
- - Fixed characters loading with names that has been created with other AAC
- - fixed links to shop in default template
- - fixed some weird PHP 7.1 warnings/notices
- - Fixed config loading with some weird comments
- - fixed bug with status info utf8 encoding (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440259)
- - fixed when ip in log_action is NULL (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440357)
- - fixed bug when guild doesn't exist on characters page (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440320)
- - disabled friendly_urls by default
- - fixes when $config['database_*'] is set
- - added CHANGELOG
+ * fixed bug when creating character (not showing errors)
+ * Fixed characters loading with names that has been created with other AAC
+ * fixed links to shop in default template
+ * fixed some weird PHP 7.1 warnings/notices
+ * Fixed config loading with some weird comments
+ * fixed bug with status info utf8 encoding (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440259)
+ * fixed when ip in log_action is NULL (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440357)
+ * fixed bug when guild doesn't exist on characters page (https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440320)
+ * disabled friendly_urls by default
+ * fixes when $config['database_*'] is set
+ * added CHANGELOG
[0.0.3 - 03.05.2017]
- - Full support for OTHire 0.0.3
- - added support for otservers that doesn't use account.name field, instead just account number will be used
- - fixed encryption detection on TFS 0.3
- - fixed bug when server_config table doesn't exist
- - (install) moved admin account creation to new step
- - fixed news comment link
- - by default, the installer creates now the Admin player, for admin account
- - fixed installation errors
- - fixed config.lua loading with some weird comments
+ * Full support for OTHire 0.0.3
+ * added support for otservers that doesn't use account.name field, instead just account number will be used
+ * fixed encryption detection on TFS 0.3
+ * fixed bug when server_config table doesn't exist
+ * (install) moved admin account creation to new step
+ * fixed news comment link
+ * by default, the installer creates now the Admin player, for admin account
+ * fixed installation errors
+ * fixed config.lua loading with some weird comments
[0.0.2 - 02.05.2017]
- - updated forum links to use friendly_urls
- - some more info will be shown when cannot connect to database
- - show more error infos when creating character
- - fixed forum link on newses
- - fixed spells loading when there's vocation name instead of id
- - fixed bug when you have changed template but it doesn't exist anymore
- - fixed vocations with promotion loading
- - fixed support for gesior pages and templates
- - added function OTS_Acount:getGroupId()
+ * updated forum links to use friendly_urls
+ * some more info will be shown when cannot connect to database
+ * show more error infos when creating character
+ * fixed forum link on newses
+ * fixed spells loading when there's vocation name instead of id
+ * fixed bug when you have changed template but it doesn't exist anymore
+ * fixed vocations with promotion loading
+ * fixed support for gesior pages and templates
+ * added function OTS_Acount:getGroupId()
[0.0.1 - 01.05.2017]
This is first official release of MyAAC.
diff --git a/TODO b/TODO
index d8a0c650..7baa22ab 100644
--- a/TODO
+++ b/TODO
@@ -12,6 +12,7 @@
* database towns table support for TFS 1.3
* players.is_sample is waste, better save in config.php array of ignored ids
* add some notice to the user that installing step "Import Schema" will take some time
+ * remember client version in session on install
1.0:
* i18n support (issue #1 on github)
diff --git a/common.php b/common.php
index a96c9f91..bee8d578 100644
--- a/common.php
+++ b/common.php
@@ -26,7 +26,7 @@
session_start();
define('MYAAC', true);
-define('MYAAC_VERSION', '0.7.3-dev');
+define('MYAAC_VERSION', '0.7.3');
define('DATABASE_VERSION', 19);
define('TABLE_PREFIX', 'myaac_');
define('START_TIME', microtime(true));
diff --git a/install/steps/5-database.php b/install/steps/5-database.php
index 580eaa6d..56f7912c 100644
--- a/install/steps/5-database.php
+++ b/install/steps/5-database.php
@@ -11,7 +11,8 @@ if(!isset($_SESSION['var_server_path'])) {
}
if(!$error) {
- $content = " $value)
{
if(strpos($key, 'var_') !== false)
@@ -218,11 +219,6 @@ if(!$error) {
if(query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL;"))
success($locale['step_database_adding_field'] . ' players.comment...');
}
-
- if(!fieldExist('is_sample', 'players')) {
- if(query("ALTER TABLE `players` ADD `is_sample` TINYINT(1) NOT NULL DEFAULT 0;"))
- success($locale['step_database_adding_field'] . ' players.is_sample...');
- }
}
if(!$error && (!isset($_SESSION['saved']))) {
@@ -248,9 +244,6 @@ if(!$error) {
$content .= PHP_EOL;
$content .= '$config[\'cache_prefix\'] = \'myaac_' . generateRandomString(8, true, false, true, false) . '\';';
$content .= PHP_EOL;
- $content .= '// place for your configuration directives, so you can later easily update myaac';
- $content .= PHP_EOL;
- $content .= "?>";
$file = fopen(BASE . 'config.local.php', 'a+');
if($file) {
diff --git a/install/steps/7-finish.php b/install/steps/7-finish.php
index 75d974ba..7e41f44d 100644
--- a/install/steps/7-finish.php
+++ b/install/steps/7-finish.php
@@ -52,7 +52,12 @@ else {
}
else {
$new_account = new OTS_Account();
- $new_account->create($account);
+ if(USE_ACCOUNT_NAME) {
+ $new_account->create($account);
+ }
+ else {
+ $new_account->create(null, $account_id);
+ }
$new_account->setPassword(encrypt($password));
$new_account->setEMail($_SESSION['var_mail_admin']);
@@ -113,37 +118,53 @@ else {
if(fieldExist('deletion', 'players'))
$deleted = 'deletion';
- $insert_into_players = "INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `lastlogout`, `balance`, `$deleted`, `created`, `hidden`, `comment`, `is_sample`) VALUES ";
+ $insert_into_players = "INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `lastlogout`, `balance`, `$deleted`, `created`, `hidden`, `comment`) VALUES ";
$success = true;
+ $highscores_ignored_ids = array();
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Rook Sample'));
if($query->rowCount() == 0) {
- if(!query($insert_into_players . "(null, 'Rook Sample', 1, " . getSession('account') . ", 1, 0, 150, 150, 4200, 118, 114, 38, 57, 130, 0, 0, 0, 0, 100, 1, 1000, 1000, 7, '', 400, 1, 1255179613, 2453925456, 1, 1255179614, 0, 0, UNIX_TIMESTAMP(), 1, '', 1);"))
+ if(!query($insert_into_players . "(null, 'Rook Sample', 1, " . getSession('account') . ", 1, 0, 150, 150, 4200, 118, 114, 38, 57, 130, 0, 0, 0, 0, 100, 1, 1000, 1000, 7, '', 400, 1, 1255179613, 2453925456, 1, 1255179614, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
+ else {
+ $highscores_ignored_ids[] = $db->lastInsertId();
+ }
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Sorcerer Sample'));
if($query->rowCount() == 0) {
- if(!query($insert_into_players . "(null, 'Sorcerer Sample', 1, " . getSession('account') . ", 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 0, UNIX_TIMESTAMP(), 1, '', 1);"))
+ if(!query($insert_into_players . "(null, 'Sorcerer Sample', 1, " . getSession('account') . ", 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
+ else {
+ $highscores_ignored_ids[] = $db->lastInsertId();
+ }
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Druid Sample'));
if($query->rowCount() == 0) {
- if(!query($insert_into_players . "(null, 'Druid Sample', 1, " . getSession('account') . ", 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 0, UNIX_TIMESTAMP(), 1, '', 1);"))
+ if(!query($insert_into_players . "(null, 'Druid Sample', 1, " . getSession('account') . ", 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
+ else {
+ $highscores_ignored_ids[] = $db->lastInsertId();
+ }
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Paladin Sample'));
if($query->rowCount() == 0) {
- if(!query($insert_into_players . "(null, 'Paladin Sample', 1, " . getSession('account') . ", 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 0, UNIX_TIMESTAMP(), 1, '', 1);"))
+ if(!query($insert_into_players . "(null, 'Paladin Sample', 1, " . getSession('account') . ", 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
+ else {
+ $highscores_ignored_ids[] = $db->lastInsertId();
+ }
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Knight Sample'));
if($query->rowCount() == 0) {
- if(!query($insert_into_players . "(null, 'Knight Sample', 1, " . getSession('account') . ", 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 0, UNIX_TIMESTAMP(), 1, '', 1);"))
+ if(!query($insert_into_players . "(null, 'Knight Sample', 1, " . getSession('account') . ", 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 1, 1000, 1000, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
+ else {
+ $highscores_ignored_ids[] = $db->lastInsertId();
+ }
}
if($success) {
@@ -171,6 +192,20 @@ else {
error(Spells::getLastError());
}
+ $content = PHP_EOL;
+ $content .= '$config[\'highscores_ids_hidden\'] = array(' . implode(', ', $highscores_ignored_ids) . ');';
+ $content .= PHP_EOL;
+
+ $file = fopen(BASE . 'config.local.php', 'a+');
+ if($file) {
+ fwrite($file, $content);
+ }
+ else {
+ $locale['step_database_error_file'] = str_replace('$FILE$', '' . BASE . 'config.local.php', $locale['step_database_error_file']);
+ warning($locale['step_database_error_file'] . '
+ ');
+ }
+
$locale['step_finish_desc'] = str_replace('$ADMIN_PANEL$', generateLink(ADMIN_URL, $locale['step_finish_admin_panel'], true), $locale['step_finish_desc']);
$locale['step_finish_desc'] = str_replace('$HOMEPAGE$', generateLink(BASE_URL, $locale['step_finish_homepage'], true), $locale['step_finish_desc']);
$locale['step_finish_desc'] = str_replace('$LINK$', generateLink('http://my-aac.org', 'http://my-aac.org', true), $locale['step_finish_desc']);
diff --git a/system/functions.php b/system/functions.php
index 422e31df..8cb6f2b0 100644
--- a/system/functions.php
+++ b/system/functions.php
@@ -971,7 +971,7 @@ function getTopPlayers($limit = 5) {
if(fieldExist('deletion', 'players'))
$deleted = 'deletion';
- $players = $db->query('SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` < ' . $config['highscores_groups_hidden'] . ' AND `is_sample` = 0 AND `' . $deleted . '` = 0 AND `account_id` != 1 ORDER BY `experience` DESC LIMIT 5')->fetchAll();
+ $players = $db->query('SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` < ' . $config['highscores_groups_hidden'] . ' AND `id` NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND `' . $deleted . '` = 0 AND `account_id` != 1 ORDER BY `experience` DESC LIMIT 5')->fetchAll();
$i = 0;
foreach($players as &$player) {
diff --git a/system/init.php b/system/init.php
index 3a29aa37..0067c7d4 100644
--- a/system/init.php
+++ b/system/init.php
@@ -148,6 +148,11 @@ else
$config['data_path'] = $tmp;
unset($tmp);
+// new config values for compability
+if($config['highscores_ids_hidden'] == null) {
+ $config['highscores_ids_hidden'] = array();
+}
+
// POT
require_once(SYSTEM . 'libs/pot/OTS.php');
$ots = POT::getInstance();
diff --git a/system/pages/highscores.php b/system/pages/highscores.php
index c262a3c6..57f78029 100644
--- a/system/pages/highscores.php
+++ b/system/pages/highscores.php
@@ -121,16 +121,16 @@ if($skill <= POT::SKILL_LAST) { // skills
POT::SKILL_FISH => 'skill_fishing',
);
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . $outfit . ', ' . $skill_ids[$skill] . ' as value FROM accounts,players WHERE players.is_sample = 0 AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND accounts.id = players.account_id ORDER BY ' . $skill_ids[$skill] . ' DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . $outfit . ', ' . $skill_ids[$skill] . ' as value FROM accounts,players WHERE players.id NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND accounts.id = players.account_id ORDER BY ' . $skill_ids[$skill] . ' DESC LIMIT 101 OFFSET '.$offset);
}
else
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',value,level,vocation' . $promotion . $outfit . ' FROM accounts,players,player_skills WHERE players.is_sample = 0 AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND players.id = player_skills.player_id AND player_skills.skillid = '.$skill.' AND accounts.id = players.account_id ORDER BY value DESC, count DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',value,level,vocation' . $promotion . $outfit . ' FROM accounts,players,player_skills WHERE players.id NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND players.id = player_skills.player_id AND player_skills.skillid = '.$skill.' AND accounts.id = players.account_id ORDER BY value DESC, count DESC LIMIT 101 OFFSET '.$offset);
}
else if($skill == 666 && $config['otserv_version'] == TFS_03) // frags
{
$skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . $outfit . ',COUNT(`player_killers`.`player_id`) as value' .
' FROM `accounts`, `players`, `player_killers` ' .
- ' WHERE players.is_sample = 0 AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id = player_killers.player_id AND accounts.id = players.account_id' .
+ ' WHERE players.id NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id = player_killers.player_id AND accounts.id = players.account_id' .
' GROUP BY `player_id`' .
' ORDER BY value DESC' .
' LIMIT 101 OFFSET '.$offset);
@@ -138,10 +138,10 @@ else if($skill == 666 && $config['otserv_version'] == TFS_03) // frags
else
{
if($skill == POT::SKILL__MAGLEVEL) {
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',maglevel,level,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.is_sample = 0 AND players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY maglevel DESC, manaspent DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',maglevel,level,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.id NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY maglevel DESC, manaspent DESC LIMIT 101 OFFSET '.$offset);
}
else { // level
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,experience,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.is_sample = 0 AND players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY level DESC, experience DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,experience,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.id NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY level DESC, experience DESC LIMIT 101 OFFSET '.$offset);
$list = 'experience';
}
}