removing smarty - part I
- converting syntax for bricks
removing smarty - part II
- adapting classes to change
- adding new class GenericPage
removing smarty - part III
- convert first pages to extend GenericPage (Race/s; Class/es; Main)
- added new stack-rule from TC to spells
removing smarty - part IV
- readding TalentCalc, PetCalc, CompareTool, Maps, More-Pages
removing smarty - part V
- added ObjectPage and ObjectsPage
- moved loot-related functions from Util to own class
- moved template-related functions from Util to GenericPage
- removed redundancies from user class
- enabled cache (may need some tweaking but it finally works as it should)
- some bugfixes
removing smarty - part VI
- 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
removing smarty - part VII
- 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
removing smarty - part VIII
- rewrote Title/Titles, Pet/Pets
- added CUSTOM_EXCLUDE_FOR_LISTVIEW to infobox for staff
removing smarty - part IX
- readded search
- moved custom displayers (tooltip, xml) to subclasses
- added more info to footer
cache two versions of page
- regular for normal users
- extended info for employees
search: format opensearch with json_encode instead of string concatenation
removing smarty - part X
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
removing smarty - part XI
- readded npc/npcs, itemset/itemsets, skill/skills
- reduced size of conditions-column
removing smarty - part XII
- 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
removing smarty - part XIII (almost there)
- reimplemented Utilities-Page and Account-Page
- moved account-ajax to ajaxHandler
- AjaxHandler::handle() can no longer call itself, if the parameter is empty
- cache is now compressed (has a negligible delay)
- revisited User-Class / Accounts:
 * implemented mail-confirmation (be sure to configure your server appropriately)
 * implemented recovery of password or username
 * there are now 3 options to auth against: 1) aowow-DB (default); 2)
   wow-auth-DB; 3) user-defined script (SOAP or similar exotic methods)
 * dropped the aowow-cookie, it relies on php-sessions now
 * reworked how bans are handled (can now also ban from upload, rate, comment)
- fixed enhancements on itemTooltips

account related localization for FR, ES and RU is lacking (help is appreciated)
_account and _account_banned have changed and are incompatible with the prvious version
removing smarty - part XIV (only one more..)
- 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
removing smarty - part XV (aaaand done!)
- 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
Merge branch 'smarty'

Summary:
- dropped smarty, moved scattered template-functions to a separate class GenericPage
- moved loot handler to a separate class Loot
- moved more ajax to Ajaxhandler
- rewrote user class and with it session handling
- added some account-related features (e.g.: recovery; mail confirmation)
- reworked loops containing db-lookups to gather data first, then execute once. Dependig on the page this reduced load by several seconds (e.g.: Items; Quest; enchantment-related)

tl;dr: caching pages now works as intended
misc
- Currency: fixed title (copy n paste from gameObject)
- Spell: fixed display off effectValue, when spell creates items
- compare: changed page to non-caching (fixed display)