https://t.me/RX1948
Server : Apache/2.4.18 (Ubuntu)
System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64
User : oppastar ( 1041)
PHP Version : 7.0.33-0ubuntu0.16.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Directory :  /var/www/laciasmara.com/public_html/shop/application/views/admin_new/warehouses/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/laciasmara.com/public_html/shop/application/views/admin_new/warehouses/edit.php
<div class="container mx-auto px-4 py-6">
    <div class="flex items-center mb-6">
        <a href="<?= base_url('admin/stocks/warehouses') ?>" class="text-blue-600 hover:text-blue-800 mr-2">
            <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
                <path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
            </svg>
        </a>
        <h1 class="text-2xl font-bold text-[#333]">Ubah Gudang</h1>
    </div>

    <!-- Flash Messages -->
    <?php if ($this->session->flashdata('message')): ?>
        <div class="alert flex items-center justify-between mb-2 bg-<?php echo $this->session->flashdata('message_type') === 'success' ? 'green' : 'red'; ?>-100 border-l-4 border-<?php echo $this->session->flashdata('message_type') === 'success' ? 'green' : 'red'; ?>-500 text-<?php echo $this->session->flashdata('message_type') === 'success' ? 'green' : 'red'; ?>-800 px-6 py-4 rounded-lg shadow-lg transition transform duration-300">
            <div class="flex items-center">
                <i data-feather="<?php echo $this->session->flashdata('message_type') === 'success' ? 'check-circle' : 'x-circle'; ?>" class="h-6 w-6 mr-3"></i>
                <span class="font-normal text-sm"><?php echo $this->session->flashdata('message'); ?></span>
            </div>
            <button class="ml-4 text-<?php echo $this->session->flashdata('message_type') === 'success' ? 'green' : 'red'; ?>-500 hover:text-<?php echo $this->session->flashdata('message_type') === 'success' ? 'green' : 'red'; ?>-700 focus:outline-none" onclick="this.parentElement.style.display='none'">
                <i data-feather="x" class="h-5 w-5"></i>
            </button>
        </div>
    <?php endif; ?>

    <div class="bg-white rounded-lg shadow-md overflow-hidden">
        <div class="px-4">
            <?= form_open_multipart('admin/warehouses/update_warehouse/' . $warehouse->id, 'class="space-y-4"') ?>

            <div>
                <label for="name" class="block text-sm font-medium text-[#333] mb-1">Nama Gudang</label>
                <input type="text" name="name" id="name" value="<?= $warehouse->name ?>" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukin nama gudangnya" required>
            </div>
            <div>
                <label for="alias" class="block text-sm font-medium text-[#333] mb-1">Alias</label>
                <input type="text" name="alias" id="alias" value="<?= $warehouse->alias ?>" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukin alias gudangnya" required>
            </div>
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                <div>
                    <label for="address" class="block text-sm font-medium text-[#333] mb-1">Alamat</label>
                    <textarea name="address" id="address" rows="3" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukin alamat gudangnya"><?= $warehouse->address ?></textarea>
                </div>
                <div>
                    <label for="phone" class="block text-sm font-medium text-[#333] mb-1">Nomor Telfon</label>
                    <input type="text" name="phone" id="phone" value="<?= $warehouse->phone ?>" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Nomor yang bisa dihubungi" required>
                </div>
            </div>

            <!-- Province -->
            <div>
                <div class="w-1/3">
                    <div class="flex items-center gap-2 mb-2">
                        <label class="text-[#333] font-medium text-sm">Provinsi</label>
                    </div>
                </div>

                <div class="w-full">
                    <select
                        id="province_id"
                        name="province_id"
                        required
                        class="mt-1 w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-1 focus:ring-[#7A4397] focus:outline-none text-[#333]">
                        <option value="" disabled>Pilih Provinsi</option>
                        <?php foreach ($provinces as $province): ?>
                            <option value="<?= $province->id ?>" <?= ($warehouse->id_province == $province->id) ? 'selected' : '' ?>><?= $province->name ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>

            <!-- District -->
            <div>
                <div class="w-1/3">
                    <div class="flex items-center gap-2 mb-2">
                        <label class="text-[#333] font-medium text-sm">Kabupaten/Kota</label>
                    </div>
                </div>

                <div class="w-full">
                    <select
                        id="district_id"
                        name="district_id"
                        required
                        class="mt-1 w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-1 focus:ring-[#7A4397] focus:outline-none text-[#333]">
                        <option value="" disabled>Pilih Kabupaten/Kota</option>
                        <!-- District options akan dimuat via JavaScript -->
                    </select>
                </div>
            </div>

            <!-- Subdistrict -->
            <div>
                <div class="w-1/3">
                    <div class="flex items-center gap-2 mb-2">
                        <label class="text-[#333] font-medium text-sm">Kecamatan</label>
                    </div>
                </div>

                <div class="w-full">
                    <select
                        id="subdistrict_id"
                        name="subdistrict_id"
                        required
                        class="mt-1 w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-1 focus:ring-[#7A4397] focus:outline-none text-[#333]">
                        <option value="" disabled>Pilih Kecamatan</option>
                        <!-- Subdistrict options akan dimuat via JavaScript -->
                    </select>
                </div>
            </div>

            <!-- Form Actions -->
            <div class="flex items-center justify-end space-x-3 py-4">
                <a href="<?= site_url('admin/stocks/warehouses') ?>" class="inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-[#333] bg-gray-200 hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500">
                    Batal
                </a>
                <button type="submit" class="inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-[#7A4397] hover:bg-white hover:border-[#7A4397] hover:text-[#7A4397] focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
                    Update Gudang
                </button>
            </div>
            <?= form_close() ?>
        </div>
    </div>
</div>

<script>
    document.addEventListener('DOMContentLoaded', function() {
        // Ambil elemen yang diperlukan
        const provinceSelect = document.getElementById('province_id');
        const districtSelect = document.getElementById('district_id');
        const subdistrictSelect = document.getElementById('subdistrict_id');

        // Data warehouse yang sudah ada
        const currentProvinceId = '<?= $warehouse->id_province ?>';
        const currentDistrictId = '<?= $warehouse->id_district ?>';
        const currentSubdistrictId = '<?= $warehouse->id_subdistrict ?>';

        // Get the CSRF token elements properly
        const CSRF_TOKEN = "<?= $this->security->get_csrf_token_name(); ?>";
        const CSRF_HASH = "<?= $this->security->get_csrf_hash(); ?>";

        // Track current CSRF token
        let csrfData = {
            name: CSRF_TOKEN,
            value: CSRF_HASH
        };

        // Setup fungsi untuk memperbarui CSRF token
        function updateCsrfToken(newToken) {
            if (newToken) {
                csrfData.value = newToken;
            }
        }

        // Fungsi untuk memuat kabupaten/kota
        function loadDistricts(provinceId, selectedDistrictId = null) {
            if (!provinceId) return;

            // Reset dropdown district dan subdistrict
            districtSelect.innerHTML = '<option value="" disabled selected>Memuat data...</option>';
            districtSelect.disabled = true;
            districtSelect.classList.add('bg-gray-100');

            if (!selectedDistrictId) {
                subdistrictSelect.innerHTML = '<option value="" disabled selected>Pilih Kabupaten/Kota Dulu</option>';
                subdistrictSelect.disabled = true;
                subdistrictSelect.classList.add('bg-gray-100');
            }

            // Buat form data untuk request
            const formData = new FormData();
            formData.append('province_id', provinceId);
            formData.append(csrfData.name, csrfData.value);

            // Kirim request Ajax
            fetch('<?= base_url('admin/customers/getDistricts') ?>', {
                    method: 'POST',
                    body: formData
                })
                .then(response => response.json())
                .then(data => {
                    // Update CSRF token
                    updateCsrfToken(data.csrf_token);

                    if (data.status === 'success') {
                        let options = '<option value="" disabled>Pilih Kabupaten/Kota</option>';
                        data.data.forEach(district => {
                            const selected = selectedDistrictId && district.id == selectedDistrictId ? 'selected' : '';
                            options += `<option value="${district.id}" ${selected}>${district.name}</option>`;
                        });

                        districtSelect.innerHTML = options;
                        districtSelect.disabled = false;
                        districtSelect.classList.remove('bg-gray-100');

                        // Jika ada district yang dipilih, load subdistricts
                        if (selectedDistrictId) {
                            loadSubdistricts(selectedDistrictId, currentSubdistrictId);
                        }
                    } else {
                        alert('Gagal memuat data kabupaten/kota: ' + data.message);
                    }
                })
                .catch(error => {
                    console.error('Error:', error);
                    alert('Terjadi kesalahan saat memuat data kabupaten/kota');
                });
        }

        // Fungsi untuk memuat kecamatan
        function loadSubdistricts(districtId, selectedSubdistrictId = null) {
            if (!districtId) return;

            // Reset dropdown subdistrict
            subdistrictSelect.innerHTML = '<option value="" disabled selected>Memuat data...</option>';
            subdistrictSelect.disabled = true;
            subdistrictSelect.classList.add('bg-gray-100');

            // Buat form data untuk request
            const formData = new FormData();
            formData.append('district_id', districtId);
            formData.append(csrfData.name, csrfData.value);

            // Kirim request Ajax
            fetch('<?= base_url('admin/customers/getSubdistricts') ?>', {
                    method: 'POST',
                    body: formData
                })
                .then(response => response.json())
                .then(data => {
                    // Update CSRF token
                    updateCsrfToken(data.csrf_token);

                    if (data.status === 'success') {
                        let options = '<option value="" disabled>Pilih Kecamatan</option>';
                        data.data.forEach(subdistrict => {
                            const selected = selectedSubdistrictId && subdistrict.id == selectedSubdistrictId ? 'selected' : '';
                            options += `<option value="${subdistrict.id}" ${selected}>${subdistrict.name}</option>`;
                        });

                        subdistrictSelect.innerHTML = options;
                        subdistrictSelect.disabled = false;
                        subdistrictSelect.classList.remove('bg-gray-100');
                    } else {
                        alert('Gagal memuat data kecamatan: ' + data.message);
                    }
                })
                .catch(error => {
                    console.error('Error:', error);
                    alert('Terjadi kesalahan saat memuat data kecamatan');
                });
        }

        // Event listener untuk perubahan dropdown provinsi
        provinceSelect.addEventListener('change', function() {
            loadDistricts(this.value);
        });

        // Event listener untuk perubahan dropdown district
        districtSelect.addEventListener('change', function() {
            loadSubdistricts(this.value);
        });

        // Load data saat halaman pertama kali dimuat
        if (currentProvinceId) {
            loadDistricts(currentProvinceId, currentDistrictId);
        }
    });
</script>

https://t.me/RX1948 - 2025