diff --git a/build.gradle.kts b/build.gradle.kts index e312376..9eabd6d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ plugins { kotlin("jvm") version "1.9.21" application - id("io.ktor.plugin") version "2.3.6" + id("io.ktor.plugin") version "2.3.7" } group = "net.taehui" @@ -32,7 +32,7 @@ implementation("org.apache.commons:commons-compress:1.25.0") implementation("org.apache.commons:commons-dbcp2:2.11.0") implementation("org.apache.commons:commons-lang3:3.14.0") - implementation("org.apache.httpcomponents.client5:httpclient5:5.2.3") + implementation("org.apache.httpcomponents.client5:httpclient5:5.3") implementation("org.apache.logging.log4j:log4j-core:2.22.0") implementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.22.0") implementation("org.jline:jline:3.24.1") @@ -40,8 +40,8 @@ implementation("org.jsoup:jsoup:1.17.1") implementation("org.mariadb.jdbc:mariadb-java-client:3.3.1") implementation("org.python:jython-standalone:2.7.3") - implementation("org.seleniumhq.selenium:selenium-edge-driver:4.15.0") - implementation("org.seleniumhq.selenium:selenium-java:4.15.0") + implementation("org.seleniumhq.selenium:selenium-edge-driver:4.16.1") + implementation("org.seleniumhq.selenium:selenium-java:4.16.1") implementation("org.tukaani:xz:1.9") implementation(kotlin("stdlib-jdk8")) testImplementation(kotlin("test")) diff --git a/src/main/kotlin/net/taehui/twilight/system/DB.kt b/src/main/kotlin/net/taehui/twilight/system/DB.kt index 6745333..021fdd5 100644 --- a/src/main/kotlin/net/taehui/twilight/system/DB.kt +++ b/src/main/kotlin/net/taehui/twilight/system/DB.kt @@ -2139,6 +2139,30 @@ } } + fun getClearedAvatars(levelID: String): Collection { + return pool.connection.use { + it.prepareStatement( + """ + SELECT Avatar_ID, Avatar_Name + FROM tw_level, tn_avatar + WHERE tw_level.Avatar = tn_avatar.Avatar_ID AND Level_ID = ? + """.trimIndent() + ).use { dbStatement -> + dbStatement.setString(1, levelID) + dbStatement.executeQuery().use { rows -> + val data = mutableListOf() + while (rows.next()) { + data.add(object { + val avatarID = rows.getString("Avatar_ID") + val avatarName = rows.getInt("Avatar_Name") + }) + } + data + } + } + } + } + fun getAvatarLevels(avatarID: String): IntArray { pool.connection.use { it.prepareStatement( diff --git a/src/main/kotlin/net/taehui/twilight/www/WwwAvatar.kt b/src/main/kotlin/net/taehui/twilight/www/WwwAvatar.kt index 7ddc4b9..3833079 100644 --- a/src/main/kotlin/net/taehui/twilight/www/WwwAvatar.kt +++ b/src/main/kotlin/net/taehui/twilight/www/WwwAvatar.kt @@ -376,6 +376,7 @@ val setNoteMode = levelItem.setNoteMode val lowestJudgmentConditionMode = levelItem.lowestJudgmentConditionMode val allowPause = levelItem.allowPause + val avatars = DB.getClearedAvatars(levelID) val titles = TitleSystem.getTitles(levelID, language) val edgeIDs = EdgeSystem.getEdgeIDs(levelID) }