diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 77585b07c..7d2e66091 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,6 +27,7 @@ variables: MEMCACHED_NAMESPACE: $CI_COMMIT_SHORT_SHA COMPOSER_HOME: ${CI_PROJECT_DIR}/.composer CYPRESS_CACHE_FOLDER: ${CI_PROJECT_DIR}/node_modules/.cypress-cache + GIT_SUBMODULE_STRATEGY: recursive phpstan: stage: analyze diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..3cc757b85 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "public/static/assets"] + path = public/static/assets + url = ../website-static-assets.git diff --git a/Makefile b/Makefile index 25ae8b68e..29cbb8301 100644 --- a/Makefile +++ b/Makefile @@ -103,5 +103,5 @@ twig-flush: .PHONY: update update: - git pull + git pull --recurse-submodules composer install --no-dev --optimize-autoloader --no-progress diff --git a/lib/config.php b/lib/config.php index 1b212af2d..2fa1b5ff7 100644 --- a/lib/config.php +++ b/lib/config.php @@ -292,6 +292,7 @@ defined('DEBUG_TRACE') or define('DEBUG_TRACE', ''); // ------------------------------------------------------------------------ // IRC settings +defined('IRC_PUBLIC_SERVER') or define('IRC_PUBLIC_SERVER', 'irc.' . SITE_HOST); defined('DISABLE_IRC') or define('DISABLE_IRC', false); defined('IRC_HTTP_SOCKET_ADDRESS') or define('IRC_HTTP_SOCKET_ADDRESS', 'http://localhost:51011/'); @@ -786,6 +787,7 @@ defined('VALID_PAGE') or define('VALID_PAGE', [ 'user', 'userhistory', 'view', + 'webirc', ]); // Maximum length of a custom user title. diff --git a/public/static/assets b/public/static/assets new file mode 160000 index 000000000..90f16704d --- /dev/null +++ b/public/static/assets @@ -0,0 +1 @@ +Subproject commit 90f16704d2962642a34fbb201041370959354098 diff --git a/public/static/highlight.mp3 b/public/static/highlight.mp3 new file mode 120000 index 000000000..c74b5ef8e --- /dev/null +++ b/public/static/highlight.mp3 @@ -0,0 +1 @@ +assets/kiwi/static/highlight.mp3 \ No newline at end of file diff --git a/public/static/highlight.ogg b/public/static/highlight.ogg new file mode 120000 index 000000000..b8cf0b506 --- /dev/null +++ b/public/static/highlight.ogg @@ -0,0 +1 @@ +assets/kiwi/static/highlight.ogg \ No newline at end of file diff --git a/public/static/irc/IRCApplet.class b/public/static/irc/IRCApplet.class deleted file mode 100644 index 3da0719b7..000000000 Binary files a/public/static/irc/IRCApplet.class and /dev/null differ diff --git a/public/static/irc/english.lng b/public/static/irc/english.lng deleted file mode 100644 index 4b7b2dd2a..000000000 --- a/public/static/irc/english.lng +++ /dev/null @@ -1,93 +0,0 @@ -# -# This java file is a part of the -# -# - Plouf's Java IRC Client - -# -# Copyright (C) 2004 Philippe Detournay -# -# This file is licensed under the GPL license -# -# All contacts : theplouf@yahoo.com -# -# -# Syntax : -# Comments begin with the # character. This character must be the first character of the line. -# A data line has three parts : the data id, the data id description, the data string. -# - Data id : An hexadecimal figure identifying the string. -# - Data description : Begins by [ and ends by ]. The description is not parsed and -# can be any string. -# - Data string : The string itself. Parameters are specified using the %i syntax. -# -# Trailing spaces can be added using the \s escape character. - -0001 [INTERPRETOR_NOT_ON_CHANNEL] Not on a channel -0002 [INTERPRETOR_UNKNOWN_DCC] %1 : unknown dcc subcommand -0003 [INTERPRETOR_INSUFFICIENT_PARAMETERS] %1 : insufficient parameters -0004 [INTERPRETOR_BAD_CONTEXT] %1 : unable to perform in current context -0005 [INTERPRETOR_CANNOT_CTCP_IN_DCCCHAT] Cannot send CTCP codes via DCC Chat -0006 [INTERPRETOR_UNKNOWN_CONFIG] %1 : unknown config subcommand -0007 [INTERPRETOR_TIMESTAMP_ON] Timestamp enabled -0008 [INTERPRETOR_TIMESTAMP_OFF] Timestamp disabled -0009 [INTERPRETOR_SMILEYS_ON] Graphical smileys enabled -000a [INTERPRETOR_SMILEYS_OFF] Graphical smileys disabled -000b [INTERPRETOR_IGNORE_ON] Now ignoring %1 -000c [INTERPRETOR_IGNORE_OFF] Not ignoring %1 anymore -000d [INTERPRETOR_MULTISERVER_DISABLED] Multiserver support is disabled - -0101 [DCC_WAITING_INCOMING] Waiting for incoming connection... -0102 [DCC_UNABLE_TO_OPEN_CONNECTION] Unable to open connection : %1 -0103 [DCC_CONNECTION_ESTABLISHED] DCC Connection established -0104 [DCC_CONNECTION_CLOSED] Connection closed -0105 [DCC_ERROR] Error : %1 -0106 [DCC_UNABLE_TO_SEND_TO] %1 : unable to send to %2 -0107 [DCC_BAD_CONTEXT] Unable to execute command from current context -0108 [DCC_NOT_CONNECTED] Not connected -0109 [DCC_UNABLE_PASSIVE_MODE] Unable to initialize passive mode -010a [CTCP_PING_REPLY] [%1 PING reply] : %2 seconds -010b [DCC_STREAM_CLOSED] Stream closed - -0201 [IDENT_FAILED_LAUNCH] Failed to launch Ident server : %1 -0202 [IDENT_REQUEST] Ident request from %1 -0203 [IDENT_ERROR] Error occurred -0204 [IDENT_REPLIED] Replied %1 -0205 [IDENT_DEFAULT_USER] default user -0206 [IDENT_NO_USER] No user for request -0207 [IDENT_RUNNING_ON_PORT] Ident server running on port %1 -0208 [IDENT_LEAVING] Ident server leaving : %1 -0209 [IDENT_NONE] none -020a [IDENT_UNKNOWN] unknown -020b [IDENT_UNDEFINED] Undefined result - -0301 [FILE_SAVEAS] Save file as - -0401 [ABOUT_ABOUT] About -0402 [ABOUT_PROGRAMMING] Programming -0403 [ABOUT_DESIGN] Design -0404 [ABOUT_THANKS] Thanks to -0405 [ABOUT_SUPPORT] for support, ideas and testing -0406 [ABOUT_GPL] This software is licensed under the GPL license - -0501 [SERVER_UNABLE_TO_CONNECT] Unable to connect : %1 -0502 [SERVER_UNABLE_TO_CONNECT_STILL] Unable to connect to %1 : currently trying to connect to %2 -0503 [SERVER_DISCONNECTING] Disconnecting from %1 -0504 [SERVER_CONNECTING] Connecting... -0505 [SERVER_NOT_CONNECTED] Not connected -0506 [SERVER_LOGIN] Logging in... -0507 [SERVER_DISCONNECTED] Disconnected from %1 -0508 [SERVER_ERROR] Error : %1 -0509 [SERVER_AUTOREJOIN_ATTEMPT] Attempting to rejoin channel %1... -050a [SERVER_AUTOREJOIN_FAILED] Unable to rejoin channel %1 - -071a [GUI_CHANGE_NICK] Change nick to -071b [GUI_COPY_WINDOW] Copy text -071c [GUI_DCC_CHAT_WARNING_TITLE] Warning -071d [GUI_DCC_CHAT_WARNING_TEXT] Do you want to accept DCC chat from %1? - -0801 [ASL_MALE] Boy, %1 years old, %2 -0802 [ASL_FEMALE] Girl, %1 years old, %2 -0803 [ASL_UNKNOWN] %1 years old from %2 - -0901 [REPLY_IDLE] %1 has been idle for %2 -0902 [REPLY_SIGNON] %1 connected on %2 - -ffff [ERROR_NOT_DEFINED] Undefined string diff --git a/public/static/irc/irc.jar b/public/static/irc/irc.jar deleted file mode 100644 index e2d686550..000000000 Binary files a/public/static/irc/irc.jar and /dev/null differ diff --git a/public/static/irc/sbox-english.lng b/public/static/irc/sbox-english.lng deleted file mode 100644 index 21e3935ec..000000000 --- a/public/static/irc/sbox-english.lng +++ /dev/null @@ -1,75 +0,0 @@ -# -# This java file is a part of the -# -# - Plouf's Java IRC Client - -# -# Copyright (C) 2004 Philippe Detournay -# -# This file is licensed under the GPL license -# -# All contacts : theplouf@yahoo.com -# -# -# Syntax : -# Comments begin with the # character. This character must be the first character of the line. -# A data line has three parts : the data id, the data id description, the data string. -# - Data id : An hexadecimal figure identifying the string. -# - Data description : Begins by [ and ends by ]. The description is not parsed and -# can be any string. -# - Data string : The string itself. Parameters are specified using the %i syntax. -# -# Trailing spaces can be added using the \s escape character. - -8601 [SOURCE_YOU_KICKED] You've been kicked out of %1 by %2 -8602 [SOURCE_STATUS] Status -8603 [SOURCE_CHANLIST] Channels for %1 -8604 [SOURCE_CHANLIST_RETREIVING] Retrieving channels... -8605 [SOURCE_HAS_JOINED] %1 has joined %2 -8606 [SOURCE_HAS_LEFT] %1 has left %2 -8607 [SOURCE_HAS_BEEN_KICKED_BY] %1 has been kicked by %2 -8608 [SOURCE_HAS_QUIT] %1 has quit -8609 [SOURCE_TOPIC_IS] Topic is %1 -860a [SOURCE_CHANGED_TOPIC] %1 changed topic to %2 -860b [SOURCE_CHANNEL_MODE] %1 sets channel mode to %2 -860c [SOURCE_CHANNEL_MODE_IS] Channel mode is %1 -860d [SOURCE_USER_MODE] %1 sets mode %2 on %3 -860e [SOURCE_KNOWN_AS] %1 is now known as %2 -860f [SOURCE_YOUR_MODE] Mode changed to %1 -8610 [SOURCE_YOUR_NICK] Your nick is now %1 -8611 [SOURCE_INFO] Infos -8612 [SOURCE_AWAY] %1 is away -8613 [SOURCE_YOU_INVITED] %1 invites you to join %2 -8614 [SOURCE_YOU_JOINED_AS] You're talking in %1 as %2 - -8701 [GUI_WHOIS] Whois -8702 [GUI_QUERY] Query -8703 [GUI_KICK] Kick -8704 [GUI_BAN] Ban -8705 [GUI_KICKBAN] Kick + Ban -8706 [GUI_OP] Op -8707 [GUI_DEOP] DeOp -8708 [GUI_VOICE] Voice -8709 [GUI_DEVOICE] DeVoice -870a [GUI_PING] Ping -870b [GUI_VERSION] Version -870c [GUI_TIME] Time -870d [GUI_FINGER] Finger -870e [GUI_RETREIVING_FILE] Receiving file (%1 bytes) -870f [GUI_SENDING_FILE] Sending file (%1 bytes) -8710 [GUI_TERMINATED] %1 terminated -8711 [GUI_FAILED] %1 failed -8712 [GUI_CLOSE] Close -8713 [GUI_DISCONNECT] Disconnect -8714 [GUI_CHANNELS] Channels -8715 [GUI_HELP] Help -8716 [GUI_PRIVATE] private -8717 [GUI_PUBLIC] public -8718 [GUI_CONNECT] Connect -8719 [GUI_ABOUT] About -871a [GUI_CHANGE_NICK] New nick -871c [GUI_FONT] Font -871d [GUI_FONT_WINDOW] Select font -871e [GUI_FONT_WINDOW_OK] Ok -871f [GUI_ENTER_TEXT_HERE] Enter text here... - -ffff [ERROR_NOT_DEFINED] Undefined string diff --git a/public/static/irc/sbox.jar b/public/static/irc/sbox.jar deleted file mode 100644 index 6825f5203..000000000 Binary files a/public/static/irc/sbox.jar and /dev/null differ diff --git a/sections/chat/index.php b/sections/chat/index.php index 78115ec2a..4966d3473 100644 --- a/sections/chat/index.php +++ b/sections/chat/index.php @@ -1,74 +1,6 @@ IRCKey(); -if (empty($IRCKey)) { -?> -
- Please set your IRC Key on your profile first! For more information on IRC, please read the wiki article. -
-If you have an IRC client, refer to this wiki article for information on how to connect. (IRC applet users are automatically identified with Drone.)
-diff --git a/templates/chat/index.twig b/templates/chat/index.twig new file mode 100644 index 000000000..f598f05cd --- /dev/null +++ b/templates/chat/index.twig @@ -0,0 +1,38 @@ +{{ header('Chat') }} +{% if user.disableIRC %} +IRC details
-Server: irc.orpheus.network
+Server: = IRC_PUBLIC_SERVER ?>
Port: 6667 or +7000 for SSL
If you have an IRC client, refer to + this wiki article for information on how to connect.
+Alternatively you can use our web client.
++ + + +
+{{ constant('IRC_PUBLIC_SERVER') }},
+channel #disabled. Depending on the timezone you may have to wait, but you will receive a response.
{% endif %}
{% else %}
{% if invite %}
diff --git a/templates/register/expired.twig b/templates/register/expired.twig
index 0d52c0a86..431cf0903 100644
--- a/templates/register/expired.twig
+++ b/templates/register/expired.twig
@@ -30,7 +30,7 @@ account is still unconfirmed, a new email will be sent to the address you
gave when signing up.
When all else fails, try contacting staff on IRC. Join
-irc.orpheus.network, channel #disabled. Depending on the
+{{ constant('IRC_PUBLIC_SERVER') }}, channel #disabled. Depending on the
timezone you may have to wait, but you will receive a response.
diff --git a/templates/register/no-invite.twig b/templates/register/no-invite.twig
index 72d62f39f..5c10f4dab 100644
--- a/templates/register/no-invite.twig
+++ b/templates/register/no-invite.twig
@@ -26,7 +26,7 @@ correct it and try again.
{{ constant('IRC_PUBLIC_SERVER') }}, channel #disabled. Depending on the
timezone you may have to wait, but you will receive a response.