Advertisement
Guest User

admin.php

a guest
Jun 27th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.68 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Admin extends CI_Controller {
  4. var $hak_akses=array('read','insert','edit','delete');
  5. var $nilai=array('Inactive','Active');
  6. public function __construct()
  7. {
  8. parent::__construct();
  9.  
  10. if(!$this->session->userdata('idn')) {
  11. if(!in_array($this->uri->segment(3,'index'),array('login','ajax_login'))) {
  12. redirect('idn/admin/login');
  13. }
  14. }
  15. }
  16.  
  17. public function index()
  18. {
  19. $this->load->library('grocery_CRUD');
  20. $crud = new grocery_CRUD();
  21. $crud->set_table('users');
  22. $crud->set_subject('Admin');
  23. $crud->set_relation_n_n('jabatan','user_jabatan','jabatan','user_id','jab_id','jab_nama');
  24. $crud->callback_column('hak_akses',array($this,'_cb_jm_hak_akses'));
  25. $state = $crud->getState();
  26. switch($state) {
  27. case 'add':
  28. case 'insert':
  29. case 'insert_validation':
  30. $crud->field_type('hak_akses','invisible');
  31. $crud->callback_before_insert(array($this,'_cb_ha'));
  32. break;
  33. case 'edit':
  34. case 'update':
  35. case 'update_validation':
  36. $crud->callback_edit_field('hak_akses',array($this,'_cb_f_e_ha'));
  37. $crud->callback_before_update(array($this,'_cb_e_ha'));
  38. break;
  39. }
  40. $crud->unset_jquery();
  41. $output = $crud->render();
  42. $output->js_files=$this->_adddropdown($output->js_files);
  43. $this->load->view('idn/header',$output);
  44. $this->load->view('idn/menu');
  45. $this->load->view('idn/content',$output);
  46. $this->load->view('idn/footer');
  47. }
  48.  
  49. function _cb_jm_hak_akses($value, $row) {
  50. $text='';
  51. $jab=array();
  52. $query=$this->db->query("SELECT jab_id, jab_nama FROM jabatan ORDER BY jab_id ASC");
  53. foreach($query->result_array() as $row) {
  54. $jab[$row['jab_id']]=$row['jab_nama'];
  55. }
  56. $query->free_result();
  57. $menu=array();
  58. $query=$this->db->query("SELECT menu_id, menu_nama FROM menu ORDER BY menu_id ASC");
  59. foreach($query->result_array() as $row) {
  60. $menu[$row['menu_id']]=$row['menu_nama'];
  61. }
  62. $query->free_result();
  63. $ha=unserialize($value);
  64. foreach($ha as $jabid=>$val1) {
  65. foreach($val1 as $menuid=>$hak) {
  66. $text.='Menu '.$menu[$menuid].' :<br />';
  67. foreach($this->hak_akses as $key2=>$val2) {
  68. $text.=$val2.' : '.$this->nilai[$hak[$key2]].'<br />';
  69. }
  70. $text.='<br />';
  71. }
  72. $text.='<br />';
  73. }
  74. return $text;
  75. }
  76.  
  77. function _cb_e_ha($post_array, $primary_key) {
  78. /*
  79. $query=$this->db->query("SELECT hak_akses FROM users WHERE user_id='".$primary_key."'");
  80. $ha=unserialize($query->row()->hak_akses);
  81. $query->free_result();
  82. foreach($ha as $jabid=>$val1) {
  83. foreach($val1 as $menuid=>$hak) {
  84. foreach($this->hak_akses as $key2=>$val2) {
  85. if(isset($post_array['ha_'.$jabid.'_'.$menuid.'_'.$key2])) {
  86. $ha[$jabid][$menuid][$key2]=1;
  87. unset($post_array['ha_'.$jabid.'_'.$menuid.'_'.$key2]);
  88. } else $ha[$jabid][$menuid][$key2]=0;
  89. }
  90. }
  91. }
  92. $post_array['hak_akses']=serialize($ha);
  93. return $post_array;*/
  94. /*$query=$this->db->query("SELECT hak_akses FROM users WHERE user_id='".$primary_key."'");
  95. $ha=unserialize($query->row()->hak_akses);
  96. $query->free_result();
  97. foreach($ha as $jabid=>$val1) {
  98. foreach($val1 as $menuid=>$hak) {
  99. foreach($this->hak_akses as $key2=>$val2) {
  100. if(isset($post_array['ha_'.$jabid.'_'.$menuid.'_'.$key2])) {
  101. $ha[$jabid][$menuid][$key2]=1;
  102. unset($post_array['ha_'.$jabid.'_'.$menuid.'_'.$key2]);
  103. } else $ha[$jabid][$menuid][$key2]=0;
  104. }
  105. }
  106. }
  107. $row=$query->row_array();
  108. $query->free_result();
  109. $query1=$this->db->query("SELECT hak_akses FROM jabatan_menu WHERE jab_id='".$row['pass']."'");
  110. $post_array['hak_akses']=serialize($ha);
  111. return $post_array;*/
  112. }
  113. function _cb_f_e_ha($value, $primary_key) {
  114. $text='';
  115. $jab=array();
  116. $query=$this->db->query("SELECT jab_id, jab_nama FROM jabatan ORDER BY jab_id ASC");
  117. foreach($query->result_array() as $row) {
  118. $jab[$row['jab_id']]=$row['jab_nama'];
  119. }
  120. $query->free_result();
  121. $menu=array();
  122. $query=$this->db->query("SELECT menu_id, menu_nama FROM menu ORDER BY menu_id ASC");
  123. foreach($query->result_array() as $row) {
  124. $menu[$row['menu_id']]=$row['menu_nama'];
  125. }
  126. $query->free_result();
  127. $ha=unserialize($value);
  128. foreach($ha as $jabid=>$val1) {
  129. $text.='Jabatan '.$jab[$jabid].'<br /><br />';
  130. foreach($val1 as $menuid=>$hak) {
  131. $text.='Menu '.$menu[$menuid].' :<br />';
  132. foreach($this->hak_akses as $key2=>$val2) {
  133. $text.=$val2.' : <input type="checkbox" value="1" name="ha_'.$jabid.'_'.$menuid.'_'.$key2.'"'.(($hak[$key2]==1)?' checked="checked"':'').'><br />';
  134. }
  135. $text.='<br />';
  136. }
  137. $text.='<br />';
  138. }
  139. return $text;
  140. }
  141.  
  142. function _cb_ha($post_array) {
  143. $ha=array();
  144. foreach($post_array['jab_id'] as $val) {
  145. $ha[$val]=array();
  146. $query=$this->db->query("SELECT menu_id, hak_akses FROM jabatan_menu WHERE jab_id='".$val."'");
  147. foreach($query->result_array() as $row) {
  148. $ha[$val][$row['menu_id']]=unserialize($row['hak_akses']);
  149. }
  150. $query->free_result();
  151. }
  152. $post_array['hak_akses']=serialize($ha);
  153. return $post_array;
  154. }
  155.  
  156.  
  157.  
  158. public function login() {
  159. $data['css_files']=array();
  160. $data['css_files'][]=site_url().'assets/valid/formValidation.min.css';
  161. $data['js_files']=array();
  162. $data['js_files'][]=site_url().'assets/backend/js/bootstrap.min.js';
  163. $data['js_files'][]=site_url().'assets/valid/ie10-viewport-bug-workaround.js';
  164. $data['js_files'][]=site_url().'assets/valid/formValidation.min.js';
  165. $data['js_files'][]=site_url().'assets/valid/framework/bootstrap.min.js';
  166. $this->load->view('idn/header',$data);
  167. $this->load->view('idn/login');
  168. $this->load->view('idn/footer');
  169. }
  170.  
  171. public function ajax_login() {
  172. $data['ok']='1';
  173. if($this->input->post('user') && $this->input->post('pass')) {
  174. $query=$this->db->query("SELECT id, pass FROM super_admin WHERE username='".$this->input->post('user',true)."'");
  175. if($query->num_rows()>0) {
  176. $row=$query->row_array();
  177. $query->free_result();
  178. if($row['pass']==md5($this->input->post('pass'))) {
  179. $this->session->set_userdata(array('idn'=>$row['id'],'pass'=>$row['pass']));
  180. } else $data['ok']='Password salah';
  181. } else $data['ok']='User tidak di temukan';
  182. } else $data['ok']='User dan Pass harus diisi';
  183. echo json_encode($data);
  184. }
  185.  
  186. public function ubah_pass() {
  187. $data['css_files']=array();
  188. $data['css_files'][]=site_url().'assets/valid/formValidation.min.css';
  189. $data['js_files']=array();
  190. $data['js_files'][]=site_url().'assets/backend/js/bootstrap.min.js';
  191. $data['js_files'][]=site_url().'assets/valid/ie10-viewport-bug-workaround.js';
  192. $data['js_files'][]=site_url().'assets/valid/formValidation.min.js';
  193. $data['js_files'][]=site_url().'assets/valid/framework/bootstrap.min.js';
  194. $this->load->view('idn/header',$data);
  195. $this->load->view('idn/menu');
  196. $this->load->view('idn/ubah_pass');
  197. $this->load->view('idn/footer');
  198. }
  199.  
  200. public function ajax_ubahpass() {
  201. $data['ok']='1';
  202. if($this->input->post('passlama') && $this->input->post('passbaru') && $this->input->post('re_passbaru')) {
  203. if($this->session->userdata('pass')==md5($this->input->post('passlama'))) {
  204. if($this->input->post('passbaru')==$this->input->post('re_passbaru')){
  205. $ubah=md5($this->input->post('passbaru'));
  206. $this->db->query("UPDATE super_admin SET pass='".$ubah."' WHERE id='".$this->session->userdata('idn')."'");
  207. $this->session->set_userdata('pass',$ubah);
  208. }else $data['ok']='Password tidak sama';
  209. } else $data['ok']='Password lama salah';
  210. } else $data['ok']='User dan Pass harus diisi';
  211. echo json_encode($data);
  212. }
  213.  
  214. function _adddropdown($arr) {
  215. $find=true;
  216. foreach($arr as $file) {
  217. if(strpos($file,'dropdown')!==false) $find=false;
  218. }
  219. if($find) $arr[]=site_url().'assets/backend/js/bootstrap.min.js';
  220. return $arr;
  221. }
  222.  
  223. public function logout(){
  224. $this->session->unset_userdata(array('idn','pass'));
  225. redirect('idn/admin/login');
  226. }
  227.  
  228. public function menu(){
  229. $this->load->library('grocery_CRUD');
  230. $crud = new grocery_CRUD();
  231. //$crud->set_table('users');
  232. $crud->set_table('menu');
  233. $crud->set_subject('Menu');
  234. $crud->unset_jquery();
  235. $output = $crud->render();
  236. $output->js_files=$this->_adddropdown($output->js_files);
  237. $this->load->view('idn/header',$output);
  238. $this->load->view('idn/menu');
  239. $this->load->view('idn/content',$output);
  240. $this->load->view('idn/footer');
  241. }
  242.  
  243. public function paych(){
  244. $this->load->library('grocery_CRUD');
  245. $crud = new grocery_CRUD();
  246. $crud->set_table('payment_ch');
  247. $crud->set_subject('Payment Channel');
  248. $crud->columns('paych_nama','paych_kode','paych_nomor','paych_status');
  249. $crud->display_as('paych_kode','Kode Payment')->display_as('paych_nama','Nama Payment')->display_as('paych_status','Status')->display_as('paych_nomor' ,'Nomor Payment');
  250. $crud->required_fields('paych_kode','paych_nomor');
  251. $crud->set_rules('paych_kode','Kode Payment','required|numeric');
  252. $crud->unset_jquery();
  253. $crud->unset_export();
  254. $crud->unset_columns('paych_id');
  255. $output = $crud->render();
  256. $output->js_files=$this->_adddropdown($output->js_files);
  257. $this->load->view('idn/header',$output);
  258. $this->load->view('idn/paych');
  259. $this->load->view('idn/content',$output);
  260. $this->load->view('idn/footer');;
  261. }
  262.  
  263. public function seller(){
  264. $this->load->library('grocery_CRUD');
  265. $crud = new grocery_CRUD();
  266. $crud->set_table('seller_ms');
  267. $crud->set_subject('List Seller');
  268. $crud->display_as('seller_pass','Password Seller')->display_as('seller_tgl','Tanggal')->display_as('seller_email','Email Seller')->display_as('seller_status','Status');
  269. $crud->columns('seller_email','seller_pass','seller_tgl','seller_status');
  270. $crud->set_rules('seller_email', 'Email Seller', 'required|valid_email');
  271. $this->form_validation->set_rules('seller_pass', 'Password Seller');
  272. $crud->unset_jquery();
  273. $crud->unset_export();
  274. $crud->unset_columns('seller_pass');
  275. $crud->required_fields('seller_status','seller_pass');
  276. $crud->callback_column('seller_tgl',array($this,'tgl_seller'));
  277.  
  278. $output = $crud->render();
  279. $output->js_files=$this->_adddropdown($output->js_files);
  280. $this->load->view('idn/header',$output);
  281. $this->load->view('idn/seller');
  282. $this->load->view('idn/content',$output);
  283. $this->load->view('idn/footer');;
  284. }
  285. function tgl_seller ($value, $row) {
  286. return date('d F Y, H:i:s',strtotime($value));
  287. }
  288.  
  289. public function kupon(){
  290. $this->load->library('grocery_CRUD');
  291. $crud = new grocery_CRUD();
  292. $crud->set_table('kupon_ms');
  293. $crud->set_subject('List Kupon');
  294. $crud->columns('kupon_nama','kupon_prd','kupon_harga','kupon_desk','kupon_status');
  295. $crud->display_as('kupon_prd','Periode')->display_as('kupon_nama','Nama Kupon')->display_as('kupon_desk','Deskripsi')->display_as('kupon_harga','Harga ','currency');
  296. $crud->unset_jquery();
  297. $crud->set_rules('kupon_harga', 'Harga', 'required|numeric');
  298. $crud->unset_export();
  299. $crud->required_fields('kupon_nama','kupon_status');
  300. $crud->callback_column('kupon_harga',array($this,'rupiah'));
  301. $crud->callback_column('kupon_prd',array($this,'tgl_kupon'));
  302. $output = $crud->render();
  303. $output->js_files=$this->_adddropdown($output->js_files);
  304. $this->load->view('idn/header',$output);
  305. $this->load->view('idn/kupon');
  306. $this->load->view('idn/content',$output);
  307. $this->load->view('idn/footer');;
  308. }
  309. function tgl_kupon ($value, $row) {
  310. return date('d F Y, H:i:s',strtotime($value));
  311. }
  312. function rupiah($value, $row) {
  313. return "Rp ".number_format($value,2,",",".");
  314. }
  315.  
  316. public function pembayaran(){
  317. $this->load->library('grocery_CRUD');
  318. $crud = new grocery_CRUD();
  319. $crud->set_table('pembayaran');
  320. $crud->set_subject('Pembayaran');
  321. $crud->columns('pemb_type','pemb_nama','pemb_nominal','pemb_metode','pemb_tgl');
  322. $crud->display_as('pemb_type','Tipe Pembayaran')->display_as('pemb_nama','Deskripsi')->display_as('pemb_nominal','Nominal')->display_as('pemb_metode','Metode Pembayaran')->display_as('pemb_tgl','Tanggal');
  323. $crud->field_type('pemb_metode','dropdown',array(1=>'tunai',2=>'hutang',3=>'transfer'));
  324. $crud->field_type('pemb_type','dropdown',array(1=>'debet',2=>'kredit',3=>'gaji'));
  325. $crud->required_fields('pemb_type','pemb_nama','pemb_nominal','pemb_metode','pemb_tgl');
  326. $crud->set_rules('pemb_nominal','Nominal','required|numeric');
  327. $crud->unset_add();
  328. $crud->unset_jquery();
  329. $output = $crud->render();
  330. $output->js_files=$this->_adddropdown($output->js_files);
  331. $this->load->view('idn/header',$output);
  332. $this->load->view('idn/menu');
  333. $this->load->view('idn/pembayaran',$output);
  334. $this->load->view('idn/footer');
  335. }
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement