chartboard/app/Views/settings/notifications.php
2026-03-30 09:51:33 +05:30

75 lines
3.7 KiB
PHP

<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<header class="cb-page-header">
<div>
<h1 class="cb-page-title">Notification settings</h1>
<p class="cb-page-subtitle mb-0">SMTP and Slack delivery for alerts.</p>
</div>
</header>
<div class="cb-page-body">
<div class="row justify-content-center">
<div class="col-xl-9">
<?php if (session()->getFlashdata('success')): ?>
<div class="alert alert-success"><?= esc(session()->getFlashdata('success')) ?></div>
<?php endif; ?>
<?php if (session()->getFlashdata('error')): ?>
<div class="alert alert-danger"><?= esc(session()->getFlashdata('error')) ?></div>
<?php endif; ?>
<?php if (session()->getFlashdata('errors')): ?>
<div class="alert alert-danger">
<ul class="mb-0">
<?php foreach (session()->getFlashdata('errors') as $err): ?>
<li><?= esc(is_array($err) ? json_encode($err) : $err) ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<div class="card border-0 shadow-sm mb-4">
<div class="card-body">
<h2 class="h6">SMTP (email)</h2>
<p class="text-muted small">Values come from the application email configuration (<code>app/Config/Email.php</code> and environment). Use the test button to send yourself a message.</p>
<dl class="row small mb-3">
<dt class="col-sm-3">Host</dt>
<dd class="col-sm-9"><code><?= esc($smtpHost) ?></code></dd>
<dt class="col-sm-3">Port</dt>
<dd class="col-sm-9"><code><?= (int) $smtpPort ?></code></dd>
<dt class="col-sm-3">User</dt>
<dd class="col-sm-9"><code><?= esc($smtpUser !== '' ? $smtpUser : '—') ?></code></dd>
<dt class="col-sm-3">Encryption</dt>
<dd class="col-sm-9"><code><?= esc($smtpCrypto !== '' ? $smtpCrypto : 'none') ?></code></dd>
<dt class="col-sm-3">From</dt>
<dd class="col-sm-9"><code><?= esc($fromEmail) ?></code></dd>
</dl>
<form method="post" action="<?= base_url('settings/notifications/smtp-test') ?>">
<?= csrf_field() ?>
<button type="submit" class="btn btn-outline-primary btn-sm">Send SMTP test to my email</button>
</form>
</div>
</div>
<div class="card border-0 shadow-sm">
<div class="card-body">
<h2 class="h6">Slack</h2>
<p class="text-muted small">Incoming webhook URL (stored globally). Used for alert delivery when configured on an alert.</p>
<form method="post" action="<?= base_url('settings/notifications/slack-webhook') ?>" class="mb-3">
<?= csrf_field() ?>
<label class="form-label">Webhook URL</label>
<input type="url" name="slack_webhook_url" class="form-control" value="<?= esc(old('slack_webhook_url', $slackWebhookUrl)) ?>" placeholder="https://hooks.slack.com/services/...">
<div class="mt-2 d-flex gap-2">
<button type="submit" class="btn btn-primary btn-sm">Save webhook</button>
</div>
</form>
<form method="post" action="<?= base_url('settings/notifications/slack-test') ?>">
<?= csrf_field() ?>
<button type="submit" class="btn btn-outline-secondary btn-sm">Send Slack test</button>
</form>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>