286 lines
13 KiB
PHP
Executable File
286 lines
13 KiB
PHP
Executable File
<?php
|
|
|
|
class Import extends MX_Controller {
|
|
|
|
public function __construct() {
|
|
parent::__construct();
|
|
|
|
$this->load->library('Excel');
|
|
$this->load->model('import_model');
|
|
$this->load->helper('file');
|
|
}
|
|
|
|
function index() {
|
|
if (!$this->ion_auth->logged_in()) {
|
|
redirect('auth/login', 'refresh');
|
|
} else {
|
|
$this->load->view('home/dashboard');
|
|
$this->load->view('import');
|
|
$this->load->view('home/footer');
|
|
}
|
|
}
|
|
|
|
function importPatientInfo() {
|
|
if (isset($_FILES["filename"]["name"])) {
|
|
$path = $_FILES["filename"]["tmp_name"];
|
|
$tablename = $this->input->post('tablename');
|
|
$this->importPatient($path, $tablename);
|
|
}
|
|
}
|
|
|
|
function importDoctorInfo() {
|
|
if (isset($_FILES["filename"]["name"])) {
|
|
$path = $_FILES["filename"]["tmp_name"];
|
|
$tablename = $this->input->post('tablename');
|
|
|
|
$this->importDoctor($path, $tablename);
|
|
}
|
|
}
|
|
|
|
function importMedicineInfo() {
|
|
if (isset($_FILES["filename"]["name"])) {
|
|
$path = $_FILES["filename"]["tmp_name"];
|
|
$tablename = $this->input->post('tablename');
|
|
|
|
$this->importMedicine($path, $tablename);
|
|
}
|
|
}
|
|
|
|
function importPatient($file, $tablename) {
|
|
$object = PHPExcel_IOFactory::load($file);
|
|
foreach ($object->getWorksheetIterator() as $worksheet) {
|
|
$highestRow = $worksheet->getHighestRow(); //get Highest Row
|
|
$highestColumnLetter = $worksheet->getHighestColumn(); //get column highest as letter
|
|
$highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumnLetter); // convert letter to column index in number
|
|
for ($column1 = 0; $column1 < $highestColumn; $column1++) {
|
|
$rowData1[] = $worksheet->getCellByColumnAndRow($column1, 1)->getValue();
|
|
}
|
|
|
|
|
|
$headerexist = $this->import_model->headerExist($rowData1, $tablename); // get boolean header exist or not
|
|
|
|
|
|
if ($headerexist) {
|
|
for ($row = 2; $row <= $highestRow; $row++) {
|
|
$rowData = [];
|
|
$rowData2 = [];
|
|
|
|
for ($column = 0; $column < $highestColumn; $column++) {
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
$rowData3[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
} else {
|
|
$rowData2[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
//echo $worksheet->getCellByColumnAndRow($column2, 1)->getValue();
|
|
}
|
|
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) != 'password') {
|
|
$rowData[] = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'name') {
|
|
$name = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'phone') {
|
|
$phone = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
|
|
$password = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'email') {
|
|
|
|
$email = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if ($this->ion_auth->email_check($email)) {
|
|
$exist_email[] = $row;
|
|
$exist_rows = implode(',', $exist_email);
|
|
$message = 'Rows number ' . $exist_rows . ' contain the emails which already exist!';
|
|
} else {
|
|
$dfg = 5;
|
|
$username = $name;
|
|
|
|
$this->ion_auth->register($username, $password, $email, $dfg);
|
|
//echo $ion_user_id;
|
|
// die();
|
|
$ionid = $this->db->get_where('users', array('email' => $email))->row()->id;
|
|
//echo $ionid;
|
|
//die();
|
|
array_push($rowData, $ionid);
|
|
array_push($rowData2, 'ion_user_id');
|
|
array_push($rowData, date('d/m/y'));
|
|
array_push($rowData2, 'add_date');
|
|
array_push($rowData, time());
|
|
array_push($rowData2, 'registration_time');
|
|
array_push($rowData, rand(10000, 1000000));
|
|
array_push($rowData2, 'patient_id');
|
|
$data = array_combine($rowData2, $rowData);
|
|
$this->import_model->dataEntry($data, $tablename);
|
|
}
|
|
}
|
|
$this->session->set_flashdata('feedback', lang('successful_data_import'));
|
|
$this->session->set_flashdata('message', $message);
|
|
} else {
|
|
$this->session->set_flashdata('feedback', lang('wrong_file_format'));
|
|
}
|
|
}
|
|
|
|
|
|
redirect('import');
|
|
}
|
|
|
|
function importDoctor($file, $tablename) {
|
|
$object = PHPExcel_IOFactory::load($file);
|
|
foreach ($object->getWorksheetIterator() as $worksheet) {
|
|
$highestRow = $worksheet->getHighestRow(); //get Highest Row
|
|
$highestColumnLetter = $worksheet->getHighestColumn(); //get column highest as letter
|
|
$highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumnLetter); // convert letter to column index in number
|
|
for ($column1 = 0; $column1 < $highestColumn; $column1++) {
|
|
$rowData1[] = $worksheet->getCellByColumnAndRow($column1, 1)->getValue();
|
|
}
|
|
|
|
|
|
$headerexist = $this->import_model->headerExist($rowData1, $tablename); // get boolean header exist or not
|
|
|
|
|
|
if ($headerexist) {
|
|
for ($row = 2; $row <= $highestRow; $row++) {
|
|
$rowData = [];
|
|
$rowData2 = [];
|
|
|
|
for ($column = 0; $column < $highestColumn; $column++) {
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
$rowData3[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
} else {
|
|
$rowData2[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
//echo $worksheet->getCellByColumnAndRow($column2, 1)->getValue();
|
|
}
|
|
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) != 'password') {
|
|
$rowData[] = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'name') {
|
|
$name = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'phone') {
|
|
$phone = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
|
|
$password = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'email') {
|
|
|
|
$email = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if ($this->ion_auth->email_check($email)) {
|
|
$exist_email[] = $row;
|
|
$exist_rows = implode(',', $exist_email);
|
|
$message1 = 'Rows number ' . $exist_rows . ' contain the emails which already exist!';
|
|
} else {
|
|
$dfg = 4;
|
|
$username = $name;
|
|
|
|
$this->ion_auth->register($username, $password, $email, $dfg);
|
|
//echo $ion_user_id;
|
|
// die();
|
|
$ionid = $this->db->get_where('users', array('email' => $email))->row()->id;
|
|
//echo $ionid;
|
|
//die();
|
|
array_push($rowData, $ionid);
|
|
array_push($rowData2, 'ion_user_id');
|
|
$data = array_combine($rowData2, $rowData);
|
|
$this->import_model->dataEntry($data, $tablename);
|
|
}
|
|
}
|
|
$this->session->set_flashdata('feedback', lang('successful_data_import'));
|
|
$this->session->set_flashdata('message1', $message1);
|
|
} else {
|
|
$this->session->set_flashdata('feedback', lang('wrong_file_format'));
|
|
}
|
|
}
|
|
|
|
|
|
redirect('import');
|
|
}
|
|
|
|
function importMedicine($file, $tablename) {
|
|
$object = PHPExcel_IOFactory::load($file);
|
|
foreach ($object->getWorksheetIterator() as $worksheet) {
|
|
$highestRow = $worksheet->getHighestRow(); //get Highest Row
|
|
$highestColumnLetter = $worksheet->getHighestColumn(); //get column highest as letter
|
|
$highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumnLetter); // convert letter to column index in number
|
|
for ($column1 = 0; $column1 < $highestColumn; $column1++) {
|
|
$rowData1[] = $worksheet->getCellByColumnAndRow($column1, 1)->getValue();
|
|
}
|
|
|
|
|
|
$headerexist = $this->import_model->headerExist($rowData1, $tablename); // get boolean header exist or not
|
|
|
|
|
|
if ($headerexist) {
|
|
for ($row = 2; $row <= $highestRow; $row++) {
|
|
$rowData = [];
|
|
$rowData2 = [];
|
|
|
|
for ($column = 0; $column < $highestColumn; $column++) {
|
|
// if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
// $rowData3[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
// } else {
|
|
$rowData2[] = $worksheet->getCellByColumnAndRow($column, 1)->getValue();
|
|
$rowData[] = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
//echo $worksheet->getCellByColumnAndRow($column2, 1)->getValue();
|
|
// }
|
|
|
|
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'name') {
|
|
$name = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
/* if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'phone') {
|
|
$phone = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'password') {
|
|
|
|
$password = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}
|
|
if (strtolower($worksheet->getCellByColumnAndRow($column, 1)->getValue()) === 'email') {
|
|
|
|
$email = $worksheet->getCellByColumnAndRow($column, $row)->getValue();
|
|
}*/
|
|
}
|
|
|
|
$medicinename= $this->db->get_where('medicine', array('name =' => $name))->row();
|
|
|
|
if (!empty($medicinename)) {
|
|
$exist_name[] = $row;
|
|
$exist_rows = implode(',', $exist_name);
|
|
$message2 = 'Rows number ' . $exist_rows . ' contain the medicine which already exist!';
|
|
} else {
|
|
array_push($rowData, date('d/m/y'));
|
|
array_push($rowData2, 'add_date');
|
|
$data = array_combine($rowData2, $rowData);
|
|
|
|
$this->import_model->dataEntry($data, $tablename);
|
|
}
|
|
}
|
|
$this->session->set_flashdata('feedback', lang('successful_data_import'));
|
|
$this->session->set_flashdata('message2', $message2);
|
|
} else {
|
|
$this->session->set_flashdata('feedback', lang('wrong_file_format'));
|
|
}
|
|
}
|
|
|
|
|
|
redirect('import');
|
|
}
|
|
|
|
}
|
|
?>
|
|
|