S
SRIE POS
Point of Sales & Business
Selamat datang
Masuk untuk mengelola bisnis Anda.
Email
Kata sandi
Masuk
Belum punya akun bisnis?
Daftar bisnis baru
// Settings & Profile handlers $settings = []; if ($u && ($u['role']??'')==='superadmin') { try { $q = db()->query('SELECT setting_key, setting_value FROM settings'); while ($r = $q->fetch()) $settings[$r['setting_key']] = $r['setting_value']; } catch (Throwable $e) {} } if ($page==='settings-save' && $_SERVER['REQUEST_METHOD']==='POST' && ($u['role']??'')==='superadmin') { verify_csrf(); $group = $_POST['group'] ?? ''; $pairs = []; if ($group==='general') { $pairs['app_name'] = trim($_POST['app_name']??''); } elseif ($group==='pwa') { $pairs['pwa_enabled'] = isset($_POST['pwa_enabled']) ? '1' : '0'; } elseif ($group==='homepage') { $pairs['homepage_title'] = trim($_POST['homepage_title']??''); $pairs['homepage_content'] = trim($_POST['homepage_content']??''); } elseif ($group==='payment') { $pairs['payment_methods'] = implode(',', $_POST['methods']??[]); } elseif ($group==='printer') { $pairs['printer_name'] = trim($_POST['printer_name']??''); $pairs['printer_width'] = $_POST['printer_width']??'80'; $pairs['printer_auto'] = isset($_POST['printer_auto'])?'1':'0'; $pairs['printer_header'] = trim($_POST['printer_header']??''); $pairs['printer_footer'] = trim($_POST['printer_footer']??''); } elseif ($group==='email') { $pairs['email_from'] = trim($_POST['email_from']??''); $pairs['email_smtp_host'] = trim($_POST['email_smtp_host']??''); } elseif ($group==='slide') { $pairs['slide_enabled'] = isset($_POST['slide_enabled']) ? '1' : '0'; } elseif ($group==='menu') { $pairs['menu_header'] = trim($_POST['menu_header']??''); $pairs['menu_footer'] = trim($_POST['menu_footer']??''); $pairs['copyright'] = trim($_POST['copyright']??''); } try { $up = db()->prepare('INSERT INTO settings (setting_key, setting_value) VALUES (?,?) ON DUPLICATE KEY UPDATE setting_value=VALUES(setting_value)'); foreach ($pairs as $k=>$v) $up->execute([$k, $v]); $success = 'Pengaturan berhasil disimpan.'; } catch (Throwable $e) { $error = 'Gagal menyimpan. Jalankan migrasi 007_settings.sql terlebih dahulu.'; } $page = 'settings-'.$group; } if ($page==='profile-save' && $_SERVER['REQUEST_METHOD']==='POST') { verify_csrf(); $name = trim($_POST['name']??''); $email = trim($_POST['email']??''); if ($name==='' || !filter_var($email, FILTER_VALIDATE_EMAIL)) { $error='Nama dan email wajib diisi dengan benar.'; } else { try { $q = db()->prepare('UPDATE users SET name=?, email=? WHERE id=?'); $q->execute([$name, $email, $u['id']]); $u['name'] = $name; $u['email'] = $email; $success = 'Profil berhasil diperbarui.'; } catch (Throwable $e) { $error = 'Gagal memperbarui profil.'; } } $page = 'profile'; }