Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }