session = session(); $this->Donation_data_model = new Donation_data_model(); $this->Transaction_model = new Transaction_model(); } public function import_donation_data() { if(!session()->has('logged_user')) { return redirect()->to(base_url()); } if($this->request->getmethod() == 'post') { //validate $rules=[ 'upload_file' => [ 'rules'=>'uploaded[upload_file]|max_size[upload_file,1024]|ext_in[upload_file,xlsx]', 'lable'=>'upload file' ] ]; if(! $this->validate($rules)) { $data['validation'] = $this->validator; }else{ $file= $this->request->getFile('upload_file'); //echo $file->getName();exit(); $ext=$file->getClientExtension(); if($ext == 'xls'){ $render = new \PhpOffice\PhpSpreadsheet\Reader\Xls(); } else { $render = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx(); } $spreadsheet = $render->load($file); $allDataInSheet = $spreadsheet->getActiveSheet()->toArray(null, true, true, true); $arrayCount = count($allDataInSheet); $flag = 0; $createArray = array('DATE', 'CAUSE_NAME', 'AMOUNT', 'PAYMENT_MODE' , 'REF' , 'DONATION_REF'); $makeArray = array('DATE' => 'DATE', 'CAUSE_NAME' => 'CAUSE_NAME', 'AMOUNT' => 'AMOUNT', 'PAYMENT_MODE' => 'PAYMENT_MODE', 'REF' => 'REF', 'DONATION_REF' => 'DONATION_REF'); $SheetDataKey = array(); foreach ($allDataInSheet as $dataInSheet) { foreach ($dataInSheet as $key => $value) { if (in_array(trim($value), $createArray)) { $value = preg_replace('/\s+/', '', $value); $SheetDataKey[trim($value)] = $key; } } } $dataDiff = array_diff_key($makeArray, $SheetDataKey); if (empty($dataDiff)) { $flag = 1; } // match excel sheet column if ($flag == 1) { for ($i = 2; $i <= $arrayCount; $i++) { $date = $SheetDataKey['DATE']; $cause_name = $SheetDataKey['CAUSE_NAME']; $amount = $SheetDataKey['AMOUNT']; $payment_mode = $SheetDataKey['PAYMENT_MODE']; $ref = $SheetDataKey['REF']; $donation_ref = $SheetDataKey['DONATION_REF']; $date = filter_var(trim($allDataInSheet[$i][$date]), FILTER_SANITIZE_STRING); $cause_name = filter_var(trim($allDataInSheet[$i][$cause_name]), FILTER_SANITIZE_STRING); $amount = filter_var(trim($allDataInSheet[$i][$amount]), FILTER_SANITIZE_EMAIL); $payment_mode = filter_var(trim($allDataInSheet[$i][$payment_mode]), FILTER_SANITIZE_STRING); $ref = filter_var(trim($allDataInSheet[$i][$ref]), FILTER_SANITIZE_EMAIL); $donation_ref = filter_var(trim($allDataInSheet[$i][$donation_ref]), FILTER_SANITIZE_STRING); $fetchData= array('date' => $date, 'cause_name' => $cause_name, 'amount' => $amount, 'mode_of_payment' => $payment_mode, 'ref_1' => $ref, 'donation_ref' => $donation_ref); $model = new Donation_data_model(); $model->save($fetchData); } } else { echo ''; //echo "Please import correct file, did not match excel sheet column"; } } } //return redirect()->to(base_url().'/all_donation_data'); return view('donation_data'); } // public function import_transaction_data() // { // $file_mimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // if(isset($_FILES['transacton_upload']['name']) && in_array($_FILES['transacton_upload']['type'], $file_mimes)) // { // $arr_file = explode('.', $_FILES['transacton_upload']['name']); // $extension = end($arr_file); // if('csv' == $extension){ // $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv(); // } else { // $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx(); // } // $spreadsheet = $reader->load($_FILES['transacton_upload']['tmp_name']); // $sheetData = $spreadsheet->getActiveSheet()->toArray(); // if(!empty($sheetData)) // {echo "
";
// print_r($sheetData);
// }
// }
// }
public function import_transaction_data()
{
if(!session()->has('logged_user'))
{
return redirect()->to(base_url());
}
if($this->request->getmethod() == 'post')
{
//validate
$rules=[
'transacton_upload' => [
'rules'=>'uploaded[transacton_upload]|max_size[transacton_upload,1024]|ext_in[transacton_upload,xlsx]',
'lable'=>'upload file'
]
];
if(! $this->validate($rules))
{
$data['validation'] = $this->validator;
}else{
$file= $this->request->getFile('transacton_upload');
//echo $file->getName();exit();
$ext=$file->getClientExtension();
if($ext == 'xls'){
$render = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
} else {
$render = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
}
$spreadsheet = $render->load($file);
$allDataInSheet = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
$arrayCount = count($allDataInSheet);
print_r($arrayCount);die();
$flag = 0;
$createArray = array('DATE', 'REF_1', 'REF_2', 'REMARKS' , 'AMOUNT' , 'DONATION_REF');
$makeArray = array('DATE' => 'DATE', 'REF_1' => 'REF_1', 'REF_2' => 'REF_2', 'REMARKS' => 'REMARKS', 'AMOUNT' => 'AMOUNT', 'DONATION_REF' => 'DONATION_REF');
$SheetDataKey = array();
foreach ($allDataInSheet as $dataInSheet) {
foreach ($dataInSheet as $key => $value) {
if (in_array(trim($value), $createArray)) {
$value = preg_replace('/\s+/', '', $value);
$SheetDataKey[trim($value)] = $key;
}
}
}
$dataDiff = array_diff_key($makeArray, $SheetDataKey);
if (empty($dataDiff)) {
$flag = 1;
}
// match excel sheet column
if ($flag == 1)
{
for ($i = 2; $i <= $arrayCount; $i++)
{
$date = $SheetDataKey['DATE'];
$ref_1 = $SheetDataKey['REF_1'];
$ref_2 = $SheetDataKey['REF_2'];
$remarks = $SheetDataKey['REMARKS'];
$amount = $SheetDataKey['AMOUNT'];
$donation_ref = $SheetDataKey['DONATION_REF'];
$date = filter_var(trim($allDataInSheet[$i][$date]), FILTER_SANITIZE_STRING);
$ref_1 = filter_var(trim($allDataInSheet[$i][$ref_1]), FILTER_SANITIZE_STRING);
$ref_2 = filter_var(trim($allDataInSheet[$i][$ref_2]), FILTER_SANITIZE_EMAIL);
$remarks = filter_var(trim($allDataInSheet[$i][$remarks]), FILTER_SANITIZE_STRING);
$amount = filter_var(trim($allDataInSheet[$i][$amount]), FILTER_SANITIZE_EMAIL);
$donation_ref = filter_var(trim($allDataInSheet[$i][$donation_ref]), FILTER_SANITIZE_STRING);
$fetchData= array('date' => $date, 'ref_1' => $ref_1, 'ref_2' => $ref_2, 'remarks' => $remarks, 'amount' => $amount, 'donation_ref' => $donation_ref);
// print_r($fetchData);
$model = new Transaction_model();
$model->save($fetchData);
}
} else {
echo '';
//echo "Please import correct file, did not match excel sheet column";
}
}
}
// return redirect()->to(base_url().'/all_transaction');
return view('transaction_upload');
}
public function transaction_file()
{
return $this->response->download('public/assets/download/transaction_data_file.xlsx', NULL);
}
public function donation_data_file()
{
return $this->response->download('public/assets/download/donation_data_file.xlsx', NULL);
}
}