myaac/TODO

78 lines
3.2 KiB
Plaintext

// MyAAC TODO
0.*
* support duplicated vocation names with different ids
* sandbox for plugins, don't install when requirements are not passed
* add changelog management interface
* plugins require:
* php extension
* database table or column
* kathrine tickets - show/hide
* cache:
* hooks
* Menus in templates
* move highscores to twig
* migrations: option to downgrade the database
* create account: create character
* add robots.txt file
1.0
* mobile version
* switch do desktop/mobile version link
* inside templates/mobile
* using Mobile_Detect.php library
* i18n support (issue #1 on github)
* New Admin Panel layout and interface
* most preferably: https://adminlte.io/
* move all pages administration to this panel (like faq, forum, newses)
* save plugin configuration in database
* table name: myaac_config_plugins, columns: plugin, name, type, default, required, extra (json data, like options for select)
* plugin auto-update and check-version
* needs support from my-aac.org (plugins database)
* remove tibiacom template, and include it as a plugin
2.0
* minimum PHP 7.0.0 required - use PHP 7 features
* remove cache engines that are not supported by this version of PHP
* use Composer for additional libraries
* Twig 2.x
* PHPMailer 6.x
* remove signatures, creature images (make a separate plugins for them) - this way we save 2.5mb of space
* remove gesior backward support
* remove compat functions
* remove $template['link_*']
* folder restructure:
* var/ (variable data - for logs, cache and data)
* config/
* bin/
* public/ (for index.php, images and other public content)
* js/, css/
* images/
* storage/ (all dynamic content like guild images)
* system/ (for php files, twig templates, locales and other classess)
* rename templates to layouts as templates is meant to be used for twig templates
* change gifts_system to shop_system configurable
* move most used options in system/templates dir to separate directories (more transparent)
* move database fields to separate tables without modifing the OTServ schema (myaac_accounts, myaac_players)
* fundamental changes in Twig:
* add option to write layouts in Twig
* change twig global config variable to config('name') function
* this fixes when config gets updated at run-time
* change constants: BASE_URL to base_url(), USE_ACCOUNT_NAME to config
* make use of Model/View/Controller (MVC) approach
* use some modern and fast Routing library
* most preferably this one (inspired by Laravel) - https://github.com/skipperbent/simple-php-router
* configurable session handler: file, database, php
x.x - At any time between (version not specified)
* better news archive with search function (like on tibia.com)
* guild wars management (issue #13 on github)
* update account.management page to be more realistic (like on tibia.com)
* update guilds page to be more realistic (like on tibia.com)
* possibility to add extra cache engines with plugins
* new cache engine - plain php, is good with pure php 7.0+ and opcache
* preferably configurable (enable/disable) forum TinyMCE editor
* OTAdmin support in Admin Panel
* database towns table support for TFS 1.3
* two factor authentication for TFS 1.x
* support for .yml plugin file specification