diff --git a/function/get_userid.php b/function/get_userid.php
index b4ab878..a468a92 100644
--- a/function/get_userid.php
+++ b/function/get_userid.php
@@ -32,32 +32,29 @@ if (safetext(isset($_POST['get_account'])) && safetext(isset($_POST['userid']))
if (!empty($pdo)) {
// カンマ区切りまたは1つのユーザーID文字列を処理
$usernames = array_unique(array_filter(explode(',', $get_account)));
+ $lower_usernames = array_map('mb_strtolower', $usernames);
$results = [];
- if (count($usernames) > 0) {
- // プレースホルダを作成
- $placeholders = implode(',', array_fill(0, count($usernames), '?'));
- $stmt = $pdo->prepare("SELECT userid, username FROM account WHERE userid IN ($placeholders)");
- $stmt->execute($usernames);
+ if (count($lower_usernames) > 0) {
+ $placeholders = implode(',', array_fill(0, count($lower_usernames), '?'));
+ $stmt = $pdo->prepare("SELECT userid, username FROM account WHERE LOWER(userid) IN ($placeholders)");
+ $stmt->execute($lower_usernames);
$fetched = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
- $fetched[$row['userid']] = [
+ $fetched[mb_strtolower($row['userid'])] = [
'userid' => $row['userid'],
'username' => $row['username']
];
}
foreach ($usernames as $name) {
- if (isset($fetched[$name])) {
- $results[$name] = $fetched[$name];
- } else {
- $results[$name] = null;
- }
+ $lower = mb_strtolower($name);
+ $results[$name] = $fetched[$lower] ?? null;
}
}
-
+
echo json_encode([
"success" => true,
"users" => $results
diff --git a/js/view_function.js b/js/view_function.js
index 49f12c3..bd743ef 100644
--- a/js/view_function.js
+++ b/js/view_function.js
@@ -32,7 +32,7 @@ async function replaceMentions(text) {
}
// ユーザーIDを小文字に正規化
- const uniqueMentions = [...new Set(mentionMatches.map(match => match[1].toLowerCase()))];
+ const uniqueMentions = [...new Set(mentionMatches.map(match => match[1]))];
const mentionsToFetch = uniqueMentions.filter(userID => !mentionCache[userID]);
if (mentionsToFetch.length > 0) {
@@ -51,9 +51,9 @@ async function replaceMentions(text) {
if (response.success && response.users) {
for (const [name, userInfo] of Object.entries(response.users)) {
if (userInfo && userInfo.userid && userInfo.username) {
- mentionCache[name.toLowerCase()] = `@${userInfo.username}`;
+ mentionCache[name] = `@${userInfo.username}`;
} else {
- mentionCache[name.toLowerCase()] = `@${name}`;
+ mentionCache[name] = `@${name}`;
}
}
}
@@ -61,7 +61,7 @@ async function replaceMentions(text) {
},
error: function () {
for (const name of mentionsToFetch) {
- mentionCache[name.toLowerCase()] = `@${name}`;
+ mentionCache[name] = `@${name}`;
}
resolve();
}
@@ -71,7 +71,7 @@ async function replaceMentions(text) {
// 元のtextに適用(小文字で照合)
text = text.replace(/@([a-zA-Z0-9_]+)/g, (_, id) => {
- const lower = id.toLowerCase();
+ const lower = id;
return mentionCache[lower] || `@${id}`; // 表示は元の大文字小文字を保持
});
diff --git a/login.php b/login.php
index 8d8d96a..0ae9eda 100644
--- a/login.php
+++ b/login.php
@@ -171,12 +171,9 @@ if( !empty($_POST['btn_submit']) ) {
$result = $dbh->prepare("SELECT userid, password, loginid, authcode FROM account WHERE userid = :userid");
-
$result->bindValue(':userid', $userid);
- // SQL実行
$result->execute();
-
if( empty($userid) ) {
$error_message[] = 'ユーザーIDを入力してください。(USERID_INPUT_PLEASE)';
} else {
@@ -198,7 +195,7 @@ if( !empty($_POST['btn_submit']) ) {
if($result->rowCount() > 0) {
$row = $result->fetch(); // ここでデータベースから取得した値を $row に代入する
- if($row["userid"] == $userid){
+ if(strtolower($row["userid"]) == strtolower($userid)){
if(uwuzu_password_verify($password,$row["password"])){
if(empty($row["authcode"])){
$_SESSION['userid'] = $userid;
diff --git a/server/uwuzuinfo.txt b/server/uwuzuinfo.txt
index 3749100..742ceb2 100644
--- a/server/uwuzuinfo.txt
+++ b/server/uwuzuinfo.txt
@@ -1,4 +1,4 @@
uwuzu
-1.6.0
+1.6.1
2025/08/05
daichimarukana,putonfps
\ No newline at end of file
diff --git a/server/uwuzurelease.txt b/server/uwuzurelease.txt
index 386669c..4be93b3 100644
--- a/server/uwuzurelease.txt
+++ b/server/uwuzurelease.txt
@@ -1,6 +1,11 @@
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
+## Version 1.6.1 (Hapuego)
+2025/08/05
+fix: ログイン時にユーザーIDの大文字小文字が区別されてしまう問題を修正しました!
+fix: メンション時にうまく表示に反映されない問題を修正しました!
+
## Version 1.6.0 (Hapuego)
2025/08/05
fix: ローディングに時間がかかっている際に、ユーズの表示の順番が狂ってしまう問題を修正しました。
diff --git a/update.json b/update.json
index 97cfb25..223accf 100644
--- a/update.json
+++ b/update.json
@@ -1,75 +1,14 @@
{
"software": "uwuzu",
- "version": "1.6.0",
+ "version": "1.6.1",
"release_date": "2025/08/05",
- "release_notes": "このアップデートにはAPIの大幅強化や様々なバグの修正が含まれます!詳細はリリースノートをご覧ください。",
- "notices": "このアップデートには実行前にSQL構造の更新が必要です。\nまた、このアップデート前にデータのバックアップを行うことをおすすめします!\nアップデート後はキャッシュクリアをお忘れなく!",
+ "release_notes": "このアップデートでは、メンションが正常に作動しない問題とログイン時にユーザーIDの大文字小文字が区別されてしまう問題を修正しました!\n詳細はリリースノートをご確認ください。",
+ "notices": "アップデート前にデータのバックアップを行うことをおすすめします!\nアップデート後はキャッシュクリアをお忘れなく!",
"files": {
"overwrite": [
- "/.htaccess",
- "/.well-known/host-meta/index.php",
- "/.well-known/nodeinfo/index.php",
- "/.well-known/webfinger/index.php",
- "/.well-known/webfinger.php",
- "/.well-known/host-meta.php",
- "/.well-known/nodeinfo.php",
- "/actor/index.php",
- "/api/auth.php",
- "/api/favorite/change.php",
- "/api/favorite/get.php",
- "/api/me/index.php",
- "/api/me/notification/index.php",
- "/api/me/notification/read.php",
- "/api/me/settings/index.php",
- "/api/token/get.php",
- "/api/ueuse/bookmark/index.php",
- "/api/ueuse/create.php",
- "/api/ueuse/delete.php",
- "/api/ueuse/get.php",
- "/api/ueuse/index.php",
- "/api/ueuse/mentions.php",
- "/api/ueuse/replies.php",
- "/api/ueuse/search.php",
- "/api/users/follow.php",
- "/api/users/index.php",
- "/api/users/unfollow.php",
- "/api/v1/instance.php",
- "/bookmark/bookmark.php",
- "/css/home.css",
- "/css/style.css",
- "/errorpage/httperror.php",
- "/function/delete_apitoken.php",
- "/function/function.php",
- "/home/index.php",
- "/img/titleimg/2.png",
- "/img/uwuzucolorlogo.svg",
- "/img/uwuzuicon.png",
- "/img/uwuzulogo.svg",
+ "/function/get_userid.php",
"/js/view_function.js",
- "/nextpage/bookmarktimeline.php",
- "/nextpage/followtimeline.php",
- "/nextpage/foryoutimeline.php",
- "/nextpage/localtimeline.php",
- "/nextpage/notification.php",
- "/nextpage/searchtimeline.php",
- "/nextpage/ueusetimeline.php",
- "/nextpage/userliketimeline.php",
- "/nextpage/usermediatimeline.php",
- "/nextpage/usertimeline.php",
- "/notification/index.php",
- "/others/index.php",
- "/others/token.php",
- "/search/index.php",
- "/settings/index.php",
- "/ueuse/index.php",
- "/ueuse/activity/index.php",
- "/user/index.php",
- "/user/outbox/index.php",
- "/uwuzu_error_code.txt",
- "/unsupported.php",
- "/check.php",
- "/authlogin.php",
-
+ "/login.php",
"/server/uwuzuabout.txt",
"/server/uwuzuinfo.txt",
"/server/uwuzurelease.txt"