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 :  /proc/self/root/var/www/laciasmara.com/public_html/shop/application/controllers/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/var/www/laciasmara.com/public_html/shop/application/controllers/admin/Settings.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Settings extends Admin_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->helper('form');
        $this->load->model('configuration_m');
        $this->load->model('User_m');
    }

    public function index()
    {
        $data['userdata'] = $this->session->userdata();
        $data['title'] = 'Konfigurasi Website | Laciasmara';

        $this->load->view('admin_new/layouts/header', $data);
        $this->load->view('admin_new/settings/index');
        $this->load->view('admin_new/layouts/footer');
    }

    public function website()
    {
        $data['userdata'] = $this->session->userdata();
        $data['title'] = 'Konfigurasi Website | Laciasmara';

        $data['website_configuration'] = $this->configuration_m->get_configuration();
        $data['bank_information'] = $this->configuration_m->get_bank_information();

        $this->load->view('admin_new/layouts/header', $data);
        $this->load->view('admin_new/settings/index');
        $this->load->view('admin_new/layouts/footer');
    }

    public function users()
    {
        $data['userdata'] = $this->session->userdata();
        $data['title'] = 'Pengaturan Users | Laciasmara';
        $data['users'] = $this->User_m->get_admin_users();

        $this->load->view('admin_new/layouts/header', $data);
        $this->load->view('admin_new/settings/users/index');
        $this->load->view('admin_new/layouts/footer');
    }

    function add_user()
    {
        $data['userdata'] = $this->session->userdata();
        $data['title'] = 'Tambah User | Laciasmara';
        $this->load->view('admin_new/layouts/header', $data);
        $this->load->view('admin_new/settings/users/add');
        $this->load->view('admin_new/layouts/footer');
    }
    public function create_admin_user()
    {
        // Get form data
        $data = $this->input->post();

        // Validate required fields
        if (empty($data['name']) || empty($data['email']) || empty($data['password']) || empty($data['role'])) {
            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', 'Semua field wajib diisi');
            redirect('admin/settings/users/add');
            return;
        }

        // Check if email already exists
        $existing_user = $this->db->where('email', $data['email'])->get('admin_users')->row();
        if ($existing_user) {
            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', 'Email udah dipakai, pakai yang lain ya');
            redirect('admin/settings/users/add');
            return;
        }

        $active_status = 'inactive'; // Default to inactive
        if (isset($data['active']) && $data['active'] == '1') {
            $active_status = 'active';
        }

        $user_data = [
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => password_hash($data['password'], PASSWORD_BCRYPT), // Hashing password
            'role' => $data['role'],
            'status' => $active_status,
            'created_at' => date('Y-m-d H:i:s')
        ];

        // Begin transaction
        $this->db->trans_begin();

        try {
            $this->db->insert('admin_users', $user_data);

            if ($this->db->trans_status() === FALSE) {
                throw new Exception('Gagal menyimpan data user');
            }
            $this->db->trans_commit();

            $this->session->set_flashdata('message_type', 'success');
            $this->session->set_flashdata('message', 'User berhasil ditambahkan!');

            redirect('admin/settings/users');
        } catch (Exception $e) {
            $this->db->trans_rollback();

            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', $e->getMessage());

            redirect('admin/settings/users/add');
        }
    }
    function edit_user($id_user = NULL)
    {
        if (!$id_user) {
            redirect('admin/settings/users');
        }
        $data['userdata'] = $this->session->userdata();
        $data['title'] = 'Ubah User | Laciasmara';
        $data['user'] = $this->User_m->get_admin_user_by_id($id_user);
        if (!$data['user']) {
            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', 'User tidak ditemukan. coba lagi');
            redirect(base_url('admin/settings/users'));
            return;
        }
        $this->load->view('admin_new/layouts/header', $data);
        $this->load->view('admin_new/settings/users/edit');
        $this->load->view('admin_new/layouts/footer');
    }

    public function update_admin_user($id_user)
    {
        $data = $this->input->post();

        $active_status = 'inactive'; // Default to inactive
        if (isset($data['active']) && $data['active'] == '1') {
            $active_status = 'active';
        }

        $user_data = [
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => password_hash($data['password'], PASSWORD_BCRYPT),
            'role' => $data['role'],
            'status' => $active_status,
            'created_at' => date('Y-m-d H:i:s')
        ];

        $this->db->trans_begin();
        try {
            $this->db->where('id', $id_user);
            $this->db->update('admin_users', $user_data);
            if ($this->db->trans_status() === FALSE) {
                throw new Exception('Gagal memperbarui data halaman');
            }

            $this->db->trans_commit();
            $this->session->set_flashdata('message_type', 'success');
            $this->session->set_flashdata('message', 'User berhasil diperbarui!');
            redirect('admin/settings/users');
        } catch (Exception $e) {
            $this->db->trans_rollback();
            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', $e->getMessage());
            redirect('admin/settings/users/edit/' . $id_user);
        }
    }

    public function update_configuration()
    {
        $this->db->trans_start();
        $website_name = $this->input->post('website_name', true);
        $website_email = $this->input->post('website_email', true);
        $phone = $this->input->post('website_phone', true);
        $meta_title = $this->input->post('meta_title', true);
        $meta_description = $this->input->post('meta_description', true);

        $bank_information = $this->input->post('bank_information', true);
        try {
            $data = [
                'phone' => $phone,
                'website_name' => $website_name,
                'from_email' => $website_email,
                'browser_title' => $meta_title,
                'meta_description' => $meta_description,
            ];

            $this->db->where('id_configuration', 1);
            $this->db->update('configuration', $data);

            if (!empty($bank_information)) {
                foreach ($bank_information as $bank) {
                    // Pastikan semua field yang diperlukan ada dan tidak kosong
                    if (empty($bank['bank_name']) || empty($bank['account_number']) || empty($bank['account_holder'])) {
                        continue; // Lewati jika ada field yang kosong
                    }

                    // Data bank yang akan diupdate
                    $bank_data = [
                        'bank_name' => $bank['bank_name'],
                        'account_number' => $bank['account_number'],
                        'account_holder' => $bank['account_holder'],
                        'updated_at' => date('Y-m-d H:i:s')
                    ];

                    // Update data bank berdasarkan id_bank
                    if (isset($bank['id_bank']) && !empty($bank['id_bank'])) {
                        $this->db->where('id_bank', $bank['id_bank']);
                        $this->db->update('bank_accounts', $bank_data);
                    }
                }
            }


            if ($this->db->trans_status() === false) {
                throw new Exception('Database error occurred');
            }

            $this->db->trans_commit();

            // Set flashdata dan redirect
            $this->session->set_flashdata('message_type', 'success');
            $this->session->set_flashdata('message', 'Konfigurasi website berhasil diperbarui!');
            redirect(base_url('admin/settings/website'));
        } catch (Exception $e) {
            $this->db->trans_rollback();

            // Set flashdata untuk error dan redirect
            $this->session->set_flashdata('message_type', 'error');
            $this->session->set_flashdata('message', $e->getMessage());
            redirect(base_url('admin/settings/website'));
        }
    }
}

https://t.me/RX1948 - 2025