mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +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>
140 lines
3.6 KiB
PHP
140 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* CHANGELOG modifier
|
|
*
|
|
* @package MyAAC
|
|
* @author Slawkens <slawkens@gmail.com>
|
|
* @author Lee
|
|
* @copyright 2020 MyAAC
|
|
* @link https://my-aac.org
|
|
*/
|
|
defined('MYAAC') or die('Direct access not allowed!');
|
|
|
|
if (!hasFlag(FLAG_CONTENT_PAGES) && !superAdmin()) {
|
|
echo 'Access denied.';
|
|
return;
|
|
}
|
|
|
|
$title = 'Changelog';
|
|
$use_datatable = true;
|
|
const CL_LIMIT = 600; // maximum changelog body length
|
|
?>
|
|
|
|
<link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>tools/css/jquery.datetimepicker.css"/ >
|
|
<script src="<?php echo BASE_URL; ?>tools/js/jquery.datetimepicker.js"></script>
|
|
<?php
|
|
$id = $_GET['id'] ?? 0;
|
|
require_once LIBS . 'changelog.php';
|
|
|
|
if(!empty($action))
|
|
{
|
|
$id = $_REQUEST['id'] ?? null;
|
|
$body = isset($_REQUEST['body']) ? stripslashes($_REQUEST['body']) : null;
|
|
$create_date = isset($_REQUEST['createdate']) ? (int)strtotime($_REQUEST['createdate'] ): null;
|
|
$player_id = isset($_REQUEST['player_id']) ? (int)$_REQUEST['player_id'] : null;
|
|
$type = isset($_REQUEST['type']) ? (int)$_REQUEST['type'] : null;
|
|
$where = isset($_REQUEST['where']) ? (int)$_REQUEST['where'] : null;
|
|
|
|
$errors = array();
|
|
|
|
if($action == 'new') {
|
|
|
|
if(isset($body) && Changelog::add($body, $type, $where, $player_id, $create_date, $errors)) {
|
|
$body = '';
|
|
$type = $where = $player_id = $create_date = 0;
|
|
|
|
success("Added successful.");
|
|
}
|
|
}
|
|
else if($action == 'delete') {
|
|
Changelog::delete($id, $errors);
|
|
success("Deleted successful.");
|
|
}
|
|
else if($action == 'edit')
|
|
{
|
|
if(isset($id) && !isset($body)) {
|
|
$cl = Changelog::get($id);
|
|
$body = $cl['body'];
|
|
$type = $cl['type'];
|
|
$where = $cl['where'];
|
|
$create_date = $cl['date'];
|
|
$player_id = $cl['player_id'];
|
|
}
|
|
else {
|
|
if(Changelog::update($id, $body, $type, $where, $player_id, $create_date,$errors)) {
|
|
$action = $body = '';
|
|
$type = $where = $player_id = $create_date = 0;
|
|
|
|
success("Updated successful.");
|
|
}
|
|
}
|
|
}
|
|
else if($action == 'hide') {
|
|
Changelog::toggleHidden($id, $errors, $status);
|
|
success(($status == 1 ? 'Show' : 'Hide') . " successful.");
|
|
}
|
|
|
|
if(!empty($errors))
|
|
error(implode(", ", $errors));
|
|
}
|
|
|
|
$changelogs = $db->query('SELECT * FROM `' . TABLE_PREFIX . 'changelog' . '` ORDER BY `id` DESC')->fetchAll();
|
|
|
|
$i = 0;
|
|
|
|
$log_type = [
|
|
['id' => 1, 'icon' => 'added'],
|
|
['id' => 2, 'icon' => 'removed'],
|
|
['id' => 3, 'icon' => 'changed'],
|
|
['id' => 4, 'icon' => 'fixed'],
|
|
];
|
|
|
|
$log_where = [
|
|
['id' => 1, 'icon' => 'server'],
|
|
['id' => 2, 'icon' => 'website'],
|
|
];
|
|
|
|
foreach($changelogs as $key => &$log)
|
|
{
|
|
$log['type'] = getChangelogType($log['type']);
|
|
$log['where'] = getChangelogWhere($log['where']);
|
|
}
|
|
|
|
if($action == 'edit' || $action == 'new') {
|
|
if($action == 'edit') {
|
|
$player = new OTS_Player();
|
|
$player->load($player_id);
|
|
}
|
|
|
|
$account_players = $account_logged->getPlayersList();
|
|
$account_players->orderBy('group_id', POT::ORDER_DESC);
|
|
$twig->display('admin.changelog.form.html.twig', array(
|
|
'action' => $action,
|
|
'cl_link_form' => constant('ADMIN_URL').'?p=changelog&action=' . ($action == 'edit' ? 'edit' : 'new'),
|
|
'cl_id' => $id ?? null,
|
|
'body' => isset($body) ? escapeHtml($body) : '',
|
|
'create_date' => $create_date ?? '',
|
|
'player_id' => $player_id ?? null,
|
|
'account_players' => $account_players,
|
|
'type' => $type ?? 0,
|
|
'where' => $where ?? 0,
|
|
'log_type' => $log_type,
|
|
'log_where' => $log_where,
|
|
));
|
|
}
|
|
$twig->display('admin.changelog.html.twig', array(
|
|
'changelogs' => $changelogs,
|
|
));
|
|
|
|
?>
|
|
<script>
|
|
$(document).ready(function () {
|
|
$('#createdate').datetimepicker({format: "M d Y, H:i:s",});
|
|
|
|
$('.tb_datatable').DataTable({
|
|
"order": [[0, "desc"]],
|
|
"columnDefs": [{targets: [1, 2,4,5],orderable: false}]
|
|
});
|
|
});
|
|
</script>
|