Commit Graph

42 Commits

Author SHA1 Message Date
Sarjuuk
db1d3ccace Core/Cleanup
* try to give included files a logical structure
 * move objects from Util and Game to their own files
 * make non-essential files auto-loaded
2025-04-01 22:33:36 +02:00
Sarjuuk
99fdad29dd AjaxHandler
* 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)
2015-11-08 23:14:17 +01:00
Sarjuuk
d7c6092d5f Strings/Encoding
* replaced some more uses of string functions with multibyte equivalents where it might matter
   note: i didn't touch the spell-tooltip parser as it seems to work as intended regardless
2015-09-19 16:11:10 +02:00
Sarjuuk
8394a3863f Misc
* added column bitIdx to ?_titles
 * actually don't use COLLATE as it ignores indizes. Just search with lowerCase and properCase simultaneously
2015-08-15 00:09:48 +02:00
Sarjuuk
11584a68d6 Profiler preparations
* Setup
   - accessing realm info by way of Util function
   - added table ?_talents
 * Lists
   - added support for querying multiple databases with the same structure at once (read: realms)
   - added support for exact string matches and forcing collate of fields to ci
 * JS
   - renamed occurences of 'subregion' to 'battlegroup' to be in line with other scripts (the usage is the same)
2015-08-11 15:03:42 +02:00
Sarjuuk
3c69284e15 Misc
* fixed some recuring errors from db-log (mostly missing checks)
2015-08-08 00:47:52 +02:00
Sarjuuk
b1a6911ede Optimization
* minor improvements to the use of Util::checkNumeric
 * gargantuan improvements to ItemList handling random enchantments (sec -> ms)
2015-08-04 11:45:10 +02:00
Sarjuuk
5239cbd293 NPCs / Quests
display reputattion change in list when using corresponding filters
2015-07-20 17:01:39 +02:00
Sarjuuk
f6d80cf473 Spawns
* display phaseMask as hexadecimal
  * hide phasemasks, containing every single phase (0xFFFF)
2015-07-09 23:29:20 +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
edfb0be602 NPCs:
* added spawns for vehicle accessories
 * display if npc is an accessory or has acceories
Home:
 * searching from home no longer adds index.php to the url

thought of the day: what do i do with spawns on transport-maps?
2014-11-09 16:18:03 +01:00
Sarjuuk
43fe5e4b4d - implemented display of spawns and waypoints for gameobjects and creatures
!IMPORTANT!
  Due to the inability to determine what layer covers what height-level
  in multilayer-zones, spawns and waypoints WILL have duplicates and must
  be removed manually from ?_spawns and ?_waypoints respectively, if
  nessecary. Besides, the other points may also need manual love.
- NPC:
  * removed a redundant cuFlags for Bosses
  * set NPC_CU_INSTANCE_BOSS with data from world.instance_encounters
  * removed misc. factions from tooltip
  * fixed malformed condition for creature-loot
  * location is displayed in Listviews (also for GOs)
  * enabled filters foundIn and relatedEvent (also for GOs)
  * do not display empty quotes
- Zone:
  * initial implementation of detail page
- Misc:
  * fixed notices being displayed without restrictions
  * added RewriteBase hint to .htaccess (lost several hours to this one)
  * removed lost isles from dataset 'zones'
  * updated sql-archives and removed old sql updates, db_setup_2.zip
    will need to be reapplied
2014-10-10 21:12:30 +02:00
Sarjuuk
35ba86d191 trying to suppress zealous caching implemented by IE11 and FF32
if left unchecked it breaks features that rely on location-headers
like changing the locale or logging out.
2014-09-17 20:17:53 +02:00
Sarjuuk
28d5e38408 - added not-equal-operator (!=) to numeric fields in filters
- fixed styles for embedded talent calculator
2014-09-17 19:45:42 +02:00
Sarjuuk
feaee59cd0 - converted articles for MorePages to use STATIC_URL (also neutralized some self-references)
- added config-option to restrict available locales
- fixed opensearch suggestions by generating strict json
- include TalentCalc.css as lowerCase (fixes display under *nix)
- some minor formating
- Setup:
 * added some additional files to be generated (they required STATIC_URL or HOST_URL to be set)
 * moved class Locale from global.js to own template and generate it with CFG_LOCALES
 * changed urlParam (?build=script): may be empty (builds everything) or specific scriptNames chained together with ; (?build=script1;script2)

you are required to run the following command to regenerate files affected by these cahnges
?build=demo;power;realmMenu;searchboxBody;searchboxScript;searchplugin;locales
2014-09-13 23:26:01 +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
96056161bd - removed tooltip buffer from TypeClasses (only used by setup and caused bugs with the localization to boot)
- fixed broken dataset-scripts
- removed base-info.php wich wasn't really a dataset-script
2014-09-02 23:17:36 +02:00
Sarjuuk
fa29276a91 Achievement:
* 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
2014-08-20 21:48:02 +02:00
Sarjuuk
a82aa2b6ae 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
2014-07-13 12:10:20 +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
775b12d64c cache two versions of page
- regular for normal users
- extended info for employees
search: format opensearch with json_encode instead of string concatenation
2014-07-01 20:38:46 +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
3347778e4c removing smarty - part II
- adapting classes to change
- adding new class GenericPage
2014-06-15 21:56:48 +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
0e351b215b Items
- restored upgrade-search and implemented search for multiple items
 - restored custom weightscale handling
2014-04-06 17:29:33 +02:00
Sarjuuk
7af4931b58 implemented details, lists and filters on quests
- 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
2014-04-05 22:04:27 +02:00
Sarjuuk
fe42156825 revisited sql escaping
in general, its not nessecary to manually apply escapes
- if passed as param to DB::DBType()->queryFunc() its escaped by DBsimple
- if passed as condition its escaped by BaseType
- if you do your own query use DB::DBType()->escape() on strings and intVal() respectively

- fixed use of HAVING in CreatureListFilter
- allow for exclude-only searches in Filter
- BaseType no longer adds %-wildcards to strings. Do this manually if ever nessecary.
2014-03-28 20:38:51 +01:00
Sarjuuk
05f8be3c79 item: implemented xml-feed (guess, i do see the point now)
started comparing DBSiples escapes with own
2014-03-23 13:58:43 +01:00
Sarjuuk
e8c512a5e8 search:
- search input is now handled as whitespace separated list of search terms (was direct input)
- substrings prefixed with '-' must not be matched
- substrings with a content length of less than 3 are ignored
2014-03-23 00:02:18 +01:00
Sarjuuk
93cc42407c menu more and tools
- items: allow 'upg' to be an array
- filter: fixed logic error in checks
- Markup: prevent handling of [menu], as PageTemplate is nyi
- Power: advanced features (hide reagents or sellprice; recoloring,
  renaming, iconizing of links)
- search: side-icon for titles
- smarty: added template-vars to cache (has to be fixed sooner or later)

- identify as HTML5 (fixed a strange bug with displaced list-pegs)
- removed several typos
2014-03-22 20:39:16 +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
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
0c4c7ea9ae * Factions: set titles for ListPage
* 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 :<
2014-02-19 16:39:15 +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
Sarjuuk
954352e17a - moved redButtons to separate brick-file (no more "here its translated, and not there" or mixed up button order and better management on top)
- implemented subTabs for spells (used on class-page)
- load sqlLimits from config into constants
2013-12-13 16:33:36 +01:00
Sarjuuk
5e785d6c78 omgishouldntbedoingthis 2013-11-24 23:15:15 +01:00
Sarjuuk
2d736fc785 item another one >.< 2013-10-09 21:30:28 +02:00