File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/public/app/Views/seller/settings.php
Back
<h4 class="fw-bold mb-4"><i class="bi bi-shop me-2"></i>จัดการข้อมูลร้านค้า</h4> <div class="row g-4"> <div class="col-lg-8"> <div class="card border-0 shadow-sm rounded-3"> <div class="card-body p-4 p-md-5"> <form action="<?= APP_URL ?>/seller/settings/update" method="POST" enctype="multipart/form-data"> <input type="hidden" name="csrf_token" value="<?= $csrf_token ?>"> <h5 class="fw-bold text-primary mb-3"><i class="bi bi-info-circle me-2"></i>ข้อมูลทั่วไป</h5> <div class="mb-3"> <label class="form-label font-semibold">ชื่อร้านค้า</label> <input type="text" name="shop_name" class="form-control" value="<?= Security::e($seller['shop_name'] ?? '') ?>" required> </div> <div class="mb-4"> <label class="form-label font-semibold">รายละเอียดร้านค้า</label> <textarea name="description" class="form-control" rows="4" placeholder="แนะนำร้านค้า ประเด็นจุดเด่นสินค้า..."><?= Security::e($seller['description'] ?? '') ?></textarea> </div> <h5 class="fw-bold text-primary mb-3"><i class="bi bi-image me-2"></i>รูปภาพและแบนเนอร์ร้านค้า</h5> <div class="row g-3 mb-4"> <div class="col-md-6"> <label class="form-label font-semibold">โลโก้ร้านค้า (Shop Logo)</label> <input type="file" name="logo" class="form-control" accept="image/*"> <div class="form-text">รองรับ JPG, PNG, GIF</div> </div> <div class="col-md-6"> <label class="form-label font-semibold">ภาพปก/แบนเนอร์ (Shop Banner)</label> <input type="file" name="banner" class="form-control" accept="image/*"> <div class="form-text">รองรับ JPG, PNG, GIF</div> </div> </div> <h5 class="fw-bold text-primary mb-3"><i class="bi bi-telephone me-2"></i>ข้อมูลติดต่อ & บัญชีรับเงิน</h5> <div class="row g-3 mb-3"> <div class="col-md-6"> <label class="form-label font-semibold">เบอร์โทรศัพท์ร้านค้า</label> <input type="text" name="phone" class="form-control" value="<?= Security::e($seller['phone'] ?? '') ?>" required> </div> <div class="col-md-6"> <label class="form-label font-semibold">เบอร์ PromptPay</label> <input type="text" name="promptpay_number" class="form-control" value="<?= Security::e($seller['promptpay_number'] ?? '') ?>"> </div> </div> <div class="mb-3"> <label class="form-label font-semibold">เลขที่บัญชีธนาคาร</label> <input type="text" name="bank_account" class="form-control" value="<?= Security::e($seller['bank_account'] ?? '') ?>" placeholder="เช่น KBANK 123-4-56789-0"> </div> <div class="mb-4"> <label class="form-label font-semibold">ที่อยู่ร้านค้า / สถานที่ส่งสินค้า</label> <textarea name="address" id="shopAddress" class="form-control mb-2" rows="3" required><?= Security::e($seller['address'] ?? '') ?></textarea> </div> <!-- Map Pinning Section --> <div class="mb-4"> <label class="form-label font-semibold d-flex justify-content-between align-items-center"> <span>แก้ไขการปักหมุดตำแหน่งร้านค้าบนแผนที่</span> <button type="button" id="searchAddressBtn" class="btn btn-sm btn-outline-secondary">ค้นหาจากที่อยู่ด้านบน</button> </label> <div id="mapSettings" style="height: 300px; border-radius: 8px;" class="border"></div> <div class="form-text mt-1 text-muted">คลิกเลือกตำแหน่งใหม่ร้านค้าของคุณบนแผนที่เพื่อปักหมุดแก้ไข</div> <input type="hidden" name="latitude" id="settingsLat" value="<?= Security::e($seller['latitude'] ?? '') ?>"> <input type="hidden" name="longitude" id="settingsLng" value="<?= Security::e($seller['longitude'] ?? '') ?>"> </div> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script> <script> document.addEventListener('DOMContentLoaded', function() { var defaultLat = 13.7563; var defaultLng = 100.5018; var initialLat = parseFloat(document.getElementById('settingsLat').value) || defaultLat; var initialLng = parseFloat(document.getElementById('settingsLng').value) || defaultLng; var map = L.map('mapSettings').setView([initialLat, initialLng], 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); var marker; if (document.getElementById('settingsLat').value && document.getElementById('settingsLng').value) { marker = L.marker([initialLat, initialLng], { draggable: true }).addTo(map); } function updateLatLng(lat, lng) { document.getElementById('settingsLat').value = lat.toFixed(8); document.getElementById('settingsLng').value = lng.toFixed(8); if (!marker) { marker = L.marker([lat, lng], { draggable: true }).addTo(map); marker.on('dragend', function(e) { var position = marker.getLatLng(); updateLatLng(position.lat, position.lng); }); } else { marker.setLatLng([lat, lng]); } } map.on('click', function(e) { updateLatLng(e.latlng.lat, e.latlng.lng); }); document.getElementById('searchAddressBtn').addEventListener('click', function() { var addr = document.getElementById('shopAddress').value; if (!addr) return alert('กรุณากรอกที่อยู่เพื่อค้นหา'); fetch('https://nominatim.openstreetmap.org/search?format=json&q=' + encodeURIComponent(addr)) .then(res => res.json()) .then(data => { if (data && data.length > 0) { var lat = parseFloat(data[0].lat); var lng = parseFloat(data[0].lon); map.setView([lat, lng], 15); updateLatLng(lat, lng); } else { alert('ไม่พบสถานที่ดังกล่าว กรุณาปักหมุดด้วยตนเอง'); } }); }); }); </script> <button type="submit" class="btn btn-primary px-4 py-2 fw-bold shadow-sm rounded-pill"><i class="bi bi-save me-2"></i>บันทึกการเปลี่ยนแปลง</button> </form> </div> </div> </div> <!-- Preview Box --> <div class="col-lg-4"> <div class="card border-0 shadow-sm rounded-3 overflow-hidden"> <div class="bg-secondary text-white text-center py-4 position-relative" style="background: url('<?= !empty($seller['banner']) ? APP_URL . '/public/' . $seller['banner'] : '' ?>') center/cover no-repeat; min-height: 120px;"> </div> <div class="card-body p-4 text-center"> <div class="mb-3" style="margin-top: -50px;"> <?php if (!empty($seller['logo'])): ?> <img src="<?= APP_URL . '/public/' . $seller['logo'] ?>" alt="Logo" class="rounded-circle shadow border border-3 border-white" style="width: 90px; height: 90px; object-fit: cover;"> <?php else: ?> <div class="rounded-circle bg-primary text-white d-inline-flex align-items-center justify-content-center shadow border border-3 border-white fs-2" style="width: 90px; height: 90px;"> <i class="bi bi-shop"></i> </div> <?php endif; ?> </div> <h5 class="fw-bold mb-1"><?= Security::e($seller['shop_name'] ?? 'ชื่อร้านค้า') ?></h5> <span class="badge bg-success mb-3">อนุมัติแล้ว</span> <p class="text-muted small mb-3"><?= Security::e($seller['description'] ?? 'ยังไม่มีรายละเอียดร้านค้า') ?></p> <hr> <div class="text-start small text-muted"> <div class="mb-1"><i class="bi bi-telephone me-2"></i><?= Security::e($seller['phone'] ?? '-') ?></div> <div class="mb-1"><i class="bi bi-qr-code me-2"></i>PromptPay: <?= Security::e($seller['promptpay_number'] ?? '-') ?></div> <div><i class="bi bi-geo-alt me-2"></i><?= Security::e($seller['address'] ?? '-') ?></div> </div> </div> </div> </div> </div>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.43 |
proxy
|
phpinfo
|
Settings