Updating this
This commit is contained in:
parent
24304e4bbc
commit
b785901d3b
@ -1,12 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module type="JAVA_MODULE" version="4">
|
<module external.linked.project.id="WebInfoSponge" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="ru.redguy" external.system.module.version="1.S3" type="JAVA_MODULE" version="4">
|
||||||
<component name="ExternalSystem" externalSystem="GRADLE" externalSystemModuleGroup="ru.redguy" externalSystemModuleVersion="1.S2" linkedProjectId="WebInfoSponge" linkedProjectPath="$MODULE_DIR$" rootProjectPath="$MODULE_DIR$" />
|
<component name="ExternalSystem" externalSystem="GRADLE" externalSystemModuleGroup="ru.redguy" externalSystemModuleVersion="1.0.4" linkedProjectId="WebInfoSponge" linkedProjectPath="$MODULE_DIR$" rootProjectPath="$MODULE_DIR$" />
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build" />
|
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||||
</content>
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
File diff suppressed because it is too large
Load Diff
@ -1,52 +1,53 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="AnalysisUIOptions">
|
||||||
|
<option name="GROUP_BY_SEVERITY" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
|
<component name="BranchesTreeState">
|
||||||
|
<expand>
|
||||||
|
<path>
|
||||||
|
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
|
||||||
|
</path>
|
||||||
|
</expand>
|
||||||
|
<select />
|
||||||
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="4c49626a-dc81-4683-a8c7-378558b6cdc3" name="Default Changelist" comment="">
|
<list default="true" id="4c49626a-dc81-4683-a8c7-378558b6cdc3" name="Default Changelist" comment="Add cp page">
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/Config.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebStatic.java" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/IWebPage.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/Jsonable.java" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/Logger.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/SessionUtils.java" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/LoggerType.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/web/web.iml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/User.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/WebInfoSponge.iml" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.iml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/UsersConfig.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebPage.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebServer.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/Category.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/LangFile.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/Links.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/RootCategory.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/Titles.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/Words.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/enums/Links.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/enums/RootCategories.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/enums/Titles.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/enums/Words.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/langs/langcaterories/Difficulty.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/Index.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Index.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Worker.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/json/MainData.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/logout/Index.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/DataUtils.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/DoerUtils.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/WebUtils.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/langs/ru.json" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/web/css/index.css" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/web/js/index.js" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/web/pages/Index.html" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/main/resources/resources/web/pages/auth/Index.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/5.6.1/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.6.1/executionHistory/executionHistory.bin" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/5.6.1/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.6.1/executionHistory/executionHistory.lock" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/5.6.1/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.6.1/fileHashes/fileHashes.bin" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/5.6.1/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.6.1/fileHashes/fileHashes.lock" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/WebInfoSponge.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.ipr" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/WebInfoSponge.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.ipr" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/WebInfoSponge.iws" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.iws" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/WebInfoSponge.iws" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.iws" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/WebInfoSponge.main.iml" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.main.iml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/WebInfoSponge.main.iml" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.main.iml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/WebInfoSponge.test.iml" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.test.iml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/WebInfoSponge.test.iml" beforeDir="false" afterPath="$PROJECT_DIR$/WebInfoSponge.test.iml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/gradle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle.properties" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/Config.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/Config.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/User.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/UsersConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/UsersConfig.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebInfoSponge.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebInfoSponge.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebInfoSponge.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebInfoSponge.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebServer.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Index.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Index.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Worker.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/auth/Worker.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/cp/Index.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/cp/Index.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/logout/Index.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/pages/logout/Index.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/BasePlaceholders.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/utils/BasePlaceholders.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/resources/resources/web/js/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/resources/web/js/index.js" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@ -54,13 +55,34 @@
|
|||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ExternalProjectsData">
|
<component name="ExternalProjectsData">
|
||||||
|
<projectState path="$PROJECT_DIR$/../../Servers/SpongeVanilla">
|
||||||
|
<ProjectState />
|
||||||
|
</projectState>
|
||||||
<projectState path="$PROJECT_DIR$">
|
<projectState path="$PROJECT_DIR$">
|
||||||
<ProjectState />
|
<ProjectState />
|
||||||
</projectState>
|
</projectState>
|
||||||
|
<projectState path="P:/Разработка/Servers/SpongeVanilla">
|
||||||
|
<ProjectState />
|
||||||
|
</projectState>
|
||||||
</component>
|
</component>
|
||||||
<component name="ExternalProjectsManager">
|
<component name="ExternalProjectsManager">
|
||||||
<system id="GRADLE">
|
<system id="GRADLE">
|
||||||
<state>
|
<state>
|
||||||
|
<task path="$PROJECT_DIR$">
|
||||||
|
<activation />
|
||||||
|
</task>
|
||||||
|
<task path="$PROJECT_DIR$/../../Servers/SpongeVanilla">
|
||||||
|
<activation />
|
||||||
|
</task>
|
||||||
|
<task path="$PROJECT_DIR$/../../Servers/SpongeVanilla/SpongeCommon/SpongeAPI">
|
||||||
|
<activation />
|
||||||
|
</task>
|
||||||
|
<task path="$PROJECT_DIR$/../../Servers/SpongeVanilla/SpongeCommon">
|
||||||
|
<activation />
|
||||||
|
</task>
|
||||||
|
<task path="$PROJECT_DIR$/../../Servers/SpongeVanilla/client">
|
||||||
|
<activation />
|
||||||
|
</task>
|
||||||
<projects_view>
|
<projects_view>
|
||||||
<tree_state>
|
<tree_state>
|
||||||
<expand />
|
<expand />
|
||||||
@ -73,45 +95,81 @@
|
|||||||
<component name="FileTemplateManagerImpl">
|
<component name="FileTemplateManagerImpl">
|
||||||
<option name="RECENT_TEMPLATES">
|
<option name="RECENT_TEMPLATES">
|
||||||
<list>
|
<list>
|
||||||
|
<option value="JavaScript File" />
|
||||||
<option value="Class" />
|
<option value="Class" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
<option name="ROOT_SYNC" value="DONT_SYNC" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectId" id="1argTTn1XgFiBy75NdzurT2eMDw" />
|
<component name="ProjectId" id="1argTTn1XgFiBy75NdzurT2eMDw" />
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showExcludedFiles" value="true" />
|
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
|
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||||
<property name="android.sdk.path" value="C:/Android/SDK" />
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
|
<property name="android.sdk.path" value="$PROJECT_DIR$/../../../../../Android/SDK" />
|
||||||
|
<property name="aspect.path.notification.shown" value="true" />
|
||||||
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../Servers/SpongeVanilla/build.gradle" />
|
||||||
|
<property name="node.js.detected.package.eslint" value="true" />
|
||||||
|
<property name="node.js.path.for.package.eslint" value="project" />
|
||||||
|
<property name="node.js.selected.package.eslint" value="(autodetect)" />
|
||||||
|
<property name="nodejs_package_manager_path" value="npm" />
|
||||||
<property name="project.structure.last.edited" value="Modules" />
|
<property name="project.structure.last.edited" value="Modules" />
|
||||||
<property name="project.structure.proportion" value="0.0" />
|
<property name="project.structure.proportion" value="0.15" />
|
||||||
<property name="project.structure.side.proportion" value="0.0" />
|
<property name="project.structure.side.proportion" value="0.2" />
|
||||||
<property name="settings.editor.selected.configurable" value="preferences.JavaFX" />
|
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
|
||||||
|
<property name="settings.editor.selected.configurable" value="Errors" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Users\Ilya\Source\Repos\java\WebInfoSponge\src\main\resources\resources\web\pages" />
|
||||||
<recent name="C:\Users\Ilya\Source\Repos\WebInfoSponge\src\main\java\ru\redguy\webinfomod" />
|
<recent name="C:\Users\Ilya\Source\Repos\WebInfoSponge\src\main\java\ru\redguy\webinfomod" />
|
||||||
<recent name="C:\Users\Ilya\Source\Repos\WebInfoSponge\src\main" />
|
<recent name="C:\Users\Ilya\Source\Repos\WebInfoSponge\src\main" />
|
||||||
</key>
|
</key>
|
||||||
|
<key name="CopyClassDialog.RECENTS_KEY">
|
||||||
|
<recent name="ru.redguy.webinfomod.pages.cp" />
|
||||||
|
</key>
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Users\Ilya\Source\Repos\java\WebInfoSponge\src\main\resources\resources\web" />
|
||||||
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager" selected="Gradle.SpongeVanilla [runServer]">
|
||||||
<configuration default="true" type="Application" factoryName="Application">
|
<configuration default="true" type="Application" factoryName="Application">
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="Make" enabled="true" />
|
<option name="Make" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration name="WebInfoSponge build" type="GradleRunConfiguration" factoryName="Gradle">
|
<configuration name="SpongeVanilla [runServer]" type="GradleRunConfiguration" factoryName="Gradle" nameIsGenerated="true">
|
||||||
<ExternalSystemSettings>
|
<ExternalSystemSettings>
|
||||||
<option name="executionName" value="WebInfoSponge build" />
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$/../../Servers/SpongeVanilla" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="runServer" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" value="" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="WebInfoSponge [test]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="externalSystemIdString" value="GRADLE" />
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
<option name="scriptParameters" />
|
<option name="scriptParameters" />
|
||||||
@ -120,7 +178,7 @@
|
|||||||
</option>
|
</option>
|
||||||
<option name="taskNames">
|
<option name="taskNames">
|
||||||
<list>
|
<list>
|
||||||
<option value="build" />
|
<option value="test" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
<option name="vmOptions" />
|
<option name="vmOptions" />
|
||||||
@ -128,6 +186,25 @@
|
|||||||
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
|
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration name="WebInfoSponge build" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" value="WebInfoSponge build" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="build" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" value="" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
<configuration default="true" type="JUnit" factoryName="JUnit">
|
<configuration default="true" type="JUnit" factoryName="JUnit">
|
||||||
<option name="TEST_OBJECT" value="class" />
|
<option name="TEST_OBJECT" value="class" />
|
||||||
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||||
@ -144,7 +221,18 @@
|
|||||||
<option name="Make" enabled="true" />
|
<option name="Make" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Gradle.WebInfoSponge build" />
|
||||||
|
<item itemvalue="Gradle.SpongeVanilla [runServer]" />
|
||||||
|
<item itemvalue="Gradle.WebInfoSponge [test]" />
|
||||||
|
</list>
|
||||||
|
<recent_temporary>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Gradle.WebInfoSponge [test]" />
|
||||||
|
</list>
|
||||||
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
<component name="SvnConfiguration">
|
<component name="SvnConfiguration">
|
||||||
<configuration />
|
<configuration />
|
||||||
</component>
|
</component>
|
||||||
@ -155,37 +243,160 @@
|
|||||||
<option name="number" value="Default" />
|
<option name="number" value="Default" />
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1587499134817</updated>
|
<updated>1587499134817</updated>
|
||||||
|
<workItem from="1608371483706" duration="893000" />
|
||||||
|
<workItem from="1608372467382" duration="31255000" />
|
||||||
|
<workItem from="1608464165865" duration="296000" />
|
||||||
|
<workItem from="1608470257315" duration="7217000" />
|
||||||
|
<workItem from="1608482612300" duration="325000" />
|
||||||
|
<workItem from="1609005952903" duration="673000" />
|
||||||
|
<workItem from="1613740219146" duration="16048000" />
|
||||||
</task>
|
</task>
|
||||||
|
<task id="LOCAL-00001" summary="1.S3 release">
|
||||||
|
<created>1603741229448</created>
|
||||||
|
<option name="number" value="00001" />
|
||||||
|
<option name="presentableId" value="LOCAL-00001" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1603741229448</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00002" summary="Add cp page">
|
||||||
|
<created>1606331158101</created>
|
||||||
|
<option name="number" value="00002" />
|
||||||
|
<option name="presentableId" value="LOCAL-00002" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1606331158101</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00003" summary="New Placeholder system and Localization system">
|
||||||
|
<created>1608478261570</created>
|
||||||
|
<option name="number" value="00003" />
|
||||||
|
<option name="presentableId" value="LOCAL-00003" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1608478261570</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="4" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="version" value="3" />
|
||||||
|
</component>
|
||||||
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
<option name="TAB_STATES">
|
||||||
|
<map>
|
||||||
|
<entry key="MAIN">
|
||||||
|
<value>
|
||||||
|
<State />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
<option name="oldMeFiltersMigrated" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="VcsManagerConfiguration">
|
||||||
|
<MESSAGE value="1.S3 release" />
|
||||||
|
<MESSAGE value="Fixes" />
|
||||||
|
<MESSAGE value="Add cp page" />
|
||||||
|
<MESSAGE value="New Placeholder system and Localization system" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="New Placeholder system and Localization system" />
|
||||||
|
</component>
|
||||||
<component name="WindowStateProjectService">
|
<component name="WindowStateProjectService">
|
||||||
<state x="275" y="23" key="#Project_Structure" timestamp="1587909798375">
|
<state x="137" y="19" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1613754217734">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state x="275" y="23" key="#Project_Structure/0.0.1366.728@0.0.1366.728" timestamp="1587909798375" />
|
<state x="137" y="19" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1366.728@0.0.1366.728" timestamp="1613754217734" />
|
||||||
<state x="336" y="0" key="CommitChangelistDialog2" timestamp="1587499510823">
|
<state x="488" y="70" key="#com.intellij.ide.util.MemberChooser" timestamp="1613743967625">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state x="336" y="0" key="CommitChangelistDialog2/0.0.1366.728@0.0.1366.728" timestamp="1587499510823" />
|
<state x="488" y="70" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1613743967625" />
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.bottom" timestamp="1587911372460">
|
<state x="148" y="0" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog" timestamp="1608375391499">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1587911372460" />
|
<state x="148" y="0" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/0.0.1366.728@0.0.1366.728" timestamp="1608375391499" />
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.center" timestamp="1587911372460">
|
<state x="413" y="111" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1608374820045">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1587911372460" />
|
<state x="413" y="111" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.1366.728@0.0.1366.728" timestamp="1608374820045" />
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.left" timestamp="1587911372460">
|
<state x="430" y="198" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1" timestamp="1613740929278">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1587911372460" />
|
<state x="430" y="198" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1/0.0.1366.728@0.0.1366.728" timestamp="1613740929278" />
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.right" timestamp="1587911372460">
|
<state x="271" y="0" key="CommitChangelistDialog2" timestamp="1608372777633">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state width="1323" height="178" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1587911372460" />
|
<state x="271" y="0" key="CommitChangelistDialog2/0.0.1366.728@0.0.1366.728" timestamp="1608372777633" />
|
||||||
<state x="65" y="35" key="new project wizard" timestamp="1587499840883">
|
<state x="463" y="119" key="FileChooserDialogImpl" timestamp="1613752891542">
|
||||||
<screen x="0" y="0" width="1366" height="728" />
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
</state>
|
</state>
|
||||||
<state x="65" y="35" key="new project wizard/0.0.1366.728@0.0.1366.728" timestamp="1587499840883" />
|
<state x="463" y="119" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1613752891542" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.bottom" timestamp="1613755963388">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1613755963388" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.center" timestamp="1613755963388">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1613755963388" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.left" timestamp="1613755963388">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1613755963388" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.right" timestamp="1613755963388">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1613755963388" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.bottom" timestamp="1613755963389">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.bottom/0.0.1366.728@0.0.1366.728" timestamp="1613755963389" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.center" timestamp="1613755963389">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.center/0.0.1366.728@0.0.1366.728" timestamp="1613755963389" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.left" timestamp="1613755963388">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.left/0.0.1366.728@0.0.1366.728" timestamp="1613755963388" />
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.right" timestamp="1613755963389">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state width="1323" height="223" key="GridCell.Tab.1.right/0.0.1366.728@0.0.1366.728" timestamp="1613755963389" />
|
||||||
|
<state x="263" y="99" key="IDE.errors.dialog" timestamp="1608383059685">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state x="263" y="99" key="IDE.errors.dialog/0.0.1366.728@0.0.1366.728" timestamp="1608383059685" />
|
||||||
|
<state x="-3" y="0" width="916" height="728" key="SettingsEditor" timestamp="1613755950044">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state x="-3" y="0" width="916" height="728" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1613755950044" />
|
||||||
|
<state x="181" y="72" key="Vcs.Push.Dialog.v2" timestamp="1608478366712">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state x="181" y="72" key="Vcs.Push.Dialog.v2/0.0.1366.728@0.0.1366.728" timestamp="1608478366712" />
|
||||||
|
<state x="65" y="0" key="new project wizard" timestamp="1608373390458">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state x="65" y="0" key="new project wizard/0.0.1366.728@0.0.1366.728" timestamp="1608373390458" />
|
||||||
|
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup" timestamp="1613741232328">
|
||||||
|
<screen x="0" y="0" width="1366" height="728" />
|
||||||
|
</state>
|
||||||
|
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup/0.0.1366.728@0.0.1366.728" timestamp="1613741232328" />
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager>
|
||||||
|
<breakpoints>
|
||||||
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
|
<url>file://$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebServer.java</url>
|
||||||
|
<line>46</line>
|
||||||
|
<option name="timeStamp" value="1" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
|
<url>file://$PROJECT_DIR$/src/main/java/ru/redguy/webinfomod/WebServer.java</url>
|
||||||
|
<line>44</line>
|
||||||
|
<option name="timeStamp" value="2" />
|
||||||
|
</line-breakpoint>
|
||||||
|
</breakpoints>
|
||||||
|
</breakpoint-manager>
|
||||||
|
</component>
|
||||||
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
|
<expand />
|
||||||
|
<select />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module external.linked.project.id="WebInfoSponge:main" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="ru.redguy" external.system.module.type="sourceSet" external.system.module.version="1.S2" type="JAVA_MODULE" version="4">
|
<module external.linked.project.id="WebInfoSponge:main" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="ru.redguy" external.system.module.type="sourceSet" external.system.module.version="1.0.4" type="JAVA_MODULE" version="4">
|
||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="minecraft" name="Minecraft">
|
<facet type="minecraft" name="Minecraft">
|
||||||
<configuration>
|
<configuration>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$/build/generated/sources/annotationProcessor/java/main">
|
<content url="file://$MODULE_DIR$/build/generated/sources/annotationProcessor/java/main">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/sources/annotationProcessor/java/main" isTestSource="false" generated="true" />
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/sources/annotationProcessor/java/main" isTestSource="false" generated="true" />
|
||||||
@ -22,29 +22,32 @@
|
|||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="Gradle: org.nanohttpd:nanohttpd:2.3.1" level="project" />
|
<orderEntry type="library" name="Gradle: org.nanohttpd:nanohttpd:2.3.1" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.reflections:reflections:0.9.12" level="project" />
|
<orderEntry type="library" name="Gradle: org.reflections:reflections:0.9.12" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: org.apache.directory.studio:org.apache.commons.io:2.4" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: org.json:json:20201115" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:spongeapi:7.1.0" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.javassist:javassist:3.26.0-GA" level="project" />
|
<orderEntry type="library" name="Gradle: org.javassist:javassist:3.26.0-GA" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.15" level="project" />
|
<orderEntry type="library" name="Gradle: commons-io:commons-io:2.4" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.findbugs:jsr305:3.0.1" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.slf4j:slf4j-api:1.7.25" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.inject:guice:4.1.0" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.inject:guice:4.1.0" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.apache.commons:commons-lang3:3.5" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:guava:2.5.4" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:plugin-meta:0.4.1" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:plugin-meta:0.4.1" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-hocon:3.6" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-hocon:3.6" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-gson:3.6" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-gson:3.6" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-yaml:3.6" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-yaml:3.6" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.guava:guava:21.0" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.15" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.gson:gson:2.8.0" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.apache.commons:commons-lang3:3.5" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.findbugs:jsr305:3.0.1" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:guava:2.5.4" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:caffeine:2.5.4" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-math:1.0.3" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-math:1.0.3" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-noise:1.0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-noise:1.0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: javax.inject:javax.inject:1" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.ow2.asm:asm:5.2" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.ow2.asm:asm:5.2" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: javax.inject:javax.inject:1" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: aopalliance:aopalliance:1.0" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: aopalliance:aopalliance:1.0" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-core:3.6" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-core:3.6" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.typesafe:config:1.3.1" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.typesafe:config:1.3.1" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:spongeapi:7.1.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.checkerframework:checker-qual:2.4.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.yaml:snakeyaml:1.18" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.yaml:snakeyaml:1.18" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:caffeine:2.5.4" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.checkerframework:checker-qual:2.4.0" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.slf4j:slf4j-api:1.7.25" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.guava:guava:21.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.gson:gson:2.8.0" level="project" />
|
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module external.linked.project.id="WebInfoSponge:test" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="ru.redguy" external.system.module.type="sourceSet" external.system.module.version="1.S2" type="JAVA_MODULE" version="4">
|
<module external.linked.project.id="WebInfoSponge:test" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="ru.redguy" external.system.module.type="sourceSet" external.system.module.version="1.0.4" type="JAVA_MODULE" version="4">
|
||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="minecraft" name="Minecraft">
|
<facet type="minecraft" name="Minecraft">
|
||||||
<configuration>
|
<configuration>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$/src/test">
|
<content url="file://$MODULE_DIR$/src/test">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
@ -18,32 +18,12 @@
|
|||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="module" module-name="WebInfoSponge.main" />
|
<orderEntry type="module" module-name="WebInfoSponge.main" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.checkerframework:checker-qual:2.4.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.typesafe:config:1.3.1" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.ow2.asm:asm:5.2" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:spongeapi:7.1.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.slf4j:slf4j-api:1.7.25" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.guava:guava:21.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.15" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.gson:gson:2.8.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.apache.commons:commons-lang3:3.5" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.findbugs:jsr305:3.0.1" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:caffeine:2.5.4" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.inject:guice:4.1.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.ben-manes.caffeine:guava:2.5.4" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:plugin-meta:0.4.1" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-hocon:3.6" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-gson:3.6" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-yaml:3.6" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-math:1.0.3" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.flowpowered:flow-noise:1.0.1-SNAPSHOT" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.spongepowered:configurate-core:3.6" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: javax.inject:javax.inject:1" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: aopalliance:aopalliance:1.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Gradle: org.yaml:snakeyaml:1.18" level="project" />
|
|
||||||
<orderEntry type="library" name="Gradle: org.nanohttpd:nanohttpd:2.3.1" level="project" />
|
<orderEntry type="library" name="Gradle: org.nanohttpd:nanohttpd:2.3.1" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.reflections:reflections:0.9.12" level="project" />
|
<orderEntry type="library" name="Gradle: org.reflections:reflections:0.9.12" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: org.apache.directory.studio:org.apache.commons.io:2.4" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: org.json:json:20201115" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.javassist:javassist:3.26.0-GA" level="project" />
|
<orderEntry type="library" name="Gradle: org.javassist:javassist:3.26.0-GA" level="project" />
|
||||||
|
<orderEntry type="library" name="Gradle: commons-io:commons-io:2.4" level="project" />
|
||||||
</component>
|
</component>
|
||||||
<component name="TestModuleProperties" production-module="WebInfoSponge.main" />
|
<component name="TestModuleProperties" production-module="WebInfoSponge.main" />
|
||||||
</module>
|
</module>
|
@ -20,6 +20,7 @@ dependencies {
|
|||||||
compile 'org.nanohttpd:nanohttpd:2.3.1'
|
compile 'org.nanohttpd:nanohttpd:2.3.1'
|
||||||
compile 'org.reflections:reflections:0.9.12'
|
compile 'org.reflections:reflections:0.9.12'
|
||||||
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
|
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
|
||||||
|
compile group: 'org.json', name: 'json', version: '20201115'
|
||||||
}
|
}
|
||||||
|
|
||||||
sponge.plugin.id = pluginId
|
sponge.plugin.id = pluginId
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
pluginGroup=ru.redguy
|
pluginGroup=ru.redguy
|
||||||
pluginId=webinfomod
|
pluginId=webinfomod
|
||||||
pluginVersion=1.S3
|
pluginVersion=1.0.4
|
||||||
|
@ -11,7 +11,6 @@ import java.util.Map;
|
|||||||
public class Config {
|
public class Config {
|
||||||
|
|
||||||
private JsonObject jsonObject;
|
private JsonObject jsonObject;
|
||||||
public Map<String, String> sessions;
|
|
||||||
private Logger logger;
|
private Logger logger;
|
||||||
|
|
||||||
public Config(Logger logger) throws IOException {
|
public Config(Logger logger) throws IOException {
|
||||||
@ -35,7 +34,6 @@ public class Config {
|
|||||||
}
|
}
|
||||||
jsonObject = (JsonObject) obj;
|
jsonObject = (JsonObject) obj;
|
||||||
jsonObject.addProperty("MineV",Sponge.getPlatform().getMinecraftVersion().getName());
|
jsonObject.addProperty("MineV",Sponge.getPlatform().getMinecraftVersion().getName());
|
||||||
sessions = new HashMap<String,String>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getString(String name) {
|
public String getString(String name) {
|
||||||
|
@ -1,12 +1,39 @@
|
|||||||
package ru.redguy.webinfomod;
|
package ru.redguy.webinfomod;
|
||||||
|
|
||||||
public class User {
|
import org.json.JSONObject;
|
||||||
|
import ru.redguy.webinfomod.utils.Jsonable;
|
||||||
|
|
||||||
|
public class User implements Jsonable {
|
||||||
|
|
||||||
public String user;
|
public String user;
|
||||||
public String password;
|
public String password;
|
||||||
|
public boolean isAdmin;
|
||||||
|
|
||||||
public User(String user, String password) {
|
public User(JSONObject json) {
|
||||||
|
user = json.optString("user","admin");
|
||||||
|
password = json.optString("password","admin");
|
||||||
|
isAdmin = json.optBoolean("isAdmin",false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public User(String user, String password, boolean isAdmin) {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
|
this.isAdmin = isAdmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toJSON() {
|
||||||
|
return toJSONObject().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject toJSONObject() {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("user",user);
|
||||||
|
jsonObject.put("password",password);
|
||||||
|
jsonObject.put("isAdmin",isAdmin);
|
||||||
|
return jsonObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,48 +1,41 @@
|
|||||||
package ru.redguy.webinfomod;
|
package ru.redguy.webinfomod;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import org.apache.commons.io.FileUtils;
|
||||||
import com.google.gson.JsonElement;
|
import org.json.JSONArray;
|
||||||
import com.google.gson.JsonObject;
|
import org.json.JSONObject;
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
public class UsersConfig {
|
public class UsersConfig {
|
||||||
|
|
||||||
private JsonArray rawUsers;
|
private static JSONArray users;
|
||||||
|
|
||||||
public UsersConfig() throws IOException {
|
public static void loadUsers() {
|
||||||
JsonParser parser = new JsonParser();
|
|
||||||
Object rawData;
|
|
||||||
try {
|
try {
|
||||||
rawData = parser.parse(new FileReader("config/WebInfoUsers.json"));
|
users = new JSONArray(FileUtils.readFileToString(new File("config/WebInfoUsers.json")));
|
||||||
} catch (FileNotFoundException e) {
|
} catch (IOException e) {
|
||||||
File f = new File("config/WebInfoUsers.json");
|
try {
|
||||||
f.createNewFile();
|
if(new File("config/WebInfoUsers.json").createNewFile()) {
|
||||||
FileWriter fw = new FileWriter(f);
|
JSONArray array = new JSONArray();
|
||||||
fw.write(
|
array.put(new User("admin","password",false).toJSONObject());
|
||||||
"[{"+System.lineSeparator()+
|
users = array;
|
||||||
"\"user\":\"admin\","+System.lineSeparator()+
|
FileUtils.writeStringToFile(new File("config/WebInfoUsers.json"),array.toString());
|
||||||
"\"password\":\"admin\""+System.lineSeparator()+
|
} else {
|
||||||
"}]"
|
//TODO: I cant load
|
||||||
);
|
}
|
||||||
fw.close();
|
} catch (IOException ioException) {
|
||||||
rawData = parser.parse(new FileReader("config/WebInfoMod.json"));
|
//TODO: I cant load
|
||||||
}
|
|
||||||
rawUsers = (JsonArray) rawData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public User getUser(String name) {
|
|
||||||
User result = null;
|
|
||||||
for (JsonElement rawUser : rawUsers) {
|
|
||||||
JsonObject userJson = rawUser.getAsJsonObject();
|
|
||||||
if(userJson.get("user").getAsString().equals(name)) {
|
|
||||||
result = new User(
|
|
||||||
userJson.get("user").getAsString(),
|
|
||||||
userJson.get("password").getAsString()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
}
|
||||||
|
|
||||||
|
public static User getUser(String name) {
|
||||||
|
for (Object user : users) {
|
||||||
|
JSONObject object = (JSONObject)user;
|
||||||
|
if(name.equals(object.getString("user"))) {
|
||||||
|
return new User(object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ public class WebInfoSponge {
|
|||||||
config = new Config(myLogger);
|
config = new Config(myLogger);
|
||||||
Localization.loadLangFile(config);
|
Localization.loadLangFile(config);
|
||||||
BasePlaceholders.registerBase();
|
BasePlaceholders.registerBase();
|
||||||
|
UsersConfig.loadUsers();
|
||||||
webServer = new WebServer(config.getInt("WebPort"), config);
|
webServer = new WebServer(config.getInt("WebPort"), config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,14 +44,14 @@ public class WebServer extends NanoHTTPD {
|
|||||||
if(session.getUri().startsWith("/css/")||session.getUri().startsWith("/js/")) {
|
if(session.getUri().startsWith("/css/")||session.getUri().startsWith("/js/")) {
|
||||||
String path = "/resources/web"+session.getUri();
|
String path = "/resources/web"+session.getUri();
|
||||||
try {
|
try {
|
||||||
return newFixedLengthResponse(
|
//TODO: 400 код при авторизоавном доступе
|
||||||
IOUtils.toString(WebServer.class.getResourceAsStream(path), StandardCharsets.UTF_8));
|
return newFixedLengthResponse(Response.Status.OK,session.getUri().startsWith("/css/") ? "text/css" : "application/javascript", IOUtils.toString(WebServer.class.getResourceAsStream(path), StandardCharsets.UTF_8));
|
||||||
} catch (IOException ignored) {
|
} catch (IOException ignored) {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
for (Class<?> mClass : reflections.getTypesAnnotatedWith(WebPage.class, true)) {
|
for (Class<?> mClass : reflections.getTypesAnnotatedWith(WebPage.class, true)) {
|
||||||
if (mClass.getAnnotation(WebPage.class).url().equals(session.getUri())) {
|
if (session.getUri().equals(mClass.getAnnotation(WebPage.class).url()) || session.getUri().equals(mClass.getAnnotation(WebPage.class).url()+"/")) {
|
||||||
try {
|
try {
|
||||||
return (Response) mClass.getMethod("getPage", Config.class, IHTTPSession.class).invoke(mClass.newInstance(), config, session);
|
return (Response) mClass.getMethod("getPage", Config.class, IHTTPSession.class).invoke(mClass.newInstance(), config, session);
|
||||||
} catch (IllegalAccessException e) {
|
} catch (IllegalAccessException e) {
|
||||||
|
8
src/main/java/ru/redguy/webinfomod/WebStatic.java
Normal file
8
src/main/java/ru/redguy/webinfomod/WebStatic.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package ru.redguy.webinfomod;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class WebStatic {
|
||||||
|
public static Map<String, String> sessions = new HashMap<>();
|
||||||
|
}
|
@ -8,11 +8,12 @@ import ru.redguy.webinfomod.langs.enums.RootCategories;
|
|||||||
import ru.redguy.webinfomod.langs.enums.Titles;
|
import ru.redguy.webinfomod.langs.enums.Titles;
|
||||||
import ru.redguy.webinfomod.langs.enums.Words;
|
import ru.redguy.webinfomod.langs.enums.Words;
|
||||||
import ru.redguy.webinfomod.utils.PlaceholdersUtils;
|
import ru.redguy.webinfomod.utils.PlaceholdersUtils;
|
||||||
|
import ru.redguy.webinfomod.utils.SessionUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
|
||||||
@WebPage(url = "/auth/")
|
@WebPage(url = "/auth")
|
||||||
public class Index implements IWebPage {
|
public class Index implements IWebPage {
|
||||||
|
|
||||||
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
||||||
|
@ -11,7 +11,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@WebPage(url = "/auth/worker/")
|
@WebPage(url = "/auth/worker")
|
||||||
public class Worker implements IWebPage {
|
public class Worker implements IWebPage {
|
||||||
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
||||||
try {
|
try {
|
||||||
@ -46,8 +46,8 @@ public class Worker implements IWebPage {
|
|||||||
String token = WebUtils.MD5(date.getTime()+"MagickSalt");
|
String token = WebUtils.MD5(date.getTime()+"MagickSalt");
|
||||||
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders());
|
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders());
|
||||||
ch.set("session",token,1);
|
ch.set("session",token,1);
|
||||||
config.sessions.put(token,user.user);
|
WebStatic.sessions.put(token,user.user);
|
||||||
NanoHTTPD.Response response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.REDIRECT,NanoHTTPD.MIME_PLAINTEXT,"");
|
NanoHTTPD.Response response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.TEMPORARY_REDIRECT,NanoHTTPD.MIME_PLAINTEXT,"");
|
||||||
response.addHeader("Location", "/");
|
response.addHeader("Location", "/");
|
||||||
ch.unloadQueue(response);
|
ch.unloadQueue(response);
|
||||||
config.getLogger().info(LoggerType.Web,user.user + " login!");
|
config.getLogger().info(LoggerType.Web,user.user + " login!");
|
||||||
|
@ -2,22 +2,21 @@ package ru.redguy.webinfomod.pages.cp;
|
|||||||
|
|
||||||
import fi.iki.elonen.NanoHTTPD;
|
import fi.iki.elonen.NanoHTTPD;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import ru.redguy.webinfomod.Config;
|
import ru.redguy.webinfomod.*;
|
||||||
import ru.redguy.webinfomod.IWebPage;
|
|
||||||
import ru.redguy.webinfomod.WebPage;
|
|
||||||
import ru.redguy.webinfomod.WebServer;
|
|
||||||
import ru.redguy.webinfomod.langs.Localization;
|
|
||||||
import ru.redguy.webinfomod.langs.enums.Links;
|
|
||||||
import ru.redguy.webinfomod.langs.enums.RootCategories;
|
|
||||||
import ru.redguy.webinfomod.utils.PlaceholdersUtils;
|
import ru.redguy.webinfomod.utils.PlaceholdersUtils;
|
||||||
import ru.redguy.webinfomod.utils.WebUtils;
|
import ru.redguy.webinfomod.utils.SessionUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
@WebPage(url = "/cp/")
|
@WebPage(url = "/cp")
|
||||||
public class Index implements IWebPage {
|
public class Index implements IWebPage {
|
||||||
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
||||||
|
if(!SessionUtils.checkAdmin(session)) {
|
||||||
|
NanoHTTPD.Response response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.TEMPORARY_REDIRECT, NanoHTTPD.MIME_PLAINTEXT, "");
|
||||||
|
response.addHeader("Location", "/");
|
||||||
|
return response;
|
||||||
|
}
|
||||||
String path = "/resources/web/cp/index.html";
|
String path = "/resources/web/cp/index.html";
|
||||||
String page = IOUtils.toString(WebServer.class.getResourceAsStream(path), StandardCharsets.UTF_8);
|
String page = IOUtils.toString(WebServer.class.getResourceAsStream(path), StandardCharsets.UTF_8);
|
||||||
return NanoHTTPD.newFixedLengthResponse(new PlaceholdersUtils(session).work(page));
|
return NanoHTTPD.newFixedLengthResponse(new PlaceholdersUtils(session).work(page));
|
||||||
|
@ -7,11 +7,12 @@ import ru.redguy.webinfomod.utils.WebUtils;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@WebPage(url = "/logout/")
|
@WebPage(url = "/logout")
|
||||||
public class Index implements IWebPage {
|
public class Index implements IWebPage {
|
||||||
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
public NanoHTTPD.Response getPage(Config config, NanoHTTPD.IHTTPSession session) throws IOException {
|
||||||
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders());
|
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders());
|
||||||
config.getLogger().info(LoggerType.Web,config.sessions.get(ch.read("session"))+ " has been logout!");
|
config.getLogger().info(LoggerType.Web,WebStatic.sessions.get(ch.read("session"))+ " has been logout!");
|
||||||
|
WebStatic.sessions.remove(ch.read("session"));
|
||||||
ch.delete("session");
|
ch.delete("session");
|
||||||
NanoHTTPD.Response response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.REDIRECT,NanoHTTPD.MIME_PLAINTEXT,"");
|
NanoHTTPD.Response response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.REDIRECT,NanoHTTPD.MIME_PLAINTEXT,"");
|
||||||
response.addHeader("Location", "/");
|
response.addHeader("Location", "/");
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ru.redguy.webinfomod.utils;
|
package ru.redguy.webinfomod.utils;
|
||||||
|
|
||||||
import ru.redguy.webinfomod.Logger;
|
import ru.redguy.webinfomod.Logger;
|
||||||
|
import ru.redguy.webinfomod.WebStatic;
|
||||||
import ru.redguy.webinfomod.langs.Localization;
|
import ru.redguy.webinfomod.langs.Localization;
|
||||||
import ru.redguy.webinfomod.langs.enums.Links;
|
import ru.redguy.webinfomod.langs.enums.Links;
|
||||||
import ru.redguy.webinfomod.langs.enums.RootCategories;
|
import ru.redguy.webinfomod.langs.enums.RootCategories;
|
||||||
@ -14,7 +15,7 @@ public class BasePlaceholders {
|
|||||||
@Override
|
@Override
|
||||||
public String getContent(String[] args, PlaceholdersUtils placeholdersUtils) {
|
public String getContent(String[] args, PlaceholdersUtils placeholdersUtils) {
|
||||||
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(placeholdersUtils.getSession().getHeaders());
|
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(placeholdersUtils.getSession().getHeaders());
|
||||||
if(ch.read("session") == null) {
|
if(!WebStatic.sessions.containsKey(ch.read("session"))) {
|
||||||
return "<a href=\"auth/\" class=\"authLink\">"+ Localization.getCategory(RootCategories.Links).getString(Links.login)+"</a>";
|
return "<a href=\"auth/\" class=\"authLink\">"+ Localization.getCategory(RootCategories.Links).getString(Links.login)+"</a>";
|
||||||
} else {
|
} else {
|
||||||
return "<a href=\"logout/\" class=\"authLink\">"+Localization.getCategory(RootCategories.Links).getString(Links.logout)+"</a><br>" +
|
return "<a href=\"logout/\" class=\"authLink\">"+Localization.getCategory(RootCategories.Links).getString(Links.logout)+"</a><br>" +
|
||||||
|
9
src/main/java/ru/redguy/webinfomod/utils/Jsonable.java
Normal file
9
src/main/java/ru/redguy/webinfomod/utils/Jsonable.java
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
package ru.redguy.webinfomod.utils;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public interface Jsonable {
|
||||||
|
String toJSON();
|
||||||
|
|
||||||
|
JSONObject toJSONObject();
|
||||||
|
}
|
17
src/main/java/ru/redguy/webinfomod/utils/SessionUtils.java
Normal file
17
src/main/java/ru/redguy/webinfomod/utils/SessionUtils.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package ru.redguy.webinfomod.utils;
|
||||||
|
|
||||||
|
import fi.iki.elonen.NanoHTTPD;
|
||||||
|
import ru.redguy.webinfomod.UsersConfig;
|
||||||
|
import ru.redguy.webinfomod.WebStatic;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class SessionUtils {
|
||||||
|
public static boolean checkAdmin(NanoHTTPD.IHTTPSession session) {
|
||||||
|
WebUtils.CookieHandler ch = new WebUtils.CookieHandler(session.getHeaders());
|
||||||
|
if(WebStatic.sessions.containsKey(ch.read("session"))) {
|
||||||
|
return Objects.requireNonNull(UsersConfig.getUser(WebStatic.sessions.get(ch.read("session")))).isAdmin;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
@ -15,8 +15,8 @@ function updatePageInfo() {
|
|||||||
if (xhr.readyState !== 4) return;
|
if (xhr.readyState !== 4) return;
|
||||||
let data = JSON.parse(xhr.responseText);
|
let data = JSON.parse(xhr.responseText);
|
||||||
header.innerText = "Мод запущен на сервере";
|
header.innerText = "Мод запущен на сервере";
|
||||||
appendLine(stat, ["Версия игры", data.MineV]);
|
Tables.appendLine(stat, ["Версия игры", data.MineV]);
|
||||||
appendLine(stat, ["Игроки", data.Players]);
|
Tables.appendLine(stat, ["Игроки", data.Players]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
src/main/resources/resources/web/web.iml
Normal file
8
src/main/resources/resources/web/web.iml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
Reference in New Issue
Block a user