$kasitellaan_tiedosto = FALSE; } } elseif (isset($api_kentat) and count($api_kentat) > 0) { $kasitellaan_tiedosto = TRUE; } $muutetut_sopimusrivitunnukset = array(); if ($kasitellaan_tiedosto) { $lue_data_autoid = file_exists("lue_data_autoid.php"); /** * Käsiteltävän filen nimi * */ $kasiteltava_tiedoto_path = $_FILES['userfile']['tmp_name']; if (isset($api_kentat) and count($api_kentat) > 0) { $excelrivit = $api_kentat; } else { $excelrivit = pupeFileReader($kasiteltava_tiedoto_path, $ext); } /** * Otetaan tiedoston otsikkorivi * */ $headers = $excelrivit[0]; $headers = array_map('trim', $headers); $headers = array_map('strtoupper', $headers); // Unsetatan tyhjät sarakkeet for ($i = count($headers) - 1; $i > 0; $i--) { if ($headers[$i] != "") { break; } else { unset($headers[$i]); } }
} if (!isset($virheviesti)) { $virheviesti = ""; } if ($tee == "AJA") { $virhe = 0; $kaikki_tiedostorivit = array(); // Tutkitaan ja hutkitaan // Löytyykö tiedosto? if (is_uploaded_file($_FILES['userfile']['tmp_name']) === TRUE) { $kasiteltava_tiedosto_path = $_FILES['userfile']['tmp_name']; list($devnull, $tyyppi) = explode(".", $_FILES['userfile']['name']); $tyyppi = strtoupper($tyyppi); if ($tyyppi == "XLSX" or $tyyppi == "TXT") { echo "<br><br><font class='message'>" . t("Luetaan lähetetty tiedosto") . "...<br><br></font>"; $kaikki_tiedostorivit = pupeFileReader($kasiteltava_tiedosto_path, $tyyppi); // Poistetaan tyhjät solut arraysta foreach ($kaikki_tiedostorivit as &$tiedr) { $tiedr = array_filter($tiedr); } $kaikki_tiedostorivit = array_filter($kaikki_tiedostorivit); // Siivous ja validitytsekit foreach ($kaikki_tiedostorivit as $rowkey => &$tiedr) { // Indeksit: $tuoteno = $tiedr[0] = pupesoft_cleanstring($tiedr[0]); // 0 - Tuotenumero $kpl = $tiedr[1] = str_replace(",", ".", pupesoft_cleanstring($tiedr[1])); // 1 - Määrä $lahdevarastopk = $tiedr[2] = str_replace(" ", "", pupesoft_cleanstring($tiedr[2])); // 2 - Lähdevarastopaikka $kohdevarastopk = $tiedr[3] = str_replace(" ", "", pupesoft_cleanstring($tiedr[3]));
} $path_parts = pathinfo($_FILES['userfile']['name']); $ext = strtoupper($path_parts['extension']); $retval = tarkasta_liite("userfile", array("XLSX", "XLS", "ODS", "SLK", "XML", "GNUMERIC", "CSV", "TXT", "DATAIMPORT")); if ($retval !== TRUE) { echo "<font class='error'><br>" . t("Väärä tiedostomuoto") . "!</font>"; $tee = ''; } } else { $tee = ''; } } if ($toim == "VAIHDAKEHAHIN" and $tee == "tiedostosta") { // Tehdään kaikki tapahtumat samalle tositteelle! $tapahtumat_samalle_tositteelle = "kylla"; $excelrivit = pupeFileReader($_FILES['userfile']['tmp_name'], $ext); foreach ($excelrivit as $rivinumero => $rivi) { $tuoteno = $rivi[0]; $uusiarvo = $rivi[1]; $oma_selite = $rivi[2]; $tee = "vaihda_kehahin"; echo t("Käsitellään riviä") . ": " . ($rivinumero + 1) . ". " . t("Tuote") . ": {$tuoteno} "; require "epakurantti.inc"; echo "<br>"; } $tuoteno = ""; $uusiarvo = ""; $oma_selite = ""; $tee = ""; } if ($tee != '' and $tuoteno == "") {
echo "<font class='error'>" . t("Tiedoston konversio epäonnistui") . "!</font><br>\n"; $kasitellaan_tiedosto = FALSE; } else { $kasitellaan_tiedosto_tyyppi = "DATAIMPORT"; } // Poistetaan orig uploadfile unset($kasiteltava_tiedosto_path); // Otetaan uusi file muuttujaan $kasiteltava_tiedosto_path = $kasiteltava_tiedosto_path_csv; } // Tehdään XLSX -> CSV konversio if ($kasitellaan_tiedosto === TRUE and $kasitellaan_tiedosto_tyyppi == "XLSX") { // Tallennetaan XLSX faili CSV muotoon $kasiteltava_tiedosto_path_csv = $kasiteltava_tiedosto_path . ".DATAIMPORT"; // pupeFileReader palauttaa tidostonimen $kasiteltava_tiedosto_path_csv = pupeFileReader($kasiteltava_tiedosto_path, "XLSX", $kasiteltava_tiedosto_path_csv); // Poistetaan orig uploadfile unset($kasiteltava_tiedosto_path); // Otetaan uusi file muuttujaan $kasiteltava_tiedosto_path = $kasiteltava_tiedosto_path_csv; $kasitellaan_tiedosto_tyyppi = "DATAIMPORT"; } // Generoidaan uusi käyttäjäkohtainen filenimi datain -hakemistoon. Konversion jälkeen filename on muotoa: lue-data#username#yhtio#taulu#randombit#alkuperainen_filename#jarjestys.DATAIMPORT $kasiteltava_filenimi = "lue-data#" . $kukarow["kuka"] . "#" . $kukarow["yhtio"] . "#" . $table . $tablelisa . "#" . md5(uniqid(microtime(), TRUE) . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']) . "#" . $alkuperainen_filenimi; $kasiteltava_filepath = $pupe_root_polku . "/datain/"; $kasiteltava_kokonimi = $kasiteltava_filepath . $kasiteltava_filenimi; // Siirretään tiedosto datain -hakemistoon if (!rename($kasiteltava_tiedosto_path, $kasiteltava_kokonimi)) { echo "<font class='error'>" . t("Tiedoston kopiointi epäonnistui") . "! {$kasiteltava_tiedosto_path} » {$kasiteltava_kokonimi}</font><br>\n"; $kasitellaan_tiedosto = FALSE; }