Commit Graph

59 Commits

Author SHA1 Message Date
Sarjuuk
d22e90ca85 DB/Logs
* set up some query profiling
2020-05-28 18:43:24 +02: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
972a7f241e Misc/Fixes
* cast GET-params to lower case
 * fixed typo in constant name
 * fixed scope issue when aggregating sql stats
2018-12-02 19:22:21 +01:00
Sarjuuk
d9cd24026c PHP/Core
* enforced v7.1 compliance, preparations for v7.2
 * removed deprecated usage of each()
 * prefer array deconstruction via [] instead of calling list()
 * try to catch failed session_start()
 * prefer ... - Token instead of calling func_get_args() func_num_args()
 * enforce return types in AjaxHandler
 * revision push
2018-11-29 00:45:19 +01:00
Sarjuuk
484944bfc0 SmartAI
* parse and verbosely display smartAI for creatures, gameobjects and areatrigger
2018-11-18 15:31:22 +01:00
Sarjuuk
3fd25ca889 Profiler/Backend
* added core functions nessecary for profiler
2018-03-22 17:36:28 +01:00
Sarjuuk
b0a5f477c1 Profiler/CLI
* move command line related functions to its own class
2018-03-22 16:32:29 +01: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
a695a4188c Util/Game
* cleanup Util 2/2
 * move game related functions and variables to new class: Game
2017-04-19 01:47:03 +02:00
Sarjuuk
fd96f8f758 Errors / Logging
* try to log fatal errors if able
2017-03-28 18:00:08 +02:00
Sarjuuk
b6b734ff36 Fixups
* 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
2017-03-25 01:26:22 +01:00
Sarjuuk
90a31ac99f Config/Sanity
* Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
2017-03-20 23:38:00 +01: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
f33a15db4d Util/Encoding
* set multibyte-encoding globally as suggested by @Toshik
2015-09-19 15:27:20 +02:00
Sarjuuk
022ceba20d fixup to 998763b
so .. basicly everything was wrong with this one
2015-07-20 12:03:36 +02:00
Sarjuuk
998763be7b Errors/Logging
* log addNotes to DB as php user-errors
  * always skip the native php error handler
2015-07-18 16:48:00 +02:00
Sarjuuk
cea81d1810 fixup#2
* save sessions under absolute path
  * somehow forgot to add garbage collect - divisor to config
2015-07-13 00:29:27 +02:00
Sarjuuk
0cb5d6b896 CLISetup
* 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!)
2015-07-09 21:04:00 +02:00
Sarjuuk
a3c9b52073 Screenshots:
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
2015-07-01 19:44:44 +02:00
Sarjuuk
03b90c438f some minor error suppresants 2015-05-27 23:29:17 +02:00
Sarjuuk
1d6ecc86d7 fixed some issues:
- allowed colons in config strings
 - setup for tpl-files that only have const text
2015-05-18 21:19:41 +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
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
acbe969b8d Setup:
- 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
2015-01-20 23:17:37 +01:00
Sarjuuk
f413089328 Admin:
* 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
2014-11-10 18:30:31 +01: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
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
2e18bf0d3e - fixed rewriteRule if aowow is not in your root dir
- 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
2014-09-09 20:52:23 +02:00
Sarjuuk
df3eb42ec0 removed half-assed prefixing of getcwd() 2014-09-06 13:03:17 +02:00
Sarjuuk
ba49c55c6b changed dbSimple version to use e1d92f1f2f
removed unused driver-implementations
2014-09-06 11:38:30 +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
1dfc469d43 - implemented comments (in general and as preview on account page & latest comments)
- 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, ..)
2014-07-30 22:10:34 +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
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
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
23e831be25 - removed fixed fields in lv-bricks; title sources and achievement rewards thus are working again
- 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()
2014-04-13 23:39:34 +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
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
2830fe97fc error-announces
rough draft for gameobjects (searchable, tooltips)
more tabs for item.php
2013-11-29 10:52:19 +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
21f50ae2cd * tabs 2 spaces in some *.js and *.css
* 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)
2013-06-18 23:31:58 +02:00
Sarjuuk
aef069e919 - implemented tooltips for NPCs
- global STATIC_URL defined to be also usable in script
2013-06-01 16:56:05 +02:00