' . __('Access Denied') . ''; require_once __DIR__ . '/includes/footer.php'; exit; } $success = ''; $error = ''; $is_super = ($current_role === 'super_admin'); $stmt = db()->query("SELECT * FROM companies LIMIT 1"); $company = $stmt->fetch(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['save_company_profile'])) { $name_en = $_POST['name_en'] ?? ''; $name_ar = $_POST['name_ar'] ?? ''; $email = $_POST['email'] ?? ''; $phone = $_POST['phone'] ?? ''; $address_en = $_POST['address_en'] ?? ''; $address_ar = $_POST['address_ar'] ?? ''; $vat_no = $_POST['vat_no'] ?? ''; $ctr_no = $_POST['ctr_no'] ?? ''; $logo = $company['logo']; if (isset($_FILES['logo']) && !empty($_FILES['logo']['name'])) { if ($_FILES['logo']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION); $filename = 'logo_' . time() . '.' . $ext; $rel_path = 'assets/images/company/' . $filename; $abs_path = __DIR__ . '/' . $rel_path; if (!is_dir(dirname($abs_path))) mkdir(dirname($abs_path), 0775, true); if (move_uploaded_file($_FILES['logo']['tmp_name'], $abs_path)) { $logo = $rel_path; } else { $error .= "Failed to move uploaded logo. "; } } else { $error .= "Error uploading logo (Code: " . $_FILES['logo']['error'] . "). "; } } $favicon = $company['favicon']; if (isset($_FILES['favicon']) && !empty($_FILES['favicon']['name'])) { if ($_FILES['favicon']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['favicon']['name'], PATHINFO_EXTENSION); $filename = 'favicon_' . time() . '.' . $ext; $rel_path = 'assets/images/company/' . $filename; $abs_path = __DIR__ . '/' . $rel_path; if (!is_dir(dirname($abs_path))) mkdir(dirname($abs_path), 0775, true); if (move_uploaded_file($_FILES['favicon']['tmp_name'], $abs_path)) { $favicon = $rel_path; } else { $error .= "Failed to move uploaded favicon. "; } } else { $error .= "Error uploading favicon (Code: " . $_FILES['favicon']['error'] . "). "; } } try { $stmt = db()->prepare("UPDATE companies SET name_en = ?, name_ar = ?, logo = ?, favicon = ?, email = ?, phone = ?, address_en = ?, address_ar = ?, vat_number = ?, ctr_no = ?, vat_no = ? WHERE id = ?"); $stmt->execute([$name_en, $name_ar, $logo, $favicon, $email, $phone, $address_en, $address_ar, $vat_no, $ctr_no, $vat_no, $company['id']]); $success = __('success_update'); $stmt = db()->query("SELECT * FROM companies LIMIT 1"); $company = $stmt->fetch(); } catch (Exception $e) { $error = __('error_update') . ' ' . $e->getMessage(); } } if ($is_super && isset($_POST['save_whatsapp_settings'])) { set_setting('whatsapp_enabled', $_POST['whatsapp_enabled'] ?? '0'); set_setting('wablas_token', $_POST['wablas_token'] ?? ''); set_setting('wablas_server', $_POST['wablas_server'] ?? ''); set_setting('wablas_security_key', $_POST['wablas_security_key'] ?? ''); set_setting('msg_order_created_ar', $_POST['msg_order_created_ar'] ?? ''); set_setting('msg_order_ready_ar', $_POST['msg_order_ready_ar'] ?? ''); set_setting('msg_payment_ar', $_POST['msg_payment_ar'] ?? ''); $success = __('success_update'); } if ($is_super && isset($_POST['save_loyalty_settings'])) { set_setting('loyalty_enabled', $_POST['loyalty_enabled'] ?? '0'); set_setting('loyalty_points_per_currency', $_POST['loyalty_points_per_currency'] ?? '1'); set_setting('loyalty_currency_per_point', $_POST['loyalty_currency_per_point'] ?? '0.05'); $success = __('success_update'); } if ($is_super && isset($_POST['save_smtp_settings'])) { set_setting('smtp_host', $_POST['smtp_host'] ?? ''); set_setting('smtp_port', $_POST['smtp_port'] ?? '587'); set_setting('smtp_user', $_POST['smtp_user'] ?? ''); set_setting('smtp_pass', $_POST['smtp_pass'] ?? ''); set_setting('smtp_secure', $_POST['smtp_secure'] ?? 'tls'); $success = __('success_update'); } } // Ensure SMTP settings exist for display fallback if ($is_super) { if (get_setting('smtp_host') === null) { $env_host = getenv('SMTP_HOST'); set_setting('smtp_host', $env_host !== false ? $env_host : ''); $env_port = getenv('SMTP_PORT'); set_setting('smtp_port', $env_port !== false ? $env_port : '587'); $env_user = getenv('SMTP_USER'); set_setting('smtp_user', $env_user !== false ? $env_user : ''); $env_pass = getenv('SMTP_PASS'); set_setting('smtp_pass', $env_pass !== false ? $env_pass : ''); $env_secure = getenv('SMTP_SECURE'); set_setting('smtp_secure', $env_secure !== false ? $env_secure : 'tls'); } } ?>