summaryrefslogtreecommitdiffstats
path: root/includes/admin/views/giglog_import_gigs.php
diff options
context:
space:
mode:
authorAndreaChirulescu <andrea.chirulescu@gmail.com>2022-03-01 21:49:09 +0100
committerAndreaChirulescu <andrea.chirulescu@gmail.com>2022-03-01 21:49:09 +0100
commite1ac66aade5c2d5d2d9f6c6db501fccd9db9be0a (patch)
treecad8175895dc6cd8573befe827220ff4f730de8a /includes/admin/views/giglog_import_gigs.php
parentc5d786a1c72911e4352a6e40ea19aff98711d353 (diff)
downloadgigologadmin-e1ac66aade5c2d5d2d9f6c6db501fccd9db9be0a.tar.gz
gigologadmin-e1ac66aade5c2d5d2d9f6c6db501fccd9db9be0a.tar.bz2
gigologadmin-e1ac66aade5c2d5d2d9f6c6db501fccd9db9be0a.zip
import giglog checks for empty values and ivnalid date
Diffstat (limited to 'includes/admin/views/giglog_import_gigs.php')
-rw-r--r--includes/admin/views/giglog_import_gigs.php85
1 files changed, 53 insertions, 32 deletions
diff --git a/includes/admin/views/giglog_import_gigs.php b/includes/admin/views/giglog_import_gigs.php
index e523dee..7cf4009 100644
--- a/includes/admin/views/giglog_import_gigs.php
+++ b/includes/admin/views/giglog_import_gigs.php
@@ -55,6 +55,9 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
*
* @param array<int, mixed>
*/
+
+
+
static function process_upload(array $file): void {
global $wpdb;
$newconcert= [];
@@ -69,59 +72,77 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
continue;
}
$resultArray = explode("\t", $line);
- if (empty(trim($resultArray[0])))
- { $importerrors.= 'Row '.$rid.' is missing concert name!'."<br>";
- continue;
- }
- else if (empty(trim($resultArray[1])))
- { $importerrors.= 'Row '.$rid.' is missing venue name!'."<br>";
+ //unsure if this is needed, considering we are also checking if each individual important field is missing. But if they are not replaced by tabs, then everything gets shifted so probably best to check if a //value is empty and NOT replaced by tab
+ if (count($resultArray)<6)
+ {
+ $importerrors.= 'Row '.$rid.' is missing a field!'."<br>";
continue;
}
+ else{
+ //Below only checks if the date field is made of 4-2-2 digits, irregardless of their values. Actual date check is lower
+ if( ! preg_match("/\d{4}\-\d{2}-\d{2}/",$resultArray[3]))
+ {
+ $importerrors.= 'Row '.$rid.' has invalid date!'.$resultArray[3]."<br>";
- else if (empty(trim($resultArray[2])))
- { $importerrors.= 'Row '.$rid.' is missing city name!' ."<br>";
- continue;
- }
+ continue;
+ }
- else {
- $condate = date('Y-m-d', strtotime($resultArray[3]));
- if ($condate<date("Y-m-d"))
- {$importerrors.= 'Row '.$rid.' has date in the past!' ."<br>";
- continue; }
- else {
+ else {
+ if (empty(trim($resultArray[0])))
+ { $importerrors.= 'Row '.$rid.' is missing concert name!'."<br>";
+ continue;
+ }
+ else if (empty(trim($resultArray[1])))
+ { $importerrors.= 'Row '.$rid.' is missing venue name!'."<br>";
+ continue;
+ }
+ else if (empty(trim($resultArray[2])))
+ { $importerrors.= 'Row '.$rid.' is missing city name!' ."<br>";
+ continue;
+ }
- $cname = trim($resultArray[0]);
- $venue = trim($resultArray[1]);
+ else {
+ $condate = date('Y-m-d', strtotime($resultArray[3]));
+ if ($condate<date("Y-m-d"))
+ {$importerrors.= 'Row '.$rid.' has date in the past!' .$resultArray[3]."<br>";
+ continue; }
+ else {
- if (is_numeric($venue)) {
- $venue = GiglogAdmin_Venue::get($venue);
- }
- else {
- $venue = GiglogAdmin_Venue::find_or_create($venue,trim($resultArray[2]));
- }
+ $cname = trim($resultArray[0]);
+ $venue = trim($resultArray[1]);
- $ticketlink = trim($resultArray[4]);
- $eventlink = trim($resultArray[5]);
+ if (is_numeric($venue)) {
+ $venue = GiglogAdmin_Venue::get($venue);
+ }
+ else {
+ $venue = GiglogAdmin_Venue::find_or_create($venue,trim($resultArray[2]));
+ }
+ $ticketlink = trim($resultArray[4]);
+ $eventlink = trim($resultArray[5]);
- try {
- GiglogAdmin_Concert::create($cname, $venue->id(), $condate, $ticketlink, $eventlink);
+ try {
+ GiglogAdmin_Concert::create($cname, $venue->id(), $condate, $ticketlink, $eventlink);
- }
+ }
- catch(Exception $e) {
- $importerrors.= 'Row '.$rid.' is duplicate (or failed due unknown error)!'."<br>";
+ catch(Exception $e) {
+ $importerrors.= 'Row '.$rid.' is duplicate (or failed due unknown error)!'."<br>";
+ }
+ }
}
+
}
- }
+
+ }
}
if (!empty($importerrors)) echo ($importerrors);
else echo ('All rows imported ok');