Some servers don't have guild_invites table

This commit is contained in:
slawkens
2025-09-03 23:47:27 +02:00
parent 46adeefce3
commit 9725a3c2bd
3 changed files with 35 additions and 22 deletions

View File

@@ -23,6 +23,12 @@ if(!Validator::guildName($guild_name)) {
$errors[] = Validator::getLastError(); $errors[] = Validator::getLastError();
} }
if (!$db->hasTableAndColumns('guild_invites', ['player_id'])) {
$errors[] = "Guild invite is not possible on this website.";
$twig->display('error_box.html.twig', ['errors' => $errors]);
return;
}
if(empty($errors)) { if(empty($errors)) {
$guild = new OTS_Guild(); $guild = new OTS_Guild();
$guild->find($guild_name); $guild->find($guild_name);
@@ -58,7 +64,7 @@ if(empty($errors)) {
} }
} }
if(!$guild_vice) { if(empty($errors) && !$guild_vice) {
$errors[] = 'You are not a leader or vice leader of guild <b>'.$guild_name.'</b>.'.$level_in_guild; $errors[] = 'You are not a leader or vice leader of guild <b>'.$guild_name.'</b>.'.$level_in_guild;
} }
@@ -84,6 +90,7 @@ if(isset($_POST['todo']) && $_POST['todo'] == 'save') {
} }
} }
} }
if(empty($errors)) { if(empty($errors)) {
include(SYSTEM . 'libs/pot/InvitesDriver.php'); include(SYSTEM . 'libs/pot/InvitesDriver.php');
new InvitesDriver($guild); new InvitesDriver($guild);
@@ -104,6 +111,7 @@ if(!empty($errors)) {
else { else {
if(isset($_POST['todo']) && $_POST['todo'] == 'save') { if(isset($_POST['todo']) && $_POST['todo'] == 'save') {
$guild->invite($player); $guild->invite($player);
$twig->display('success.html.twig', array( $twig->display('success.html.twig', array(
'title' => 'Invite player', 'title' => 'Invite player',
'description' => 'Player with name <b>' . $player->getName() . '</b> has been invited to your guild.', 'description' => 'Player with name <b>' . $player->getName() . '</b> has been invited to your guild.',

View File

@@ -121,25 +121,28 @@ foreach($rank_list as $rank)
} }
} }
include(SYSTEM . 'libs/pot/InvitesDriver.php'); $invited_list = [];
new InvitesDriver($guild);
$invited_list = $guild->listInvites();
$show_accept_invite = 0; $show_accept_invite = 0;
if($logged && count($invited_list) > 0)
{ if ($db->hasTableAndColumns('guild_invites', ['player_id'])) {
foreach($invited_list as $invited_player) include(SYSTEM . 'libs/pot/InvitesDriver.php');
{ new InvitesDriver($guild);
if(count($account_players) > 0) $invited_list = $guild->listInvites();
{
foreach($account_players as $player_from_acc) if($logged && count($invited_list) > 0) {
{ foreach($invited_list as $invited_player) {
if($player_from_acc->isLoaded() && $invited_player->isLoaded() && $player_from_acc->getName() == $invited_player->getName()) if(count($account_players) > 0) {
$show_accept_invite++; foreach($account_players as $player_from_acc) {
if($player_from_acc->isLoaded() && $invited_player->isLoaded() && $player_from_acc->getName() == $invited_player->getName()) {
$show_accept_invite++;
}
}
} }
} }
} }
} }
$useGuildNick = $db->hasTable('guild_members') || $db->hasTable('guild_membership') || $db->hasColumn('players', 'guildnick'); $useGuildNick = $db->hasTable('guild_members') || $db->hasTable('guild_membership') || $db->hasColumn('players', 'guildnick');
$twig->display('guilds.view.html.twig', array( $twig->display('guilds.view.html.twig', array(

View File

@@ -235,14 +235,16 @@
{% endif %} {% endif %}
{% if isVice %} {% if isVice %}
<form action="{{ getLink('guilds') }}?action=invite&guild={{ guild_name|url_encode }}" method="post"> {% if db.hasTableAndColumns('guild_invites', ['player_id']) %}
{{ csrf() }} <form action="{{ getLink('guilds') }}?action=invite&guild={{ guild_name|url_encode }}" method="post">
<td> {{ csrf() }}
{% set button_name = 'Invite Character' %} <td>
{% set button_image = '_sbutton_invitecharacter' %} {% set button_name = 'Invite Character' %}
{% include('buttons.base.html.twig') %} {% set button_image = '_sbutton_invitecharacter' %}
</td> {% include('buttons.base.html.twig') %}
</form> </td>
</form>
{% endif %}
<form action="{{ getLink('guilds') }}?action=change_rank&guild={{ guild_name|url_encode }}" method="post"> <form action="{{ getLink('guilds') }}?action=change_rank&guild={{ guild_name|url_encode }}" method="post">
{{ csrf() }} {{ csrf() }}