/** * Import Page for this controller * @return [type] [description] */ public function import() { if ($this->input->is_ajax_request()) { $this->load->library('upload', ['upload_path' => './uploads/', 'allowed_types' => 'csv']); if (!$this->upload->do_upload('file')) { $data = array('message' => $this->upload->display_errors(), 'type' => 'error'); } else { # Import $full_path = $this->upload->data()['full_path']; if ($this->Contact->import($this->upload->data()['full_path'])) { # Delete uploaded file clean_upload_folder($full_path); # Response $data = array('message' => 'Contacts successfully imported.', 'type' => 'success'); } else { $data = array('message' => 'Something went wrong importing the file', 'type' => 'error'); } } echo json_encode($data); exit; } $this->Data['Headers']->CSS .= '<link rel="stylesheet" href="' . base_url('assets/vendors/dropzone/dropzone.css') . '"></link>'; $this->Data['Headers']->JS .= '<script src="' . base_url('assets/vendors/dropzone/dropzone.min.js') . '"></script>'; $this->Data['Headers']->JS .= '<script src="' . base_url('assets/js/specifics/contactsImport.js') . '"></script>'; $this->load->view('layouts/main', $this->Data); }
/** * Import Page for this controller * @return [type] [description] */ public function import() { if (!$this->Auth->can(['members/import'])) { $this->Data['Headers']->Page = 'errors/403'; $this->load->view('layouts/errors', $this->Data); return false; } if ($this->input->is_ajax_request()) { $this->load->library('upload', ['upload_path' => './uploads/', 'allowed_types' => 'csv']); if (!$this->upload->do_upload('file')) { $data = array('message' => $this->upload->display_errors(), 'type' => 'error'); } else { # Import $full_path = $this->upload->data()['full_path']; if ($this->Member->import($this->upload->data()['full_path'])) { # Delete uploaded file clean_upload_folder($full_path); clean_upload_folder($full_path); # Response $data = array('message' => 'Members successfully imported.', 'type' => 'success'); # Also import on TABLE `group_members` $members = $this->Member->all(); foreach ($members as $member) { $group_ids = explodetoarray($member->groups); $members_groups = $this->GroupMember->lookup('member_id', $member->id)->result_array(); $this->GroupMember->delete_member($member->id); if ($group_ids) { foreach ($group_ids as $group_id) { $this->GroupMember->insert(array('group_id' => $group_id, 'member_id' => $member->id)); } } } } else { $data = array('message' => 'Something went wrong importing the file', 'type' => 'error'); } } echo json_encode($data); exit; } // $this->Data['Headers']->CSS.= '<link rel="stylesheet" href="'.base_url('assets/vendors/dropzone/dropzone.css').'"></link>'; // $this->Data['Headers']->JS .= '<script src="'.base_url('assets/vendors/dropzone/dropzone.min.js').'"></script>'; $this->Data['Headers']->JS .= '<script src="' . base_url('assets/js/specifics/membersImport.js') . '"></script>'; $this->load->view('layouts/main', $this->Data); }