summaryrefslogtreecommitdiffstats
path: root/includes/admin/views/giglog_import_gigs.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/admin/views/giglog_import_gigs.php')
-rw-r--r--includes/admin/views/giglog_import_gigs.php96
1 files changed, 45 insertions, 51 deletions
diff --git a/includes/admin/views/giglog_import_gigs.php b/includes/admin/views/giglog_import_gigs.php
index c6b6a56..505e4bd 100644
--- a/includes/admin/views/giglog_import_gigs.php
+++ b/includes/admin/views/giglog_import_gigs.php
@@ -5,7 +5,7 @@
//
// SPDX-License-Identifier: AGPL-3.0-or-later
-if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
+if ( ! class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
require_once __DIR__ . '/../../concert.php';
require_once __DIR__ . '/../../venue.php';
@@ -15,7 +15,7 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
<div class="wrap">
<h1>Import gigs</h1>
<p>Import gig data from a tab separated data file.</p>
- <form action="<?php menu_page_url( 'giglog_import' ) ?>" enctype="multipart/form-data" method="post">
+ <form action="<?php menu_page_url( 'giglog_import' ); ?>" enctype="multipart/form-data" method="post">
<?php wp_nonce_field( plugin_basename( __FILE__ ), 'giglog_import_nonce' ); ?>
<label for="giglog_import_file">File: </label>
<input type="file" name="giglog_import_file" id="giglog_import_file">
@@ -26,13 +26,12 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
}
static function submit_form(): void {
- if ('POST' === $_SERVER['REQUEST_METHOD'] && current_user_can('upload_files') && !empty($_FILES['giglog_import_file']['tmp_name'])) {
- if (isset($_POST['giglog_import_nonce']) && wp_verify_nonce($_POST['giglog_import_nonce'], plugin_basename( __FILE__ )) ) {
- GiglogAdmin_ImportGigsPage::process_upload($_FILES['giglog_import_file']);
- }
- else {
- header("{$_SERVER['SERVER_PROTOCOL']} 403 Forbidden");
- wp_die('CSRF validation failed.', 403);
+ if ( 'POST' === $_SERVER['REQUEST_METHOD'] && current_user_can( 'upload_files' ) && ! empty( $_FILES['giglog_import_file']['tmp_name'] ) ) {
+ if ( isset( $_POST['giglog_import_nonce'] ) && wp_verify_nonce( $_POST['giglog_import_nonce'], plugin_basename( __FILE__ ) ) ) {
+ self::process_upload( $_FILES['giglog_import_file'] );
+ } else {
+ header( "{$_SERVER['SERVER_PROTOCOL']} 403 Forbidden" );
+ wp_die( 'CSRF validation failed.', 403 );
}
}
}
@@ -55,85 +54,80 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
*
* @param array<int, mixed> $file
*/
- static function process_upload(array $file): void
- {
- $fo = new SplFileObject($file['tmp_name']);
- $importerrors = [];
- $rid=0;
+ static function process_upload( array $file ): void {
+ $fo = new SplFileObject( $file['tmp_name'] );
+ $importerrors = array();
+ $rid = 0;
- foreach ($fo as $line) {
+ foreach ( $fo as $line ) {
$rid++;
$line = trim( $line );
- if ( !empty($line) ) {
+ if ( ! empty( $line ) ) {
try {
self::process_line( $line );
- }
- catch (Exception $e) {
+ } catch ( Exception $e ) {
$importerrors[] = "Error importing line {$rid}: {$e->getMessage()}";
}
}
}
- if (!empty($importerrors)) {
- echo implode("<br>", $importerrors);
- }
- else {
- echo ('All rows imported ok');
+ if ( ! empty( $importerrors ) ) {
+ echo implode( '<br>', $importerrors );
+ } else {
+ echo ( 'All rows imported ok' );
}
}
- static function process_line( string $line ) : void
- {
- $resultArray = explode("\t", $line);
+ static function process_line( string $line ) : void {
+ $resultArray = explode( "\t", $line );
// 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) {
- throw new Exception("missing a field");
+ if ( count( $resultArray ) < 6 ) {
+ throw new Exception( 'missing a field' );
}
- if (! preg_match("/\d{4}\-\d{2}-\d{2}/",$resultArray[3])) {
- throw new Exception("invalid date: " . esc_html($resultArray[3]));
+ if ( ! preg_match( '/\d{4}\-\d{2}-\d{2}/', $resultArray[3] ) ) {
+ throw new Exception( 'invalid date: ' . esc_html( $resultArray[3] ) );
}
- if (empty(trim($resultArray[0]))) {
- throw new Exception("missing concert name");
+ if ( empty( trim( $resultArray[0] ) ) ) {
+ throw new Exception( 'missing concert name' );
}
- if (empty(trim($resultArray[1]))) {
- throw new Exception("missing venue");
+ if ( empty( trim( $resultArray[1] ) ) ) {
+ throw new Exception( 'missing venue' );
}
- if (empty(trim($resultArray[2]))) {
- throw new Exception("missing city");
+ if ( empty( trim( $resultArray[2] ) ) ) {
+ throw new Exception( 'missing city' );
}
- $condate = date('Y-m-d', strtotime($resultArray[3]));
+ $condate = date( 'Y-m-d', strtotime( $resultArray[3] ) );
- if ($condate<date("Y-m-d")) {
- throw new Exception("has date in the past: " . esc_html($resultArray[3]));
+ if ( $condate < date( 'Y-m-d' ) ) {
+ throw new Exception( 'has date in the past: ' . esc_html( $resultArray[3] ) );
}
- $cname = trim($resultArray[0]);
- $venue = trim($resultArray[1]);
+ $cname = trim( $resultArray[0] );
+ $venue = trim( $resultArray[1] );
- if (is_numeric($venue)) {
- $venue = GiglogAdmin_Venue::get(intval($venue));
- if (!$venue) {
- throw new Exception("invalid venue id: {$venue}");
+ if ( is_numeric( $venue ) ) {
+ $venue = GiglogAdmin_Venue::get( intval( $venue ) );
+ if ( ! $venue ) {
+ throw new Exception( "invalid venue id: {$venue}" );
}
- }
- else {
- $venue = GiglogAdmin_Venue::find_or_create($venue,trim($resultArray[2]));
+ } else {
+ $venue = GiglogAdmin_Venue::find_or_create( $venue, trim( $resultArray[2] ) );
}
- $ticketlink = trim($resultArray[4]);
- $eventlink = trim($resultArray[5]);
+ $ticketlink = trim( $resultArray[4] );
+ $eventlink = trim( $resultArray[5] );
- GiglogAdmin_Concert::create($cname, $venue->id(), $condate, $ticketlink, $eventlink);
+ GiglogAdmin_Concert::create( $cname, $venue->id(), $condate, $ticketlink, $eventlink );
}
}
}