Commit graph

53 commits

Author SHA1 Message Date
Sarjuuk
398bb3fd40 properly localize "not found"-pages 2015-05-31 21:05:56 +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
6d488e5831 fixes:
- partially revert e2a0558a0a
   TC-tables are still used and thus the localization
 - an error when parsing enchantments based on nonexistant spells
 - accessing an unused variable in item detail page
 - setup/dbconfig: expect character-DBs to be unset
 - improved handling of POST/GET-variables in AjaxHandler (less prone to errors)
2015-05-19 00:11:57 +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
0806e616ae - updated Loot-class to work with TrinityCore:master/55b43c67519359f0e5a96004c393898b3c62add3
- fixed some awkward names for skinning-tabs on npc.php
- only send calendar if we have events to display on event.php
- do not display conditions column if there are no conditions on item.php
2014-09-28 13:38:03 +02:00
Sarjuuk
ad3f826906 - check for url-param 'locale' and handle as temporary choice
- 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)
2014-09-23 19:32:57 +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
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
78422b9130 fixed problems with case-sensitivety on different systems
- table-names are now lowercase
- includes from spl_autolaod_regsiter() are now lowercase
2014-08-01 22:43:56 +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
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
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
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
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
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
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
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
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
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
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
99642e4ea4 - detail page for currencies
- moved additional code from item.php to Util::getLootSource() as it will be
  reused for currency.php
2014-01-25 19:23:50 +01:00
Sarjuuk
e7429d53d7 expanded reagents for spells 2013-12-15 21:09:22 +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
07ee8213da - implemented use of itemExtendedCost and fueled some more item-tabs with it
- tinkering with learned spells and added teach-tabs to item.php
- required arenaRating in item tooltips
- updated js-functions handling currencies
- updated Markup with correct links
- i probably forgot to add sql
2013-12-08 17:57:02 +01:00
Sarjuuk
6c7006eeb2 * questrelated tabs for items
* display required quest for loot with questchance
* implemented genericmodel-Tab for item- and object-models
* tabs2spaces in gloabl.js (why were they still there in the first place?)
2013-12-03 21:56:17 +01:00
Sarjuuk
2830fe97fc error-announces
rough draft for gameobjects (searchable, tooltips)
more tabs for item.php
2013-11-29 10:52:19 +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
Sarjuuk
360f2e6878 - work agains items + some random fixes .. use own item-table
- 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
2013-09-22 18:20:47 +02:00
Sarjuuk
684b2f2778 - Tooltip class from global.js to basic.js (added nessecary prefix)
- miscTools:
    * implemented random DB-Page
    * others are placeholder (at least no errors are generated)
- Articles / Infobox:
    * dropped aowow_article_items, parse nessecary globals directly from article or infobox
    * articles default back to english if no target articles is absent
    * quickinfo from db is only used if no auto-generated info is available
- CharClass:
    * implemented detail-page
    * added basic articles per class (english only)
- generic lv-page
    * now accepts multiple listviews (as required by miscTools)
    * can display text and title
- Markup.js:
    * exchanged to current version (yet to be looked over, but basic articles are displayed properly for now)
    * removed some hacks that were nessecary for the old Markup / Menu
- Listview
    * made some more code readeable, no major changes
    * calendar-template is now functional (WorldEvents use it)

...squashing bugs left and right
2013-09-01 15:37:40 +02:00
Sarjuuk
d45b972d14 * moved tabs-block in template to separate brick-file
*yay* generification!
2013-08-25 10:02:09 +02:00
Sarjuuk
e834f1aee3 * moved duplicate utility/dom-functions from global.js to basic.js
- 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.
2013-08-03 21:09:23 +02:00
Sarjuuk
49800da2c8 Moved most code related to jsGlobals to template. (Except for Globals, that belong to the object already created, it makes zero sense to look them up again from the template.)
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..?)
2013-07-11 21:47:00 +02:00
Sarjuuk
a8804f6440 Achievements:
- 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
2013-07-07 23:25:15 +02:00
Sarjuuk
08f4d84b6d objects:
- 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
2013-06-19 21:41:15 +02:00
Sarjuuk
732226b44a BaseType:
- 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)
2013-04-26 17:02:35 +02:00
Sarjuuk
d848faa1fa any 'Id' => 'id' as i'm mighty tired of the conflicts between js (lower) and php (ucFirst)
added achievemnts-page to enable display of tooltips
2013-03-05 23:21:25 +01:00
Sarjuuk
9019c3b811 Types
dropped single-item classes for all types, because it doesn't make much difference to use a list with a single item instead, especially if it's preselected. Additionally it is now easier to chain certain queries together and execute them all at once. additionally, additionally certain data can now be cahced and shared between types of the same .. type, that were previously in different instances alltogether.

And you may now specify a limit to sql-queries (while setting up a typeList), it will default to the config-limit if no value is given.
2013-03-05 22:07:12 +01:00
Sarjuuk
3f69a9ab49 - added announcements to titles and error-page
- file inclusion:
    - now only require without brackets
    - classes for ListTypes are auto-loaded
- (minor) empty array to new syntax (php5+)
2013-03-04 22:57:51 +01:00
Sarjuuk
8dc836f91d batch changes
- TYPEID_* => TYPE_
- AddSelfToJScript => AddGolbalsToJScript
- require, require_once, include with or without brackets => require <file>;
2013-01-25 18:02:05 +01:00