Advertisement
Guest User

Clientarea

a guest
Oct 20th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.50 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Clientarea extends CI_Controller {
  4.  
  5. function __construct() {
  6. parent::__construct();
  7. $this->load->model('model_pengaturan');
  8. $this->load->model('model_member');
  9. $this->load->model('model_server');
  10. $this->load->model('model_user');
  11. }
  12.  
  13. function index() {
  14. cek_session_reseller();
  15. $exec_member = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  16. $member_id = $exec_member['member_id'];
  17. $data['server'] = $this->db->get('server');
  18. $data['invoice'] = $this->db->query("SELECT * FROM invoice WHERE status='pending' AND member_id='$member_id'");
  19. $data['account'] = $this->db->query("SELECT * FROM t_account WHERE member_id='$member_id'");
  20. $pengaturan_id = 1;
  21. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  22. $data['profil'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  23. $this->load->view('reseller/home', $data);
  24. }
  25.  
  26. function pengaturan() {
  27. if (isset($_POST['submit'])) {
  28. cek_session_reseller();
  29. $first_name = $this->input->post('first_name');
  30. $last_name = $this->input->post('last_name');
  31. $email = $this->input->post('email');
  32. $password = md5($this->input->post('password'));
  33. $member_id = $this->input->post('member_id');
  34.  
  35. if (empty($password)) {
  36. $data = array('first_name'=>$first_name,'last_name'=>$last_name,'email'=>$email);
  37. } else {
  38. $data = array('first_name'=>$first_name,'last_name'=>$last_name,'email'=>$email,'password'=>$password);
  39. }
  40.  
  41. $this->db->where('member_id', $member_id);
  42. $this->db->update('member', $data);
  43. redirect('clientarea/pengaturan');
  44.  
  45. } else {
  46. cek_session_reseller();
  47. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  48. $pengaturan_id = 1;
  49. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  50. $this->load->view('reseller/pengaturan', $data);
  51. }
  52. }
  53.  
  54. function server() {
  55. cek_session_reseller();
  56. $jml = $this->db->get('server');
  57.  
  58. $config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
  59. $config['full_tag_close'] = "</ul>";
  60. $config['num_tag_open'] = "<li>";
  61. $config['num_tag_close'] = "</li>";
  62. $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
  63. $config['cur_tag_close'] = "<span class='sr-only'></span></a></li></li>";
  64. $config['next_tag_open'] = "<li>";
  65. $config['next_tag_close'] = "</li>";
  66. $config['prev_tag_open'] = "<li>";
  67. $config['prev_tag_close'] = "</li>";
  68. $config['first_tag_open'] = "<li>";
  69. $config['first_tag_close'] = "</li>";
  70. $config['last_tag_open'] = "<li>";
  71. $config['last_tag_close'] = "</li>";
  72.  
  73. $config['base_url'] = base_url().'index.php/clientarea/server/index';
  74. $config['total_rows'] = $jml->num_rows();
  75. $config['per_page'] = '10';
  76. $config['first_page'] = '&laquo;';
  77. $config['last_page'] = '&raquo;';
  78. $config['next_page'] = '&laquo;';
  79. $config['prev_page'] = '&raquo;';
  80.  
  81. $this->pagination->initialize($config);
  82. $data['halaman'] = $this->pagination->create_links();
  83. $halaman = $this->uri->segment(4);
  84. $halaman =$halaman==''?0:$halaman;
  85. $data['lihat'] = $this->model_server->tampil_halaman($config['per_page'],$halaman);
  86. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  87. $pengaturan_id = 1;
  88. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  89. $this->load->view('reseller/server', $data);
  90. }
  91.  
  92. function create() {
  93. if (isset($_POST['submit'])) {
  94. cek_session_reseller();
  95. $host = $this->input->post('host');
  96. $username = $this->input->post('username');
  97. $password = $this->input->post('password');
  98. $tgl_expire = $this->input->post('tgl_expire');
  99. $kapasitas = $this->input->post('kapasitas');
  100. $harga = $this->input->post('harga');
  101. $email = $this->input->post('email');
  102. $server_id = $this->input->post('server_id');
  103. $type = "/bin/false -m";
  104.  
  105. $exec_server = $this->model_server->get_server($server_id)->row_array();
  106. $exec_account = $this->model_user->filter_account($username,$host);
  107. $exec_member = $this->model_member->get_member($email)->row_array();
  108. $member_id = $exec_member['member_id'];
  109. $balance = $exec_member['saldo'];
  110. $saldo = $balance-$harga;
  111.  
  112. if ($exec_account->num_rows() > 0 ) {
  113. $data['error'] = "Account Already Exist";
  114. $data['lihat'] = $this->model_server->get_server($this->uri->segment(3))->row_array();
  115. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  116. $pengaturan_id = 1;
  117. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  118. $this->load->view('reseller/create', $data);
  119. header("Refresh: 3; URL=" . base_url('index.php/clientarea/server') . "");
  120. } else {
  121. $connection = ssh2_connect($host, 22);
  122. if (ssh2_auth_password($connection, 'root', $exec_server['password'])) {
  123. $result = ssh2_exec($connection, "useradd -e `date -d '30 days' +'%Y-%m-%d'` $username -s $type; { echo $password; echo $password; } | passwd $username; usermod -c $email $username");
  124. }
  125.  
  126. $data = array('server_id'=>$server_id,'member_id'=>$member_id,'username_ssh'=>$username,'password_ssh'=>$password,'tgl_buat'=>date('Y-m-d'),'expired_account'=>$tgl_expire);
  127. $this->db->insert('t_account', $data);
  128. $this->db->query("UPDATE member SET saldo='$saldo' WHERE email='$email'");
  129. redirect('clientarea/account');
  130. }
  131.  
  132.  
  133. } else {
  134. cek_session_reseller();
  135. $data['lihat'] = $this->model_server->get_server($this->uri->segment(3))->row_array();
  136. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  137. $pengaturan_id = 1;
  138. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  139. $this->load->view('reseller/create', $data);
  140. }
  141. }
  142.  
  143. function account() {
  144. cek_session_reseller();
  145. $jml = $this->db->get('t_account');
  146.  
  147. $config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
  148. $config['full_tag_close'] = "</ul>";
  149. $config['num_tag_open'] = "<li>";
  150. $config['num_tag_close'] = "</li>";
  151. $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
  152. $config['cur_tag_close'] = "<span class='sr-only'></span></a></li></li>";
  153. $config['next_tag_open'] = "<li>";
  154. $config['next_tag_close'] = "</li>";
  155. $config['prev_tag_open'] = "<li>";
  156. $config['prev_tag_close'] = "</li>";
  157. $config['first_tag_open'] = "<li>";
  158. $config['first_tag_close'] = "</li>";
  159. $config['last_tag_open'] = "<li>";
  160. $config['last_tag_close'] = "</li>";
  161.  
  162. $config['base_url'] = base_url().'index.php/clientarea/account/index';
  163. $config['total_rows'] = $jml->num_rows();
  164. $config['per_page'] = '10';
  165. $config['first_page'] = '&laquo;';
  166. $config['last_page'] = '&raquo;';
  167. $config['next_page'] = '&laquo;';
  168. $config['prev_page'] = '&raquo;';
  169.  
  170. $this->pagination->initialize($config);
  171. $data['halaman'] = $this->pagination->create_links();
  172. $halaman = $this->uri->segment(4);
  173. $halaman =$halaman==''?0:$halaman;
  174. $exec_member = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  175. $data['lihat'] = $this->model_user->account($exec_member['member_id'],$config['per_page'],$halaman);
  176. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  177. $pengaturan_id = 1;
  178. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  179. $this->load->view('reseller/account', $data);
  180.  
  181. }
  182.  
  183. function deposit() {
  184. if (isset($_POST['submit'])) {
  185. cek_session_reseller();
  186. $jumlah = $this->input->post('jumlah');
  187. $get_email = $this->input->post('email');
  188. $status = "pending";
  189. $tgl_invoice = date('Y-m-d', strtotime($this->input->post('tgl_invoice')));
  190.  
  191. $get_member_id = $this->model_member->get_member($get_email)->row_array();
  192. $pars_id = $get_member_id['member_id'];
  193.  
  194. $data = array('deposit'=>$jumlah,'member_id'=>$pars_id,'status'=>$status,'tgl_invoice'=>$tgl_invoice);
  195. $this->db->insert('invoice', $data);
  196. $last_id = $this->db->query("SELECT invoice_id FROM invoice ORDER BY invoice_id DESC")->row_array();
  197. redirect('clientarea/invoice_print/'.$last_id['invoice_id']);
  198.  
  199. } else {
  200. cek_session_reseller();
  201. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  202. $pengaturan_id = 1;
  203. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  204. $this->load->view('reseller/deposit', $data);
  205. }
  206. }
  207.  
  208. function invoice_print() {
  209. if (isset($_POST['submit'])) {
  210. $invoice_id = $this->input->post('invoice_id');
  211. $config['upload_path'] = './assets/index/invoice/';
  212. $config['allowed_types'] = 'gif|jpg|png';
  213. $config['max_size'] = 500;
  214. $config['file_name'] = 'mks_'.date('dmYHis').'.png';
  215. $config['file_ext_tolower'] = TRUE;
  216. $config['remove_spaces'] = TRUE;
  217.  
  218. $this->load->library('upload', $config);
  219. $this->upload->do_upload();
  220. $hasil = $this->upload->data();
  221. $data = array('bukti'=>$hasil['file_name']);
  222. $this->db->where('invoice_id', $invoice_id);
  223. $this->db->update('invoice', $data);
  224. redirect('clientarea/invoice');
  225.  
  226. } else {
  227. cek_session_reseller();
  228. $id = $this->uri->segment(3);
  229. $pengaturan_id = 1;
  230. $data['invoice'] = $this->model_member->get_invoice_print($id)->row_array();
  231. $data['member'] = $this->model_member->get_member($this->session->userdata('email'))->row_array();
  232. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  233. $this->load->view('reseller/invoice_print', $data);
  234. }
  235. }
  236.  
  237. function invoice() {
  238. cek_session_reseller();
  239. $get_email = $this->session->userdata('email');
  240. $get_member_id = $this->model_member->get_member($get_email)->row_array();
  241. $member_id = $get_member_id['member_id'];
  242. $data['member'] = $this->model_member->get_member($get_email)->row_array();
  243. $data['lihat'] = $this->model_member->filter_invoice_email($member_id);
  244. $pengaturan_id = 1;
  245. $data['record'] = $this->model_pengaturan->get_pengaturan($pengaturan_id)->row_array();
  246. $this->load->view('reseller/invoice', $data);
  247. }
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement