From 2dcc12938dc09b891fd4c5cabb51c45e01214f26 Mon Sep 17 00:00:00 2001 From: fumikito Date: Fri, 23 Feb 2024 23:02:28 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E3=83=AA=E3=83=80=E3=82=A4=E3=83=AC?= =?UTF-8?q?=E3=82=AF=E3=83=88=E3=81=A7not=20found=E3=82=92=E6=B2=BB?= =?UTF-8?q?=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/WCTokyo/WpCheckin/Router.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/WCTokyo/WpCheckin/Router.php b/lib/WCTokyo/WpCheckin/Router.php index fe38249..21af5c4 100644 --- a/lib/WCTokyo/WpCheckin/Router.php +++ b/lib/WCTokyo/WpCheckin/Router.php @@ -162,7 +162,7 @@ public function render_qr() { } $tickets = Tickets::search( $query ); if ( 1 === $tickets['total'] ) { - $url = home_url( 'checkin/' . $tickets['tickets'][0][0] ); + $url = home_url( 'checkin/ticket/' . $tickets['tickets'][0][0] ); } elseif ( ! empty( $query[4] ) ) { // Not found. Try to search with email. $url = home_url( 'checkin/?s=' . rawurlencode( $query[4] ) ); From 6c975cf1becb1c19097395e577e898ff548958a8 Mon Sep 17 00:00:00 2001 From: fumikito Date: Fri, 23 Feb 2024 23:18:24 +0900 Subject: [PATCH 2/3] =?UTF-8?q?#14=20=E6=A4=9C=E7=B4=A2=E3=82=92=E6=94=B9?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/WCTokyo/WpCheckin/Tickets.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/WCTokyo/WpCheckin/Tickets.php b/lib/WCTokyo/WpCheckin/Tickets.php index a65e566..e80b815 100644 --- a/lib/WCTokyo/WpCheckin/Tickets.php +++ b/lib/WCTokyo/WpCheckin/Tickets.php @@ -72,12 +72,22 @@ public static function search( $query = '', $page = 1 ) { return ! $not_found; } ) ); } elseif ( $query ) { - // This is string search. - $tickets = array_values( array_filter( self::tickets( false ), function( $ticket ) use ( $query ) { - // Flatten array. - $str = implode( '', $ticket ); - return str_contains( $str, $query ); - } ) ); + $query = array_values( array_filter( preg_split( '/[  +]/u', $query ) ) ); + $tickets = self::tickets( false ); + if ( ! empty( $query ) ) { + // This is string search. + $tickets = array_values( array_filter( $tickets, function( $ticket ) use ( $query ) { + // Flatten array. + $str = implode( '', $ticket ); + $matched = 0; + foreach ( $query as $q ) { + if ( str_contains( $str, $q ) ) { + $matched++; + } + } + return count( $query ) === $matched; + } ) ); + } } else { $tickets = self::tickets( false ); } From 87626b0c8cc904f9d22e1719f61c25c1c9937a95 Mon Sep 17 00:00:00 2001 From: fumikito Date: Fri, 23 Feb 2024 23:20:27 +0900 Subject: [PATCH 3/3] Fib lint. --- lib/WCTokyo/WpCheckin/Tickets.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/WCTokyo/WpCheckin/Tickets.php b/lib/WCTokyo/WpCheckin/Tickets.php index e80b815..ce581de 100644 --- a/lib/WCTokyo/WpCheckin/Tickets.php +++ b/lib/WCTokyo/WpCheckin/Tickets.php @@ -72,13 +72,13 @@ public static function search( $query = '', $page = 1 ) { return ! $not_found; } ) ); } elseif ( $query ) { - $query = array_values( array_filter( preg_split( '/[  +]/u', $query ) ) ); + $query = array_values( array_filter( preg_split( '/[  +]/u', $query ) ) ); $tickets = self::tickets( false ); if ( ! empty( $query ) ) { // This is string search. $tickets = array_values( array_filter( $tickets, function( $ticket ) use ( $query ) { // Flatten array. - $str = implode( '', $ticket ); + $str = implode( '', $ticket ); $matched = 0; foreach ( $query as $q ) { if ( str_contains( $str, $q ) ) {