Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.90 KB | None | 0 0
  1. <?php
  2.  
  3. if (!defined('BASEPATH'))
  4. exit('No direct script access allowed');
  5.  
  6. class Apartemen extends CI_Controller
  7. {
  8.  
  9.  
  10. function __construct()
  11. {
  12. parent::__construct();
  13. date_default_timezone_set('Asia/Jakarta');
  14. $this->load->model('apartemen_model');
  15. $this->load->model('files');
  16. $this->load->helper(array('url','file'));
  17. $this->load->library(array('form_validation','ion_auth','cart','session','upload'));
  18. if (!$this->ion_auth->logged_in()) {//cek login ga?
  19. redirect('auth/login','refresh');
  20. }else{
  21. if (!$this->ion_auth->in_group('admin')) {//cek admin ga?
  22. redirect('auth/login','refresh');
  23. }
  24. }
  25. }
  26.  
  27. public function index()
  28. {
  29. $this->page();
  30. }
  31.  
  32. public function page($offset=0)
  33. {
  34. $kat = urldecode($this->input->get('q', TRUE));
  35. $q = urldecode($this->input->get('q', TRUE));
  36. $start = intval($this->input->get('start'));
  37.  
  38. if ($q <> '') {
  39. $config['base_url'] = base_url() . 'apartemen/page?q=' . urlencode($q);
  40. $config['first_url'] = base_url() . 'apartemen/page?q=' . urlencode($q);
  41. } else {
  42. $config['base_url'] = base_url() . 'apartemen/page';
  43. $config['first_url'] = base_url() . 'apartemen/page';
  44. }
  45.  
  46. $config['per_page'] = 2;
  47. $config['page_query_string'] = TRUE;
  48. $config['total_rows'] = $this->apartemen_model->total_rows($q);
  49. $datane = $this->apartemen_model->get_limit_data($config['per_page'], $start, $q);
  50.  
  51. $this->load->library('pagination');
  52. $this->pagination->initialize($config);
  53.  
  54. $data = array(
  55. 'data' => $datane,
  56. 'q' => $q,
  57. 'pagination' => $this->pagination->create_links(),
  58. 'total_rows' => $config['total_rows'],
  59. 'start' => $start,
  60. );
  61.  
  62. $this->template->load('template','apartemen_list', $data);
  63. }
  64.  
  65. public function read($id)
  66. {
  67. $row = $this->apartemen_model->get_by_id($id);
  68. if ($row) {
  69. $data = array(
  70. 'apartemen_id' => $row->apartemen_id,
  71. 'developer_nama' => $row->developer_nama,
  72. 'user_id' => $row->user_id,
  73. 'apartemen_judul' => $row->apartemen_judul,
  74. 'apartemen_slug' => $row->apartemen_slug,
  75. 'apartemen_meta_keyword' => $row->apartemen_meta_keyword,
  76. 'apartemen_meta_description' => $row->apartemen_meta_description,
  77. 'apartemen_tag' => $row->apartemen_tag,
  78. 'apartemen_alamat' => $row->apartemen_alamat,
  79. 'apartemen_deskripsi' => $row->apartemen_deskripsi,
  80. 'apartemen_luas_tanah' => $row->apartemen_luas_tanah,
  81. 'apartemen_luas_bangunan' => $row->apartemen_luas_bangunan,
  82. 'apartemen_lantai' => $row->apartemen_lantai,
  83. 'apartemen_jml_kamar_tidur' => $row->apartemen_jml_kamar_tidur,
  84. 'apartemen_jml_kamar_mandi' => $row->apartemen_jml_kamar_mandi,
  85. 'apartemen_view' => $row->apartemen_view,
  86. 'apartemen_power_listrik' => $row->apartemen_power_listrik,
  87. 'apartemen_sertifikasi' => $row->apartemen_sertifikasi,
  88. 'apartemen_harga' => $row->apartemen_harga,
  89. 'apartemen_image' => $row->apartemen_image,
  90. 'apartemen_headline' => $row->apartemen_headline,
  91. 'apartemen_status' => $row->apartemen_status,
  92. 'apartemen_created' => $row->apartemen_created,
  93. 'apartemen_edited' => $row->apartemen_edited,
  94. 'apartemen_read' => $row->apartemen_read,
  95. );
  96. $this->template->load('template','apartemen_read', $data);
  97. } else {
  98. $this->session->set_flashdata('message', 'Record Not Found');
  99. redirect(site_url('apartemen'));
  100. }
  101. }
  102.  
  103. public function create()
  104. {
  105. $data = array(
  106. 'button' => 'Create',
  107. 'action' => site_url('apartemen/create_action'),
  108. 'apartemen_id' => set_value('apartemen_id'),
  109. 'developer_id' => set_value('developer_id'),
  110. 'user_id' => get_name_by_id(),
  111. 'apartemen_judul' => set_value('apartemen_judul'),
  112. 'apartemen_meta_keyword' => set_value('apartemen_meta_keyword'),
  113. 'apartemen_meta_description'=> set_value('apartemen_meta_description'),
  114. 'apartemen_tag' => set_value('apartemen_tag'),
  115. 'apartemen_alamat' => set_value('apartemen_alamat'),
  116. 'apartemen_deskripsi' => set_value('apartemen_deskripsi'),
  117. 'apartemen_luas_tanah' => set_value('apartemen_luas_tanah'),
  118. 'apartemen_luas_bangunan' => set_value('apartemen_luas_bangunan'),
  119. 'apartemen_lantai' => set_value('apartemen_lantai'),
  120. 'apartemen_jml_kamar_tidur' => set_value('apartemen_jml_kamar_tidur'),
  121. 'apartemen_jml_kamar_mandi' => set_value('apartemen_jml_kamar_mandi'),
  122. 'apartemen_view' => set_value('apartemen_view'),
  123. 'apartemen_power_listrik' => set_value('apartemen_power_listrik'),
  124. 'sertifikasi' => set_value('apartemen_sertifikasi'),
  125. 'apartemen_sertifikasi' => $this->db->anggota_enum('apartemen','apartemen_sertifikasi'),
  126. 'apartemen_harga' => set_value('apartemen_harga'),
  127. 'apartemen_image' => set_value('apartemen_image'),
  128. 'apartemen_headline' => set_value('apartemen_headline'),
  129. 'apartemen_status' => set_value('apartemen_status'),
  130. 'apartemen_created' => set_value('apartemen_created'),
  131. 'apartemen_edited' => set_value('apartemen_edited'),
  132. 'apartemen_read' => set_value('apartemen_read'),
  133. );
  134. $this->template->load('template','apartemen_form', $data);
  135. }
  136.  
  137. public function create_action()
  138. {
  139. $row = $this->apartemen_model->get_last_id();
  140. foreach ($row as $apartemen_data){
  141. $last_id = $apartemen_data->apartemen_id;
  142. }
  143. $id_apartemen = $last_id + 1;
  144.  
  145. $this->_rules();
  146. if ($this->form_validation->run() == FALSE) {
  147. $this->create();
  148. } else {
  149. if (!empty($_POST['tag'])){
  150. $tag_pilihan = $_POST['tag'];
  151. $tag = implode(',',$tag_pilihan);
  152. }else{
  153. $tag = '';
  154. }
  155.  
  156. $data = array(
  157. 'apartemen_id' => $id_apartemen,
  158. 'developer_id' => $this->input->post('developer_id',TRUE),
  159. 'user_id' => get_name_by_id(),
  160. 'apartemen_judul' => $this->input->post('apartemen_judul',TRUE),
  161. 'apartemen_slug' => slug($this->input->post('apartemen_judul',TRUE)),
  162. 'apartemen_meta_keyword' => $this->input->post('apartemen_meta_keyword',TRUE),
  163. 'apartemen_meta_description' => $this->input->post('apartemen_meta_description',TRUE),
  164. 'apartemen_tag' => $tag,
  165. 'apartemen_alamat' => $this->input->post('apartemen_alamat',TRUE),
  166. 'apartemen_deskripsi' => $this->input->post('apartemen_deskripsi',TRUE),
  167. 'apartemen_luas_tanah' => $this->input->post('apartemen_luas_tanah',TRUE),
  168. 'apartemen_luas_bangunan' => $this->input->post('apartemen_luas_bangunan',TRUE),
  169. 'apartemen_lantai' => $this->input->post('apartemen_lantai',TRUE),
  170. 'apartemen_jml_kamar_tidur' => $this->input->post('apartemen_jml_kamar_tidur',TRUE),
  171. 'apartemen_jml_kamar_mandi' => $this->input->post('apartemen_jml_kamar_mandi',TRUE),
  172. 'apartemen_view' => $this->input->post('apartemen_view',TRUE),
  173. 'apartemen_power_listrik' => $this->input->post('apartemen_power_listrik',TRUE),
  174. 'apartemen_sertifikasi' => $this->input->post('apartemen_sertifikasi',TRUE),
  175. 'apartemen_harga' => $this->input->post('apartemen_harga',TRUE),
  176. 'apartemen_headline' => 'Y',
  177. 'apartemen_status' => $this->input->post('apartemen_status',TRUE),
  178. 'apartemen_created' => date('Y-m-d H:i:s'),
  179. 'apartemen_edited' => '0000-00-00 00:00:00',
  180. 'apartemen_read' => '0',
  181. );
  182.  
  183.  
  184.  
  185. if(!empty($_FILES['apartemen_image']['name'])){
  186. $filesCount = count($_FILES['apartemen_image']['name']);
  187. for($i = 0; $i < $filesCount; $i++){
  188.  
  189. $slug = $data['apartemen_slug'];
  190. $config['file_name'] = $slug; //nama yang terupload nantinya
  191. $_FILES['apartemen_images']['name'] = $_FILES['apartemen_image']['name'][$i];
  192. $_FILES['apartemen_images']['type'] = $_FILES['apartemen_image']['type'][$i];
  193. $_FILES['apartemen_images']['tmp_name'] = $_FILES['apartemen_image']['tmp_name'][$i];
  194. $_FILES['apartemen_images']['error'] = $_FILES['apartemen_image']['error'][$i];
  195. $_FILES['apartemen_images']['size'] = $_FILES['apartemen_image']['size'][$i];
  196. $uploadPath = '../assets/images/apartemen/';
  197. $config['upload_path'] = $uploadPath;
  198. $config['allowed_types'] = 'gif|jpg|png';
  199. $this->load->library('upload', $config);
  200. $this->upload->initialize($config);
  201. if($this->upload->do_upload('apartemen_images')){
  202. $fileData = $this->upload->data();
  203. //Compress Image
  204. $configi['image_library'] ='gd2';
  205. $configi['source_image'] ='../assets/images/apartemen/'.$fileData['file_name'];
  206. $configi['create_thumb'] = FALSE;
  207. $configi['maintain_ratio'] = FALSE;
  208. $configi['quality'] = '100%';
  209. $configi['width'] = 700;
  210. $configi['height'] = 400;
  211. $configi['new_image'] = '../assets/images/apartemen/'.$fileData['file_name'];
  212. $this->load->library('image_lib', $configi);
  213. if (!$this->image_lib->resize()) {
  214. echo $this->image_lib->display_errors();
  215. }
  216.  
  217. $uploadData[$i]['kategori_id'] = '1';
  218. $uploadData[$i]['post_id'] = $id_apartemen;
  219. $uploadData[$i]['foto_nama'] = $fileData['file_name'];
  220.  
  221. }
  222. }
  223. if(!empty($uploadData)){
  224. //Insert file information into the database
  225. $insert = $this->files->insert($uploadData);
  226. $this->apartemen_model->insert($data);
  227. $this->session->set_flashdata('message', 'Create Record Success');
  228. redirect(site_url('apartemen'));
  229. }
  230. }else{
  231. echo "Tidak ada foto yang dipilih";
  232. }
  233. }
  234. }
  235. public function _rules()
  236. {
  237. $this->form_validation->set_rules('developer_id', 'kategori id', 'trim');
  238. $this->form_validation->set_rules('user_id', 'user id', 'trim');
  239. $this->form_validation->set_rules('apartemen_judul', 'apartemen judul', 'trim|required');
  240. $this->form_validation->set_rules('apartemen_slug', 'apartemen slug', 'trim');
  241. $this->form_validation->set_rules('apartemen_meta_keyword', 'apartemen meta keyword', 'trim');
  242. $this->form_validation->set_rules('apartemen_meta_description', 'apartemen meta description', 'trim');
  243. $this->form_validation->set_rules('apartemen_tag', 'apartemen tag', 'trim');
  244. $this->form_validation->set_rules('apartemen_alamat', 'apartemen alamat', 'trim|required');
  245. $this->form_validation->set_rules('apartemen_deskripsi', 'apartemen isi', 'trim|required');
  246. $this->form_validation->set_rules('apartemen_luas_tanah', 'apartemen luas tanah', 'trim');
  247. $this->form_validation->set_rules('apartemen_luas_bangunan', 'apartemen luas bangunan', 'trim');
  248. $this->form_validation->set_rules('apartemen_lantai', 'apartemen jml lantai', 'trim');
  249. $this->form_validation->set_rules('apartemen_jml_kamar_tidur', 'apartemen jml kamar tidur', 'trim');
  250. $this->form_validation->set_rules('apartemen_jml_kamar_mandi', 'apartemen jml kamar mandi', 'trim');
  251. $this->form_validation->set_rules('apartemen_view', 'apartemen view', 'trim');
  252. $this->form_validation->set_rules('apartemen_power_listrik', 'apartemen power listrik', 'trim');
  253. $this->form_validation->set_rules('apartemen_sertifikasi', 'apartemen harga njop', 'trim');
  254. $this->form_validation->set_rules('apartemen_harga', 'apartemen harga', 'trim');
  255. $this->form_validation->set_rules('apartemen_image', 'apartemen image', 'trim');
  256. $this->form_validation->set_rules('apartemen_headline', 'apartemen headline', 'trim');
  257. $this->form_validation->set_rules('apartemen_status', 'apartemen status', 'trim|required');
  258. $this->form_validation->set_rules('apartemen_id', 'apartemen_id', 'trim');
  259. $this->form_validation->set_error_delimiters('<span class="text-danger">', '</span>');
  260. }
  261.  
  262. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement