* 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
* vastly improved input validation
* content and type validation occurs when filter is created
* contextual filters like itemTypes are now only applied in context
* undefined variables in Markup.js
* logic error preventing screenshot uploads
* bitshift by negative value in spell
* and i'm pretty sure i already added an exception handler at one point
* separated into appropriate subclasses
* unified sanitizing of $_GET and $_POST data using build in filter_input()
* index now always tries to resolve page calls with ajaxHandler first and as a page last
minor bug-fixes to bugs that wre not reported yet, because they didn't occur yet
(e.g.: nobody tried to compose a comment with >7500 characters yet)
* added msg-level INFO
* changed some WARN-level messages to INFO
Util
* added function to handle directories aowow wants to write to / read from
SiteConfig
* group options to be less cluttered
* allow empty strings (numerical values must still at least be 0)
* renamed account related config values to be make more sense
* make cache path configurable
* make session save path configurable - use this to avoid the garbage collect cron job on Debian or Ubuntu, that cleans sessions and only depends on your php.ini (NOTE: putting this inside a web-enabled directory is a risk!)
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
- setup can now be run from CLI. Use "> php index.php --help" to start off
- updated logging for use with CLI
- added generators for client imagery (icons, maps, talents, ect)
DBC:
- parsed DBCs are now expected in the Aowow-DB, prefixed with dbc_* (they are joined with
these tables, so its easier to have them here altogether)
- setup/db_setup_3.zip may be reapplied (optionally)
- alternatively aowow will now extract you own DBCs alongside your textures.
They will be parsed and saved to DB, as needed.
Misc:
* HOST_URL and STATIC_URL will now be determined automaticly once and
* then saved to ?_config (setup by CLI requires these to be set)
Spell:
* added glyph-symbol to infobox for glyph-related spells
* added pages config and phpinfo
* config can also set php-vars (restrictions apply)
* commented menu items that will not be implemented in near future
Misc:
* deleted a greedily grabbed icon, unrealated to aowow
- spell: added effect: killCredit2 to parsed list
- fixed some mixups, when eventId was used instead of holidayId and vice versa
- avoid zero values for page Types so there are no longer empty tooltips on the language-menu
- rewrote conditions system:
* table: conditions is now in use (needs some more cases to check for)
* adapted existing 'conditions', may need some wording fixes
* can now calso reate a single listview tab for more detailed information
* this is not localized for frFR, esES or ruRU
- enabled support for non-tamplate tabs (leave 'file' empty and 'data' is used as HTML)
- use https if available, added a config value to enforce it if nessecary
- NPC:
* fixed currency icons when displaying extendedCost for vendor
* display conditions column only if we actually have conditions set
- partially implemented site reputation (required to grant privileges to comments)
- reworked 'home'-page (the news-box is now as configurable as you want)
- removed some ancient compatibility-code for IE67 (srsly, its 2014!)
- dropped associated stylesheets, reviewed the rest
- split some user-restrictions to trigger on insufficient siteRep
- added text-page: Markup-Guide
- implemented new class to handle Markup
- bugfixes [TM]
- also you will need to reapply the db-dumps (you may want do save account*, news,
reports, ..)
- 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
- 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
- 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
- moved search to /pages
- moved g_dataKey to header.tpl and apply it on nessecary pages (restores TalentCalc)
- Events: fixed relTabs with arbitrary data, when holidayId was 0
- CharClass: get heroClass-status through flags; dropped related DB-field
- Achievements: fixed some criteria not being displayed in tooltips
- Community: applied long forgotten changes to tplVars and use of uppercase ids
- Titles:
* exclude unused titles from listview
* restored 'links'-button on detail-page
- Quests:
* added 'slain' fro proxy-npcs
* use more wflags (&1 needs more research)
- Factions:
* fixed order of categories
* fixed params to QuestList for relTabs
- Profiler:
* enabled 'profiles that have this char as source' in Profiler
* removed the exampelChar from project
* further documented more expected variables; includes/excludes-handling still not entirely clear
* created datasets for reference data (create with ?build=profiler)
- Localzation:
* localized profiler for loc3
* corrected some single words
* localized custom reward rate - table in factions
- AjaxHandler:
* new handler for ajax-requests *duh*
* dropped data.php (index.php now calls to AjaxHandler for these cases)
- moved reading of static files to own function Util::loadStaticFile()
- 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
* 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
* updated Summary.js (Item Comparison)
- can now manage custom weightscales, when logged in
- can now apply weightscales to rank search results
- CAN NOT yet search for items with a certain scale alone, as i haven't figured out yet how to design the database for that
* sorted and commented basic.css
* some missing imagery
* some cleanup
(my todoStack just got less inhuman in size)