diff --git a/admin/pages/mass_account.php b/admin/pages/mass_account.php index 322d3806..507ef877 100644 --- a/admin/pages/mass_account.php +++ b/admin/pages/mass_account.php @@ -22,23 +22,23 @@ function admin_give_points($points) global $db, $hasPointsColumn; if (!$hasPointsColumn) { - error('Points not supported.'); + displayMessage('Points not supported.'); return; } $statement = $db->prepare('UPDATE `accounts` SET `premium_points` = `premium_points` + :points'); if (!$statement) { - error('Failed to prepare query statement.'); + displayMessage('Failed to prepare query statement.'); return; } if (!$statement->execute([ 'points' => $points ])) { - error('Failed to add points.'); + displayMessage('Failed to add points.'); return; } - success($points . ' points added to all accounts.'); + displayMessage($points . ' points added to all accounts.', true); } function admin_give_coins($coins) @@ -46,24 +46,24 @@ function admin_give_coins($coins) global $db, $hasCoinsColumn; if (!$hasCoinsColumn) { - error('Coins not supported.'); + displayMessage('Coins not supported.'); return; } $statement = $db->prepare('UPDATE `accounts` SET `coins` = `coins` + :coins'); if (!$statement) { - error('Failed to prepare query statement.'); + displayMessage('Failed to prepare query statement.'); return; } if (!$statement->execute([ 'coins' => $coins ])) { - error('Failed to add coins.'); + displayMessage('Failed to add coins.'); return; } - success($coins . ' coins added to all accounts.'); + displayMessage($coins . ' coins added to all accounts.', true); } function query_add_premium($column, $value_query, $condition_query = '1=1', $params = []) @@ -72,12 +72,12 @@ function query_add_premium($column, $value_query, $condition_query = '1=1', $par $statement = $db->prepare("UPDATE `accounts` SET `{$column}` = $value_query WHERE $condition_query"); if (!$statement) { - error('Failed to prepare query statement.'); + displayMessage('Failed to prepare query statement.'); return false; } if (!$statement->execute($params)) { - error('Failed to add premium days.'); + displayMessage('Failed to add premium days.'); return false; } @@ -89,7 +89,7 @@ function admin_give_premdays($days) global $db, $freePremium; if ($freePremium) { - error('Premium days not supported. Free Premium enabled.'); + displayMessage('Premium days not supported. Free Premium enabled.'); return; } @@ -101,14 +101,14 @@ function admin_give_premdays($days) if (query_add_premium('premend', '`premend` + :value', '`premend` > :now', ['value' => $value, 'now' => $now])) { // set premend if (query_add_premium('premend', ':value', '`premend` <= :now', ['value' => $now + $value, 'now' => $now])) { - success($days . ' premium days added to all accounts.'); + displayMessage($days . ' premium days added to all accounts.', true); return; } else { - error('Failed to execute set query.'); + displayMessage('Failed to execute set query.'); return; } } else { - error('Failed to execute append query.'); + displayMessage('Failed to execute append query.'); return; } @@ -123,20 +123,20 @@ function admin_give_premdays($days) if (query_add_premium('lastday', '`lastday` + :value', '`lastday` > :now', ['value' => $value, 'now' => $now])) { // set lastday if (query_add_premium('lastday', ':value', '`lastday` <= :now', ['value' => $now + $value, 'now' => $now])) { - success($days . ' premium days added to all accounts.'); + displayMessage($days . ' premium days added to all accounts.', true); return; } else { - error('Failed to execute set query.'); + displayMessage('Failed to execute set query.'); return; } - success($days . ' premium days added to all accounts.'); + return; } else { - error('Failed to execute append query.'); + displayMessage('Failed to execute append query.'); return; } } else { - error('Failed to execute set days query.'); + displayMessage('Failed to execute set days query.'); return; } @@ -149,21 +149,21 @@ function admin_give_premdays($days) if (query_add_premium('premium_ends_at', '`premium_ends_at` + :value', '`premium_ends_at` > :now', ['value' => $value, 'now' => $now])) { // set premium_ends_at if (query_add_premium('premium_ends_at', ':value', '`premium_ends_at` <= :now', ['value' => $now + $value, 'now' => $now])) { - success($days . ' premium days added to all accounts.'); + displayMessage($days . ' premium days added to all accounts.', true); return; } else { - error('Failed to execute set query.'); + displayMessage('Failed to execute set query.'); return; } } else { - error('Failed to execute append query.'); + displayMessage('Failed to execute append query.'); return; } return; } - error('Premium Days not supported.'); + displayMessage('Premium Days not supported.'); } if (isset($_POST['action']) && $_POST['action']) { @@ -171,12 +171,12 @@ if (isset($_POST['action']) && $_POST['action']) { $action = $_POST['action']; if (preg_match("/[^A-z0-9_\-]/", $action)) { - error('Invalid action.'); + displayMessage('Invalid action.'); } else { $value = isset($_POST['value']) ? intval($_POST['value']) : 0; if (!$value) { - error('Please fill all inputs'); + displayMessage('Please fill all inputs'); } else { switch ($action) { case 'give-points': @@ -189,14 +189,27 @@ if (isset($_POST['action']) && $_POST['action']) { admin_give_premdays($value); break; default: - error('Action ' . $action . 'not found.'); + displayMessage('Action ' . $action . 'not found.'); } } } } +else { + $twig->display('admin.tools.account.html.twig', array( + 'hasCoinsColumn' => $hasCoinsColumn, + 'hasPointsColumn' => $hasPointsColumn, + 'freePremium' => $freePremium, + )); +} -$twig->display('admin.tools.account.html.twig', array( - 'hasCoinsColumn' => $hasCoinsColumn, - 'hasPointsColumn' => $hasPointsColumn, - 'freePremium' => $freePremium, -)); +function displayMessage($message, $success = false) { + global $twig, $hasCoinsColumn, $hasPointsColumn, $freePremium; + + $success ? success($message): error($message); + + $twig->display('admin.tools.account.html.twig', array( + 'hasCoinsColumn' => $hasCoinsColumn, + 'hasPointsColumn' => $hasPointsColumn, + 'freePremium' => $freePremium, + )); +} diff --git a/admin/pages/mass_teleport.php b/admin/pages/mass_teleport.php index 842d4abe..2aa72b8c 100644 --- a/admin/pages/mass_teleport.php +++ b/admin/pages/mass_teleport.php @@ -16,36 +16,36 @@ function admin_teleport_position($x, $y, $z) { global $db; $statement = $db->prepare('UPDATE `players` SET `posx` = :x, `posy` = :y, `posz` = :z'); if (!$statement) { - error('Failed to prepare query statement.'); + displayMessage('Failed to prepare query statement.'); return; } if (!$statement->execute([ 'x' => $x, 'y' => $y, 'z' => $z ])) { - error('Failed to execute query.'); + displayMessage('Failed to execute query.'); return; } - success('Player\'s position updated.'); + displayMessage('Player\'s position updated.', true); } function admin_teleport_town($town_id) { global $db; $statement = $db->prepare('UPDATE `players` SET `town_id` = :town_id'); if (!$statement) { - error('Failed to prepare query statement.'); + displayMessage('Failed to prepare query statement.'); return; } if (!$statement->execute([ 'town_id' => $town_id ])) { - error('Failed to execute query.'); + displayMessage('Failed to execute query.'); return; } - success('Player\'s town updated.'); + displayMessage('Player\'s town updated.', true); } if (isset($_POST['action']) && $_POST['action']) { @@ -53,48 +53,64 @@ if (isset($_POST['action']) && $_POST['action']) { $action = $_POST['action']; if (preg_match("/[^A-z0-9_\-]/", $action)) { - error('Invalid action.'); + displayMessage('Invalid action.'); } else { $playersOnline = 0; if($db->hasTable('players_online')) {// tfs 1.0 - $playersOnline = $db->query('SELECT count(*) FROM `players_online`'); + $query = $db->query('SELECT count(*) AS `count` FROM `players_online`'); } else { - $playersOnline = $db->query('SELECT count(*) FROM `players` WHERE `players`.`online` > 0'); + $query = $db->query('SELECT count(*) AS `count` FROM `players` WHERE `players`.`online` > 0'); } - if ($playersOnline > 0) { - error('Please, close the server before execute this action otherwise players will not be affected.'); + $playersOnline = $query->fetch(PDO::FETCH_ASSOC); + if ($playersOnline['count'] > 0) { + displayMessage('Please, close the server before execute this action otherwise players will not be affected.'); return; } - $town_id = isset($_POST['town_id']) ? intval($_POST['town_id']) : 0; - $posx = isset($_POST['posx']) ? intval($_POST['posx']) : 0; - $posy = isset($_POST['posy']) ? intval($_POST['posy']) : 0; - $posz = isset($_POST['posz']) ? intval($_POST['posz']) : 0; + $town_id = isset($_POST['town_id']) ? intval($_POST['town_id']) : null; + $posx = isset($_POST['posx']) ? intval($_POST['posx']) : null; + $posy = isset($_POST['posy']) ? intval($_POST['posy']) : null; + $posz = isset($_POST['posz']) ? intval($_POST['posz']) : null; + $to_temple = $_POST['to_temple'] ?? null; switch ($action) { case 'set-town': - if (!isset($config['towns'][$town_id])) { - error('Please fill all inputs'); + if (!$town_id) { + displayMessage('Please fill all inputs'); return; } - admin_teleport_town($value); + if (!isset($config['towns'][$town_id])) { + displayMessage('Specified town does not exist'); + return; + } + + admin_teleport_town($town_id); break; case 'set-position': - if (!$posx || !$posy || !$posz) { - error('Please fill all inputs'); + if ((!$posx || !$posy || !$posz) && !$to_temple) { + displayMessage('Please fill all inputs'); return; } admin_teleport_position($posx, $posy, $posz); break; default: - error('Action ' . $action . 'not found.'); + displayMessage('Action ' . $action . 'not found.'); } } } +else { + $twig->display('admin.tools.teleport.html.twig', array()); +} -$twig->display('admin.tools.teleport.html.twig', array()); + +function displayMessage($message, $success = false) { + global $twig; + + $success ? success($message): error($message); + $twig->display('admin.tools.teleport.html.twig', array()); +} diff --git a/system/templates/admin.tools.account.html.twig b/system/templates/admin.tools.account.html.twig index 97eaa944..ee32fc99 100644 --- a/system/templates/admin.tools.account.html.twig +++ b/system/templates/admin.tools.account.html.twig @@ -5,7 +5,7 @@
Give Premium Points
-
+
@@ -27,7 +27,7 @@
Give Coins
- +
@@ -49,7 +49,7 @@
Give Premium Days
- +
diff --git a/system/templates/admin.tools.teleport.html.twig b/system/templates/admin.tools.teleport.html.twig index e81cada9..3a2a0110 100644 --- a/system/templates/admin.tools.teleport.html.twig +++ b/system/templates/admin.tools.teleport.html.twig @@ -4,11 +4,11 @@
Set Town
- +
- {% if config.towns|length > 0 %} {% for town_id, town_name in config.towns %} @@ -31,7 +31,7 @@
Set Position
- +
@@ -66,12 +66,13 @@
Teleport to Temple
- +