This commit is contained in:
2026-04-06 09:26:59 +02:00
26 changed files with 619 additions and 797 deletions
+15 -12
View File
@@ -185,9 +185,12 @@ PS
$body = @file_get_contents($url, false, $context);
$statusCode = 0;
$responseHeaders = function_exists('http_get_last_response_headers')
? http_get_last_response_headers()
: ($http_response_header ?? null);
if (isset($http_response_header) && is_array($http_response_header)) {
foreach ($http_response_header as $headerLine) {
if (is_array($responseHeaders)) {
foreach ($responseHeaders as $headerLine) {
if (preg_match('/^HTTP\/\S+\s+(\d{3})\b/', $headerLine, $matches) === 1) {
$statusCode = (int) $matches[1];
break;
@@ -233,7 +236,7 @@ function sendTelegramMessage(string $botToken, string $chatId, string $messageTe
if (!is_array($decoded)) {
return [
'ok' => false,
'description' => 'Telegram hat keine gueltige JSON-Antwort geliefert.',
'description' => 'Telegram hat keine gültige JSON-Antwort geliefert.',
];
}
@@ -304,7 +307,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
if ($action !== 'send_broadcast') {
$errors[] = 'Die angeforderte Aktion ist ungueltig.';
$errors[] = 'Die angeforderte Aktion ist ungültig.';
}
if ($messageText === '') {
@@ -348,7 +351,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
} elseif ($sendMode === 'selected') {
if (empty($selectedRecipientIds)) {
$errors[] = 'Bitte mindestens einen Empfaenger auswaehlen.';
$errors[] = 'Bitte mindestens einen Empfänger auswählen.';
} else {
foreach ($selectedRecipientIds as $recipientId) {
if (isset($recipientIndex[$recipientId])) {
@@ -357,13 +360,13 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
if (empty($targetRecipients)) {
$errors[] = 'Die ausgewaehlten Empfaenger konnten nicht geladen werden.';
$errors[] = 'Die ausgewählten Empfänger konnten nicht geladen werden.';
}
}
} elseif ($sendMode === 'all') {
$targetRecipients = $recipients;
} else {
$errors[] = 'Der Versandmodus ist ungueltig.';
$errors[] = 'Der Versandmodus ist ungültig.';
}
}
@@ -419,7 +422,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</p>
<table class="data-table mb-lg">
<tr><td>Verknuepfte Master-Konten</td><td><?= count($recipients) ?></td></tr>
<tr><td>Verknüpfte Master-Konten</td><td><?= count($recipients) ?></td></tr>
<tr><td>Bot</td><td><?= h(($telegramConfig['bot_username'] ?? '') !== '' ? '@' . (string) $telegramConfig['bot_username'] : 'nicht konfiguriert') ?></td></tr>
</table>
@@ -428,14 +431,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<input type="hidden" name="csrf_token" value="<?= h($_SESSION['telegram_broadcast_csrf']) ?>">
<div class="form-group">
<label>Empfaenger</label>
<label>Empfänger</label>
<label>
<input type="radio" name="send_mode" value="self" <?= $sendMode === 'self' ? 'checked' : '' ?>>
Nur an mich senden
</label>
<label>
<input type="radio" name="send_mode" value="selected" <?= $sendMode === 'selected' ? 'checked' : '' ?>>
An ausgewaehlte Nutzer senden
An ausgewählte Nutzer senden
</label>
<label>
<input type="radio" name="send_mode" value="all" <?= $sendMode === 'all' ? 'checked' : '' ?>>
@@ -444,7 +447,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</div>
<div class="form-group">
<label for="recipient_ids">Auswahl fuer "ausgewaehlte Nutzer"</label>
<label for="recipient_ids">Auswahl für "ausgewählte Nutzer"</label>
<select id="recipient_ids" name="recipient_ids[]" multiple size="8">
<?php foreach ($recipients as $recipient): ?>
<?php $recipientId = (int) $recipient['id']; ?>
@@ -473,7 +476,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</div>
<div class="card">
<h2>Empfaenger</h2>
<h2>Empfänger</h2>
<?php if (empty($recipients)): ?>
<p class="hint">Noch keine verknuepften Master-Konten vorhanden.</p>
<?php else: ?>
+5 -5
View File
@@ -36,7 +36,7 @@ $publicBasePath = '../';
$pageTitle = 'Telegram verbinden - AstroTools';
$headerIntroPre = 'Konto';
$headerIntroTitle = 'Telegram verbinden';
$headerIntroSub = 'Bot-Verknuepfung fuer spaetere Benachrichtigungen.';
$headerIntroSub = 'Bot-Verknüpfung für spätere Benachrichtigungen.';
function h(?string $value): string
{
@@ -107,7 +107,7 @@ $deepLink = $botUsername !== ''
<?php require __DIR__ . '/../header.php'; ?>
<div class="card">
<h2>Telegram-Verknuepfung</h2>
<h2>Telegram-Verknüpfung</h2>
<p class="hint">
Diese Verbindung merkt sich die Chat-ID deines Telegram-Kontos, damit spaeter ein Bot dir Inhalte direkt schicken kann.
</p>
@@ -122,11 +122,11 @@ $deepLink = $botUsername !== ''
<?php if ($deepLink !== null): ?>
<p>
<a class="btn btn-primary" href="<?= h($deepLink) ?>" target="_blank" rel="noopener">Bot in Telegram oeffnen</a>
<a class="btn btn-primary" href="<?= h($deepLink) ?>" target="_blank" rel="noopener">Bot in Telegram öffnen</a>
</p>
<div class="telegram-qr-block">
<div class="telegram-qr-image" id="telegramConnectQrLarge" data-telegram-link="<?= h($deepLink) ?>"></div>
<p class="hint">QR-Code mit dem Handy scannen. Telegram oeffnet dann direkt den richtigen Bot mit deinem Verknuepfungslink.</p>
<p class="hint">QR-Code mit dem Handy scannen. Telegram öffnet dann direkt den richtigen Bot mit deinem Verknüpfungslink.</p>
</div>
<?php else: ?>
<p class="hint">
@@ -144,7 +144,7 @@ $deepLink = $botUsername !== ''
</div>
<p class="hint">
Nach erfolgreicher Verknuepfung kannst du zurueck zu <a href="<?= h($publicBasePath . 'settings.php') ?>">Einstellungen</a>.
Nach erfolgreicher Verknüpfung kannst du zurück zu <a href="<?= h($publicBasePath . 'settings.php') ?>">Einstellungen</a>.
</p>
</div>