mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-27 01:39:22 +02:00

* Remove unneeded escape * Fix guild back buttons (change logo & motd) * small adjustment in news.php * Fix create character when admin (any case is allowed now) * Fix forum table style (boards & thread view) * Small improvement to plugins.enabled check * [WIP] nikic/fast-route implementation I will describe it more in Pull Request * Optimisations & fixes. * Fix path - should not be absolute * Add PLUGINS to Twig path * Don't hide "Install Plugin" Box by default * Update package-lock.json * nothing important, just early exit & fixes Fix creature display * fix premium_ends_at for tfs 1.3+ * Move pages * Move pages tbc * $db->select: make $where parameter optional, allows to get all records * Add some error box to error * fix parse error * Rewriting the router v2 To be more flexible * small fixes * fix & add admin icons * Move mass_* pages to correct folder * fix logout hook 2 * Delete accountmanagement.php * This code wasn't used * Add missing var * Add redirect_from && redirect_to to router options + Also add * for all methods shortcut * Remove comments Not allowed in normal json * Allow admin pages included into plugins dir * block access to some files * Fix admin logout * Fix #178 * feature: mail confirmed reward Suggested by @EPuncker # Conflicts: # system/hooks.php * remove misleading comment * adjust required version according to composer.json * fix duplicated word * Adjustments & fixed to mass actions * Add password confirm, and change text type to password * Add list of Open Source Software MyAAC is using * Fix signature * Show First, Second instead of numbers * fix base dir detection * fix double ACTION define + undefined URI in template * new function> escapeHtml + fix css in admin menus * fix changelog add * fix news adding, rename const to NEWS_* * Add verify to pages, add messages, limits, fix add * fix "Please fill all input" * add required input to admin pages * shorten some expressions with ?? * shorten code + fix conversion (int) * Move account_types to config, account.web_flags to common.php * Update example.json * feature: router aliases * shorten some code + const convert * remove wrong char * fix signature on custom basedir * fix: mass teleport position validation (#214) * fix: mass teleport position validation * fix: max position * Fix execute in CLI * fix warning in reload cache in dev mode * Configurable admin panel folder * feature: plugin require more options with comma * $config_account_salt -> USE_ACCOUNT_SALT * fix forum show_thread * Update show_thread.php --------- Co-authored-by: Gabriel Pedro <gpedro@users.noreply.github.com>
98 lines
3.5 KiB
PHP
98 lines
3.5 KiB
PHP
<?php
|
|
/**
|
|
* Account management
|
|
*
|
|
* @package MyAAC
|
|
* @author Gesior <jerzyskalski@wp.pl>
|
|
* @author Slawkens <slawkens@gmail.com>
|
|
* @copyright 2019 MyAAC
|
|
* @link https://my-aac.org
|
|
*/
|
|
defined('MYAAC') or die('Direct access not allowed!');
|
|
|
|
$title = 'Account Management';
|
|
require __DIR__ . '/base.php';
|
|
|
|
if(!$logged) {
|
|
return;
|
|
}
|
|
|
|
$groups = new OTS_Groups_List();
|
|
|
|
$freePremium = isset($config['lua']['freePremium']) && getBoolean($config['lua']['freePremium']) || $account_logged->getPremDays() == OTS_Account::GRATIS_PREMIUM_DAYS;
|
|
$dayOrDays = $account_logged->getPremDays() == 1 ? 'day' : 'days';
|
|
/**
|
|
* @var OTS_Account $account_logged
|
|
*/
|
|
if(!$account_logged->isPremium())
|
|
$account_status = '<b><span style="color: red">Free Account</span></b>';
|
|
else
|
|
$account_status = '<b><span style="color: green">' . ($freePremium ? 'Gratis Premium Account' : 'Premium Account, ' . $account_logged->getPremDays() . ' '.$dayOrDays.' left') . '</span></b>';
|
|
|
|
$recovery_key = $account_logged->getCustomField('key');
|
|
if(empty($recovery_key))
|
|
$account_registered = '<b><span style="color: red">No</span></b>';
|
|
else
|
|
{
|
|
if($config['generate_new_reckey'] && $config['mail_enabled'])
|
|
$account_registered = '<b><span style="color: green">Yes ( <a href="' . getLink('account/register/new') . '"> Buy new Recovery Key </a> )</span></b>';
|
|
else
|
|
$account_registered = '<b><span style="color: green">Yes</span></b>';
|
|
}
|
|
|
|
$account_created = $account_logged->getCreated();
|
|
$account_email = $account_logged->getEMail();
|
|
$email_new_time = $account_logged->getCustomField("email_new_time");
|
|
if($email_new_time > 1)
|
|
$email_new = $account_logged->getCustomField("email_new");
|
|
$account_rlname = $account_logged->getRLName();
|
|
$account_location = $account_logged->getLocation();
|
|
if($account_logged->isBanned())
|
|
if($account_logged->getBanTime() > 0)
|
|
$welcome_message = '<span style="color: red">Your account is banished until '.date("j F Y, G:i:s", $account_logged->getBanTime()).'!</span>';
|
|
else
|
|
$welcome_message = '<span style="color: red">Your account is banished FOREVER!</span>';
|
|
else
|
|
$welcome_message = 'Welcome to your account!';
|
|
|
|
$email_change = '';
|
|
$email_request = false;
|
|
if($email_new_time > 1)
|
|
{
|
|
if($email_new_time < time())
|
|
$email_change = '<br>(You can accept <b>'.$email_new.'</b> as a new email.)';
|
|
else
|
|
{
|
|
$email_change = ' <br>You can accept <b>new e-mail after '.date("j F Y", $email_new_time).".</b>";
|
|
$email_request = true;
|
|
}
|
|
}
|
|
|
|
$actions = array();
|
|
foreach($account_logged->getActionsLog(0, 1000) as $action) {
|
|
$actions[] = array('action' => $action['action'], 'date' => $action['date'], 'ip' => $action['ip'] != 0 ? long2ip($action['ip']) : inet_ntop($action['ipv6']));
|
|
}
|
|
|
|
$players = array();
|
|
/** @var OTS_Players_List $account_players */
|
|
$account_players = $account_logged->getPlayersList();
|
|
$account_players->orderBy('id');
|
|
|
|
$twig->display('account.management.html.twig', array(
|
|
'welcome_message' => $welcome_message,
|
|
'recovery_key' => $recovery_key,
|
|
'email_change' => $email_change,
|
|
'email_request' => $email_request,
|
|
'email_new_time' => $email_new_time,
|
|
'email_new' => isset($email_new) ? $email_new : '',
|
|
'account' => USE_ACCOUNT_NAME ? $account_logged->getName() : $account_logged->getId(),
|
|
'account_email' => $account_email,
|
|
'account_created' => $account_created,
|
|
'account_status' => $account_status,
|
|
'account_registered' => $account_registered,
|
|
'account_rlname' => $account_rlname,
|
|
'account_location' => $account_location,
|
|
'actions' => $actions,
|
|
'players' => $account_players
|
|
));
|