From f96b10748a6134e2be6d055ef98d0fe224c34e03 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Tue, 21 Jul 2020 23:48:39 +0200 Subject: [PATCH] Remove option to convert without checking validity pcs-errors:226 phpunit-status:successful --- csv_check.php | 380 ------------------------------------------------- index3.php | 385 +++++++++++++++++++++++++++++++++++++++++++++++++- index4.php | 88 ------------ upload.php | 18 +-- 4 files changed, 380 insertions(+), 491 deletions(-) delete mode 100644 csv_check.php delete mode 100644 index4.php diff --git a/csv_check.php b/csv_check.php deleted file mode 100644 index 8680dfe..0000000 --- a/csv_check.php +++ /dev/null @@ -1,380 +0,0 @@ - $fieldCategory) { - $allowed = array_merge($allowed, array_keys($fieldCategory)); - - // Extended operations for events - if (strpos($categoryName, $basis['event']) !== false) { - foreach ($fieldCategory as $key => $value) { - if (strpos($key, "_annotation") !== false or strpos($key, "_gnd") !== false) continue; - if (strpos($key, "_sure") !== false) $eventpartsure[] = $key; - else $eventpart[] = $key; - } - } - - foreach ($fieldCategory as $key => $value) { - if (!empty($value["dependsOn"])) { - $fieldsWithDependency[$key] = $value['dependsOn']; - } - if (!empty($value["allowedValues"])) { - $fieldsWithAllowedValueSet[$key] = $value['allowedValues']; - } - } - -} - -$allowed_inclusion_kind_of = ['inclusion_kind_of', 'Schenkung', 'Kauf', 'Grabung', 'Notbergung', 'Erbschaft', 'Stiftung', 'Enteignung', 'Ursprungsbestand', 'Ajándékozás','Vétel','Feltárás','Hivatalos átadás','Csere','Gyűjtés','Saját előállítás','Törzsanyag','Letét', 'endowment', 'dispossession', 'old stock', '']; - -///// Check #1 -//echo '
';print_r($allowed);echo '
'; -echo '1: Only allowed tags (column names) used?'; -$fp = fopen ( $csv_datei, 'r' ); -$y = 1; -$error = 0; -$zeile = fgetcsv( $fp, 100000, ';' ); -$maxLoopLen = count($zeile); -for ($x = 0; $x < $maxLoopLen; $x++) { - - $zeile[$x] = str_replace("\xEF\xBB\xBF", "", $zeile[$x]); - $inhalt[$y][$x] = $zeile[$x]; - if (!in_array($inhalt[1][$x], $allowed)) { - echo '
ERROR in column ' . $x . ' created by value: ' . $inhalt[1][$x] . ''; - $error = $error + 1; - } - //echo '
';var_dump($inhalt[1][$x]); -} -fclose($fp); -$erstezeile = $zeile; -if ($error != 0) echo '
Not allowed tags found !'; else echo '
Only allowed tags used !'; - -//// Check #2 -echo '

2: Not allowed multiple use of tags (column names)?'; -$compare = array_unique($zeile); - -$result = identical_values($zeile, $compare); -if ($result == false) { - echo '
There are dublicate column names !'; - $error = $error + 1; -} -else { - echo '
No dublicate column names !'; -} - - -//// Get values into memory for following checks -$fp = fopen ( $csv_datei, 'r' ); -$y = 0; -while ($zeile = fgetcsv($fp, 100000, ';')) { - - $y++; - $maxLoopLen = count($zeile); - for ($x = 0; $x < $maxLoopLen; $x++) { - $inhalt[$y][$x] = str_replace("'", "\'", $zeile[$x]); - } -} -fclose($fp); - -///// Check #3 -echo '

3: Mandatory tags available and always filled in?'; -unset($inv_array); -$inv_error = 0; - -/** - * Function for finding duplicates?. - * - * @param array $array Input array. - * - * @return array - */ -function get_duplicates(array $array):array { - return array_unique(array_diff_assoc($array, array_unique($array))); - -} - -$mandatory = ['inventory_number','object_type','object_title','object_description']; -foreach ($mandatory as $tMandatoryField) { - if (!in_array($tMandatoryField, $erstezeile)) { - echo '
Mandatory: Column ' . $tMandatoryField . ' missing'; - $error = $error + 1; - $inv_error = $inv_error + 1; - } - else { - $spaltenr = array_search($tMandatoryField, $erstezeile); - for ($j = 0; $j < $y; $j++) { - if ($inhalt[$j + 1][$spaltenr] == '') { - echo '
Missing value for ' . $tMandatoryField . ' in row ' . ($j + 1) . ''; - $error = $error + 1; - $inv_error = $inv_error + 1; - } - if ($tMandatoryField == 'inventory_number') { - $inv_array[] = $inhalt[$j + 1][$spaltenr]; - } - } - } -} -if ($inv_error == 0) echo '
All mandatory tags available and with values !'; - - -///// Check #4 -echo '

4: Inventory_number unique ?'; -if (in_array('inventory_number', $erstezeile)) { - $doppelte_inv = get_duplicates($inv_array); - $doppelte_inv = array_values($doppelte_inv); - if (!empty($doppelte_inv)) { - foreach ($doppelte_inv as $tDublicateInvNo) { - echo '
Multiple use of inventory_number ' . $tDublicateInvNo . ''; - $error = $error + 1; - } - } - else echo '
All inventory_numbers are unique !'; -} -else { - echo '
Aborted, column inventory_number is missing'; - $error = $error + 1; -} - -///// Check #5 -echo '

5: Dependent colums observed ?
'; - - -// Check for correct handling of dependent fields -foreach ($fieldsWithDependency as $tField => $tDependentFields) { - - if (array_search($tField, $erstezeile) === false) continue; - - foreach ($tDependentFields as $tDependentField) { - if (array_search($tDependentField, $erstezeile) === false) { - $depencymessage[] = "Dependency issue at column $tField: Corresponding column $tDependentField is missing"; - } - } - -} - -if (!empty($depencymessage)) { - echo 'Dependent columns were not observed !'; - foreach ($depencymessage as $tDepMsg) { - echo '
' . $tDepMsg; - $error = $error + 1; - } -} -else { - echo 'Dependent columns were observed !'; -} - -///// Check #6 -echo '

6: Dependency of content observed?'; - -$crosscheck1 = ['object_other_title','detailed_description','detailed_description','inscription','inscription','dimensions_separate_length_value', 'dimensions_separate_width_value', 'dimensions_separate_height_value', 'dimensions_separate_diameter_value', 'dimensions_separate_wall_thickness_value', 'dimensions_separate_weight_value','closer_location','bought_for','worth_value','worth_insurance_value']; -$crosscheck2 = ['object_other_title_kind_of','detailed_description_md','detailed_description_extern','inscription_md','inscription_extern','dimensions_separate_length_unit', 'dimensions_separate_width_unit', 'dimensions_separate_height_unit', 'dimensions_separate_diameter_unit', 'dimensions_separate_wall_thickness_unit', 'dimensions_separate_weight_unit','closer_location_as','bought_for_currency','worth_unit','worth_insurance_unit']; - -$depcon_error = 0; -foreach ($crosscheck1 as $l => $tCrossCheck) { - - if (in_array($tCrossCheck, $erstezeile)) { - - for ($j = 1; $j < ($y + 1); $j++) { - if ($inhalt[$j][array_search($crosscheck2[$l], $erstezeile)] !== '' and $inhalt[$j][array_search($tCrossCheck, $erstezeile)] == '') { - echo '
Tag ' . $crosscheck2[$l] . ' given but no entry for ' . $tCrossCheck . ' (row ' . $j . ')'; - $depcon_error++; - } - } - - } - -} - -foreach ($eventpart as $l => $tEventPart) { - if (in_array($tEventPart, $erstezeile)) { - for ($j = 1; $j < ($y + 1); $j++) { - if ($inhalt[$j][array_search($eventpartsure[$l], $erstezeile)] !== '' and $inhalt[$j][array_search($tEventPart, $erstezeile)] == '') { - echo '
Tag ' . $eventpartsure[$l] . ' given but no entry for ' . $tEventPart . ' (row ' . $j . ')'; - $depcon_error++; - } - } - } -} - -if (in_array('dimensions_separate_show_md', $erstezeile)) { - for ($j = 1; $j < ($y + 1); $j++) { - if ($inhalt[$j][array_search('dimensions_separate_show_md', $erstezeile)] !== '' and ($inhalt[$j][array_search('dimensions_separate_length_value', $erstezeile)] == '') and $inhalt[$j][array_search('dimensions_separate_width_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_heigt_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_weight_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_diameter_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_wall_thickness_value', $erstezeile)] == '') { - echo '
Tag dimensions_separate_show_md given but no separate values available (row ' . $j . ')'; - $depcon_error = $depcon_error + 1; - } - } -} - -if (in_array('dimensions_separate_show_extern', $erstezeile)) { - for ($j = 1; $j < ($y + 1); $j++) { - if ($inhalt[$j][array_search('dimensions_separate_show_extern', $erstezeile)] !== '' and ($inhalt[$j][array_search('dimensions_separate_length_value', $erstezeile)] == '') and $inhalt[$j][array_search('dimensions_separate_width_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_heigt_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_weight_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_diameter_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_wall_thickness_value', $erstezeile)] == '') { - echo '
Tag dimensions_separate_show_extern given but no separate values available (row ' . $j . ')'; - $depcon_error = $depcon_error + 1; - } - } -} -/* -for ($im=1;$im<11;$im++) -{ - if (in_array('image_name'.$im,$erstezeile)) - { - for ($j=1;$j<($y+1);$j++) - { - if ($inhalt[$j][array_search('image_rights'.$im,$erstezeile)]!=='') - { - echo '
TAG image_name'.$im.' given but no value available for image_rights'.$im.' (row '.$j.')'; - $depcon_error=$depcon_error+1; - } - if ($inhalt[$j][array_search('image_visible'.$im,$erstezeile)]!=='') - { - echo '
TAG image_name'.$im.' given but no value available for image_visible'.$im.' (row '.$j.')'; - $depcon_error=$depcon_error+1; - } - } - } -} -*/ -if ($depcon_error == 0) echo '
Dependency of content was observed !'; - -///// Check #7 -echo '

7: Not allowed values in controlled lists?
'; -for ($i = 2; $i <= $y; $i++) { - - foreach ($inhalt[$i] as $key => $value) { - - $columnName = $inhalt[1][$key]; - // If the field is not restricted, then continue - if (!isset($fieldsWithAllowedValueSet[$columnName])) continue; - - // For others: check if the value is from the list of allowed values. - if (!in_array($value, $fieldsWithAllowedValueSet[$columnName])) { - - // It may be that the value is empty together with all dependent fields, - // because it's in a repeat field that was needed earlier. - if (empty($value) && !empty($fieldsWithDependency[$columnName])) { - - $allDependentsEmpty = true; - foreach ($fieldsWithDependency[$columnName] as $depField) { - // Find keys of dependent field - $depFieldKey = array_search($depField, $inhalt[1]); - if (!empty($inhalt[$i][$depFieldKey])) { - $allDependentsEmpty = false; - break; - } - } - if ($allDependentsEmpty === true) continue; - - } - - $errormessage[] = "Disallowed value in column {$columnName} on row {$i}: " . $value . " (allowed values: " . implode(", ", $fieldsWithAllowedValueSet[$columnName]) . ")"; - } - - } -} - -if (isset($errormessage) and $errormessage != '') { - echo 'Columns with controlled values contain invalid values !'; - foreach ($errormessage as $tMsg) { - echo '
' . $tMsg; - $error++; - } -} -else { - echo 'Values in controlled fields are all valid !'; -} - -///// Check #8 -unset($errormessage); -echo '

8: Main image or main resource given?
'; -$hasanyimage = 0; -for ($im = 1; $im < 29; $im++) -{ - if (array_search('image_name' . $im, $erstezeile) != '') {$imagemain[$im]['name'] = array_search('image_name' . $im, $erstezeile);$hasanyimage++; - } - if (array_search('image_visible' . $im, $erstezeile) != '') $imagemain[$im]['visible'] = array_search('image_visible' . $im, $erstezeile); - if (array_search('image_main' . $im, $erstezeile) != '') $imagemain[$im]['main'] = array_search('image_main' . $im, $erstezeile); -} - -if ($hasanyimage > 0) { - $imagemain = array_values($imagemain); - for ($i = 1; $i <= $y; $i++) - { - if ($i > 1) { - //check if in a row any image_name is given - $maimg = $hatimg = 0; - foreach ($imagemain as $im => $tMainImage) { - if ($inhalt[$i][$tMainImage] != '') $hatimg++; - } - if ($hatimg > 0) { - // first check: how many main-images? - foreach ($imagemain as $im => $tMainImage) { - if ($inhalt[$i][$imagemain[$im]['main']] == 'y') { - $maimg++; - $merk = $im; - } - } - // if there is exacly one main-image, is it visible? - if ($maimg == 1) { - if ($inhalt[$i][$imagemain[$merk]['visible']] == 'n') { - $errormessage[] = 'Main image in row ' . $i . ' is not visible'; - } - } - } - if ($maimg == 0 and $hatimg > 0) $errormessage[] = 'There is no visible main image given in row ' . $i . ''; - if ($maimg > 1 and $hatimg > 0) $errormessage[] = 'There are ' . $maimg . ' main images given in row ' . $i . ''; - } - } - - if (!empty($errormessage)) { - echo 'There is not one main image for each object !'; - foreach ($errormessage as $tMsg) { - echo '
' . $tMsg; - $error++; - } - } - else { - echo 'For each object that has images attached exactly one main image is given !'; - } -} -else { - echo 'No images to be imported !'; -} - -echo '
'; -if ($error + $depcon_error > 0) { - echo ' -

Error(s) found: ' . ($error + $depcon_error) . '

'; -} -else { - echo 'Create XML for md:import (utf8)
'; -} diff --git a/index3.php b/index3.php index 93444a0..247a823 100644 --- a/index3.php +++ b/index3.php @@ -1,17 +1,390 @@ $fieldCategory) { + $allowed = array_merge($allowed, array_keys($fieldCategory)); + + // Extended operations for events + if (strpos($categoryName, $basis['event']) !== false) { + foreach ($fieldCategory as $key => $value) { + if (strpos($key, "_annotation") !== false or strpos($key, "_gnd") !== false) continue; + if (strpos($key, "_sure") !== false) $eventpartsure[] = $key; + else $eventpart[] = $key; + } + } + + foreach ($fieldCategory as $key => $value) { + if (!empty($value["dependsOn"])) { + $fieldsWithDependency[$key] = $value['dependsOn']; + } + if (!empty($value["allowedValues"])) { + $fieldsWithAllowedValueSet[$key] = $value['allowedValues']; + } + } + +} + +$allowed_inclusion_kind_of = ['inclusion_kind_of', 'Schenkung', 'Kauf', 'Grabung', 'Notbergung', 'Erbschaft', 'Stiftung', 'Enteignung', 'Ursprungsbestand', 'Ajándékozás','Vétel','Feltárás','Hivatalos átadás','Csere','Gyűjtés','Saját előállítás','Törzsanyag','Letét', 'endowment', 'dispossession', 'old stock', '']; + echo printHTMLHead(); echo '
'; -$semikoma = $_GET['semikoma']; - echo 'Please wait ... (checking validity)'; - echo '
'; - echo ''; +echo 'Please wait ... (checking validity)'; +echo ''; +echo ''; echo '
'; - require 'csv_check.php'; + +///// Check #1 +//echo '
';print_r($allowed);echo '
'; +echo '1: Only allowed tags (column names) used?'; +$fp = fopen ( $csv_datei, 'r' ); +$y = 1; +$error = 0; +$zeile = fgetcsv( $fp, 100000, ';' ); +$maxLoopLen = count($zeile); +for ($x = 0; $x < $maxLoopLen; $x++) { + + $zeile[$x] = str_replace("\xEF\xBB\xBF", "", $zeile[$x]); + $inhalt[$y][$x] = $zeile[$x]; + if (!in_array($inhalt[1][$x], $allowed)) { + echo '
ERROR in column ' . $x . ' created by value: ' . $inhalt[1][$x] . ''; + $error = $error + 1; + } + //echo '
';var_dump($inhalt[1][$x]); +} +fclose($fp); +$erstezeile = $zeile; +if ($error != 0) echo '
Not allowed tags found !'; else echo '
Only allowed tags used !'; + +//// Check #2 +echo '

2: Not allowed multiple use of tags (column names)?'; +$compare = array_unique($zeile); + +$result = identical_values($zeile, $compare); +if ($result == false) { + echo '
There are dublicate column names !'; + $error = $error + 1; +} +else { + echo '
No dublicate column names !'; +} + + +//// Get values into memory for following checks +$fp = fopen ( $csv_datei, 'r' ); +$y = 0; +while ($zeile = fgetcsv($fp, 100000, ';')) { + + $y++; + $maxLoopLen = count($zeile); + for ($x = 0; $x < $maxLoopLen; $x++) { + $inhalt[$y][$x] = str_replace("'", "\'", $zeile[$x]); + } +} +fclose($fp); + +///// Check #3 +echo '

3: Mandatory tags available and always filled in?'; +unset($inv_array); +$inv_error = 0; + +/** + * Function for finding duplicates?. + * + * @param array $array Input array. + * + * @return array + */ +function get_duplicates(array $array):array { + return array_unique(array_diff_assoc($array, array_unique($array))); + +} + +$mandatory = ['inventory_number','object_type','object_title','object_description']; +foreach ($mandatory as $tMandatoryField) { + if (!in_array($tMandatoryField, $erstezeile)) { + echo '
Mandatory: Column ' . $tMandatoryField . ' missing'; + $error = $error + 1; + $inv_error = $inv_error + 1; + } + else { + $spaltenr = array_search($tMandatoryField, $erstezeile); + for ($j = 0; $j < $y; $j++) { + if ($inhalt[$j + 1][$spaltenr] == '') { + echo '
Missing value for ' . $tMandatoryField . ' in row ' . ($j + 1) . ''; + $error = $error + 1; + $inv_error = $inv_error + 1; + } + if ($tMandatoryField == 'inventory_number') { + $inv_array[] = $inhalt[$j + 1][$spaltenr]; + } + } + } +} +if ($inv_error == 0) echo '
All mandatory tags available and with values !'; + + +///// Check #4 +echo '

4: Inventory_number unique ?'; +if (in_array('inventory_number', $erstezeile)) { + $doppelte_inv = get_duplicates($inv_array); + $doppelte_inv = array_values($doppelte_inv); + if (!empty($doppelte_inv)) { + foreach ($doppelte_inv as $tDublicateInvNo) { + echo '
Multiple use of inventory_number ' . $tDublicateInvNo . ''; + $error = $error + 1; + } + } + else echo '
All inventory_numbers are unique !'; +} +else { + echo '
Aborted, column inventory_number is missing'; + $error = $error + 1; +} + +///// Check #5 +echo '

5: Dependent colums observed ?
'; + + +// Check for correct handling of dependent fields +foreach ($fieldsWithDependency as $tField => $tDependentFields) { + + if (array_search($tField, $erstezeile) === false) continue; + + foreach ($tDependentFields as $tDependentField) { + if (array_search($tDependentField, $erstezeile) === false) { + $depencymessage[] = "Dependency issue at column $tField: Corresponding column $tDependentField is missing"; + } + } + +} + +if (!empty($depencymessage)) { + echo 'Dependent columns were not observed !'; + foreach ($depencymessage as $tDepMsg) { + echo '
' . $tDepMsg; + $error = $error + 1; + } +} +else { + echo 'Dependent columns were observed !'; +} + +///// Check #6 +echo '

6: Dependency of content observed?'; + +$crosscheck1 = ['object_other_title','detailed_description','detailed_description','inscription','inscription','dimensions_separate_length_value', 'dimensions_separate_width_value', 'dimensions_separate_height_value', 'dimensions_separate_diameter_value', 'dimensions_separate_wall_thickness_value', 'dimensions_separate_weight_value','closer_location','bought_for','worth_value','worth_insurance_value']; +$crosscheck2 = ['object_other_title_kind_of','detailed_description_md','detailed_description_extern','inscription_md','inscription_extern','dimensions_separate_length_unit', 'dimensions_separate_width_unit', 'dimensions_separate_height_unit', 'dimensions_separate_diameter_unit', 'dimensions_separate_wall_thickness_unit', 'dimensions_separate_weight_unit','closer_location_as','bought_for_currency','worth_unit','worth_insurance_unit']; + +$depcon_error = 0; +foreach ($crosscheck1 as $l => $tCrossCheck) { + + if (in_array($tCrossCheck, $erstezeile)) { + + for ($j = 1; $j < ($y + 1); $j++) { + if ($inhalt[$j][array_search($crosscheck2[$l], $erstezeile)] !== '' and $inhalt[$j][array_search($tCrossCheck, $erstezeile)] == '') { + echo '
Tag ' . $crosscheck2[$l] . ' given but no entry for ' . $tCrossCheck . ' (row ' . $j . ')'; + $depcon_error++; + } + } + + } + +} + +foreach ($eventpart as $l => $tEventPart) { + if (in_array($tEventPart, $erstezeile)) { + for ($j = 1; $j < ($y + 1); $j++) { + if ($inhalt[$j][array_search($eventpartsure[$l], $erstezeile)] !== '' and $inhalt[$j][array_search($tEventPart, $erstezeile)] == '') { + echo '
Tag ' . $eventpartsure[$l] . ' given but no entry for ' . $tEventPart . ' (row ' . $j . ')'; + $depcon_error++; + } + } + } +} + +if (in_array('dimensions_separate_show_md', $erstezeile)) { + for ($j = 1; $j < ($y + 1); $j++) { + if ($inhalt[$j][array_search('dimensions_separate_show_md', $erstezeile)] !== '' and ($inhalt[$j][array_search('dimensions_separate_length_value', $erstezeile)] == '') and $inhalt[$j][array_search('dimensions_separate_width_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_heigt_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_weight_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_diameter_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_wall_thickness_value', $erstezeile)] == '') { + echo '
Tag dimensions_separate_show_md given but no separate values available (row ' . $j . ')'; + $depcon_error = $depcon_error + 1; + } + } +} + +if (in_array('dimensions_separate_show_extern', $erstezeile)) { + for ($j = 1; $j < ($y + 1); $j++) { + if ($inhalt[$j][array_search('dimensions_separate_show_extern', $erstezeile)] !== '' and ($inhalt[$j][array_search('dimensions_separate_length_value', $erstezeile)] == '') and $inhalt[$j][array_search('dimensions_separate_width_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_heigt_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_weight_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_diameter_value', $erstezeile)] == '' and $inhalt[$j][array_search('dimensions_separate_wall_thickness_value', $erstezeile)] == '') { + echo '
Tag dimensions_separate_show_extern given but no separate values available (row ' . $j . ')'; + $depcon_error = $depcon_error + 1; + } + } +} +/* +for ($im=1;$im<11;$im++) +{ + if (in_array('image_name'.$im,$erstezeile)) + { + for ($j=1;$j<($y+1);$j++) + { + if ($inhalt[$j][array_search('image_rights'.$im,$erstezeile)]!=='') + { + echo '
TAG image_name'.$im.' given but no value available for image_rights'.$im.' (row '.$j.')'; + $depcon_error=$depcon_error+1; + } + if ($inhalt[$j][array_search('image_visible'.$im,$erstezeile)]!=='') + { + echo '
TAG image_name'.$im.' given but no value available for image_visible'.$im.' (row '.$j.')'; + $depcon_error=$depcon_error+1; + } + } + } +} +*/ +if ($depcon_error == 0) echo '
Dependency of content was observed !'; + +///// Check #7 +echo '

7: Not allowed values in controlled lists?
'; +for ($i = 2; $i <= $y; $i++) { + + foreach ($inhalt[$i] as $key => $value) { + + $columnName = $inhalt[1][$key]; + // If the field is not restricted, then continue + if (!isset($fieldsWithAllowedValueSet[$columnName])) continue; + + // For others: check if the value is from the list of allowed values. + if (!in_array($value, $fieldsWithAllowedValueSet[$columnName])) { + + // It may be that the value is empty together with all dependent fields, + // because it's in a repeat field that was needed earlier. + if (empty($value) && !empty($fieldsWithDependency[$columnName])) { + + $allDependentsEmpty = true; + foreach ($fieldsWithDependency[$columnName] as $depField) { + // Find keys of dependent field + $depFieldKey = array_search($depField, $inhalt[1]); + if (!empty($inhalt[$i][$depFieldKey])) { + $allDependentsEmpty = false; + break; + } + } + if ($allDependentsEmpty === true) continue; + + } + + $errormessage[] = "Disallowed value in column {$columnName} on row {$i}: " . $value . " (allowed values: " . implode(", ", $fieldsWithAllowedValueSet[$columnName]) . ")"; + } + + } +} + +if (isset($errormessage) and $errormessage != '') { + echo 'Columns with controlled values contain invalid values !'; + foreach ($errormessage as $tMsg) { + echo '
' . $tMsg; + $error++; + } +} +else { + echo 'Values in controlled fields are all valid !'; +} + +///// Check #8 +unset($errormessage); +echo '

8: Main image or main resource given?
'; +$hasanyimage = 0; +for ($im = 1; $im < 29; $im++) +{ + if (array_search('image_name' . $im, $erstezeile) != '') {$imagemain[$im]['name'] = array_search('image_name' . $im, $erstezeile);$hasanyimage++; + } + if (array_search('image_visible' . $im, $erstezeile) != '') $imagemain[$im]['visible'] = array_search('image_visible' . $im, $erstezeile); + if (array_search('image_main' . $im, $erstezeile) != '') $imagemain[$im]['main'] = array_search('image_main' . $im, $erstezeile); +} + +if ($hasanyimage > 0) { + $imagemain = array_values($imagemain); + for ($i = 1; $i <= $y; $i++) + { + if ($i > 1) { + //check if in a row any image_name is given + $maimg = $hatimg = 0; + foreach ($imagemain as $im => $tMainImage) { + if ($inhalt[$i][$tMainImage] != '') $hatimg++; + } + if ($hatimg > 0) { + // first check: how many main-images? + foreach ($imagemain as $im => $tMainImage) { + if ($inhalt[$i][$imagemain[$im]['main']] == 'y') { + $maimg++; + $merk = $im; + } + } + // if there is exacly one main-image, is it visible? + if ($maimg == 1) { + if ($inhalt[$i][$imagemain[$merk]['visible']] == 'n') { + $errormessage[] = 'Main image in row ' . $i . ' is not visible'; + } + } + } + if ($maimg == 0 and $hatimg > 0) $errormessage[] = 'There is no visible main image given in row ' . $i . ''; + if ($maimg > 1 and $hatimg > 0) $errormessage[] = 'There are ' . $maimg . ' main images given in row ' . $i . ''; + } + } + + if (!empty($errormessage)) { + echo 'There is not one main image for each object !'; + foreach ($errormessage as $tMsg) { + echo '
' . $tMsg; + $error++; + } + } + else { + echo 'For each object that has images attached exactly one main image is given !'; + } +} +else { + echo 'No images to be imported !'; +} + +echo '
'; +if ($error + $depcon_error > 0) { + echo ' +

Error(s) found: ' . ($error + $depcon_error) . '

'; +} +else { + echo 'Create XML for md:import (utf8)
'; +} echo '
'; echo ' diff --git a/index4.php b/index4.php deleted file mode 100644 index 13ff276..0000000 --- a/index4.php +++ /dev/null @@ -1,88 +0,0 @@ -' . "\n"; // für Ungarn /////////////////////////////////// - $somecontent .= '' . "\n"; - - $lineCount = count($zeile); - for ($x = 0; $x < $lineCount; $x++) { - - $inhalt[$y][$x] = $zeile[$x]; - $inhalt[$y][$x] = preg_replace('/[\x00-\x1F\x7F]/u', '', $inhalt[$y][$x]); - $inhalt[$y][$x] = str_replace('>', ']', str_replace('<', '[', $inhalt[$y][$x])); - if (empty($inhalt[$y][$x])) continue; - //if ($y!=1) $inhalt[$y][$x] = ''; - $somecontent = $somecontent . '<' . tagify(transform($inhalt[1][$x])) . '>' . (($inhalt[$y][$x])) . '' . "\n"; //für ungarn sonst weg } - - } - $somecontent .= ''; - if (fwrite($handle, $somecontent) === FALSE) { - echo "Cannot write to file ($filename)";exit; - } - fclose($handle); - -} -fclose($fp); - -echo printHTMLHead(); - -echo ' -
- ' . ($y - 1) . ' files created -
- Download as zip - -
'; - -echo ' - - - -'; diff --git a/upload.php b/upload.php index 1ca6e9a..97a3329 100644 --- a/upload.php +++ b/upload.php @@ -27,20 +27,4 @@ if(!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { return; } -echo printHTMLHead(); - -echo " -
-

The file has been uploaded: " . basename( $_FILES['uploaded']['name']) . ".

-
-

How to proceed?

- -
- - - - -"; +header("Location: index3.php?fnam=" . basename($_FILES['uploaded']['name']));