diff --git a/core/dbengine.php b/core/dbengine.php index 3feddb02..d2b96be8 100644 --- a/core/dbengine.php +++ b/core/dbengine.php @@ -6,7 +6,6 @@ abstract class SCORE const BOOL_Y = "SCORE_BOOL_Y"; const BOOL_N = "SCORE_BOOL_N"; const BOOL = "SCORE_BOOL"; - const STRNORM = "SCORE_STRNORM"; const ILIKE = "SCORE_ILIKE"; } @@ -55,7 +54,6 @@ class MySQL extends DBEngine $data = str_replace(SCORE::BOOL_Y, "'$this->BOOL_Y'", $data); $data = str_replace(SCORE::BOOL_N, "'$this->BOOL_N'", $data); $data = str_replace(SCORE::BOOL, "ENUM('Y', 'N')", $data); - $data = str_replace(SCORE::STRNORM, "", $data); $data = str_replace(SCORE::ILIKE, "LIKE", $data); return $data; } @@ -101,7 +99,6 @@ class PostgreSQL extends DBEngine $data = str_replace(SCORE::BOOL_Y, $this->BOOL_Y, $data); $data = str_replace(SCORE::BOOL_N, $this->BOOL_N, $data); $data = str_replace(SCORE::BOOL, "BOOL", $data); - $data = str_replace(SCORE::STRNORM, "lower", $data); $data = str_replace(SCORE::ILIKE, "ILIKE", $data); return $data; } @@ -196,7 +193,6 @@ class SQLite extends DBEngine $data = str_replace(SCORE::BOOL_Y, "'$this->BOOL_Y'", $data); $data = str_replace(SCORE::BOOL_N, "'$this->BOOL_N'", $data); $data = str_replace(SCORE::BOOL, "CHAR(1)", $data); - $data = str_replace(SCORE::STRNORM, "lower", $data); $data = str_replace(SCORE::ILIKE, "LIKE", $data); return $data; } diff --git a/core/imageboard/image.php b/core/imageboard/image.php index af5b7c60..f80402ea 100644 --- a/core/imageboard/image.php +++ b/core/imageboard/image.php @@ -306,7 +306,7 @@ class Image } } elseif ($tag_count === 1 && !preg_match("/[:=><\*\?]/", $tags[0])) { $total = $database->get_one( - $database->scoreql_to_sql("SELECT count FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)"), + $database->scoreql_to_sql("SELECT count FROM tags WHERE LOWER(tag) = LOWER(:tag)"), ["tag"=>$tags[0]] ); } else { @@ -720,7 +720,7 @@ class Image $database->scoreql_to_sql(" SELECT id FROM tags - WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag) + WHERE LOWER(tag) = LOWER(:tag) "), ["tag"=>$tag] ); @@ -733,7 +733,7 @@ class Image $database->execute( $database->scoreql_to_sql( "INSERT INTO image_tags(image_id, tag_id) - VALUES(:id, (SELECT id FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)))" + VALUES(:id, (SELECT id FROM tags WHERE LOWER(tag) = LOWER(:tag)))" ), ["id"=>$this->id, "tag"=>$tag] ); @@ -754,7 +754,7 @@ class Image $database->scoreql_to_sql(" UPDATE tags SET count = count + 1 - WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag) + WHERE LOWER(tag) = LOWER(:tag) "), ["tag"=>$tag] ); @@ -957,7 +957,7 @@ class Image $sq = " SELECT id FROM tags - WHERE SCORE_STRNORM(tag) LIKE SCORE_STRNORM(:tag) + WHERE LOWER(tag) LIKE LOWER(:tag) "; if ($database->get_driver_name() === DatabaseDriver::SQLITE) { $sq .= "ESCAPE '\\'"; diff --git a/core/imageboard/tag.php b/core/imageboard/tag.php index 0deeeef7..b65b5313 100644 --- a/core/imageboard/tag.php +++ b/core/imageboard/tag.php @@ -52,7 +52,7 @@ class Tag $database->scoreql_to_sql(" SELECT newtag FROM aliases - WHERE SCORE_STRNORM(oldtag)=SCORE_STRNORM(:tag) + WHERE LOWER(oldtag)=LOWER(:tag) "), ["tag"=>$tag] ); diff --git a/core/user.php b/core/user.php index e1976cca..e01b64ac 100644 --- a/core/user.php +++ b/core/user.php @@ -99,7 +99,7 @@ class User public static function by_name(string $name): ?User { global $database; - $row = $database->get_row($database->scoreql_to_sql("SELECT * FROM users WHERE SCORE_STRNORM(name) = SCORE_STRNORM(:name)"), ["name"=>$name]); + $row = $database->get_row($database->scoreql_to_sql("SELECT * FROM users WHERE LOWER(name) = LOWER(:name)"), ["name"=>$name]); return is_null($row) ? null : new User($row); } diff --git a/ext/admin/main.php b/ext/admin/main.php index e65ed8a2..14cd5019 100644 --- a/ext/admin/main.php +++ b/ext/admin/main.php @@ -138,7 +138,7 @@ class AdminPage extends Extension { global $database; $database->execute($database->scoreql_to_sql( - "UPDATE tags SET tag=:tag1 WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag2)" + "UPDATE tags SET tag=:tag1 WHERE LOWER(tag) = LOWER(:tag2)" ), ["tag1" => $_POST['tag'], "tag2" => $_POST['tag']]); log_info("admin", "Fixed the case of ".html_escape($_POST['tag']), "Fixed case"); return true; diff --git a/ext/autocomplete/main.php b/ext/autocomplete/main.php index 2c544a34..5011b627 100644 --- a/ext/autocomplete/main.php +++ b/ext/autocomplete/main.php @@ -48,8 +48,8 @@ class AutoComplete extends Extension $database->scoreql_to_sql(" SELECT tag, count FROM tags - WHERE SCORE_STRNORM(tag) LIKE SCORE_STRNORM(:search) - -- OR SCORE_STRNORM(tag) LIKE SCORE_STRNORM(:cat_search) + WHERE LOWER(tag) LIKE LOWER(:search) + -- OR LOWER(tag) LIKE LOWER(:cat_search) AND count > 0 ORDER BY count DESC $limitSQL"), diff --git a/ext/danbooru_api/main.php b/ext/danbooru_api/main.php index b17d39a5..bd627815 100644 --- a/ext/danbooru_api/main.php +++ b/ext/danbooru_api/main.php @@ -86,7 +86,7 @@ class DanbooruApi extends Extension foreach ($namelist as $name) { $sqlresult = $database->get_all( $database->scoreql_to_sql( - "SELECT id,tag,count FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)" + "SELECT id,tag,count FROM tags WHERE LOWER(tag) = LOWER(:tag)" ), ['tag'=>$name] ); diff --git a/ext/not_a_tag/main.php b/ext/not_a_tag/main.php index 4274c831..b9c18e93 100644 --- a/ext/not_a_tag/main.php +++ b/ext/not_a_tag/main.php @@ -114,7 +114,7 @@ class NotATag extends Extension $input = validate_input(["d_tag"=>"string"]); $database->execute( $database->scoreql_to_sql( - "DELETE FROM untags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)" + "DELETE FROM untags WHERE LOWER(tag) = LOWER(:tag)" ), ["tag"=>$input['d_tag']] ); diff --git a/ext/ouroboros_api/main.php b/ext/ouroboros_api/main.php index 4766950b..b8ecb32e 100644 --- a/ext/ouroboros_api/main.php +++ b/ext/ouroboros_api/main.php @@ -579,10 +579,10 @@ class OuroborosAPI extends Extension $database->scoreql_to_sql( " SELECT DISTINCT - id, SCORE_STRNORM(substr(tag, 1, 1)), count + id, LOWER(substr(tag, 1, 1)), count FROM tags WHERE count >= :tags_min - ORDER BY SCORE_STRNORM(substr(tag, 1, 1)) LIMIT :start, :max_items + ORDER BY LOWER(substr(tag, 1, 1)) LIMIT :start, :max_items " ), ['tags_min' => $config->get_int(TagListConfig::TAGS_MIN), 'start' => $start, 'max_items' => $limit] diff --git a/ext/tag_categories/main.php b/ext/tag_categories/main.php index 90d12aa1..55448914 100644 --- a/ext/tag_categories/main.php +++ b/ext/tag_categories/main.php @@ -75,7 +75,7 @@ class TagCategories extends Extension $count = $matches[3]; $types = $database->get_col( - $database->scoreql_to_sql('SELECT SCORE_STRNORM(category) FROM image_tag_categories') + $database->scoreql_to_sql('SELECT LOWER(category) FROM image_tag_categories') ); if (in_array($type, $types)) { $event->add_querylet( @@ -85,7 +85,7 @@ class TagCategories extends Extension LEFT JOIN tags t ON it.tag_id = t.id WHERE images.id = it.image_id GROUP BY image_id - HAVING SUM(CASE WHEN SCORE_STRNORM(t.tag) LIKE SCORE_STRNORM('$type:%') THEN 1 ELSE 0 END) $cmp $count + HAVING SUM(CASE WHEN LOWER(t.tag) LIKE LOWER('$type:%') THEN 1 ELSE 0 END) $cmp $count )")) ); } diff --git a/ext/tag_list/main.php b/ext/tag_list/main.php index 67e91c61..5b93d9b4 100644 --- a/ext/tag_list/main.php +++ b/ext/tag_list/main.php @@ -66,7 +66,7 @@ class TagList extends Extension $res = $database->get_col($database->scoreql_to_sql(" SELECT tag FROM tags - WHERE SCORE_STRNORM(tag) LIKE SCORE_STRNORM(:search) + WHERE LOWER(tag) LIKE LOWER(:search) AND count > 0 $limitSQL "), $SQLarr); @@ -238,10 +238,10 @@ class TagList extends Extension $tag_data = $database->get_col($database->scoreql_to_sql(" SELECT DISTINCT - SCORE_STRNORM(substr(tag, 1, 1)) + LOWER(substr(tag, 1, 1)) FROM tags WHERE count >= :tags_min - ORDER BY SCORE_STRNORM(substr(tag, 1, 1)) + ORDER BY LOWER(substr(tag, 1, 1)) "), ["tags_min"=>$tags_min]); $html = ""; @@ -284,7 +284,7 @@ class TagList extends Extension FROM tags WHERE count >= :tags_min AND tag SCORE_ILIKE :starts_with - ORDER BY SCORE_STRNORM(tag) + ORDER BY LOWER(tag) "), ["tags_min"=>$tags_min, "tags_min2"=>$tags_min, "starts_with"=>$starts_with]); $html = ""; @@ -327,7 +327,7 @@ class TagList extends Extension FROM tags WHERE count >= :tags_min AND tag SCORE_ILIKE :starts_with - ORDER BY SCORE_STRNORM(tag) + ORDER BY LOWER(tag) "), ["tags_min"=>$tags_min, "starts_with"=>$starts_with]); $html = ""; diff --git a/ext/wiki/main.php b/ext/wiki/main.php index 6f9537c3..2aa4df5e 100644 --- a/ext/wiki/main.php +++ b/ext/wiki/main.php @@ -231,7 +231,7 @@ class Wiki extends Extension $database->scoreql_to_sql(" SELECT * FROM wiki_pages - WHERE SCORE_STRNORM(title) LIKE SCORE_STRNORM(:title) + WHERE LOWER(title) LIKE LOWER(:title) ORDER BY revision DESC"), ["title"=>$title] );