Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sebelum memasukkin sebuah mekanisme tehnikal pada file ini, disini ada beberapa
- private function yang akan dijadikan untuk mekanisme pemanggilan secara global
- dan berikut dibawah ini adalah list konfigurasi settingan function global tersebut
- // ini adalah sebuah prefix
- private $prefix = 'video_category';
- // ini adalah nama table dari database
- private $table_db = 'vs_category';
- // ini adalah judul yang akan digunakan pada tampilan CMS
- private $title = 'Video Category';
- // ini adalah Prefix URL untuk bagian tampilannya
- private $url = 'admin/video_streaming/video_category/';
- // additional settings
- private $setting;
- | function __construct
- function construct ini dipanggil sebelum halaman php melakukan render secara utuh
- dalam suatu mekanisme, dan disini akan melakukan konfigurasi additional settings
- tadi pada bagian construct:
- $this->setting = [
- 'instance' => $this->prefix,
- 'url' => $this->url,
- 'method' => $this->router->method,
- 'title' => $this->title,
- 'pagetitle' => $this->title,
- ];
- dan memanggil model yang diperlukan
- $this->load->model('admin/video_streaming/m_video_category');
- | function get_table
- function get_table adalah sebuah function untuk mengambil data dari database
- kemudian disajikan dalam bentuk data berupa table,
- proses yang dilakukan ketika melakukan hit ke function ini adalah
- 1. akan melakukan pengkalkulasian data untuk pagination terlebih dahulu pada line 99:
- $iTotalRecords = $this->m_global->countDataAll($this->table_db, $join, $where, $whereE);
- 2. pada variabel $tmpSelect ini berfungsi / bertujuan untuk mengambil kolom-kolom data dari table
- untuk disajikan berupa record table nantinya
- $tmpSelect = [
- 'id',
- 'name',
- 'thumbnail',
- 'is_public',
- ];
- dan setelah disajikan berupa variabel $tmpSelect , maka mekanisme itu akan langsung mengmabil data
- dengan function global pada line 122:
- $result = $this->m_global->getDataAll($this->table_db, $join, $where, $select, $whereE, $order, $iDisplayStart, $iDisplayLength);
- variabel yang digunakan dan wajib diisi untuk memanggil line 122:
- - $join: dibutuhkan apabila ingin melakukan join table, contoh penggunaan:
- $join =
- [
- ['table' => 'op_sku ', 'on' => 'op_sku.internal_id = op_serial.sku'],
- ];
- apabila tidak diperlukan maka bisa diisikan dengan array kosong
- - $where: dibutuhkan apabila ingin melaukan where pada kolom tertentu, contoh penggunaan:
- $where['active'] = 1;
- apabila tidak diperlukan maka bisa diisikan dengan $where = null
- - $select: fungsinya untuk mengambil kolom-kolom dari data table yang sudah disajikan pada variabel $tmpSelect sebelumnya, contoh penggunaan:
- $select = implode(',', array_merge($tmpSelect));
- - $whereE: sama seperti $where fungsionalnya dan contoh penggunaannya, ini apabila diperlukan query tambahan / additional query
- - $order: untuk melakukan orderBy baik dari nama kolom maupun ascending ataupun descending, contoh pengunaan:
- $order = "`name` ASC";
- - $iDisplayStart: ini untuk melakukan OFFSET pada pagination dan diisi berupa integer untuk valuenya
- - $iDisplayLength: ini untuk melakukan LIMIT pada pagination dan diisi juga berupa integer untuk valuenya
- 3. kemudian yang terakhir, apabila datanya sudah berhasil dapat dari database, maka field-field tersebut akan disajikan
- melalui backend, dari line 125 s/d 137
- kemudian akan dikirimkan ke bagian "Frontend CMS" pada line 148 yakni:
- echo json_encode($records);
- | function change_status
- mekanisme yang akan dijalankan ketika melakukan change_status yakni
- apabila status value nya adalah 99 / delete maka mekanismenya akan melakukan hapus data dengan function berikut ini:
- $result = $this->m_global->delete($this->table_db, null, $where);
- dan apabila bukan maka akan melakukan update status saja ke database dengan function berikut ini
- $this->m_global->update($this->table_db, $data, null, $where);
- | function create
- ketika melakukan mekanisme create / menambahkan data, ada tiga function yang harus selalu dibawa yakni:
- $this->data['setting'] = $this->setting;
- $this->data['page_title'] = ucfirst($this->title);
- $this->data['assets_plugin'] = array('fileinput');
- dan untuk validasi form maka akan menggunakan library dari PHP yakni
- $this->load->library('form_validation');
- dan cara penggunaannya adalah sebagai berikut
- $this->form_validation->set_rules('formName', 'keterangan field', 'aturan');
- untuk tutorial penggunaan form validation lebih lanjut,
- dapat ditemukan pada halaman berikut:
- https://codeigniter.com/userguide3/libraries/form_validation.html#form-validation-tutorial
- kemudian apabila function tersebut bukan melakukan pengiriman data
- maka code yang akan di-hit adalah line 176 - 178
- dan apabila function tersebut melakukan pengiriman data maka code yang akan di-hit adalah 180 - 205
- dan disini akan melakukan mekanisme proses data dengan function
- - resizeImage
- - $this->db->trans_start()
- - $this->input->post()
- - $this->db->insert($this->table_db, $data)
- $data didapatkan berdasarkan hasil mapping data dari variabel $input
- | function edit
- ketika melakukan mekanisme edit / mengupdate data, ada tiga function yang harus selalu dibawa yakni:
- $this->data['setting'] = $this->setting;
- $this->data['page_title'] = ucfirst($this->title);
- $this->data['assets_plugin'] = array('fileinput');
- dan untuk validasi form maka akan menggunakan library dari PHP yakni
- $this->load->library('form_validation');
- dan cara penggunaannya adalah sebagai berikut
- $this->form_validation->set_rules('formName', 'keterangan field', 'aturan');
- untuk tutorial penggunaan form validation lebih lanjut,
- dapat ditemukan pada halaman berikut:
- https://codeigniter.com/userguide3/libraries/form_validation.html#form-validation-tutorial
- kemudian apabila function tersebut bukan melakukan pengiriman data
- maka code yang akan di-hit adalah line 223 - 230
- dan apabila function tersebut melakukan pengiriman data maka code yang akan di-hit adalah 232 - 258
- dan disini akan melakukan mekanisme proses data dengan function
- - resizeImage
- - $this->db->trans_start()
- - $this->input->post()
- - $this->db->insert($this->table_db, $data)
- $data didapatkan berdasarkan hasil mapping data dari variabel $input
- | function delete
- function ini akan dipanggil ketika melakukan hapus data lebih dari 1 data / multiple delete
- function yang akan dipanggil adalah:
- // sebagai mekanisme untuk hapus data
- - $this->ion_auth->delete_group($group_id)
- // untuk alert penanda error / sukses
- $this->session->set_flashdata('message', $this->ion_auth->messages());
- | function valid_upload
- valid_upload ini digunakan untuk mekanisme mengupload thumbnail dan hal yang wajib
- dikonfigurasikan sebelum memanggil function do_upload adalah variabel config sebagai berikut
- $config['upload_path'] = './assets/uploads/' . $this->prefix;
- # start of boleh untuk dirubah
- // setting untuk format tipe data
- $config['allowed_types'] = 'gif|jpg|jpeg|png';
- // ukuran maksimal data
- $config['max_size'] = 5024;
- // ukuran maksimal width pada gambar
- $config['max_width'] = 5024;
- // ukuran maksimal height pada gambar
- $config['max_height'] = 5024;
- # end of boleh untuk dirubah
- $config['file_name'] = strtolower(create_slug(time()));
- apabila settingan config ini salah maka akan muncul error
- dan apabila ketika mekanisme upload ini tidak memenuhi kriteria
- misalnya ukuran gambarnya adalah 10240 x 10240 maka akan menampilkan pesan error
- karena melebihi kapasitas yang telah dikonfigurasikan sebelumnya
- kemudian setelah melakukan konfigurasi, maka akan memanggil function sebagai berikut
- // lakukan persiapan untuk upload data
- $this->upload->initialize($config);
- // validasi ketika upload data
- if (!$this->upload->do_upload('fileupload')) {
- // kalau gagal tampilkan error
- $this->form_validation->set_message('valid_upload', $this->upload->display_errors());
- return false;
- } else {
- // kalau berhasil tampilkan sukses
- $this->uploadData = $this->upload->data();
- return true;
- }
Add Comment
Please, Sign In to add comment