summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreaChirulescu <andrea.chirulescu@gmail.com>2021-04-23 21:38:53 +0200
committerAndreaChirulescu <andrea.chirulescu@gmail.com>2021-04-23 21:38:53 +0200
commited163a66fd56ce82efb2c04eba8cde0c4dc7412a (patch)
tree09e0a65729865d7679453e2d7328214ad80d55dc
parent283e01a784e566b1c6e44456202699cb127ab9a8 (diff)
downloadgigologadmin-ed163a66fd56ce82efb2c04eba8cde0c4dc7412a.tar.gz
gigologadmin-ed163a66fd56ce82efb2c04eba8cde0c4dc7412a.tar.bz2
gigologadmin-ed163a66fd56ce82efb2c04eba8cde0c4dc7412a.zip
Added an uppercase in sql for venue and concert duplicate check
Added test to create duplicate concert with varied cases in string
-rw-r--r--includes/concert.php2
-rw-r--r--includes/venue.php10
-rw-r--r--tests/ConcertTest.php22
3 files changed, 32 insertions, 2 deletions
diff --git a/includes/concert.php b/includes/concert.php
index aff41ac..d95934e 100644
--- a/includes/concert.php
+++ b/includes/concert.php
@@ -147,7 +147,7 @@ if ( !class_exists('GiglogAdmin_Concert') ) {
global $wpdb;
$sql = 'SELECT id from wpg_concerts'
- . ' where wpgconcert_name = "' . $cname .'"'
+ . ' where upper(wpgconcert_name) = upper("' . $cname .'")'
. ' and venue = ' . $venue
. ' and wpgconcert_date ="' . $date . '"';
diff --git a/includes/venue.php b/includes/venue.php
index 07dec0e..f6f46b2 100644
--- a/includes/venue.php
+++ b/includes/venue.php
@@ -35,6 +35,10 @@ if ( !class_exists('GiglogAdmin_Venue') ) {
'wpgvenue_city' => $city,
]);
$venue->save();
+ error_log( 'NEW VENUE ADDED: '
+ . ' ID: ' . $venue -> id()
+ . ' VENUE NAME ' . $name
+ . ', VENUE CITY ' . $city);
return $venue;
}
@@ -42,10 +46,14 @@ if ( !class_exists('GiglogAdmin_Venue') ) {
static function find_or_create($name, $city = 'Oslo')
{
global $wpdb;
- $venuesql = 'SELECT * FROM wpg_venues WHERE upper(wpgvenue_name)="' . $name . '"';
+ $venuesql = 'SELECT * FROM wpg_venues WHERE upper(wpgvenue_name)=upper("' . $name . '")'.' and wpgvenue_city="'.$city.'"';
$results = $wpdb->get_results($venuesql);
if ($results) {
+ error_log( 'DUPLICATE VENUE: '
+ . ' ID: ' . $results[0]->id
+ . ' VENUE NAME ' . $name
+ . ', VENUE CITY ' . $city);
return new GiglogAdmin_Venue($results[0]);
}
else {
diff --git a/tests/ConcertTest.php b/tests/ConcertTest.php
index 82bdc9a..6d14b68 100644
--- a/tests/ConcertTest.php
+++ b/tests/ConcertTest.php
@@ -46,4 +46,26 @@ final class ConcertTest extends WP_UnitTestCase
$this->assertNull($new);
}
+
+ public function testCreateExistingConcertVariableCase() : void
+ {
+ $venue = GiglogAdmin_Venue::create("a venue");
+ $today = date("Y-m-d");
+
+ GiglogAdmin_Concert::create(
+ "a concert123",
+ $venue->id(),
+ $today,
+ "https://example.com/tickets/42",
+ "https://example.com/events/93");
+
+ $new = GiglogAdmin_Concert::create(
+ "a CoNceRt123",
+ $venue->id(),
+ $today,
+ "https://example.com/tickets/42",
+ "https://example.com/events/93");
+
+ $this->assertNull($new);
+ }
}