File: /home/ekspardev/www/nokta-logo.ekspar.dev/php/convert.php
<?php
session_start();
function convertXmlInvoiceNumbers($inputFile, $outputFile, $isSales = false) {
$xml = simplexml_load_file($inputFile);
if ($isSales) {
$invoices = $xml->INVOICE;
} else {
$invoices = $xml->INVOICE;
}
foreach ($invoices as $invoice) {
$docNumber = (string)$invoice->DOC_NUMBER;
$invoice->NUMBER = $docNumber;
$invoice->ARP_CODE = (string)$invoice->CARIKOD;
$cariKod = (string)$invoice->CARIKOD; // CARIKOD değerini saklayalım
if ($isSales) {
$invoice->DOC_NUMBER = (string)$invoice->DOSYANO;
$invoice->PROJECT_CODE = (string)$invoice->DOSYANO;
}
// DISPATCHES altındaki DISPATCH'leri güncelleme
if (isset($invoice->DISPATCHES) && isset($invoice->DISPATCHES->DISPATCH)) {
foreach ($invoice->DISPATCHES->DISPATCH as $dispatch) {
$dispatch->ARP_CODE = $cariKod; // DISPATCH içindeki ARP_CODE'u güncelle
}
}
unset($invoice->DOSYANO);
unset($invoice->PLAKA);
unset($invoice->CARIKOD);
}
$dom = new DOMDocument('1.0', 'ISO-8859-9');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$dom->save($outputFile);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_FILES["xmlFile"]) && $_FILES["xmlFile"]["error"] == 0) {
$islemTuru = $_POST["islemTuru"];
$inputFile = $_FILES["xmlFile"]["tmp_name"];
$outputFile = $islemTuru === "alis" ? "converted-alis.xml" : "converted-satis.xml";
try {
convertXmlInvoiceNumbers($inputFile, $outputFile, $islemTuru === "satis");
$_SESSION['message'] = "Dönüştürme başarılı";
$_SESSION['type'] = $islemTuru;
} catch (Exception $e) {
$_SESSION['error'] = $e->getMessage();
}
} else {
$_SESSION['error'] = "Dosya yüklenirken bir hata oluştu.";
}
// Yönlendirmeyi düzelttik
header("Location: ../index.php");
exit();
}