Semikolon
// oder $trennzeichen_excel = ","; --> Komma
#############################################################
$_SESSION["ck_verz"] = $verz;
if ($action == '') {
$german = $db->query("SET lc_time_names = 'de_DE';");
$query1 = "SELECT a.tm_id, date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort
FROM bpm_termine a, bpm_term_kand b
WHERE a.tm_id=b.tm_id
AND a.tm_datum > ADDDATE(now(), -7)
GROUP BY a.tm_id, tm_datum_form, tm_standort
ORDER BY tm_datum ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
if ($row1['tm_standort'] == 'L') {
$standort = 'Ludwigsburg';
}
if ($row1['tm_standort'] == 'K') {
$standort = 'Kehl';
}
$row1['tm_standort'] = $standort;
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
}
if ($action == 'upload') {
# Den Testtermin wählt man, damit jede Hochschule seine eigenen Daten importieren kann. Wenn eine Hochschule am selben TAg einen Test hat vermeidet man dass ein halbfertiger Test importiert wird
if (isset($_POST["testtermin"])) {
$testtermin = $_POST["testtermin"];
} else {
$testtermin = $_SESSION["testtermin"];
}
$_SESSION["testtermin"] = $testtermin;
# Uploadverzeichnis aufräumen. Temporäre Dateien, die älter als 2 Wochen sind, werden gelöscht
$dir = $_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF'])."/$verz";
$folder = dir($dir);
while ($dateiname = $folder->read()) {
if (filetype($dir.$dateiname) != "dir") {
if (strtotime("-2 weeks") >
@filemtime($dir.$dateiname)) {
if (@unlink($dir.$dateiname) != false){
# echo $dateiname.' wurde gelöscht
';
}else{
# echo $dateiname.' konnte nichtgelöscht werden
';
}
}
}
}
# Fehler beim Upload anzeigen
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('index_error', 1);
if ($errorno == 1) {
$smarty->assign('index_error_text', "Es dürfen nur CSV Dateien hochgeladen werden.");
}
if ($errorno == 2) {
# Tabelle bpm_parameter
$size_mb = trim(get_parameter(12));
$smarty->assign('index_error_text', "Die Datei ist zu groß. Die Dateigröße darf max. $size_mb MB betragen.");
}
if ($errorno == 3) {
$smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde vom Server gelöscht");
}
if ($errorno == 4) {
$smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde nicht vom Server gelöscht");
}
}
}
if ($action == 'csvimp') {
$testtermin = $_SESSION["testtermin"];
// http://www.tutorials.de/tutorials65420.html
#echo '
', print_r($_POST, true), ''; $tempname = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; $type = $_FILES['file']['type']; $size = $_FILES['file']['size']; $einheit = "Byte"; // Für die Efolgsmeldung. $limitedext = array( ".csv" ); //Erlaubte Dateieindung beim Upload $extlimit = "yes"; //Do you want to limit the extensions of files uploaded $ext = strrchr($name, '.'); if (($extlimit == "yes") && (!in_array($ext, $limitedext))) { echo ""; exit; } # Tabelle bpm_parameter $size_mb = trim(get_parameter(12)); $size_bt = $size_mb * 1024 * 1024; if ($size > $size_bt) { echo ""; exit; } $name = str_replace(array( "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü", " " ), array( "ae", "oe", "ue", "ss", "Ae", "Oe", "Ue", "_" ), $name); $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php $heuteformat = date("H-i-s_Y-m-d", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll $neu = $heuteformat . "_" . $name; $_SESSION["ck_neu"] = $neu; move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu"); $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen # Bestehnswert 65 Punkte $bestehenswert = trim(get_parameter(11)); # Hier vor der Schleife erste Zeile holen und ignorieren. Enthält Überschrift fgetcsv($handle, 0, $trennzeichen_excel); while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen #2020-02-23T17:44:56 $tag = substr($data[11], 8, 2); $monat = substr($data[11], 5, 2); $jahr = substr($data[11], 0, 4); $std = substr($data[11], 11, 2); $min = substr($data[11], 14, 2); $sek = substr($data[11], 17, 2); $datum = "$tag.$monat.$jahr - $std:$min:$sek"; $datum_db = "$jahr-$monat-$tag"; $tan = $data[7]; $result_ct = $db->query("SELECT concat(vorname,' ', nachname) name, date_format(tm_datum, '%Y-%m-%d') tm_datum FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_tanpool d WHERE a.ka_id = b.ka_id AND b.tm_id = c.tm_id AND b.tp_id = d.tp_id AND d.tan = '$tan' AND c.tm_id = $testtermin"); $row_ct = $result_ct->fetch_array(); if ($row_ct['name'] != '' AND $row_ct['tm_datum'] == $datum_db) { $satzerg_raw = $data[13]; #$analogie_raw = $data[14]; $gemeinsamkeiten_raw = $data[15]; $rechenaufgaben_raw = $data[16]; $zahlenreihen_raw = $data[17]; $rechenzeichen_raw = $data[18]; $matrizen_raw = $data[21]; $merkf_raw = $data[26]; $row1['tan'] = $tan; $row1['name'] = $row_ct['name']; $row1['datum'] = $datum; $row1['satzerg_raw'] = $satzerg_raw; #$row1['analogie_raw'] = $analogie_raw; $row1['gemeinsamkeiten_raw'] = $gemeinsamkeiten_raw; $row1['rechenaufgaben_raw'] = $rechenaufgaben_raw; $row1['zahlenreihen_raw'] = $zahlenreihen_raw; $row1['rechenzeichen_raw'] = $rechenzeichen_raw; $row1['matrizen_raw'] = $matrizen_raw; $row1['merkf_raw'] = $merkf_raw; # In die Berechnung fliest verb/num Intelligenz nicht mit ein. Das sind interne Berechnungen und keine Testaufgaben $summe = $satzerg_raw + $gemeinsamkeiten_raw + $rechenaufgaben_raw + $zahlenreihen_raw + $rechenzeichen_raw + $matrizen_raw + $merkf_raw; $row1['summe'] = $summe; if ($summe >= $bestehenswert) { $bestanden = 1; } else { $bestanden = 0; } $row1['bestanden'] = $bestanden; $table_data1[] = $row1; } } $smarty->assign('table_data1', $table_data1); fclose($handle); } if ($action == 'csvimp2') { $neu = $_SESSION["ck_neu"]; //CSV-Dateinamen um Datei löschen zu können $verz = $_SESSION["ck_verz"]; //Uploadverzeichnis aus Cookie holen $testtermin = $_SESSION["testtermin"]; if ($_POST['import'] == "0") // DS sollen nicht importiert werden { $dateiname = "$verz$neu"; if (@unlink($dateiname)) // Funktion löscht Dateien und gibt true / false zurück { # Abbruch, datei gelöscht echo ""; exit; } else { # Abbruch, datei nicht gelöscht echo ""; exit; } // End if } elseif ($_POST['import'] == "1") // DS sollen importiert werden { $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen # Bestehnswert 65 Punkte $bestehenswert = trim(get_parameter(11)); # Hier vor der Schleife erste Zeile holen und ignorieren. Enthält Überschrift fgetcsv($handle, 0, $trennzeichen_excel); while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen #2020-02-23T17:44:56 $tag = substr($data[11], 8, 2); $monat = substr($data[11], 5, 2); $jahr = substr($data[11], 0, 4); $std = substr($data[11], 11, 2); $min = substr($data[11], 14, 2); $sek = substr($data[11], 17, 2); $datum = "$tag.$monat.$jahr - $std:$min:$sek"; $datum_db = "$jahr-$monat-$tag"; $tan = $data[7]; $result_ct = $db->query("SELECT a.ka_id, concat(vorname,' ', nachname) name, date_format(tm_datum, '%Y-%m-%d') tm_datum FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_tanpool d WHERE a.ka_id = b.ka_id AND b.tm_id = c.tm_id AND b.tp_id = d.tp_id AND d.tan = '$tan' AND c.tm_id = $testtermin"); $row_ct = $result_ct->fetch_array(); if ($row_ct['name'] != '' AND $row_ct['tm_datum'] == $datum_db) { $satzerg_raw = $data[13]; #$analogie_raw = $data[14]; $gemeinsamkeiten_raw = $data[15]; $rechenaufgaben_raw = $data[16]; $zahlenreihen_raw = $data[17]; $rechenzeichen_raw = $data[18]; $matrizen_raw = $data[21]; $merkf_raw = $data[26]; $summe = $satzerg_raw + $gemeinsamkeiten_raw + $rechenaufgaben_raw + $zahlenreihen_raw + $rechenzeichen_raw + $matrizen_raw + $merkf_raw; if ($summe >= $bestehenswert) { $bestanden = 1; } else { $bestanden = 0; # Tan Inaktiv setzen $result_1 = $db->query("UPDATE bpm_tanpool SET aktiv='I' WHERE tan = '$tan'"); } $result_ct1 = $db->query("SELECT count(*) Anz FROM bpm_ergebnisse WHERE ka_id = $row_ct[ka_id] AND tan = '$tan'"); $row_ct1 = $result_ct1->fetch_array(); if ($row_ct1['Anz'] == 0) { # keine Ergebnisse vorhanden, insert $sql1 = $db->query("insert into bpm_ergebnisse (ka_id , tan , satzerg , gemeinsamkeiten , rechenaufgaben , zahlenreihen , rechenzeichen , matrizen , merkf , summe , bestanden) VALUES ('$row_ct[ka_id]' , '$tan' , '$satzerg_raw' , '$gemeinsamkeiten_raw' , '$rechenaufgaben_raw' , '$zahlenreihen_raw' , '$rechenzeichen_raw' , '$matrizen_raw' , '$merkf_raw' , '$summe' , '$bestanden')"); if (!$sql1) { $hinweis['hinweis'] = "TAN: " . $tan . " Fehler: Ergebnis nicht gespeichert