Commit Graph

54 Commits

Author SHA1 Message Date
Sarjuuk
3a6c86092b Core/Compat
* create namespace Aowow to avoid naming conflicts
 * inclues/libs/ is outside of the Aowow namespace
2025-04-01 22:32:37 +02:00
Sarjuuk
b11c1125f6 Filters/Wildcards
* 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)
2024-08-22 16:15:07 +02:00
Sarjuuk
481a3dc63f MySQL/Compat
* 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)
2024-07-31 02:38:19 +02:00
Sarjuuk
f77d676a19 Core/Config
* 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
2024-05-30 20:50:44 +02:00
Sarjuuk
6b25288e2b Spells/Reagents
* always check all reagent fields, they are not set first to last
2024-05-05 14:31:15 +02:00
Sarjuuk
ec1a2afc5f PHP/Compat
* 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
2024-03-11 23:20:17 +01:00
Sarjuuk
dd9eaf49ff Page/Listview
* refer to Listview template by default name if able
2024-02-25 21:34:03 +01:00
Sarjuuk
fc7a526a67 Items/ListPage
* fixed displaying icon for currencies in vendor related columns
2023-06-08 14:16:29 +02:00
Sarjuuk
9f1cbc0233 HTML/Scripts
* 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
2023-04-13 17:30:23 +02:00
Sarjuuk
b06d1a5c2c Pages/Caching (#380)
* move localized option sorting to postCache() to prevent real order display in cached versions
2023-04-13 17:26:27 +02:00
Sarjuuk
33a870ef78 Structure/Types
* move distributed constant values to object
 * move reused iterators and checks to object
2022-03-22 15:05:50 +01:00
Sarjuuk
3cb02f2204 JS/CSS
* unify handling
2022-03-22 14:45:55 +01:00
Sarjuuk
4972cc0faf POST/GET
* unify accessing &_GET and &_POST data
2022-03-17 13:47:48 +01:00
Sarjuuk
6cabfd3864 Misc/Cleanup
* 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
2020-05-24 15:04:42 +02:00
Sarjuuk
bf42973c00 Profiler
* 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
2018-03-29 12:47:27 +02:00
Sarjuuk
d19a920c09 Filters/Items
* fixed forgotten rename, breaking page with certain tabs
 * fixed typo, breaking stat weights
2017-04-24 17:06:08 +02:00
Sarjuuk
959d0ace0b ListPages/Filter
* vastly improved input validation
 * content and type validation occurs when filter is created
 * contextual filters like itemTypes are now only applied in context
2017-04-23 20:20:34 +02:00
Sarjuuk
8b9b653028 Disables
* 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
2017-03-20 18:00:12 +01:00
Sarjuuk
2ec5fda3e7 Items/Menu
* fixed preselection of menu items on Items List Page
 * fixed display and preselection of 'Type' option list
2017-03-16 15:13:25 +01:00
Sarjuuk
a31e018959 Types/Items
* prevent a possible recursion occuring when preparing ItemSources
2017-02-11 19:54:32 +01:00
Sarjuuk
08717c36d0 Templates/Listviews
* 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
2016-02-11 22:14:42 +01:00
Sarjuuk
ed67493bb8 Items/Filter
fixed error, when appending empty upg= to query
NPC/Text
  handled rare case of uppercase string-placeholders
2015-07-05 19:15:36 +02:00
Sarjuuk
1557cd7ed5 Items: removed an unnessecary check. (prevented filtering of virtual itemSubClasses) 2015-06-17 16:14:33 +02:00
Sarjuuk
3eecc3ec7c Items:
* 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
2015-05-31 18:28:23 +02:00
Sarjuuk
51f2828f6f - moved shared setup functions from FileGen to new CLISetup
- 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
2015-05-11 22:44:54 +02:00
Sarjuuk
27bc09f136 bulk replacement: accesing locale strings by function 2015-03-29 14:49:15 +02:00
Sarjuuk
c7fe84b7e0 - Error handling:
* 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
2015-03-28 23:10:20 +01:00
Sarjuuk
9b0c4c69f8 - wrap json_encode in Util::toJson to always encode with the same flags
- 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
2015-01-18 18:10:01 +01:00
Sarjuuk
813b3600ce - sessions should now be persistent across restarts for some browsers (namely IE)
- show tab: unknown source last in items list page
- fixed displaying related event on creature detail page
- parse aura:190 on spell detail page
2014-09-20 14:36:57 +02:00
Sarjuuk
49ecdb9a31 - flagged more db-entries with CUSTOM_EXCLUDE_FOR_LISTVIEW
- check for this flag on list-pages (search already had this)
2014-09-19 19:49:28 +02:00
Sarjuuk
70f703b4b2 Cache:
- 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
2014-09-11 00:06:08 +02:00
Sarjuuk
13e45827e4 - move sources from individual tables to a single table with searchable format
- 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
2014-09-05 22:18:32 +02:00
Sarjuuk
cdfde74eb9 Items:
* 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
2014-08-17 21:27:12 +02:00
Sarjuuk
6acee41e3d Javascript:
- 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
2014-07-24 17:52:46 +02:00
Sarjuuk
0e98270827 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
2014-07-19 12:30:47 +02:00
Sarjuuk
0af712a8ff 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
2014-07-17 16:48:05 +02:00
Sarjuuk
727d450923 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
2014-07-06 16:19:43 +02:00
Sarjuuk
663597a7a0 removing smarty - part IX
- readded search
- moved custom displayers (tooltip, xml) to subclasses
- added more info to footer
2014-06-29 19:10:08 +02:00
Sarjuuk
f6b68a4092 removing smarty - part VIII
- rewrote Title/Titles, Pet/Pets
- added CUSTOM_EXCLUDE_FOR_LISTVIEW to infobox for staff
2014-06-28 15:49:51 +02:00
Sarjuuk
4919e1ef57 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
2014-06-28 14:29:39 +02:00
Sarjuuk
48cec63e1d - BaseType: skip empty arrays in condition
- 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
2014-04-20 11:59:47 +02:00
Sarjuuk
d34838ea2c static/ -> STATIC_URL
Spells: rephrased condition for relTab: Quests
Announcements: ..can now have a userGroup set to show to
2014-04-15 23:58:36 +02:00
Sarjuuk
0e351b215b Items
- restored upgrade-search and implemented search for multiple items
 - restored custom weightscale handling
2014-04-06 17:29:33 +02:00
Sarjuuk
41180e514c work against profiler
- 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
2014-03-28 10:37:19 +01:00
Sarjuuk
f236d7ae93 implemented grouping by itemlevel and slot for items
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
2014-03-20 17:12:15 +01:00
Sarjuuk
1ced59c113 - decoupled filter from type-classes, this is required for items.php to be
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
2014-03-19 23:13:55 +01:00
Sarjuuk
3718ca6b86 moved config to databse (except databse credentials of course)
added overlooked changes to template or typos
2014-03-19 00:15:58 +01:00
Sarjuuk
fec0daac9a moving template around
(is now a lot closer to the original, shouldn't require updating new
scripts as the structure should fit)
also some minor bugfixes
2014-03-16 01:29:29 +01:00
Sarjuuk
c865a3a9a4 Profiler - draft
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ú]]]
]
2014-03-14 17:34:12 +01:00
Sarjuuk
819a46ae15 detail page for events (with not much in it)
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
2014-02-08 12:22:08 +01:00