39728-vm/api/settings.php
2026-04-19 07:41:01 +00:00

57 lines
2.0 KiB
PHP

<?php
require_once __DIR__ . '/../includes/app.php';
require_auth();
$user = current_user();
if (!in_array($user['role'], ['owner', 'manager'])) {
set_flash('danger', tr('غير مصرح لك.', 'Unauthorized.'));
redirect_to('../index.php');
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$pdo = db();
$keys = [
'company_name_ar', 'company_name_en', 'vat_percentage',
'company_vat_number', 'company_phone', 'company_email', 'company_address'
];
$stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)");
foreach ($keys as $key) {
if (isset($_POST[$key])) {
$stmt->execute([$key, $_POST[$key]]);
}
}
// Handle logo upload
$uploadDir = __DIR__ . '/../assets/images/';
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
if (isset($_FILES['company_logo']) && $_FILES['company_logo']['error'] === UPLOAD_ERR_OK) {
$ext = pathinfo($_FILES['company_logo']['name'], PATHINFO_EXTENSION);
$filename = 'logo_' . time() . '.' . $ext;
if (move_uploaded_file($_FILES['company_logo']['tmp_name'], $uploadDir . $filename)) {
$stmt->execute(['company_logo', 'assets/images/' . $filename]);
}
}
// Handle favicon upload
if (isset($_FILES['company_favicon']) && $_FILES['company_favicon']['error'] === UPLOAD_ERR_OK) {
$ext = pathinfo($_FILES['company_favicon']['name'], PATHINFO_EXTENSION);
$filename = 'favicon_' . time() . '.' . $ext;
if (move_uploaded_file($_FILES['company_favicon']['tmp_name'], $uploadDir . $filename)) {
$stmt->execute(['company_favicon', 'assets/images/' . $filename]);
}
}
set_flash('success', tr('تم حفظ الإعدادات بنجاح.', 'Settings saved successfully.'));
// Redirect back to referring page
$referer = $_SERVER['HTTP_REFERER'] ?? '../index.php';
header('Location: ' . $referer);
exit;
}