📄 settings.php
📁 Path: /home/skhata/pimsnepal.com.np/admin/settings.php
📊 Size: 4.29 KB
🔒 Perm: 0644
📝 MIME: text/x-php
<?php
require_once __DIR__ . '/../includes/functions.php';
requireAdmin();
$pageTitle = 'Site Settings';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
require __DIR__ . '/includes/ui.php';
if (!csrfVerify($_POST['csrf_token'] ?? null)) {
flash('error', 'Session expired, please try again.');
} else {
$logoPath = handleUpload('logo', 'branding');
$fields = [
'site_name' => trim($_POST['site_name'] ?? ''),
'tagline' => trim($_POST['tagline'] ?? ''),
'phone' => trim($_POST['phone'] ?? ''),
'whatsapp' => trim($_POST['whatsapp'] ?? ''),
'email' => trim($_POST['email'] ?? ''),
'address' => trim($_POST['address'] ?? ''),
'map_embed_url' => trim($_POST['map_embed_url'] ?? ''),
'facebook_url' => trim($_POST['facebook_url'] ?? ''),
'linkedin_url' => trim($_POST['linkedin_url'] ?? ''),
'instagram_url' => trim($_POST['instagram_url'] ?? ''),
'youtube_url' => trim($_POST['youtube_url'] ?? ''),
'promo_strip_enabled' => isset($_POST['promo_strip_enabled']) ? 1 : 0,
'promo_strip_text' => trim($_POST['promo_strip_text'] ?? ''),
'promo_strip_cta_text' => trim($_POST['promo_strip_cta_text'] ?? ''),
'promo_strip_cta_link' => trim($_POST['promo_strip_cta_link'] ?? ''),
];
$setSql = [];
$params = [];
foreach ($fields as $col => $val) {
$setSql[] = "$col = ?";
$params[] = $val;
}
if ($logoPath) {
$setSql[] = 'logo_path = ?';
$params[] = $logoPath;
}
db()->prepare('UPDATE settings SET ' . implode(', ', $setSql) . ' WHERE id = 1')->execute($params);
flash('success', 'Site settings updated.');
}
redirect('settings.php');
}
require __DIR__ . '/includes/admin-header.php';
require __DIR__ . '/includes/ui.php';
$settings = getSettings();
adminFlashBox();
?>
<form method="post" enctype="multipart/form-data" class="bg-white rounded-2xl border border-gray-100 p-6 max-w-3xl space-y-1">
<input type="hidden" name="csrf_token" value="<?= e(csrfToken()) ?>" />
<h2 class="font-heading font-semibold text-lg mb-4">Company Info</h2>
<?php inputField('Site Name', 'site_name', $settings['site_name'] ?? '', 'text', true); ?>
<?php inputField('Tagline', 'tagline', $settings['tagline'] ?? ''); ?>
<?php inputField('Phone', 'phone', $settings['phone'] ?? ''); ?>
<?php inputField('WhatsApp Number (digits only, with country code)', 'whatsapp', $settings['whatsapp'] ?? ''); ?>
<?php inputField('Email', 'email', $settings['email'] ?? '', 'email'); ?>
<?php inputField('Address / Location', 'address', $settings['address'] ?? ''); ?>
<?php textareaField('Google Maps Embed URL', 'map_embed_url', $settings['map_embed_url'] ?? '', 3); ?>
<label class="block mb-4">
<span class="block text-sm font-medium text-gray-700 mb-1.5">Logo</span>
<?php if (!empty($settings['logo_path'])): ?>
<img src="../<?= e($settings['logo_path']) ?>" class="h-16 w-16 object-contain mb-2 border border-gray-100 rounded-lg p-1" />
<?php endif; ?>
<input type="file" name="logo" accept="image/*" class="text-sm" />
</label>
<h2 class="font-heading font-semibold text-lg mb-4 mt-8">Social Links</h2>
<?php inputField('Facebook URL', 'facebook_url', $settings['facebook_url'] ?? ''); ?>
<?php inputField('LinkedIn URL', 'linkedin_url', $settings['linkedin_url'] ?? ''); ?>
<?php inputField('Instagram URL', 'instagram_url', $settings['instagram_url'] ?? ''); ?>
<?php inputField('YouTube URL', 'youtube_url', $settings['youtube_url'] ?? ''); ?>
<h2 class="font-heading font-semibold text-lg mb-4 mt-8">Promo Strip</h2>
<?php checkboxField('Show promo strip', 'promo_strip_enabled', !empty($settings['promo_strip_enabled'])); ?>
<?php inputField('Promo Text', 'promo_strip_text', $settings['promo_strip_text'] ?? ''); ?>
<?php inputField('CTA Button Text', 'promo_strip_cta_text', $settings['promo_strip_cta_text'] ?? ''); ?>
<?php inputField('CTA Button Link', 'promo_strip_cta_link', $settings['promo_strip_cta_link'] ?? ''); ?>
<button class="btn-primary-brand bg-primary text-white px-6 py-3 rounded-lg font-semibold mt-4">Save Settings</button>
</form>
<?php require __DIR__ . '/includes/admin-footer.php'; ?>