* 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 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
* 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
- 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
- rewrote currencies, achievements, events, factions
- GenericPage:
* moved more checks from Util
* structured and commented GenericPage to be easier to comprehend
* added GenericPage::postCache() to modify cached data before display (e.g. update time for events)
- fixed:
* parsing events from markdown (e.g. articles)
* huge padding of minibox headings (css)
* Loot passing jsGlobals to template
* ItemList::getExtendedCost passing jsGlobals to template
* categories for factions
* conflicting GenericPage::$subject when displaying 'notFound'
* load of typos
- 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
* 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
- 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.
- fixed caching, by escaping control chars
- rough support for shortened urls .. kinda
- achievements shows icons for required items again; also can get name for quest
I'm not overly happy with passing the templateObject to each typeObject, but it works .. for now.
Effectively this should reduce db-lookups as each type should be looked up only twice at max (once for relevant data on the page and maybe again to get related jsGlobals for the template)
also removed BaseType::addRewardsToJscript() get it with BaseType::addGlobalsToJscript() and the appropriate addMask
* added ListviewHelper::getSetFields() wich is more appropriate in some cases (like reagents for spells should be shown even if they are all the same)
* load bricks as needed, removed the if-blocks (maybe add the filename to every TypeClass..?)
- removed excess escapes (htmlspecialchars really needed?)
* urlencode icons for all powered tooltips (some contain obscure symbols)
Spell:
- added relatedTabs "criteria of" and "contains" (the later should be reworked with generic loot access)
* implemented first draft of conditions in listview as extraCol; condition: {type, typeId, status}; currently only inpmplemented in the item-brick
* obligatory oneliners all over the place fixing stuff that boggles the mind
- improved handling of rewards
Spell:
- moved calcuation of effectValue to separate function, use realPointsPerLevel
- eval: applied proper format, fixed evalable string when facing multiple signs in a row
- display modelviewer for summons
Titles:
- looks like titles behave differently when using "faction" or "side"
Achievement:
- implemented rewards (which i have forgotten for almost 2 years)
* reworked pet-setup
* typos and forgotten changes, that broke code here and there
- preparing tooltips (locks to Util & localization)
quests & npcs:
- implemented tooltips
spells:
- fixed tooltip-header
- stat gain inclued periodic healing auras (item: 17743 for example) and spellHeal no longer applies spellPower
achievements:
- path is less prone to errors
events:
- disabled tab as it was causing js-errors
obligatory cleaning up everywhere
- added some more lasses for (for now) static use
Achievements:
- moved setup to separate file (not included yet (and shouldn't have been))
- unified use of the infobox.tpl
Items:
- Tooltip-layout changes, when used as standalone or incorporated in other tooltips. This can now be considered.
Util:
- added utf8-safe Util::ucFirst()
- added Lang::getRequiredItems() for use with spell - equippedItem[Sub]Class
Templates:
- minor wording fix (link -> links)
Markup:
- [class=X], [race=X], [money=X] added (i really shouldn't have done this)
- [color=X] now also accepts r1 - r4 as parameter
obligatory minor stuff here and there
- dropped property "names" and changed getField to return localized Fields if specified. Dropped stupid getNameFieldName() in the process as it was now obsolete.
- made property "matches" private. Access through getMatches() that will execute the query _only_ when needed (which is basically always anyway (so much for optimization))
SpellList: parsing
- ""fixed"" behavior of the amount-switch $l when used on russian text. It has 3 options instead of 2, no idea what the last one is for though
- fixed extra leading whitespace occuring when parsing formulas
Lang:
- removed offset from getMagicShools(), apparently it is unneeded :o
Util:
- changed the output of formatTime() in the long version to be more correct in layout
- initialized values in parseTime() to prevent empty strings returned by formatTime()
- added asBin() and asHex() - helper to improve display of bitmasks (Spells are coming!)
- update Spell-Effects/Auras and added misc strings to display different MiscValue-content
Filter:
- removed escapes from $_POST-handler. If the input is erronous it should be corrected/ignored/noted by the $_GET-handler
Smarty:
- added optinal parameter to saveCache(), loadCache() to better handle filter variables
Search:
- changed $maxResults to 10 for OpenSearches in an effort to lower execution time and appied limits to all queries
- changed result calculation for OpenSearch. It should now stick to it's limit of 10 results for the list
- simplified WorldEvent search
global.js:
- backported function to parse title-tag of dfn-elements into mouseover-tooltips
- shortened document.getElementByTagName(x) calls to gE(document, x)
- make offset optional, when converting list to mask
Items:
- fixed display of inventory type for robes and ranged weapons
Spells:
- parsing: $charLevel and $interactive are now properties of spell.
- parsing: fixed durations, passing the time-unit seperately to allow for evaluation of the actual value
- parsing: fixed gender-specific formating [ >male/female< to <male/female>]
- parsing: usage of is_numeric() instead of (float) as 0 is a fucking valid numeric (caused some formulas to not be evaluated *grrr*)
- parsing: lastValue-references now skip to the next previous \d instead of being stopped by random \w (like time units)
- implemented forgotten display of runes for spellCost
- fixed castTimes for most hunter shots (they are -1000 for some reason)
- fixed display of required stances (sometimes they are not actually required but show, when you are _allowed_ to use a spell in certain forms)
- improved formating of tooltips-js (no visual change)
ListViews:
- pass '_truncated' separately. there are nough cases in which 'note' gets send without truncated results
misc changes here and there
spell:
- removed weired break from tooltips
- fixed time units being omitted by intval and subsequent cast to int
achievement:
- casting id to int to avoid string-comparison in mysql (sped up load a lot)
localization:
- fixed malformed file
infobox:
- show video-options only when logged in
filter:
- allow underscores in search (icon search)
search:
- really fixed prepended quality for items
simple listview-pages now use one shared template (instead of having the same file multiple times)
some bug fixing here and there
- achievement: faction is no longer out of range (need to reparse the faction :/)
- item: quality is prepended to the name again and wont be left out in case of heirlooms (is 0)
- general: forgot to change some error()-calls in index
- and some more wich i forgot..