Slawomir Boczek a72d1a3c9f
Feature: settings (#216)
* New admin panel Pages: Options + Config [WIP]

* Forgot the plugin example of options

* Rename to settings.php

* Add Settings Class

* New myaac_settings table

* Add $limit parameter to $db->select method

* Add $member var annotation

* Remove useless title_separator from config

* Move $menus to menus.php

Also fix active link when menu item has subpage

* Settings [WIP]

New Settings class
New Plugins::load() method
Move config.php to settings.php
MyAAC Settings will have plugin_name = 'core'
Add compat_config.php

* Change options.php to settings.php

* Change name to settings

* Add Settings menu

* Add Sections + Add setting($key) function

Reorganisation

* Add email + password fields as type

* Update 33.php

* add settings migration

* php 8 compatibility

* add missing hook

* Add categories in tabs, move more settings, revert back getPluginSettings

Categories and sections are now not numbered
Remove example settings plugin

* fix typo

* Update .gitignore

* Add 36th migration for settings table

* Execute migrations just after db connect

* Update plugins.php

* [WIP] Some work on settings

Add hidden settings
New method: parse, to parse settings from array
Move base html to twig template
Remove vocation loading from .xml, instead use predefined voc names

* Rename

* Fix path

* [WIP] More work on settings

Move more config to settings (mainly mail_* + some other)
Remove mail_admin, wasnt used anywhere
Add return type to some functions
Add Twig settings(key) function
Possibility to save setting to db

* Add min, max, step to number field option

* Re-enable plugin if disabled and already installed

* Add Settings menu, including all plugins with settings

One change included in previous commit, due to missclick

* Nothing important

* Better boolean detection

* More detailed error message in settings

* Lets call it settings.name instead

* Add new function: only_if, to hide fields when they are not enabled [WIP]

Not fully finished yet

* guild_management: show_if

* Hide section title on show_if

* Fix: check on page load if radio button is checked

* Add: show_if - account_mail_verify

* nothing important

* Rename team_* variables + add to deprecated

* Change variable name

* Extract Settings:save function

* Add settings.callbacks.get

* Move forum config to settings

* Move status config to settings

* Remove whitespaces

* More config to settings: account_types, genders, highscores, admin

* Move signature config to settings

* Move news config to settings

* Rename variable

* Save config.php in Settings

Egg and hen problem solved :)
* Test database connection on save settings -> prevents from making website unusable if connection is wrong
* Test server_path -> same
There is no config.php anymore, just config.local.php, which can be edited manually and also from admin panel

* Remove configs from previous commit

* Fix create account, if account_create_character_create is enabled

* Add more deprecated configs

* Add more info into comment

* Update 5-database.php

* Fix menu highlighting & opening

* Update template.php

* Enable script option

* Reword email settings + move two new settings

* add last_kills_limit + move shop

* google_analytics_id

* add mail_lost_account_interval

* Create character blocked words (by @gpedro), just moved to settings

* Fix google_analytics

* create character name config moved to settings

* Fix for install warning - min/max length

* New create character checks configurable: block monsters & spells names

* fixes

* Improve character npc name check

* New setting: donate_column + move donate config to settings

* Add super fancy No Refresh saving with a toast

* Add new possibility: to deny saving setting if condition is not met

* Move database settings to separate category

* Fix default value displaying

* Add database_hash setting

* add last_kills_limit to compat config

* Move create character blocked names down

* Every setting needs to have default

* Move rest of config to settings

Remove config.php completely
Add new settings category: Game
Fix account_login_by_email
Min textarea size = 2 + adjusted automatically
2023-08-05 21:00:45 +02:00
2023-06-30 17:35:39 +02:00
2023-08-05 21:00:45 +02:00
2023-05-26 16:15:39 +02:00
2023-08-05 21:00:45 +02:00
2023-08-05 21:00:45 +02:00
2023-08-05 21:00:45 +02:00
2023-08-05 21:00:45 +02:00
2023-08-05 21:00:45 +02:00
2018-01-06 19:13:11 +01:00
2023-08-05 11:57:27 +02:00
2023-06-03 09:04:30 +02:00
2023-06-02 06:37:25 +02:00
2023-08-05 21:00:45 +02:00
2021-10-23 14:25:46 +02:00
2023-05-29 10:09:21 +02:00
2023-08-05 21:00:45 +02:00
2017-05-01 20:05:36 +02:00
2023-08-05 21:00:45 +02:00
2023-06-25 08:54:36 +02:00
2023-02-16 10:06:08 +01:00
2023-06-03 06:47:16 +02:00
2018-02-05 21:30:49 +01:00

MyAAC

Build Status Master License: GPL-3.0 Downloads Count PHP Versions OpenTibia Discord Closed Issues

MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP. It is a fork of the Gesior project. It supports only MySQL databases.

Official website: https://my-aac.org

Requirements

- PHP 5.6 or later
- MySQL database
- PDO PHP Extension
- XML PHP Extension
- ZIP PHP Extension
- (optional) mod_rewrite to use friendly_urls

Installation

Just decompress and untar the source (which you should have done by now,
if you're reading this), into your webserver's document root.

MyAAC needs proper permissions to handle files correctly.
If you're using apache2, then your directory needs to have owner set to: www-data, you can do it by using following command:
	chown -R www-data.www-data /var/www/*
		(or any other path your MyAAC installation is located at..)

  Note: Linux only
	If you're under linux use these commands to set proper permissions:
		chmod 660 config.local.php
		chmod 660 images/guilds
		chmod 660 images/houses
		chmod 660 images/gallery
		chmod -R 760 system/cache

Visit http://your_domain/install (http://localhost/install) and follow instructions in the browser.

Configuration

Check config.php to get more informations. Use config.local.php for your local configuration changes.

Branches

This repository follows the Git Flow Workflow. Cheatsheet: Git-Flow-Cheetsheet

That means, we use:

  • master branch, for current stable release
  • develop branch, for development version (next release)
  • feature branches, for features etc.

Known Problems

  • Some compatibility issues with some exotical distibutions.

Contributing

Contributions are more than welcome.

Pull requests should be made to the develop branch as that is the working branch, master is for release code.

Bug fixes to current release should be done to master branch.

Look: Contributing in our wiki.

Other Notes

If you have a great idea or want contribute to the project - visit our website at https://www.my-aac.org

License

This program and all associated files are released under the GNU Public License.
See LICENSE for details.

Languages
PHP 69.5%
Twig 14.3%
JavaScript 11.2%
CSS 4.8%