mirror of
https://github.com/slawkens/myaac.git
synced 2025-09-14 12:33:35 +02:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ca114eb564 | ||
![]() |
5ca10f5439 | ||
![]() |
75bfc2cdb0 | ||
![]() |
e542e8a7ce | ||
![]() |
fcfe5b0dbd | ||
![]() |
149e10261b | ||
![]() |
5726c9fa94 | ||
![]() |
26b2c472cc | ||
![]() |
76440a37d0 | ||
![]() |
335b7b3112 | ||
![]() |
ddc13b110e |
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## [0.8.24 - 03.06.2025]
|
||||
|
||||
### Added
|
||||
* Add code to insert guild_ranks on guild create, in case guild trigger is missing (https://github.com/slawkens/myaac/commit/149e10261befab22a38246bd792e2e4d1c42ef1e)
|
||||
* Two new hooks for pages loaded from database (custom pages): HOOK_BEFORE_PAGE_CUSTOM + HOOK_AFTER_PAGE_CUSTOM (https://github.com/slawkens/myaac/commit/e542e8a7cebad2d4bd6984c62cd6f385363ba9eb)
|
||||
* Load hooks before twig, add new hooks: HOOK_TWIG + HOOK_INIT (https://github.com/slawkens/myaac/commit/5726c9fa94e6f5a198917f6bda9014c0cbb141fb)
|
||||
* New hooks for account characters change-comment page (https://github.com/slawkens/myaac/commit/76440a37d009b845db9157312f2807774e15de14)
|
||||
|
||||
### Fixed
|
||||
* Do not allow access to tools/ folder after install (https://github.com/slawkens/myaac/commit/fcfe5b0dbd33fd628031fe60ae3f2acc5164eed8)
|
||||
|
||||
### Changed
|
||||
* Do not return -1 in case of freePremium, makes things harder (https://github.com/slawkens/myaac/commit/335b7b3112b3f2ed87b46c5dbc5db70a33bbd953)
|
||||
|
||||
## [0.8.23 - 22.04.2025]
|
||||
|
||||
### Added
|
||||
|
@@ -34,11 +34,6 @@ if(config('env') === 'dev') {
|
||||
error_reporting(E_ALL);
|
||||
}
|
||||
|
||||
// event system
|
||||
require_once SYSTEM . 'hooks.php';
|
||||
$hooks = new Hooks();
|
||||
$hooks->load();
|
||||
|
||||
require SYSTEM . 'status.php';
|
||||
require SYSTEM . 'login.php';
|
||||
require SYSTEM . 'migrate.php';
|
||||
|
@@ -26,7 +26,7 @@
|
||||
if (version_compare(phpversion(), '7.2.5', '<')) die('PHP version 7.2.5 or higher is required.');
|
||||
|
||||
define('MYAAC', true);
|
||||
define('MYAAC_VERSION', '0.8.23');
|
||||
define('MYAAC_VERSION', '0.8.25-dev');
|
||||
define('DATABASE_VERSION', 33);
|
||||
define('TABLE_PREFIX', 'myaac_');
|
||||
define('START_TIME', microtime(true));
|
||||
@@ -100,7 +100,7 @@ for($i = 1; $i < $size; $i++)
|
||||
$basedir = str_replace(array('/admin', '/install', '/tools'), '', $basedir);
|
||||
define('BASE_DIR', $basedir);
|
||||
|
||||
if (file_exists(BASE . 'config.local.php') && !defined('MYAAC_INSTALL')) {
|
||||
if (file_exists(BASE . 'config.local.php')) {
|
||||
require BASE . 'config.local.php';
|
||||
}
|
||||
|
||||
|
@@ -193,10 +193,6 @@ define('PAGE', $page);
|
||||
|
||||
$template_place_holders = array();
|
||||
|
||||
// event system
|
||||
require_once SYSTEM . 'hooks.php';
|
||||
$hooks = new Hooks();
|
||||
$hooks->load();
|
||||
require_once SYSTEM . 'login.php';
|
||||
require_once SYSTEM . 'status.php';
|
||||
|
||||
@@ -338,7 +334,7 @@ if($load_it)
|
||||
|
||||
$success = false;
|
||||
$tmp_content = getCustomPage($page, $success);
|
||||
if($success) {
|
||||
if($success && $hooks->trigger(HOOK_BEFORE_PAGE_CUSTOM)) {
|
||||
$content .= $tmp_content;
|
||||
if(hasFlag(FLAG_CONTENT_PAGES) || superAdmin()) {
|
||||
$pageInfo = getCustomPageInfo($page);
|
||||
@@ -346,6 +342,8 @@ if($load_it)
|
||||
'page' => array('id' => $pageInfo !== null ? $pageInfo['id'] : 0, 'hidden' => $pageInfo !== null ? $pageInfo['hidden'] : '0')
|
||||
)) . $content;
|
||||
}
|
||||
|
||||
$hooks->trigger(HOOK_AFTER_PAGE_CUSTOM);
|
||||
} else {
|
||||
$file = TEMPLATES . "$template_name/pages/$page.php";
|
||||
if(!@file_exists($file) || preg_match('/[^A-z0-9_\-]/', $page)) {
|
||||
|
@@ -13,9 +13,6 @@ require BASE . 'install/includes/functions.php';
|
||||
require BASE . 'install/includes/locale.php';
|
||||
require SYSTEM . 'clients.conf.php';
|
||||
|
||||
if(file_exists(BASE . 'config.local.php'))
|
||||
require BASE . 'config.local.php';
|
||||
|
||||
// ignore undefined index from Twig autoloader
|
||||
$config['env'] = 'prod';
|
||||
|
||||
|
@@ -139,14 +139,5 @@ else {
|
||||
}
|
||||
$_SESSION['installed'] = true;
|
||||
}
|
||||
|
||||
foreach($_SESSION as $key => $value) {
|
||||
if(strpos($key, 'var_') !== false)
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
unset($_SESSION['saved']);
|
||||
if(file_exists(CACHE . 'install.txt')) {
|
||||
unlink(CACHE . 'install.txt');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -7,6 +7,11 @@ require SYSTEM . 'functions.php';
|
||||
require BASE . 'install/includes/functions.php';
|
||||
require BASE . 'install/includes/locale.php';
|
||||
|
||||
if(isset($config['installed']) && $config['installed'] && !isset($_SESSION['saved'])) {
|
||||
warning($locale['already_installed']);
|
||||
return;
|
||||
}
|
||||
|
||||
$error = false;
|
||||
require BASE . 'install/includes/config.php';
|
||||
|
||||
|
@@ -97,6 +97,16 @@ require_once SYSTEM . 'migrations/22.php';
|
||||
require_once SYSTEM . 'migrations/27.php';
|
||||
require_once SYSTEM . 'migrations/30.php';
|
||||
|
||||
// cleanup
|
||||
foreach($_SESSION as $key => $value) {
|
||||
if(strpos($key, 'var_') !== false)
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
unset($_SESSION['saved']);
|
||||
if(file_exists(CACHE . 'install.txt')) {
|
||||
unlink(CACHE . 'install.txt');
|
||||
}
|
||||
|
||||
$locale['step_finish_desc'] = str_replace('$ADMIN_PANEL$', generateLink(str_replace('tools/', '',ADMIN_URL), $locale['step_finish_admin_panel'], true), $locale['step_finish_desc']);
|
||||
$locale['step_finish_desc'] = str_replace('$HOMEPAGE$', generateLink(str_replace('tools/', '', BASE_URL), $locale['step_finish_homepage'], true), $locale['step_finish_desc']);
|
||||
$locale['step_finish_desc'] = str_replace('$LINK$', generateLink('https://my-aac.org', 'https://my-aac.org', true), $locale['step_finish_desc']);
|
||||
|
@@ -8,7 +8,6 @@ if(PHP_SAPI !== 'cli') {
|
||||
require_once __DIR__ . '/../../common.php';
|
||||
require_once SYSTEM . 'functions.php';
|
||||
require_once SYSTEM . 'init.php';
|
||||
require_once SYSTEM . 'hooks.php';
|
||||
|
||||
if($argc !== 2) {
|
||||
echo 'This command expects one parameter: zip file name (plugin)' . PHP_EOL;
|
||||
|
@@ -10,9 +10,12 @@
|
||||
defined('MYAAC') or die('Direct access not allowed!');
|
||||
|
||||
$i = 0;
|
||||
define('HOOK_INIT', ++$i);
|
||||
define('HOOK_STARTUP', ++$i);
|
||||
define('HOOK_BEFORE_PAGE', ++$i);
|
||||
define('HOOK_BEFORE_PAGE_CUSTOM', ++$i);
|
||||
define('HOOK_AFTER_PAGE', ++$i);
|
||||
define('HOOK_AFTER_PAGE_CUSTOM', ++$i);
|
||||
define('HOOK_FINISH', ++$i);
|
||||
define('HOOK_TIBIACOM_ARTICLE', ++$i);
|
||||
define('HOOK_TIBIACOM_BORDER_3', ++$i);
|
||||
@@ -30,6 +33,10 @@ define('HOOK_CHARACTERS_AFTER_CHARACTERS', ++$i);
|
||||
define('HOOK_LOGIN', ++$i);
|
||||
define('HOOK_LOGIN_ATTEMPT', ++$i);
|
||||
define('HOOK_LOGOUT', ++$i);
|
||||
define('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_SUCCESS', ++$i);
|
||||
define('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_NAME', ++$i);
|
||||
define('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_HIDE_ACCOUNT', ++$i);
|
||||
define('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_COMMENT', ++$i);
|
||||
define('HOOK_ACCOUNT_CREATE_BEFORE_FORM', ++$i);
|
||||
define('HOOK_ACCOUNT_CREATE_BEFORE_BOXES', ++$i);
|
||||
define('HOOK_ACCOUNT_CREATE_BETWEEN_BOXES_1', ++$i);
|
||||
@@ -57,8 +64,9 @@ define('HOOK_ACCOUNT_MANAGE_BEFORE_ACCOUNT_LOGS', ++$i);
|
||||
define('HOOK_ACCOUNT_MANAGE_BEFORE_CHARACTERS', ++$i);
|
||||
define('HOOK_EMAIL_CONFIRMED', ++$i);
|
||||
define('HOOK_GUILDS_AFTER_INVITED_CHARACTERS', ++$i);
|
||||
define('HOOK_TWIG', ++$i);
|
||||
define('HOOK_FIRST', HOOK_STARTUP);
|
||||
define('HOOK_LAST', HOOK_EMAIL_CONFIRMED);
|
||||
define('HOOK_LAST', $i);
|
||||
|
||||
require_once LIBS . 'plugins.php';
|
||||
require_once LIBS . 'src/Plugins.php';
|
||||
|
@@ -124,6 +124,12 @@ require_once SYSTEM . 'libs/pot/OTS.php';
|
||||
$ots = POT::getInstance();
|
||||
require_once SYSTEM . 'database.php';
|
||||
|
||||
// event system
|
||||
require_once SYSTEM . 'hooks.php';
|
||||
$hooks = new Hooks();
|
||||
$hooks->load();
|
||||
$hooks->trigger(HOOK_INIT);
|
||||
|
||||
// twig
|
||||
require_once SYSTEM . 'twig.php';
|
||||
|
||||
|
@@ -371,9 +371,6 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
|
||||
throw new E_OTS_NotLoaded();
|
||||
}
|
||||
|
||||
$configFreePremium = configLua('freePremium');
|
||||
if(isset($configFreePremium) && getBoolean($configFreePremium)) {return -1;}
|
||||
|
||||
if(isset($this->data['premium_ends_at']) || isset($this->data['premend'])) {
|
||||
$col = isset($this->data['premium_ends_at']) ? 'premium_ends_at' : 'premend';
|
||||
$ret = ceil(($this->data[$col] - time()) / (24 * 60 * 60));
|
||||
|
@@ -36,6 +36,8 @@ if($player_name != null) {
|
||||
'description' => 'The character information has been changed.'
|
||||
));
|
||||
$show_form = false;
|
||||
|
||||
$hooks->trigger(HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_SUCCESS, ['player' => $player]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@@ -111,7 +111,26 @@ if(isset($todo) && $todo == 'save')
|
||||
$new_guild->setOwner($player);
|
||||
$new_guild->save();
|
||||
$new_guild->setCustomField('description', 'New guild. Leader must edit this text :)');
|
||||
//$new_guild->setCustomField('creationdata', time());
|
||||
|
||||
if ($db->hasTable('guild_ranks')) {
|
||||
$query = $db->query("SELECT * FROM guild_ranks WHERE guild_id = " . $new_guild->getId());
|
||||
if($query->rowCount() == 0) {
|
||||
$ranks = [
|
||||
['level' => 3, 'name' => 'the Leader'],
|
||||
['level' => 2, 'name' => 'a Vice-Leader'],
|
||||
['level' => 1, 'name' => 'a Member'],
|
||||
];
|
||||
|
||||
foreach ($ranks as $rank) {
|
||||
$db->insert('guild_ranks', [
|
||||
'guild_id' => $new_guild->getId(),
|
||||
'name' => $rank['name'],
|
||||
'level' => $rank['level'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ranks = $new_guild->getGuildRanksList();
|
||||
$ranks->orderBy('level', POT::ORDER_DESC);
|
||||
foreach($ranks as $rank) {
|
||||
@@ -119,14 +138,11 @@ if(isset($todo) && $todo == 'save')
|
||||
$player->setRank($rank);
|
||||
}
|
||||
}
|
||||
|
||||
$twig->display('guilds.create.success.html.twig', array(
|
||||
'guild_name' => $guild_name,
|
||||
'leader_name' => $player->getName()
|
||||
));
|
||||
|
||||
/*$db->exec('INSERT INTO `guild_ranks` (`id`, `guild_id`, `name`, `level`) VALUES (null, '.$new_guild->getId().', "the Leader", 3)');
|
||||
$db->exec('INSERT INTO `guild_ranks` (`id`, `guild_id`, `name`, `level`) VALUES (null, '.$new_guild->getId().', "a Vice-Leader", 2)');
|
||||
$db->exec('INSERT INTO `guild_ranks` (`id`, `guild_id`, `name`, `level`) VALUES (null, '.$new_guild->getId().', "a Member", 1)');*/
|
||||
}
|
||||
else {
|
||||
sort($array_of_player_nig);
|
||||
|
@@ -32,6 +32,7 @@ If you do not want to specify a certain field, just leave it blank.<br/><br/>
|
||||
<td class="LabelV">Name:</td>
|
||||
<td style="width:80%;" >{{ player.getName() }}</td>
|
||||
</tr>
|
||||
{{ hook('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_NAME') }}
|
||||
<tr>
|
||||
<td class="LabelV" >Hide Account:</td>
|
||||
<td>
|
||||
@@ -41,6 +42,7 @@ If you do not want to specify a certain field, just leave it blank.<br/><br/>
|
||||
{% if player.getCustomField('group_id') > 1 %} (you will be also hidden on the Team page!){% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{{ hook('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_HIDE_ACCOUNT') }}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,6 +66,7 @@ If you do not want to specify a certain field, just leave it blank.<br/><br/>
|
||||
<td class="LabelV" ><span>Comment:</span></td>
|
||||
<td style="width:80%;"><textarea name="comment" rows="10" cols="50" wrap="virtual">{{ player.getCustomField('comment')|raw }}</textarea><br>[max. length: 2000 chars, 50 lines (ENTERs)]</td>
|
||||
</tr>
|
||||
{{ hook('HOOK_ACCOUNT_CHARACTERS_CHANGE_COMMENT_AFTER_COMMENT') }}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -83,3 +83,5 @@ $filter = new TwigFilter('urlencode', function ($s) {
|
||||
|
||||
$twig->addFilter($filter);
|
||||
unset($function, $filter);
|
||||
|
||||
$hooks->trigger(HOOK_TWIG, ['twig' => $twig, 'twig_loader' => $twig_loader]);
|
||||
|
Reference in New Issue
Block a user