* fix usage of generic search wildcards: ? *
* only transform search form fields expected to be text
* some cleanup (magic numbers to define, fn return types, nullsafe assignemnts)
* 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
* display db-entries as disabled or unavailable if appropriate
* affects now achievements and quests in addition to spells
* flag items without source as unavailable
* flag quests without starter als unavailable
Privileges
* i guess i forgott to add the template...
...among other things
* 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
* display parentNpcs instead of difficultyDummys as sources in listview
* implemented filter cooldown, disenchantsinto and objectivequest
* added lvTab 'shared cooldown', prepared tabs 'taught by xxx'
* moved some items from misc to more sensible categories
- 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
- 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
- implemented 'group by source' and most source-related filters in items.php
note: some fields are not yet set and searches against those will yield no usable result
- fixed js-error; always expecting array characters in g_user
- fixed rep gain on first login, when using external auth
- fixed wrong lootIds in ?_objects, where the field size was too small
* implemented enchantment conditions for meta gems
* removed hardcoded static-domain in transfer-string
Site:
* gain rep for ACTION_REGISTER when logging in for the first time, using external auth
* language-menu uses the same dropdown-icon as other menus
Spell:
* hide procChance of 100% or more
ItemComparison:
* fixed display of drag-icon
* fixed single gems being moved to first empty socket in tooltips
squelched some notices in quest.php and item.php
- 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
- added some forgotten account-srings
- fixed an error handling ItemFilter /w upgradeItems + markdown appearing in tooltips
- relaxed session-regeneration (only regenerates on status changes (signin/-out)), fixes losing the session, when opening multiple tabs at once
- striped smarty from profiler (only cleanups remaining)
- moved profiler-ajax to AjaxHandler
- created a (dummy, for now) ProfileClass to handle Chars and Profiles
- 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
- rewrote Item/Items
- BaseType: fixed querey generation wizh null-values in extraOpts
- ItemList:
* reworked extendJsonStats() to use ?_itemstats istead of parsing on the fly
* moved onUse-components used by xml from extendJsonStats() to separate function
* the enhance-string passed with tooltips is now checked first
- Loot: class is no longer static
- Util::parseItemEnchantment() will now accept and return arrays and does only one single lookup
- cuFlags are explained in the infobox, when available
- JS:
* do NOT strip iconStrings. It rightly can contain whitespaces >.<
* removed a redundant $WH.ct in Conditions
- BaseFilter: defined selectAll / selectNone magic numbers
- Item:
* fixed formating error for required arena rating
* filters for purchasablewith -item; -currency; -honor; -arena; reqarenarating
- Zone:
* removed extra escape for globals
* token changes to ZoneList... still not really usable
- Events: prevent selecting arbitrary related events on empty list
- Factions:
* added filter-links to relTabs
* added relTab for factionspecific GameObjects
- Spell:
* parse information for aura:forceReaction
* added relTab Zones to display info from spell_area
- JS:
* added display of subzones to listview-template: zone
* reworked condition to display multiple conditions
* added race and gender conditions
typos.. they are never entirely gone
- implemented some session-token to limit access to profile data
- researched structure to send onDemand data (still some minor bugs to iron out)
- rewrote spells' access to model data and killed a redundant instance of ItemList
group by source won't require much additional work besides adding source to
items in the first place
search for multiple itemUpgrades are also yet to come
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
basic stuff is working with examplary static data
need to sit down and collect mods from talents and class-spells
<bla bla> from profession perks
loadOnDemandData not implemented as the structure needs more research
some visual bugs
remember to generate your realm-file. i used these example realms
[
["us","US & Oceanic",null,[["pure-pwnage","Pure Pwnage",null,[["trinity","Trinity"]]]]],
["eu","Europe",null,[["pure-pwnage","Pure Pwnage",null,[["dafuque","da'Fuqú]]]
]
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