mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 14:37:52 +00:00
feat: add email reminder functionality
This commit is contained in:
@@ -661,15 +661,12 @@ function adminEinstellungen(): void
|
||||
$spalte_mitglieder_zeigen = $jInput->get('spalte_mitglieder_zeigen', 0, 'INT');
|
||||
$turnierbaum_zeigen = $jInput->get('turnierbaum_zeigen', 0, 'INT');
|
||||
$termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT');
|
||||
$enableEmailReminders = $jInput->get('enable_email_reminders', 0, 'INT');
|
||||
|
||||
$spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT');
|
||||
|
||||
$api_push_key = $jInput->get('api_push_key', '', 'RAW');
|
||||
|
||||
/*
|
||||
$twitter_benutzername = $db->escape(trim( $jInput->get('twitter_benutzername', '', 'RAW') ));
|
||||
$twitter_kennwort = !empty($twitter_benutzername) ? $db->escape(trim( $jInput->get('twitter_kennwort', '', 'RAW') )) : "";
|
||||
*/
|
||||
|
||||
$query = "REPLACE #__sportsmanager_einstellungen"
|
||||
. "\n SET name = 'basis_spielernr'"
|
||||
. ", wert = '$basis_spielernr'";
|
||||
@@ -780,6 +777,12 @@ function adminEinstellungen(): void
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "REPLACE #__sportsmanager_einstellungen SET name = 'enable_email_reminders', wert = '$enableEmailReminders'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
redirectSportsManagerURL('&task=admin_uebersicht');
|
||||
}
|
||||
|
||||
@@ -10218,7 +10221,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
||||
}
|
||||
else{
|
||||
@@ -10564,6 +10567,7 @@ function adminEditTurnier(): void
|
||||
$turnierort = $db->escape(trim($jInput->get('turnierort', '', 'RAW')));
|
||||
$erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
|
||||
$mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
|
||||
$reminder_count = $jInput->get('reminder_count', 0, 'INT');
|
||||
if (!$mehrtaegig)
|
||||
$letzter_tag = $erster_tag;
|
||||
else
|
||||
@@ -10587,7 +10591,7 @@ function adminEditTurnier(): void
|
||||
}
|
||||
|
||||
if ($id == 0) {
|
||||
$query = "INSERT INTO #__sportsmanager_turnier (veranstalter_id, turnierbezeichnung, saison_id, turnierort, erster_tag" . ($letzter_tag != null ? ", letzter_tag" : "") . ", kategorie) VALUES ('$veranstalterId', '$turnierbezeichnung', '$saison_id', '$turnierort', '$erster_tag'" . ($letzter_tag != null ? ", '$letzter_tag'" : "") . ", '$kategorie');";
|
||||
$query = "INSERT INTO #__sportsmanager_turnier (veranstalter_id, turnierbezeichnung, saison_id, turnierort, erster_tag" . ($letzter_tag != null ? ", letzter_tag" : "") . ", kategorie, reminder_count) VALUES ('$veranstalterId', '$turnierbezeichnung', '$saison_id', '$turnierort', '$erster_tag'" . ($letzter_tag != null ? ", '$letzter_tag'" : "") . ", '$kategorie', '0');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
@@ -10601,7 +10605,8 @@ function adminEditTurnier(): void
|
||||
. "\n turnierort = '$turnierort',"
|
||||
. "\n erster_tag = '$erster_tag',"
|
||||
. "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'" : "NULL") . ","
|
||||
. "\n kategorie = '$kategorie'"
|
||||
. "\n kategorie = '$kategorie',"
|
||||
. "\n reminder_count = '$reminder_count'"
|
||||
. "\n WHERE turnier_id = $id";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
|
||||
@@ -5300,11 +5300,11 @@ function updateDatabase(): void
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verband_anzeigen', wert = '1';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
@@ -5318,6 +5318,24 @@ function updateDatabase(): void
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 108) {
|
||||
$query = "ALTER TABLE #__sportsmanager_turnier ADD COLUMN `reminder_count` TINYINT DEFAULT '3'"; // 3: prevent email flood for past tournaments
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'enable_email_reminders', wert = '0';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '108'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($termin_aktionen_email_setzen) {
|
||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
||||
. "\n FROM #__sportsmanager_termin_aktion";
|
||||
|
||||
@@ -42,11 +42,14 @@ require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/vie
|
||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_admin.php';
|
||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
|
||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/email.php';
|
||||
require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
|
||||
|
||||
initDatabase();
|
||||
updateDatabase();
|
||||
|
||||
sentEmailReminders();
|
||||
|
||||
if (isset($_POST['filter_saison_id']))
|
||||
setcookie('sportsmanager_filter_saison_id', $_POST['filter_saison_id'], time() + (60 * 60 * 24));
|
||||
else if (isset($_REQUEST['filter_saison_id']))
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Log\Log;
|
||||
use Joomla\CMS\Mail\MailerFactoryInterface;
|
||||
use Joomla\CMS\Application\SiteApplication;
|
||||
|
||||
/**
|
||||
* @since 2.2
|
||||
* @throws Exception
|
||||
*/
|
||||
function sentEmailReminders(): void
|
||||
{
|
||||
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||
$db = getDatabase();
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select('wert')
|
||||
->from('#__sportsmanager_einstellungen')
|
||||
->where('name = ' . $db->quote('enable_email_reminders'));
|
||||
$row = loadResult($db, $query);
|
||||
|
||||
if (!$row) {
|
||||
return; // quit when email reminders are disabled
|
||||
}
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select('tournament.turnier_id, tournament.turnierbezeichnung, tournament.letzter_tag, tournament.reminder_count, GROUP_CONCAT(user.email SEPARATOR ", ") as emails')
|
||||
->from($db->quoteName('#__sportsmanager_turnier', 'tournament'))
|
||||
->join('INNER', $db->quoteName('#__sportsmanager_berechtigt_fuer_turnier', 'entitled') . ' ON tournament.turnier_id = entitled.berechtigt_turnier_id')
|
||||
->join('INNER', $db->quoteName('#__users', 'user') . ' ON entitled.berechtigt_user_id = user.id')
|
||||
->where('tournament.reminder_count < 3')
|
||||
->group('tournament.turnier_id, tournament.turnierbezeichnung');
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
if(!empty($rows)) {
|
||||
$mailFrom = $app->getCfg('mailfrom');
|
||||
$fromName = $app->getCfg('fromname');
|
||||
|
||||
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
|
||||
$mailer->setSender($mailFrom, $fromName);
|
||||
foreach ($rows as $row) {
|
||||
$currentReminder = $row->reminder_count + 1;
|
||||
|
||||
if (hasResultsAlready($db, $row)) {
|
||||
updateDBReminders($db, $row, 3); // do not sent any more reminders
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($row->emails) || $row->emails == "" || $row->emails == NULL) {
|
||||
Log::add('can\'t sent ' . $currentReminder .'. email reminder for tournament ' . $row->turnierbezeichnung . ': no recipient set', Log::WARNING, 'com_sportsmanager');
|
||||
continue;
|
||||
}
|
||||
|
||||
$now = new DateTime();
|
||||
$last_day = new DateTime($row->letzter_tag);
|
||||
$last_day->modify('+1 day'); // start to count at the end of the day, not at the beginning
|
||||
$diff = $now->getTimestamp() - $last_day->getTimestamp();
|
||||
|
||||
$reminderDelays = [
|
||||
1 => 24*60*60, // 24h
|
||||
2 => 3*24*60*60, // 3d
|
||||
3 => 13*24*60*60 // 13d
|
||||
];
|
||||
|
||||
foreach ($reminderDelays as $count => $delay) {
|
||||
if ($diff >= $delay && $row->reminder_count < $count) {
|
||||
$subject = ($row->reminder_count == 2 ? "Letzte " : "") . "Erinnerung: " . $row->turnierbezeichnung . " Ergebnisse einreichen!";
|
||||
$body = "Hi,"
|
||||
. "\n\nDies ist die " . $currentReminder . ". " . ($row->reminder_count == 2 ? "*und damit letzte* " : "") . "Erinnerung die Turnierergebnisse einzureichen."
|
||||
. "\n\nTurnier: " . $row->turnierbezeichnung
|
||||
. "\nTurnierende: " . FormatiertesDatum($row->letzter_tag, false, false)
|
||||
. "\n\nLaut Turnierordnung müssen die Ergebnisse spätestens 24 Stunden nach Turnierende eingetragen werden. Bitte reich die Ergebnisse umgehend nach."
|
||||
. "\n\nDu erhältst diese Mail, weil du als Berechtigter für das Turnier eingetragen wurdest. Falls du nicht der Veranstalter bist, leite diese Email bitte entsprechend weiter."
|
||||
. "\n\nHochladen der Ergebnisse über " . SportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $row->turnier_id, -1) . ".";
|
||||
|
||||
$mailer->setSubject($subject);
|
||||
$mailer->setBody($body);
|
||||
|
||||
$emailArray = explode(", ", $row->emails);
|
||||
foreach ($emailArray as $email) {
|
||||
$mailer->addBcc($email);
|
||||
}
|
||||
$mailer->send();
|
||||
|
||||
updateDBReminders($db, $currentReminder, $row->turnier_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function updateDBReminders($db, $reminder, $tournamentId): void
|
||||
{
|
||||
$query = $db->getQuery(true)
|
||||
->update($db->quoteName('#__sportsmanager_turnier'))
|
||||
->set($db->quoteName('reminder_count') . ' = ' . $db->quote($reminder))
|
||||
->where($db->quoteName('turnier_id') . ' = ' . $db->quote($tournamentId));
|
||||
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* checks if a tournament has at least one result entry for a discipline
|
||||
* @param $db
|
||||
* @param $row mixed tournament entry
|
||||
* @return bool true if at least one result is given, else false
|
||||
* @since 2.2
|
||||
*/
|
||||
function hasResultsAlready($db, mixed $row): bool
|
||||
{
|
||||
$subQuery = $db->getQuery(true)
|
||||
->select($db->quoteName('turnierdisziplin_id'))
|
||||
->from($db->quoteName('#__sportsmanager_turnierdisziplin'))
|
||||
->where($db->quoteName('turnier_id') . ' = ' . $db->quote($row->turnier_id));
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select('COUNT(*) AS count')
|
||||
->from($db->quoteName('#__sportsmanager_turniermeldung', 'tm'))
|
||||
->where($db->quoteName('tm.turnierdisziplin_id') . ' IN (' . $subQuery . ')');
|
||||
|
||||
$result = loadResult($db, $query);
|
||||
return $result && $result[0]->count > 0;
|
||||
}
|
||||
@@ -727,9 +727,10 @@ class HTML_sportsmanager_admin
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<input style='height: 34px;' class="uk-select uk-form-width-medium" type="text"
|
||||
<input style='height: 34px;' class="uk-select uk-form-width-medium" type="text"
|
||||
id="show_member_count"
|
||||
value= <?php echo $einstellungen["anzahl_mitglieder_zeigen"]; ?>
|
||||
id="show_member_count" name="anzahl_mitglieder_zeigen" placeholder="Zahl eingeben">
|
||||
name="anzahl_mitglieder_zeigen" placeholder="Zahl eingeben">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -867,6 +868,22 @@ class HTML_sportsmanager_admin
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="enable_email_reminders"><?php echo Text::_('COM_SPORTSMANAGER_USE_EMAIL_REMINDERS'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="enable_email_reminders"
|
||||
id="enable_email_reminders" size="1">
|
||||
<?php
|
||||
echo "<option value='1'" . (isset($einstellungen['enable_email_reminders']) && $einstellungen['enable_email_reminders'] == 1 ? " selected" : "") . ">" . htmlentities_utf8(Text::_('JYES')) . "</option>";
|
||||
echo "<option value='0'" . (isset($einstellungen['enable_email_reminders']) && $einstellungen['enable_email_reminders'] == 0 ? " selected" : "") . ">" . htmlentities_utf8(Text::_('JNO')) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap colspan="2">
|
||||
|
||||
@@ -10455,7 +10472,7 @@ class HTML_sportsmanager_admin
|
||||
</datalist>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($veranstaltung->tabellenwertung == -4){ ?>
|
||||
<?php if ($veranstaltung->tabellenwertung == -4){ ?>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label for="heimrecht_losen"><?php echo Text::_('COM_SPORTSMANAGER_DRAW_FOR_HOME'); ?>
|
||||
@@ -10472,7 +10489,7 @@ class HTML_sportsmanager_admin
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php if ($veranstaltung->letzteRunde == $veranstaltung->naechsteRunde) {$display = "";} else {$display = "none";} ?>
|
||||
<tr style='display: <?php echo $display; ?>;'>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
@@ -11360,20 +11377,6 @@ class HTML_sportsmanager_admin
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TOURNAMENT'); ?>
|
||||
: <?php echo($row != null ? ($vorlage ? Text::_('COM_SPORTSMANAGER_ADD_VIA_TEMPLATE') : Text::_('COM_SPORTSMANAGER_CHANGING')) : Text::_('COM_SPORTSMANAGER_ADD')); ?></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
function letzter_tag_anzeigen() {
|
||||
if (document.getElementById("row_letzter_tag").style.display !== '') {
|
||||
document.getElementById("row_letzter_tag").style.display = '';
|
||||
document.getElementById("button_mehrtaegig").value = 'Eintägig'
|
||||
document.adminForm.mehrtaegig.value = 1;
|
||||
} else {
|
||||
document.getElementById("row_letzter_tag").style.display = 'none';
|
||||
document.getElementById("button_mehrtaegig").value = 'Mehrtägig'
|
||||
document.adminForm.mehrtaegig.value = 0;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table" style="width: 100%">
|
||||
@@ -11556,8 +11559,8 @@ class HTML_sportsmanager_admin
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium"
|
||||
name="berechtigt_fuer_turnier_user_<?php echo $nummer; ?>_id"
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_ELIGIBLE_USER'); ?>"
|
||||
size="1">
|
||||
id="eligible_for_tournament_<?php echo $nummer; ?>_id"
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_ELIGIBLE_USER'); ?>">
|
||||
<option value="0"></option>
|
||||
<?php
|
||||
foreach ($users as $user)
|
||||
@@ -11570,6 +11573,7 @@ class HTML_sportsmanager_admin
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
<tr id='eligible_for_tournament-error'></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -11586,14 +11590,51 @@ class HTML_sportsmanager_admin
|
||||
</div>
|
||||
|
||||
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
|
||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
|
||||
<input type="button" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
|
||||
onclick="window.location.href='<?php echo SportsManagerURL(); ?>'"
|
||||
class="button"/>
|
||||
<input type="hidden" name="task" value="admin_turnier_save"/>
|
||||
<input type="hidden" name="id" value="<?php echo($row != null ? $row->turnier_id : "0"); ?>"/>
|
||||
<input type="hidden" name="vorlage" value="<?php echo $vorlage; ?>"/>
|
||||
<input type="hidden" name="mehrtaegig"
|
||||
value="<?php echo !empty($row) && $row->erster_tag != $row->letzter_tag ? "1" : "0"; ?>"/>
|
||||
<input type="hidden" name="reminder_count"
|
||||
value="<?php echo !empty($row) ? $row->reminder_count : "0"; ?>"/>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
function letzter_tag_anzeigen() {
|
||||
if (document.getElementById("row_letzter_tag").style.display !== '') {
|
||||
document.getElementById("row_letzter_tag").style.display = '';
|
||||
document.getElementById("button_mehrtaegig").value = 'Eintägig'
|
||||
document.adminForm.mehrtaegig.value = 1;
|
||||
} else {
|
||||
document.getElementById("row_letzter_tag").style.display = 'none';
|
||||
document.getElementById("button_mehrtaegig").value = 'Mehrtägig'
|
||||
document.adminForm.mehrtaegig.value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById('adminForm').addEventListener('submit', function(e) {
|
||||
// Get all selects
|
||||
const selects = this.querySelectorAll('[id^="eligible_for_tournament_"]');
|
||||
let valid = false;
|
||||
|
||||
// Check if at least one has a value
|
||||
selects.forEach(select => {
|
||||
if (select.value !== '0') {
|
||||
valid = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (!valid) {
|
||||
e.preventDefault(); // Stop form submission
|
||||
document.getElementById('eligible_for_tournament-error').innerHTML = "<td colspan='2' style='color: red'>Please select at least one organizer.</td>";
|
||||
} else {
|
||||
document.getElementById('eligible_for_tournament-error').innerHTML = ""; // Clear error
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
; Sports Manager (C) 2006-2020, Sven Nickel (Test)
|
||||
; Sports Manager (C) 2006-2020, Sven Nickel (Test)
|
||||
COM_SPORTSMANAGER="Sports Manager"
|
||||
COM_SPORTSMANAGER_PLAYERS="Spieler"
|
||||
COM_SPORTSMANAGER_CLUBS="Vereine"
|
||||
@@ -1013,3 +1013,4 @@ COM_SPORTSMANAGER_ARIA_LABEL_CLUB="Verein"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS="Verschiebungen"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP="Spielverschiebungen durch diese Mannschaft"
|
||||
COM_SPORTSMANAGER_GAME_RESULT_DELAYS="Verzögerung"
|
||||
COM_SPORTSMANAGER_USE_EMAIL_REMINDERS="Verwende Email Erinnerungen"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
; Sports Manager (C) 2006-2020, Sven Nickel
|
||||
; Sports Manager (C) 2006-2020, Sven Nickel
|
||||
COM_SPORTSMANAGER="Sports Manager"
|
||||
COM_SPORTSMANAGER_PLAYERS="Players"
|
||||
COM_SPORTSMANAGER_CLUBS="Clubs"
|
||||
@@ -1011,3 +1011,4 @@ COM_SPORTSMANAGER_ARIA_LABEL_CLUB="Club"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS="Shifts"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP="Game shifts caused by this team"
|
||||
COM_SPORTSMANAGER_GAME_RESULT_DELAYS="Delay"
|
||||
COM_SPORTSMANAGER_USE_EMAIL_REMINDERS="Use email reminders"
|
||||
|
||||
@@ -905,6 +905,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
||||
. "\n `letzter_tag` date DEFAULT NULL,"
|
||||
. "\n `kategorie` tinyint(4) DEFAULT '1',"
|
||||
. "\n `reminder_count` tinyint DEFAULT '0',"
|
||||
. "\n PRIMARY KEY (`turnier_id`),"
|
||||
. "\n KEY `saison_id` (`saison_id`),"
|
||||
. "\n KEY `veranstalter_id` (`veranstalter_id`)"
|
||||
@@ -1117,7 +1118,7 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '107';";
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '108';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
@@ -1144,15 +1145,19 @@ return new class () implements InstallerScriptInterface
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verband_anzeigen', wert = '1';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'enable_email_reminders', wert = '0';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen)"
|
||||
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
|
||||
$db->setQuery($query);
|
||||
|
||||
Reference in New Issue
Block a user