function user_log() { $CI =& get_instance(); if ($CI->router->class != "login") { $CI->load->helper('url_helper'); $segment = $CI->uri->uri_string(); $curUser = currentuser_session(); $userId = $curUser['user_id']; $data = array(); $data = array('user_id' => $userId, 'activity' => $segment, 'date_time' => time()); $basicModel = load_basic_model('logs'); $result = $basicModel->insert($data); } }
public function update_batch() { check_session(); $post = $this->input->post(NULL, TRUE); $Id = $post['id']; $where = array('drug_batch_id' => $Id); unset($post['id']); $basicModel = load_basic_model('drug_batch'); $result = $basicModel->update($post, $where); if (count($result) > 0) { $this->session->set_flashdata('success', 'Operation successfully completed.'); } redirect(base_url('batch')); }
public function update_wastage() { $post = $this->input->post(NULL, TRUE); $Id = $post['id']; $where = array('id' => $Id); unset($post['id']); $basicModel = load_basic_model('wastage'); $result = $basicModel->update($post, $where); if (count($result) > 0) { $this->session->set_flashdata('success', 'Operation successfully completed.'); } $this->session->set_flashdata('redirectUri', base_url('manage_wastage')); // redirect(base_url('manage_wastage')); }
public function add_new() { $post = $this->input->post(); $table = $post['table']; unset($post['table']); $data = $post; $data['datetime'] = time(); $batchModel = load_basic_model($table); $result = $batchModel->insert($data); if ($result > 0) { $this->session->set_flashdata('success', 'Operation successfully completed.'); } else { $this->session->set_flashdata('error', 'Operation Failed.'); } redirect('ae_mapping'); }
public function process_login() { $email = $this->input->post('email'); $password = $this->input->post('password'); $where_user = array('user_email' => $email, 'user_password' => md5($password), 'user_status' => 'active'); $basicModal = load_basic_model('users'); $result = $basicModal->get($where_user, 1); $loggedIn = FALSE; if (array_filter($result)) { $currentUserData = array('user_id' => $result['user_id'], 'user_name' => $result['user_name'], 'user_email' => $result['user_email'], 'user_role' => $result['user_role']); $loggedIn = true; $session_data = array("currentUser" => $currentUserData, 'loggedIn' => $loggedIn); $this->session->set_userdata($session_data); redirect(base_url() . 'welcome'); } else { $this->session->set_flashdata('error', 'Username/password incorrect or inactive user.'); redirect(base_url('login')); } }
public function update_password() { if (isset($_POST['user_id'])) { $userId = $this->input->post('user_id'); $basicModel = load_basic_model('users'); $userData = $basicModel->get(array('user_id' => $userId), 1); if (empty($userData['token'])) { $this->session->set_flashdata('error', 'Token already used or no token yet.'); $this->session->set_flashdata('redirectUri', base_url()); // redirect(base_url()); } // check token $userName = $userData['user_name']; $userEmail = $userData['user_email']; $token = md5($userName . $userEmail); if ($token == $userData['token']) { $newPassword = $this->input->post('new_password'); $data = array('user_password' => md5($newPassword)); $where = array('user_id' => $userId, 'user_email' => $userEmail); $affectdRow = $basicModel->update($data, $where); if (count($affectdRow) > 0) { //remove token now $data = array('token' => null); $where = array('user_id' => $userId, 'user_email' => $userEmail); $affectdRow = $basicModel->update($data, $where); $this->session->set_flashdata('success', 'Password updated successfully.'); $this->session->set_flashdata('redirectUri', base_url()); } else { $this->session->set_flashdata('error', 'Some problem occured while updating password.'); } redirect(base_url()); } } else { $this->session->set_flashdata('error', 'You are not through proper channel.'); redirect(base_url()); } }
public function parse() { // print_array($_FILES); // $config['upload_path'] = './assets/files/'; // $config['allowed_types'] = '*'; // $config['max_size'] = '0'; // $config['remove_spaces'] = true; // // // $this->load->library('upload', $config); // // if (!$this->upload->do_upload('file')) { // $error = array('error' => $this->upload->display_errors()); // $this->session->set_flashdata('error', $error); // redirect(base_url('parser')); // } // $fileInfo = $this->upload->data(); // // $excelData = excel_parser($fileInfo['file_name']); $excelData = excel_parser('ae.xlsx'); // print_array($excelData);exit; // dataset name $datasetName = end($excelData['header'][1]); // dataset description $search = 'Dataset Description:'; $result = $this->array_find_like($search, $excelData['values']); $datasetDesc = end($result); // study name $search = 'Study Name:'; $result = $this->array_find($search, $excelData['values']); $studyName = end($result); // protocol id $search = 'Protocol ID:'; $result = $this->array_find($search, $excelData['values']); $protocolIdReal = end($result); // Date $search = 'Date:'; $result = $this->array_find($search, $excelData['values']); $date = end($result); // Number of subjects $search = 'Subjects:'; $result = $this->array_find($search, $excelData['values']); $numSubjects = end($result); // Number of Study Event Definitions $search = 'Study Event Definitions'; $result = $this->array_find($search, $excelData['values']); $studyEventDef = end($result); //CHECK IF THE FILE HASE BEEN UPLOADED ONCE $checkData = array('dataset_name' => $datasetName, 'study_name' => $studyName, 'protocol_id' => $protocolIdReal, 'date' => $date); $studyModel = load_basic_model('adverse_events'); $resultAE = $studyModel->get($checkData); if (count($resultAE) > 0) { $this->session->set_flashdata('error', 'File already uploaded.'); redirect(base_url('ae_parser')); } // Study Event Definition data $search = 'Study Event Definition '; $result = $this->array_find_like($search, $excelData['values']); $studyEventDefData = $result; $SED = $studyEventDefData['C']; // CRF data $search = 'CRF'; $result = $this->array_find_like($search, $excelData['values']); $crfData = $result; $CRF = end($crfData); // re order array $excelData['values'] = array_values($excelData['values']); // get field names foreach ($excelData['values'] as $index => $val) { $key = array_search('Study Subject ID', $val); if (is_string($key)) { $fieldsNamesIndex = $index; $fieldsNames = $excelData['values'][$index]; break; } } $basicModel = load_basic_model('adverse_events'); //adverse_events table insertion $data = array('dataset_name' => $datasetName, 'study_name' => $studyName, 'protocol_id' => $protocolIdReal, 'subjects' => $numSubjects, 'study_event_definitions' => $studyEventDef, 'date' => $date); $studyProcessResult = $basicModel->insert($data); if (count($studyProcessResult) < 1) { $this->session->set_flashdata('error', 'Operation failed.'); redirect(base_url('ae_parser')); } $aeId = $this->db->insert_id(); // get field values $fieldsValuesArr = array_slice($excelData['values'], $fieldsNamesIndex + 1); $basicModel = load_basic_model('adverse_events_data'); $SEDCRF = '_' . $SED . '_' . $CRF; foreach ($fieldsValuesArr as $fieldsValues) { // Study Subject ID $key = array_search('Study Subject ID', $fieldsNames); $studySubId = $this->check_value($fieldsValues, $key); // protocol id $key = array_search('Protocol ID', $fieldsNames); $protocolId = $this->check_value($fieldsValues, $key); // Stie ID $siteId = substr($studySubId, 0, 4); // Sex $key = array_search('Sex', $fieldsNames); $sex = $this->check_value($fieldsValues, $key); // count the number of AE for every client $key = $this->array_like('StartDate', $fieldsNames); $arr_split = explode('_', $key); $countOfArr = end($arr_split); for ($i = 1; $i <= $countOfArr; $i++) { $SEDCRF = '_' . $SED . '_' . $i . '_' . $CRF; // StartDate $key = array_search('StartDate' . '_' . $SED . '_' . $i, $fieldsNames); $startDate = $this->check_value($fieldsValues, $key); // CRF Version Status $key = $this->array_find_key('CRF Version Status' . $SEDCRF, $fieldsNames); $crfVersionStatus = $this->check_value($fieldsValues, $key); // Version Name $key = $this->array_find_key('Version Name' . $SEDCRF, $fieldsNames); $versionName = $this->check_value($fieldsValues, $key); // advevent_desc $key = $this->array_find_key('advevent_desc' . $SEDCRF, $fieldsNames); $adveventDesc = $this->check_value($fieldsValues, $key); // advevent_date $key = $this->array_find_key('advevent_date' . $SEDCRF, $fieldsNames); $adveventDate = $this->check_value($fieldsValues, $key); // advevent_time $key = $this->array_find_key('advevent_time' . $SEDCRF, $fieldsNames); $advevent_time = $this->check_value($fieldsValues, $key); // advevent_inter $key = $this->array_find_key('advevent_inter' . $SEDCRF, $fieldsNames); $advevent_inter = $this->check_value($fieldsValues, $key); // advevent_severity $key = $this->array_find_key('advevent_severity' . $SEDCRF, $fieldsNames); $advevent_severity = $this->check_value($fieldsValues, $key); // advevent_action $key = $this->array_find_key('advevent_action' . $SEDCRF, $fieldsNames); $advevent_action = $this->check_value($fieldsValues, $key); // advevent_other $key = $this->array_find_key('advevent_other' . $SEDCRF, $fieldsNames); $advevent_other = $this->check_value($fieldsValues, $key); // advevent_outcome $key = $this->array_find_key('advevent_outcome' . $SEDCRF, $fieldsNames); $advevent_outcome = $this->check_value($fieldsValues, $key); // advevent_related $key = $this->array_find_key('advevent_related' . $SEDCRF, $fieldsNames); $advevent_related = $this->check_value($fieldsValues, $key); // advevent_resdate $key = $this->array_find_key('advevent_resdate' . $SEDCRF, $fieldsNames); $advevent_resdate = $this->check_value($fieldsValues, $key); // advevent_restime $key = $this->array_find_key('advevent_restime' . $SEDCRF, $fieldsNames); $advevent_restime = $this->check_value($fieldsValues, $key); // advevent_SAE $key = $this->array_find_key('advevent_SAE' . $SEDCRF, $fieldsNames); $advevent_SAE = $this->check_value($fieldsValues, $key); // advevent_reporter $key = $this->array_find_key('advevent_reporter' . $SEDCRF, $fieldsNames); $advevent_reporter = $this->check_value($fieldsValues, $key); // advevent_lastdosedate $key = $this->array_find_key('advevent_lastdosedate' . $SEDCRF, $fieldsNames); $advevent_lastdosedate = $this->check_value($fieldsValues, $key); if ($advevent_lastdosedate != '-') { $advevent_lastdosedate = ($advevent_lastdosedate - 25569) * 86400; //conversion from excel date to unix date } // advevent_lastdosetime $key = $this->array_find_key('advevent_lastdosetime' . $SEDCRF, $fieldsNames); $advevent_lastdosetime = $this->check_value($fieldsValues, $key); $AEData = array('ae_id' => $aeId, 'study_subject_id' => $studySubId, 'protocol_id' => $protocolId, 'sex' => $sex, 'site_number' => $siteId, 'start_date' => $startDate, 'version_name' => $versionName, 'crf_version_status' => $crfVersionStatus, 'advevent_desc' => $adveventDesc, 'advevent_date' => $adveventDate, 'advevent_inter' => $advevent_inter, 'advevent_severity' => $advevent_severity, 'advevent_action' => $advevent_action, 'advevent_other' => $advevent_other, 'advevent_outcome' => $advevent_outcome, 'advevent_related' => $advevent_related, 'advevent_resdate' => $advevent_resdate, 'advevent_SAE' => $advevent_SAE, 'advevent_reporter' => $advevent_reporter, 'advevent_lastdosedate' => $advevent_lastdosedate, 'advevent_lastdosetime' => $advevent_lastdosetime, 'datetime' => date('Y-m-d', time())); $this->db->trans_start(); $processResult = $basicModel->insert($AEData); $this->db->trans_complete(); if ($this->db->trans_status() === TRUE) { $this->session->set_flashdata('success', 'Operation successfully completedly.'); } else { $this->session->set_flashdata('error', 'Operation failed.'); } } } redirect(base_url('ae_parser')); }
public function add_batch_map() { $data = $this->input->post(); $data['date_created'] = time(); $batchMapModal = load_basic_model('batch_mapping'); $result = $batchMapModal->insert($data); if ($result > 0) { $this->session->set_flashdata('success', 'Operation successfully completed.'); } else { $this->session->set_flashdata('error', 'Operation Failed.'); } redirect('batch/batch_mapping'); }
public function parse() { // print_array($_FILES); $config['upload_path'] = './assets/files/'; $config['allowed_types'] = '*'; $config['max_size'] = '0'; $config['remove_spaces'] = true; $this->load->library('upload', $config); if (!$this->upload->do_upload('file')) { $error = array('error' => $this->upload->display_errors()); $this->session->set_flashdata('error', $error); redirect(base_url('parser')); } $fileInfo = $this->upload->data(); // print_array($fileInfo); if ($fileInfo['file_ext'] == '.xlds') { //load the excel library $this->load->library('excel'); $path = './assets/files/' . $fileInfo['file_name']; $inputFileType = PHPExcel_IOFactory::identify($path); // echo $inputFileType; $reader = PHPExcel_IOFactory::createReader("{$inputFileType}"); $reader->setReadDataOnly(false); $excel = $reader->load($path); $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); // $writer->setUseBOM(true); $fileName = $fileInfo['raw_name']; $writer->save('./assets/files/' . $fileName . '.xls'); // echo 'done';exit; $inputFileType2 = PHPExcel_IOFactory::identify($path); // echo $inputFileType;exit; $reader = PHPExcel_IOFactory::createReader("{$inputFileType2}"); $reader->setReadDataOnly(false); $excel2 = $reader->load($path); $writer2 = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007'); // $writer->setUseBOM(true); $writer2->save('./assets/files/' . $fileName . '.xlsx'); $fileInfo['file_name'] = $fileName . '.xlsx'; } // echo $fileInfo['file_name'];exit; $excelData = excel_parser($fileInfo['file_name']); // print_array($excelData); // $excelData = excel_parser('testnew.xlsx'); // dataset name $datasetName = end($excelData['header'][1]); // dataset description $search = 'Dataset Description:'; $result = $this->array_find_like($search, $excelData['values']); $datasetDesc = end($result); // study name $search = 'Study Name:'; $result = $this->array_find($search, $excelData['values']); $studyName = end($result); // protocol id $search = 'Protocol ID:'; $result = $this->array_find($search, $excelData['values']); $protocolIdReal = end($result); // Date $search = 'Date:'; $result = $this->array_find($search, $excelData['values']); $date = end($result); // Number of subjects $search = 'Subjects:'; $result = $this->array_find($search, $excelData['values']); $numSubjects = end($result); // Number of Study Event Definitions $search = 'Study Event Definitions'; $result = $this->array_find($search, $excelData['values']); $studyEventDef = end($result); //CHECK IF THE FILE HASE BEEN UPLOADED ONCE $checkData = array('dataset_name' => $datasetName, 'study_name' => $studyName, 'protocol_id' => $protocolIdReal, 'date' => $date); $studyModel = load_basic_model('study'); $resultStudy = $studyModel->get($checkData); if (count($resultStudy) > 0) { $this->session->set_flashdata('error', 'File already uploaded.'); redirect(base_url('parser')); } // Study Event Definition data $search = 'Study Event Definition '; $result = $this->array_find_like($search, $excelData['values']); $studyEventDefData = $result; $SED = $studyEventDefData['C']; // CRF data $search = 'CRF'; $result = $this->array_find_like($search, $excelData['values']); $crfData = $result; $CRF = end($crfData); $SEDCRF = '_' . $SED . '_' . $CRF; // re order array $excelData['values'] = array_values($excelData['values']); // get field names foreach ($excelData['values'] as $index => $val) { $key = array_search('Study Subject ID', $val); if (is_string($key)) { $fieldsNamesIndex = $index; $fieldsNames = $excelData['values'][$index]; break; } } $basicModel = load_basic_model('study'); //study table insertion $data = array('dataset_name' => $datasetName, 'study_name' => $studyName, 'protocol_id' => $protocolIdReal, 'subjects' => $numSubjects, 'study_event_definitions' => $studyEventDef, 'date' => $date); $studyProcessResult = $basicModel->insert($data); if (count($studyProcessResult) < 1) { $this->session->set_flashdata('error', 'Operation failed.'); redirect(base_url('parser')); } $lastId = $this->db->insert_id(); // get field values $fieldsValuesArr = array_slice($excelData['values'], $fieldsNamesIndex + 1); $basicModel = load_basic_model('implant_administration'); foreach ($fieldsValuesArr as $fieldsValues) { // Study Subject ID $key = array_search('Study Subject ID', $fieldsNames); $studySubId = $this->check_value($fieldsValues, $key); //extract site id $siteId = substr($studySubId, 0, -3); // protocol id $key = array_search('Protocol ID', $fieldsNames); $protocolId = $this->check_value($fieldsValues, $key); // Person ID // $key = array_search('Person ID', $fieldsNames); // $personId = $this->check_value($fieldsValues, $key); $personId = substr($studySubId, -3); // Sex $key = array_search('Sex', $fieldsNames); $sex = $this->check_value($fieldsValues, $key); // Version Name // $key = $this->array_find_key('Version Name' . $SEDCRF, $fieldsNames); // $versionName = $this->check_value($fieldsValues, $key); // epp_symptoms $key = $this->array_find_key('Psympts' . $SEDCRF, $fieldsNames); $eppSymptoms = $this->check_value($fieldsValues, $key); // epp_pregnant $key = $this->array_find_key('Ppregn' . $SEDCRF, $fieldsNames); $eppPregnant = $this->check_value($fieldsValues, $key); // implant_date $key = $this->array_find_key('Padmind' . $SEDCRF, $fieldsNames); $implantDate = $this->check_value($fieldsValues, $key); $impUnixDate = ($implantDate - 25569) * 86400; //conversion from excel date to unix date // implant_time $key = $this->array_find_key('Padmtm' . $SEDCRF, $fieldsNames); $implantTime = $this->check_value($fieldsValues, $key); // implant_min // $key = $this->array_find_key('EPP_elig_scen_admin_min' . $SEDCRF, $fieldsNames); // $implantMinCrf = $this->check_value($fieldsValues, $key); // $implantMin = $implantMinCrf * 5; // implant_batch $key = $this->array_find_key('Pbatch' . $SEDCRF, $fieldsNames); $implantBatch = $this->check_value($fieldsValues, $key); // scen_admin_side $key = $this->array_find_key('Padmsid' . $SEDCRF, $fieldsNames); $implantSide = $this->check_value($fieldsValues, $key); // implant_prob $key = $this->array_find_key('Padmprb' . $SEDCRF, $fieldsNames); $implantProb = $this->check_value($fieldsValues, $key); // problem specifications : If yes, please comment and, if applicable, please also complete the adverse events page // $key = $this->array_find_key('scen_admin_probspec' . $SEDCRF, $fieldsNames); // $implantProbSpec = $this->check_value($fieldsValues, $key); // scen_admin_suprail $key = $this->array_find_key('Psupra' . $SEDCRF, $fieldsNames); $implantSuprail = $this->check_value($fieldsValues, $key); // suprail explanation $key = $this->array_find_key('Psuprax' . $SEDCRF, $fieldsNames); $implantSuprailExpl = $this->check_value($fieldsValues, $key); $impAdminData = array('study_id' => $lastId, 'study_subject_id' => $studySubId, 'site_id' => $siteId, 'protocol_id' => $protocolId, 'person_id' => $personId, 'sex' => $sex, 'version_name' => NULL, 'epp_symptoms' => $eppSymptoms, 'implant_date' => $impUnixDate, 'implant_time' => $implantTime, 'implant_prob' => $implantProb, 'implant_batch' => $implantBatch, 'epp_pregnant' => $eppPregnant, 'implant_suprail' => $implantSuprail, 'implant_suprail_expl' => $implantSuprailExpl, 'date' => date('Y-m-d', time())); $this->db->trans_start(); $processResult = $basicModel->insert($impAdminData); $this->db->trans_complete(); if ($this->db->trans_status() === TRUE) { $this->session->set_flashdata('success', 'Operation successfully completedly.'); } else { $this->session->set_flashdata('error', 'Operation failed.'); } } redirect(base_url('parser')); }
public function check_email() { check_session(); $email = $this->input->post('email'); $basicModel = load_basic_model('users'); $data = $basicModel->get(array('user_email' => $email), 1); if (count($data) > 0) { $result = array('msg' => 'exist'); } else { $result = array('msg' => 'ok'); } echo json_encode($result); }
public function search() { $search_text = trim(mysql_real_escape_string($this->input->post('search'))); if (strlen($search_text) == 0) { $this->session->set_flashdata('error', 'Blank string not allowed in search..'); redirect(base_url()); } $result_in_tables = 0; $basicModel = load_basic_model(""); // table count in the database // $sql = 'show tables'; // $tables = $basicModel->explicit($sql); $tables = array('deliveries', 'wastage', 'sites', 'drug_batch'); for ($i = 0; $i < sizeof($tables); $i++) { // @abstract for each table of the db seaching text // $sql = 'select count(*) from ' . $tables[$i]['Tables_in_' . $this->db->database]; $sql = 'select count(*) AS count from ' . $tables[$i]; $numCols = $basicModel->explicit($sql); if ($numCols[0]['count'] > 0) { $sql = 'desc ' . $tables[$i]; $collumns = $basicModel->explicit($sql); $search_sql = 'select * from ' . $tables[$i] . ' WHERE '; $no_varchar_field = 0; for ($j = 0; $j < sizeof($collumns); $j++) { if (preg_match('/(id|date|created|number)/', $collumns[$j]['Field'])) { continue; } if ($no_varchar_field != 0) { $search_sql .= ' or '; } $search_sql .= 'lower(`' . $collumns[$j]['Field'] . '`) like \'%' . $search_text . '%\' '; $no_varchar_field++; } if ($no_varchar_field > 0) { $search_result = $basicModel->explicit($search_sql); if (sizeof($search_result)) { $result_in_tables++; $viewData['search_result'][$tables[$i]] = $search_result; } // else{ // $viewData['search_result'] = array(); // } } } } // print_array($viewData);exit; if (empty($viewData['search_result'])) { $viewData['search_result'] = array(); } $viewData['search_text'] = $search_text; load_fullview('search_view', $viewData); }
public function batch_report() { $basicModal = load_basic_model('clinical_data'); $viewData['clinicalData'] = $basicModal->get(); load_fullview('batch-report-view', $viewData); }