Commit Graph

32 Commits

Author SHA1 Message Date
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
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
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
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
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
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
caa7a7e39f 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
2014-06-22 19:56:42 +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
a7a0c5a946 events:
- added relTabs to detail page

achievements:
 - implemented event-filter
 - filter will now always apply

 - years are now one day shorter (and time formating will no longer bug out)
2014-04-05 23:21:46 +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
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
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
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
73cdce784e BaseTypes:
- rewrote BaseType::iterate() to be a generator and yield references (requires php 5.5)
- reduced usage of bandaid BaseType::reset()
- removed Util::getIdFieldName() which was even more of a bandaid
- discovered DBSimple::selectPage() and consequently removed $matchQuery as they are now obsoloete

Util:
- added trainerTemplate lists for future use with trainers and trained spells

misc. forgotten and/or broken stuff here and there
2013-08-20 20:45:24 +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
a3f16f0e0d implemented detail-page for pets
- plus food and talents, minus zones (those are just madning)
 - also addes some bc/classic information on pet scaling

* mucked about the modelviewer, always uses high quality version .. should muck about some more to add animation-info and remove the java-option
* fixed some minor issues in spell maxaffectedtaregs in spell is displayed properly and erronous adding all classes/races to globals if none where selected
* created own table for creatures which unifies creature_template, locales_creature, creature_template_addon and some creatureDisplayInfo.dbc information
* more work against listviews and general structure in global.js .. should probably split this file by class and reassemble it for use
2013-07-02 23:02:04 +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
3bb5b83baf got rid of default-tab in listviews 2013-05-21 23:01:38 +02:00
Sarjuuk
cbd27c67b3 Types:
- added some more lasses for (for now) static use

Achievements:
 - moved setup to separate file (not included yet (and shouldn't have been))
 - unified use of the infobox.tpl

Items:
 - Tooltip-layout changes, when used as standalone or incorporated in other tooltips. This can now be considered.

Util:
 - added utf8-safe Util::ucFirst()
 - added Lang::getRequiredItems() for use with spell - equippedItem[Sub]Class

Templates:
 - minor wording fix (link -> links)

Markup:
 - [class=X], [race=X], [money=X] added (i really shouldn't have done this)
 - [color=X] now also accepts r1 - r4 as parameter

obligatory minor stuff here and there
2013-05-13 00:24:30 +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
1142220674 Filters:
- make offset optional, when converting list to mask

Items:
- fixed display of inventory type for robes and ranged weapons

Spells:
- parsing: $charLevel and $interactive are now properties of spell.
- parsing: fixed durations, passing the time-unit seperately to allow for evaluation of the actual value
- parsing: fixed gender-specific formating [ >male/female< to <male/female>]
- parsing: usage of is_numeric() instead of (float) as 0 is a fucking valid numeric (caused some formulas to not be evaluated *grrr*)
- parsing: lastValue-references now skip to the next previous \d instead of being stopped by random \w (like time units)
- implemented forgotten display of runes for spellCost
- fixed castTimes for most hunter shots (they are -1000 for some reason)
- fixed display of required stances (sometimes they are not actually required but show, when you are _allowed_ to use a spell in certain forms)
- improved formating of tooltips-js (no visual change)

ListViews:
- pass '_truncated' separately. there are nough cases in which 'note' gets send without truncated results

misc changes here and there
2013-04-20 16:16:29 +02:00
Sarjuuk
f8b8ee218c moved check for valid url-params to Util (will be reused in spells, ect) 2013-04-20 15:48:35 +02:00
Sarjuuk
b6c0fa1b89 * improved conditions for BaseType to accept conditions in addition to explicit field names
this allows for better flag matching i.e. [(flags & 0x4) = 0]
  furthermore it is now possible to group conditions to a subset with a different link

* hasDiffCategories() -> hasDiffFields(array $fields)
  now returns a bitmask of the array keys what field does diff
2013-04-20 15:33:05 +02:00
Sarjuuk
6c25f69c16 implemented pages:
- Achievement / Achievements (filtrable)
 - Classes
 - Currencies
 - Itemsets (filtrable)
 - Races
 - Title / Titles
 - Events
2013-03-23 16:03:12 +01:00