yudhaez0212

Untitled

Jan 6th, 2021
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.94 KB | None | 0 0
  1. sebelum memasukkin sebuah mekanisme tehnikal pada file ini, disini ada beberapa
  2. private function yang akan dijadikan untuk mekanisme pemanggilan secara global
  3. dan berikut dibawah ini adalah list konfigurasi settingan function global tersebut
  4.  
  5. // ini adalah sebuah prefix
  6. private $prefix = 'video_category';
  7.  
  8. // ini adalah nama table dari database
  9. private $table_db = 'vs_category';
  10.  
  11. // ini adalah judul yang akan digunakan pada tampilan CMS
  12. private $title = 'Video Category';
  13.  
  14. // ini adalah Prefix URL untuk bagian tampilannya
  15. private $url = 'admin/video_streaming/video_category/';
  16.  
  17. // additional settings
  18. private $setting;
  19.  
  20. | function __construct
  21.  
  22. function construct ini dipanggil sebelum halaman php melakukan render secara utuh
  23. dalam suatu mekanisme, dan disini akan melakukan konfigurasi additional settings
  24. tadi pada bagian construct:
  25.  
  26. $this->setting = [
  27. 'instance' => $this->prefix,
  28. 'url' => $this->url,
  29. 'method' => $this->router->method,
  30. 'title' => $this->title,
  31. 'pagetitle' => $this->title,
  32. ];
  33.  
  34. dan memanggil model yang diperlukan
  35. $this->load->model('admin/video_streaming/m_video_category');
  36.  
  37. | function get_table
  38.  
  39. function get_table adalah sebuah function untuk mengambil data dari database
  40. kemudian disajikan dalam bentuk data berupa table,
  41.  
  42. proses yang dilakukan ketika melakukan hit ke function ini adalah
  43. 1. akan melakukan pengkalkulasian data untuk pagination terlebih dahulu pada line 99:
  44. $iTotalRecords = $this->m_global->countDataAll($this->table_db, $join, $where, $whereE);
  45.  
  46. 2. pada variabel $tmpSelect ini berfungsi / bertujuan untuk mengambil kolom-kolom data dari table
  47. untuk disajikan berupa record table nantinya
  48.  
  49. $tmpSelect = [
  50. 'id',
  51. 'name',
  52. 'thumbnail',
  53. 'is_public',
  54. ];
  55.  
  56. dan setelah disajikan berupa variabel $tmpSelect , maka mekanisme itu akan langsung mengmabil data
  57. dengan function global pada line 122:
  58. $result = $this->m_global->getDataAll($this->table_db, $join, $where, $select, $whereE, $order, $iDisplayStart, $iDisplayLength);
  59.  
  60. variabel yang digunakan dan wajib diisi untuk memanggil line 122:
  61. - $join: dibutuhkan apabila ingin melakukan join table, contoh penggunaan:
  62. $join =
  63. [
  64. ['table' => 'op_sku ', 'on' => 'op_sku.internal_id = op_serial.sku'],
  65. ];
  66.  
  67. apabila tidak diperlukan maka bisa diisikan dengan array kosong
  68.  
  69. - $where: dibutuhkan apabila ingin melaukan where pada kolom tertentu, contoh penggunaan:
  70. $where['active'] = 1;
  71.  
  72. apabila tidak diperlukan maka bisa diisikan dengan $where = null
  73.  
  74. - $select: fungsinya untuk mengambil kolom-kolom dari data table yang sudah disajikan pada variabel $tmpSelect sebelumnya, contoh penggunaan:
  75. $select = implode(',', array_merge($tmpSelect));
  76.  
  77. - $whereE: sama seperti $where fungsionalnya dan contoh penggunaannya, ini apabila diperlukan query tambahan / additional query
  78.  
  79. - $order: untuk melakukan orderBy baik dari nama kolom maupun ascending ataupun descending, contoh pengunaan:
  80. $order = "`name` ASC";
  81.  
  82. - $iDisplayStart: ini untuk melakukan OFFSET pada pagination dan diisi berupa integer untuk valuenya
  83. - $iDisplayLength: ini untuk melakukan LIMIT pada pagination dan diisi juga berupa integer untuk valuenya
  84.  
  85. 3. kemudian yang terakhir, apabila datanya sudah berhasil dapat dari database, maka field-field tersebut akan disajikan
  86. melalui backend, dari line 125 s/d 137
  87.  
  88. kemudian akan dikirimkan ke bagian "Frontend CMS" pada line 148 yakni:
  89. echo json_encode($records);
  90.  
  91. | function change_status
  92.  
  93. mekanisme yang akan dijalankan ketika melakukan change_status yakni
  94. apabila status value nya adalah 99 / delete maka mekanismenya akan melakukan hapus data dengan function berikut ini:
  95.  
  96. $result = $this->m_global->delete($this->table_db, null, $where);
  97.  
  98. dan apabila bukan maka akan melakukan update status saja ke database dengan function berikut ini
  99.  
  100. $this->m_global->update($this->table_db, $data, null, $where);
  101.  
  102. | function create
  103.  
  104. ketika melakukan mekanisme create / menambahkan data, ada tiga function yang harus selalu dibawa yakni:
  105. $this->data['setting'] = $this->setting;
  106. $this->data['page_title'] = ucfirst($this->title);
  107. $this->data['assets_plugin'] = array('fileinput');
  108.  
  109. dan untuk validasi form maka akan menggunakan library dari PHP yakni
  110. $this->load->library('form_validation');
  111.  
  112. dan cara penggunaannya adalah sebagai berikut
  113. $this->form_validation->set_rules('formName', 'keterangan field', 'aturan');
  114.  
  115. untuk tutorial penggunaan form validation lebih lanjut,
  116. dapat ditemukan pada halaman berikut:
  117. https://codeigniter.com/userguide3/libraries/form_validation.html#form-validation-tutorial
  118.  
  119. kemudian apabila function tersebut bukan melakukan pengiriman data
  120. maka code yang akan di-hit adalah line 176 - 178
  121.  
  122. dan apabila function tersebut melakukan pengiriman data maka code yang akan di-hit adalah 180 - 205
  123.  
  124. dan disini akan melakukan mekanisme proses data dengan function
  125. - resizeImage
  126. - $this->db->trans_start()
  127. - $this->input->post()
  128. - $this->db->insert($this->table_db, $data)
  129.  
  130. $data didapatkan berdasarkan hasil mapping data dari variabel $input
  131.  
  132. | function edit
  133.  
  134. ketika melakukan mekanisme edit / mengupdate data, ada tiga function yang harus selalu dibawa yakni:
  135. $this->data['setting'] = $this->setting;
  136. $this->data['page_title'] = ucfirst($this->title);
  137. $this->data['assets_plugin'] = array('fileinput');
  138.  
  139. dan untuk validasi form maka akan menggunakan library dari PHP yakni
  140. $this->load->library('form_validation');
  141.  
  142. dan cara penggunaannya adalah sebagai berikut
  143. $this->form_validation->set_rules('formName', 'keterangan field', 'aturan');
  144.  
  145. untuk tutorial penggunaan form validation lebih lanjut,
  146. dapat ditemukan pada halaman berikut:
  147. https://codeigniter.com/userguide3/libraries/form_validation.html#form-validation-tutorial
  148.  
  149. kemudian apabila function tersebut bukan melakukan pengiriman data
  150. maka code yang akan di-hit adalah line 223 - 230
  151.  
  152. dan apabila function tersebut melakukan pengiriman data maka code yang akan di-hit adalah 232 - 258
  153.  
  154. dan disini akan melakukan mekanisme proses data dengan function
  155. - resizeImage
  156. - $this->db->trans_start()
  157. - $this->input->post()
  158. - $this->db->insert($this->table_db, $data)
  159.  
  160. $data didapatkan berdasarkan hasil mapping data dari variabel $input
  161.  
  162. | function delete
  163.  
  164. function ini akan dipanggil ketika melakukan hapus data lebih dari 1 data / multiple delete
  165. function yang akan dipanggil adalah:
  166.  
  167. // sebagai mekanisme untuk hapus data
  168. - $this->ion_auth->delete_group($group_id)
  169.  
  170. // untuk alert penanda error / sukses
  171. $this->session->set_flashdata('message', $this->ion_auth->messages());
  172.  
  173. | function valid_upload
  174.  
  175. valid_upload ini digunakan untuk mekanisme mengupload thumbnail dan hal yang wajib
  176. dikonfigurasikan sebelum memanggil function do_upload adalah variabel config sebagai berikut
  177.  
  178. $config['upload_path'] = './assets/uploads/' . $this->prefix;
  179.  
  180. # start of boleh untuk dirubah
  181. // setting untuk format tipe data
  182. $config['allowed_types'] = 'gif|jpg|jpeg|png';
  183.  
  184. // ukuran maksimal data
  185. $config['max_size'] = 5024;
  186.  
  187. // ukuran maksimal width pada gambar
  188. $config['max_width'] = 5024;
  189.  
  190. // ukuran maksimal height pada gambar
  191. $config['max_height'] = 5024;
  192. # end of boleh untuk dirubah
  193.  
  194. $config['file_name'] = strtolower(create_slug(time()));
  195.  
  196. apabila settingan config ini salah maka akan muncul error
  197. dan apabila ketika mekanisme upload ini tidak memenuhi kriteria
  198. misalnya ukuran gambarnya adalah 10240 x 10240 maka akan menampilkan pesan error
  199. karena melebihi kapasitas yang telah dikonfigurasikan sebelumnya
  200.  
  201. kemudian setelah melakukan konfigurasi, maka akan memanggil function sebagai berikut
  202.  
  203. // lakukan persiapan untuk upload data
  204. $this->upload->initialize($config);
  205.  
  206. // validasi ketika upload data
  207. if (!$this->upload->do_upload('fileupload')) {
  208. // kalau gagal tampilkan error
  209. $this->form_validation->set_message('valid_upload', $this->upload->display_errors());
  210. return false;
  211. } else {
  212. // kalau berhasil tampilkan sukses
  213. $this->uploadData = $this->upload->data();
  214. return true;
  215. }
Add Comment
Please, Sign In to add comment