public function readexcel($idtbl) { if ($this->session->userdata('logged_in')) { $cekmng = cekurlid('manage', 'idmng'); if (empty($idtbl) || strlen($idtbl) === 0) { $this->session->unset_userdata('logged_in'); $this->session->sess_destroy(); redirect('login', 'refresh'); } else { if (!in_array($idtbl, $cekmng)) { echo 'tidak terdaftar'; } else { //import----------------------------------------------------------------------------------------- if (empty($_FILES['userfile']['name'])) { ?> <script type="text/javascript">alert('tolong upload filenya ');</script> <?php redirect('login', 'refresh'); } else { $session_data = $this->session->userdata('logged_in'); $idu = $session_data['id']; $tabel = $this->mweb->getmanage_by_id($idtbl); $target_path = APPPATH . 'file_temp/'; $target_path = $target_path . basename($_FILES['userfile']['name']); $filetype = pathinfo($target_path, PATHINFO_EXTENSION); if ($filetype == 'xlsx' || $filetype == 'xls') { $objPHPExcel = new PHPExcel(); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($_FILES['userfile']['tmp_name']); $objWorksheet = $objPHPExcel->getActiveSheet(); $bariss = array(); $koolom = array(); $highestcoll = $objWorksheet->getHighestColumn(); $highestRow = $objWorksheet->getHighestRow(); $hcoll = toNum(strtolower($highestcoll)) + 1; for ($i = 1; $i <= $highestRow; $i++) { $row = $objWorksheet->getRowIterator($i)->current(); $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); $isi = 0; if ($i == 1) { foreach ($cellIterator as $cell) { $koolom[] = preg_replace('/\\s+/', '_', $cell->getValue()); } } else { foreach ($cellIterator as $cell) { $isi++; if ($isi == $hcoll) { $bariss[] = $cell->getValue() . "#"; } else { $bariss[] = $cell->getValue(); } } } } switch ($tabel) { case 'barang': $exclude = array('kdbarang'); break; case 'cus': $exclude = array('idcus'); break; case 'supplier': $exclude = array('idsupp'); break; default: $exclude = array(); break; } $stmt_list = create_statement($tabel, $exclude); $kolomdb = explode(',', $stmt_list); $per = implode("^", $bariss); $arrDelimiters = array('#,', '#'); $uniformText = str_replace($arrDelimiters, "-|-", $per); $arrdata = explode("-|-", $uniformText); $jmlkoll = count($koolom); $listkolex = array_diff($koolom, array('')); $harusadd = array_diff($listkolex, $kolomdb); if (count($harusadd) > 0) { foreach ($harusadd as $k => $valadd) { $rtrimstr = rtrim($valadd); if (!empty($rtrimstr)) { $hrsadd = preg_replace('/\\s+/', '_', $valadd); $this->db->query('ALTER TABLE ' . $tabel . ' ADD ' . $hrsadd . ' varchar(100)'); } else { ?> <script type="text/javascript">alert("kolom pada excel tidak boleh kosong !");</script>; <?php redirect(site_url('gudang'), 'refresh'); } } } $jmlbaris = count($arrdata); for ($y = 0; $y < $jmlbaris; $y++) { $isidata = explode("^", $arrdata[$y]); $isiasli = array_diff($isidata, array('')); if ($tabel === 'cus') { array_push($kolomdb, 'iduser'); array_push($isiasli, $idu); } $nb = count($isiasli); $nk = count($kolomdb); $datanya = ''; if ($nb === $nk) { $datanya = array_combine($kolomdb, $isiasli); } if (!empty($datanya)) { $this->mweb->settable($tabel, $datanya); } } ?> <script type="text/javascript">alert("import data berhasil :)");</script>; <?php redirect(site_url('gudang'), 'refresh'); } else { ?> <script type="text/javascript">alert("silahkan import file yang berextensi xlsx atau xls");</script>; <?php redirect(site_url('gudang'), 'refresh'); } } //import----------------------------------------------------------------------------------------- } } } else { //If no session, redirect to login page redirect('login', 'refresh'); } }
$uname = trimString($data["uname"], 255); $S_SID = getMagic($os . "_" . $platform . "_" . $uname, 768); $S_ID = getSQLID($conn, "select S_ID from System where S_SID=? LIMIT 1", $S_SID); if ($S_ID == 0) { // this operating system is not in the database $sql = $conn->prepare("INSERT INTO System (S_SID, Platform, OS, Uname) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE S_SID=S_SID"); if (!$sql) { dieSQL(); } $sql->bind_param("ssss", $S_SID, $platform, $os, $uname); $sql->execute(); $sql->close(); $S_ID = $conn->insert_id; if ($S_ID == 0) { $S_ID = getSQLID($conn, "select S_ID from System where S_SID=? LIMIT 1", $S_SID); } } // we can now add all of this information to the runlog if ($C_ID == 0 or $P_ID == 0 or $V_ID == 0 or $S_ID == 0) { die("Something went wrong adding data: {$C_ID}, {$P_ID}, {$V_ID}, {$S_ID}"); } $exe = trimString($data["executable"], 255); $clockspeed = toNum($data["clockspeed"], 0); $numcores = toInt($data["numcores"], 0); $sql = $conn->prepare("INSERT INTO RunLog (RunTime, C_ID, Executable, P_ID, S_ID, V_ID, NumCores, ClockSpeed) VALUES (now(), ?, ?, ?, ?, ?, ?, ?)"); if (!$sql) { dieSQL(); } $sql->bind_param("isiiiid", $C_ID, $exe, $P_ID, $S_ID, $V_ID, $numcores, $clockspeed); $sql->execute(); $sql->close();