From 3fdbe3e2bcdfb2fa94db65fdd302ae4a143702bd Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Mon, 8 Mar 2021 21:32:37 +0100 Subject: Refactor processing uploads. Moves all database operations to separate classes for each type of object, bands, venues and concerts. This makes the logic cleaner, and concentrates the db related code to logically distinct parts of the code. This means we no longer need the global access to the $wpdb object from the processing code. --- includes/venue.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 includes/venue.php (limited to 'includes/venue.php') diff --git a/includes/venue.php b/includes/venue.php new file mode 100644 index 0000000..8edb136 --- /dev/null +++ b/includes/venue.php @@ -0,0 +1,52 @@ +. + */ + +if ( !class_exists('GiglogAdmin_Venue') ) { + class GiglogAdmin_Venue + { + static function create($name) + { + global $wpdb; + + $wpdb->insert('wpg_venues', array( + 'id' => '', + 'wpgvenue_name' => $name + )); + + return $wpdb->insert_id; + } + + static function find_or_create($name) + { + global $wpdb; + + $venuesql = 'SELECT id FROM wpg_venues WHERE upper(wpgvenue_name)="' . $name . '"'; + $results = $wpdb->get_results($venuesql); + + return $results ? $results[0]->id : GiglogAdmin_Venue::create($name); + } + + static function all_cities() + { + global $wpdb; + $results = $wpdb->get_results('select distinct wpgvenue_city from wpg_venues'); + + return array_map(function ($r) { return $r->wpgvenue_city; }, $results); + } + } +} -- cgit v1.2.3