classes
commonservices
functions
inc
l10n
public
assets
csv.php
errorPage.htm
index.php
index3.php
index6.php
robots.txt
upload.php
zipit.php
scripts
tests
.git.template
.gitattributes
.gitignore
.gitmodules
.htaccess
composer.json
favicon.ico
phpstan.neon
security.php
87 lines
2.4 KiB
PHP
87 lines
2.4 KiB
PHP
<?PHP
|
|
declare(strict_types = 1);
|
|
require_once __DIR__ . "/../functions/functions.php";
|
|
|
|
if (session_status() != PHP_SESSION_ACTIVE) {
|
|
session_start();
|
|
}
|
|
|
|
// This array contains all available languages
|
|
$allowed_langs = ['ar', 'de', 'en', 'hu', 'id', 'it', 'pl','pt'];
|
|
|
|
// Some languages are in translation. They will only be available for logged in users.
|
|
|
|
if (isset($_GET['navlang'])) {
|
|
$_SESSION['lang'] = $_GET['navlang'];
|
|
if (!in_array($_SESSION['lang'], $allowed_langs)) $_SESSION['lang'] = 'de';
|
|
}
|
|
else if (!isset($_SESSION['lang'])) {
|
|
$_SESSION['lang'] = MD_STD::lang_getfrombrowser($allowed_langs, 'en', "", false);
|
|
}
|
|
$lang = $_SESSION['lang'];
|
|
|
|
if (empty($filename = trim($_GET['fnam'], " ,./"))) {
|
|
echo "Error: Invalid file name";
|
|
exit;
|
|
}
|
|
$csv_datei = MD_STD::realpath(__DIR__ . '/../csv/' . $filename);
|
|
|
|
if (is_dir(__DIR__ . "/../xml")) rrmdir(__DIR__ . '/../xml');
|
|
mkdir(__DIR__ . "/../xml", CACHE_DIR_PERMS);
|
|
|
|
if (!($fp = fopen($csv_datei, 'r'))) {
|
|
throw new MDmainEntityNotExistentException("Failed opening file");
|
|
}
|
|
$y = 0;
|
|
while ($zeile = fgetcsv($fp, 100000, ';')) {
|
|
|
|
$zeile = str_replace("\xEF\xBB\xBF", '', $zeile);
|
|
|
|
$y++;
|
|
|
|
$zieldatei = __DIR__ . '/../xml/' . $y . '.xml';
|
|
if (!$handle = fopen($zieldatei, 'w')) {
|
|
echo "Cannot open file ($zieldatei)";exit;
|
|
}
|
|
|
|
$xmlDoc = new DOMDocument("1.0", "UTF-8");
|
|
$xmlDoc->preserveWhiteSpace = false;
|
|
$xmlDoc->formatOutput = true;
|
|
# $xmlDoc->encoding = 'utf-8';
|
|
$xmlMainElem = $xmlDoc->createElement("record");
|
|
$record_node = $xmlDoc->appendChild($xmlMainElem); //add record element to XML node
|
|
# $rss_node->setAttribute("version", "2.0"); //set RSS version
|
|
|
|
$lineCount = count($zeile);
|
|
|
|
for ($x = 0; $x < $lineCount; $x++) {
|
|
$inhalt[$y][$x] = $zeile[$x];
|
|
if ($inhalt[$y][$x] == '') $inhalt[$y][$x] = 'ERSATZ';
|
|
|
|
$record_node->appendChild(createTextDomElement($xmlDoc, trim($inhalt[1][$x]), trim($inhalt[$y][$x])));
|
|
|
|
}
|
|
|
|
$somecontent = '<?xml version="1.0" encoding="UTF-8"?>' . $xmlDoc->saveXML($xmlDoc->documentElement);
|
|
|
|
# $somecontent .= '</record>';
|
|
//if ($y>1)
|
|
//{
|
|
if (fwrite($handle, $somecontent) === FALSE) {
|
|
echo "Cannot write to file ($filename)";exit;
|
|
}
|
|
|
|
fclose($handle);
|
|
}
|
|
fclose($fp);
|
|
|
|
|
|
echo printHTMLHead();
|
|
|
|
echo '
|
|
<div>
|
|
' . ($y - 1) . ' files created<br />
|
|
<hr/>
|
|
<a href="zipit.php" class="buttonLike">Download as ZIP</a>
|
|
</div>';
|