* fixed several deprecation notices and warnings from MySQL8, most notably:
- SQL_CALC_FOUND_ROWS: stopped using DBSimple::selectPage and query 'SELECT COUNT(*) ...' separately where needed
- ON DUPLICATE KEY UPDATE ... VALUES(): use row alias for new values instead of VALUES function
- boolean shorthands to long form (&& -> AND, etc)
* convert configuration from list of constants to object
* fixes config changes not applying on cli whithout closing and reopening again
* config variables are no longer embedded in localization text
* fixed misc issues Intellisense was nice enough to highlight.
* mostly deprecated usage of uninitialized parameters
* class GenericPage still needs a long, hard look and a refactor
* append a filemtime timestamp to js/css files to work around browser caching after update
* shuffle script handling around a bit
* also user pages cant have community content
* also fix breadcrumbs on items page
* moving commonly used strings to defines
* moving commonly reused/similar page generation functions to the parent
* generally using consistent return types, more type hints and less strings
* prevent browser context menu when right clicking on UI elements with their own context menus
* fixed menu path for icons
* further optimize search
- use achievement 4496 as shortcut for everything based around total achievement points
- get talent distribution separately
- get total profiler-items found separately
- opt to not sort found results
* fixed Profiles with zero Achievement Points
* added cache key genrator i forgot :<
* fixed typos
* vastly improved input validation
* content and type validation occurs when filter is created
* contextual filters like itemTypes are now only applied in context
* removed most templates by sensibly restructuring lvTab-data. Util::toJSON() does the rest.
* taught Util::toJSON() to recognize values prefixed with $ as js-code
* use Util::toJSON whenever possible
* misc
- mail attachments are displyed again
- always show all currency rewards on Quest-LVs
- suppress an error, when encountering unused ItemMods
fixed sql-error in manager
Comments:
no longer appear as upvoted for anonymous user
can be voted on, again
Class detail page:
removed default limit on class ability query (300). now shows all spells
Filter/Items:
added missing table-prefix; fixed search for iconString
Spells/Search:
display triggered player abilities as misc. spells. (previously hidden)
Misc:
removed some obscure piece of old config
- removed web-setup
- new CLI parameters
--account : create initial account(s)
--siteconfig : edit php/aowow config values
--dbconfig : set up db connection
--sql : create db content from world/dbc-tables
--firstrun : [NYI] step by step initial setup
- some fixes by the wayside
* display required arena bracket for extendedCost
* achievement chains are searchable again
* category trees for factions should now be correct
* trainer tab on spell detail page reapeared
* userMenu item 'Settings' no longer breaks the page
* display abilities of shapeshift in tab on spell detail page
* corrected reading ?_sourcestrings for titles
* fixed error on race detail page
* added simple descriptions to skill detail page
* fixed tab "reward from" (achievement) on title detail page
* fixed alphabetical order of some filter-dropdowns
* fixed skill colors for spells
* fixed power display for rune-based spells, that also cost mana
* added more information to zones
* also check mail_loot_template for achivements
* fixed bug, where loot_template-ids would be reused for multiple templates
* display sourcemore for pvp-sources
* replaced error-suppressions with proper checks
* log php errors to db
* use __callStatic() to access localization and thus handle erronous keys
- Setup:
* fixed some erronous filenames when generating icons
* increased alpha threshold for spawn maps (should improve spawn points)
- disentangled DB::Aowow and DB::World. Aowow should now be able to run
with DB::World being on a different server
- added missing faction transfer pendants (title/quest/faction/..)
- fixed extended costs for specific vendors
- implemented secondary tooltips with spawnPoints
- merged Mapper.js back into global.js
* fixed wrong id for Nexus Instance
* the ToC Dungeon no longer has a second layer
- fixed displaying waypoints as spawns
- images in pageText are now PNG instead of JPG to accomodate for transparency
- added config-option to restrict available locales
- fixed opensearch suggestions by generating strict json
- include TalentCalc.css as lowerCase (fixes display under *nix)
- some minor formating
- Setup:
* added some additional files to be generated (they required STATIC_URL or HOST_URL to be set)
* moved class Locale from global.js to own template and generate it with CFG_LOCALES
* changed urlParam (?build=script): may be empty (builds everything) or specific scriptNames chained together with ; (?build=script1;script2)
you are required to run the following command to regenerate files affected by these cahnges
?build=demo;power;realmMenu;searchboxBody;searchboxScript;searchplugin;locales
- implemented Memcached (untested though (tough luck trying to get it to run using win))
- added config value to select caching method (default: filecache; setting debug to 1 will still disable caching)
- implemented url-param 'refresh' to clear cache for this page
- allow 0 (mis Spells) as valid pageParam
- set lcoale before creating featuredBox on homepage (fixes links)
- set iconStrings in DB to lowercase for Linux compatibility (thx @zackbcom)
* use (locales_)achievement_reward to display rewards
* implemented display of reward mails
* updated mail to display sender if possible
Spell:
* fixed some issues with spell_loot
* added aura 286 (Ability Periodic Crit) to affect-checks
- added more sources for future use
- reviewed and used objects PageTemplate and Locale
- removed associated workarounds
- replaced ~12k tabs with ~48k spaces
- fixed some localization errors
- whoops, forgot to update some Util::$pageTemplate calls to $this
- unified lv handling
* data should always be in the same structure now
* use of tabs is determined by the template, unless forced)
- Currency: fixed path on detail page
- Profiler: fixed use of dataKey
- Util::alphaMapCheck() 'images/' was removed long ago..; alphaMaps are now in 'cache/'
- Item: REALLY fixed markdown in tooltips
- readded quest/quests, zones
- delayed filter-evaluation, also linked filterObj to page to be applied to cacheKey
- added check for modulo calculation with floats (fixes "0 years" - duarions)
Quests:
* added category-locales
* creating objectives shouldn't be quite as intensive anymore
readded spell/spells
- changes to Lang, since it can no longer access the template
- set required php-version to 5.5.0 (generators were added and are essential to aowow)
- display stats in footer to staff only
- some filter are still missing
- didn't bother with the mapper yet
- zoneOrSort is still inconsistent for instances
- merged all queststarter/-ender into one single table
- removed $template-parameter from addGlobalsToJscript and access it through Util
- dropped error.tpl and 404.tpl and moved the error-text to aowow_articles
- misc improvements here and there
groupable
- force profile.lastupdated to new Date; trial and aerror on
raid-progress; remove 'profile=summary' from generated pages (is generated by
jscript)
- fixed some misc errors
* GameObjects: initial implementation (some filter missing; positions not
yet availabe; some custom data to be set; required table will be added
later)
* MiscTools: fixed random page; 'implemented' missing Screenshots; fixed
access to template file
* Search: implemented check for CUSTOM_EXCLUDE_FOR_LISTVIEW if user is not
in U_GROUP_STAFF; searches should now be cachable
* NPCs: three more tabs on detailPage
* some work against Quests
* fighting the template-system :<
detail and listview for NPCs (without spawns, spells and some filters)
forcing the template to be more generic
- noticed, that the loot display is off. It happens with different modes
on a creature, that has the same loot but different chances or quantities
... analyzing
- tinkering with learned spells and added teach-tabs to item.php
- required arenaRating in item tooltips
- updated js-functions handling currencies
- updated Markup with correct links
- i probably forgot to add sql
- do not display serverside events in calendar
- include gems in item comparison .. also parse their stats in setup
- filters use conditions and are more restrictive
- changed DBSimple version so it uses mysqli (mysql is deprecated as of php 5.5)
- moved each filter class to matching type; file for baseType and BaseFilter
- baseType querys are somewhat modular, trying to avoid ridiculous joins that WILL occur sometimes (especially with items) as far as possible
- rewrote BaseType::iterate() to be a generator and yield references (requires php 5.5)
- reduced usage of bandaid BaseType::reset()
- removed Util::getIdFieldName() which was even more of a bandaid
- discovered DBSimple::selectPage() and consequently removed $matchQuery as they are now obsoloete
Util:
- added trainerTemplate lists for future use with trainers and trained spells
misc. forgotten and/or broken stuff here and there
- consequentially prepended $WH to those functions (since i do have issues with regEx, some errors may occur)
* simplified including required JS and CSS files per page
* replaced old Menu-class with (almost) current version. Since it relies heavily on jQuery it is also loaded.