GitHub/WoltLab/WCF.git
3 years agoUse `Ui/Sortable/List` instead of `WCF.Sortable.List`
Matthias Schmidt [Sat, 20 Mar 2021 13:01:40 +0000 (14:01 +0100)]
Use `Ui/Sortable/List` instead of `WCF.Sortable.List`

See #3876

3 years agoAdd missing new line
joshuaruesweg [Sat, 20 Mar 2021 11:39:51 +0000 (12:39 +0100)]
Add missing new line

3 years agoAdd UGC tag only for user generated content
joshuaruesweg [Sat, 20 Mar 2021 11:36:16 +0000 (12:36 +0100)]
Add UGC tag only for user generated content

3 years agoMerge pull request #4091 from WoltLab/password-focus
Marcel Werk [Thu, 18 Mar 2021 10:42:28 +0000 (11:42 +0100)]
Merge pull request #4091 from WoltLab/password-focus

Maintain focus of the password input when adding the password visibility button

3 years agoMerge branch '5.3'
Tim Düsterhus [Wed, 17 Mar 2021 15:31:21 +0000 (16:31 +0100)]
Merge branch '5.3'

3 years agoMerge pull request #4092 from WoltLab/woltlab-source-isactive
Tim Düsterhus [Wed, 17 Mar 2021 15:17:10 +0000 (16:17 +0100)]
Merge pull request #4092 from WoltLab/woltlab-source-isactive

Use WoltLabSource.isActive() to check whether the source view is enabled

3 years agoUse WoltLabSource.isActive() to check whether the source view is enabled
Tim Düsterhus [Wed, 17 Mar 2021 14:58:36 +0000 (15:58 +0100)]
Use WoltLabSource.isActive() to check whether the source view is enabled

Apparently the previous version, checking the height of the textarea, is broken
in the Kiwi Browser for Android even though it pretends to be a standard Chrome
88 without indicating anywhere within the User-Agent that it is not.

Luckily the fix is easy enough and technically the more correct solution even
for non-broken browsers.

I verified the correct functionality using Kiwi on Android and Firefox on
Linux.

3 years agoMaintain focus of the password input when adding the password visibility button
Tim Düsterhus [Wed, 17 Mar 2021 13:04:15 +0000 (14:04 +0100)]
Maintain focus of the password input when adding the password visibility button

Fixes #4050

3 years agoFix update instructions for wcf1_unfurl_url
Tim Düsterhus [Wed, 17 Mar 2021 12:02:24 +0000 (13:02 +0100)]
Fix update instructions for wcf1_unfurl_url

3 years agoMerge pull request #4036 from WoltLab/unfurl-url
Joshua Rüsweg [Tue, 16 Mar 2021 15:54:51 +0000 (16:54 +0100)]
Merge pull request #4036 from WoltLab/unfurl-url

Unfurl url

3 years agoAdd `og:image:url` detection
joshuaruesweg [Tue, 16 Mar 2021 15:07:49 +0000 (16:07 +0100)]
Add `og:image:url` detection

3 years agoReject to unfurl urls with an explicit port
joshuaruesweg [Tue, 16 Mar 2021 13:16:45 +0000 (14:16 +0100)]
Reject to unfurl urls with an explicit port

3 years agoRemove styling elements for unfurled urls
joshuaruesweg [Fri, 12 Mar 2021 16:39:29 +0000 (17:39 +0100)]
Remove styling elements for unfurled urls

3 years agoClean up code and unify code style
joshuaruesweg [Fri, 12 Mar 2021 15:04:50 +0000 (16:04 +0100)]
Clean up code and unify code style

3 years agoUse DOMElement::getAttribute
joshuaruesweg [Fri, 12 Mar 2021 14:55:18 +0000 (15:55 +0100)]
Use DOMElement::getAttribute

3 years agoUse imageUrl as imageHash
joshuaruesweg [Fri, 12 Mar 2021 13:55:57 +0000 (14:55 +0100)]
Use imageUrl as imageHash

3 years agoUse random imageHash to avoid collisions
joshuaruesweg [Fri, 12 Mar 2021 10:38:03 +0000 (11:38 +0100)]
Use random imageHash to avoid collisions

3 years agoUse XPath to determine values
joshuaruesweg [Fri, 12 Mar 2021 10:06:03 +0000 (11:06 +0100)]
Use XPath to determine values

3 years agoReject image urls which contains special chars
joshuaruesweg [Wed, 10 Mar 2021 16:09:29 +0000 (17:09 +0100)]
Reject image urls which contains special chars

3 years agoAdd plain url feature
joshuaruesweg [Wed, 10 Mar 2021 15:17:10 +0000 (16:17 +0100)]
Add plain url feature

Display urls, which have neither an image nor a description as a simple titled link.

3 years agoCode cleanup
joshuaruesweg [Wed, 10 Mar 2021 15:09:14 +0000 (16:09 +0100)]
Code cleanup

3 years agoRemove `touch` call
joshuaruesweg [Wed, 10 Mar 2021 14:32:22 +0000 (15:32 +0100)]
Remove `touch` call

3 years agoTrim title, description and imageUrl
joshuaruesweg [Wed, 10 Mar 2021 14:28:39 +0000 (15:28 +0100)]
Trim title, description and imageUrl

3 years agoRemove superflouos breaks
joshuaruesweg [Wed, 10 Mar 2021 14:11:32 +0000 (15:11 +0100)]
Remove superflouos breaks

3 years agoUse const for unfurl url image dir
joshuaruesweg [Wed, 10 Mar 2021 14:02:02 +0000 (15:02 +0100)]
Use const for unfurl url image dir

3 years agoUse 160 chars for url description
joshuaruesweg [Wed, 10 Mar 2021 13:50:45 +0000 (14:50 +0100)]
Use 160 chars for url description

3 years agoUse own table for unfurl url images
joshuaruesweg [Wed, 10 Mar 2021 13:07:59 +0000 (14:07 +0100)]
Use own table for unfurl url images

3 years agoImproved the visuals for mobile devices
Alexander Ebert [Fri, 5 Mar 2021 18:49:36 +0000 (19:49 +0100)]
Improved the visuals for mobile devices

3 years agoRefactored the CSS and template
Alexander Ebert [Fri, 5 Mar 2021 18:36:12 +0000 (19:36 +0100)]
Refactored the CSS and template

Improved visuals to match similar components. The CSS classes now use a common prefix and are no longer nested unless required.

3 years agoTEXT does not support a default value
Alexander Ebert [Fri, 5 Mar 2021 17:48:30 +0000 (18:48 +0100)]
TEXT does not support a default value

3 years agoReplace tabs with spaces in SQL query
joshuaruesweg [Fri, 5 Mar 2021 13:22:18 +0000 (14:22 +0100)]
Replace tabs with spaces in SQL query

3 years agoSimplify url attribute generation
joshuaruesweg [Fri, 5 Mar 2021 13:20:14 +0000 (14:20 +0100)]
Simplify url attribute generation

3 years agoPrevent downloading incomplete images
joshuaruesweg [Fri, 5 Mar 2021 12:40:53 +0000 (13:40 +0100)]
Prevent downloading incomplete images

3 years agoPrevent unfurling urls during worker actions
joshuaruesweg [Fri, 5 Mar 2021 10:50:46 +0000 (11:50 +0100)]
Prevent unfurling urls during worker actions

3 years agoAvoid fetching invalid urls
joshuaruesweg [Fri, 5 Mar 2021 10:33:32 +0000 (11:33 +0100)]
Avoid fetching invalid urls

3 years agoAdd support for `og:image:url` attribute
joshuaruesweg [Fri, 5 Mar 2021 10:29:46 +0000 (11:29 +0100)]
Add support for `og:image:url` attribute

3 years agoUse own ua for url unfurling
joshuaruesweg [Fri, 5 Mar 2021 10:12:35 +0000 (11:12 +0100)]
Use own ua for url unfurling

3 years agoUse `getControllerLink` instead of `getLink`
joshuaruesweg [Fri, 5 Mar 2021 09:48:44 +0000 (10:48 +0100)]
Use `getControllerLink` instead of `getLink`

3 years agoRemove throwing on libxml error
joshuaruesweg [Fri, 5 Mar 2021 09:36:50 +0000 (10:36 +0100)]
Remove throwing on libxml error

3 years agoFix codestyle
joshuaruesweg [Thu, 4 Mar 2021 19:01:53 +0000 (20:01 +0100)]
Fix codestyle

3 years agoSave fetch url fetch date
joshuaruesweg [Thu, 4 Mar 2021 18:57:48 +0000 (19:57 +0100)]
Save fetch url fetch date

3 years agoAdd helper method for inaccessible urls
joshuaruesweg [Thu, 4 Mar 2021 18:52:40 +0000 (19:52 +0100)]
Add helper method for inaccessible urls

3 years agoAdd SQL update instructions
joshuaruesweg [Thu, 4 Mar 2021 18:46:05 +0000 (19:46 +0100)]
Add SQL update instructions

3 years agoClean up SQL
joshuaruesweg [Thu, 4 Mar 2021 18:45:17 +0000 (19:45 +0100)]
Clean up SQL

3 years agoClean up code
joshuaruesweg [Thu, 4 Mar 2021 18:21:45 +0000 (19:21 +0100)]
Clean up code

3 years agoMove Exceptions to own namespace
joshuaruesweg [Thu, 4 Mar 2021 16:10:39 +0000 (17:10 +0100)]
Move Exceptions to own namespace

3 years agoPropper handle libxml errors
joshuaruesweg [Thu, 4 Mar 2021 16:03:41 +0000 (17:03 +0100)]
Propper handle libxml errors

3 years agoValidate headers before reading url body
joshuaruesweg [Thu, 4 Mar 2021 16:01:44 +0000 (17:01 +0100)]
Validate headers before reading url body

3 years agoAdd method to determine the charset of an url
joshuaruesweg [Thu, 4 Mar 2021 15:49:15 +0000 (16:49 +0100)]
Add method to determine the charset of an url

3 years agoReplace UnfurlUrlUtil with UnfurlResponse
joshuaruesweg [Thu, 4 Mar 2021 13:26:57 +0000 (14:26 +0100)]
Replace UnfurlUrlUtil with UnfurlResponse

3 years agoFix codestyle
joshuaruesweg [Wed, 3 Mar 2021 13:48:40 +0000 (14:48 +0100)]
Fix codestyle

3 years agoAdd unfurl url output classes
joshuaruesweg [Fri, 26 Feb 2021 15:16:03 +0000 (16:16 +0100)]
Add unfurl url output classes

3 years agoAdd background job to unfurl an url
joshuaruesweg [Fri, 26 Feb 2021 15:15:11 +0000 (16:15 +0100)]
Add background job to unfurl an url

3 years agoAdd util to unfurl urls
joshuaruesweg [Fri, 26 Feb 2021 15:11:32 +0000 (16:11 +0100)]
Add util to unfurl urls

3 years agoAdd unfurlUrl template
joshuaruesweg [Tue, 23 Feb 2021 12:17:21 +0000 (13:17 +0100)]
Add unfurlUrl template

3 years agoUnfurl standalone Urls
joshuaruesweg [Tue, 23 Feb 2021 10:56:01 +0000 (11:56 +0100)]
Unfurl standalone Urls

3 years agoAdd Unfurl Url Embedded Object
joshuaruesweg [Tue, 23 Feb 2021 10:54:57 +0000 (11:54 +0100)]
Add Unfurl Url Embedded Object

3 years agoAdd Unfurl Url image dir
joshuaruesweg [Tue, 23 Feb 2021 09:49:30 +0000 (10:49 +0100)]
Add Unfurl Url image dir

3 years agoAdd Unfurl Url Databse structure
joshuaruesweg [Tue, 23 Feb 2021 09:49:01 +0000 (10:49 +0100)]
Add Unfurl Url Databse structure

3 years agoUpdate update instructions from 5.3
Tim Düsterhus [Tue, 16 Mar 2021 14:48:02 +0000 (15:48 +0100)]
Update update instructions from 5.3

3 years agoMerge pull request #4090 from WoltLab/session-limit
Tim Düsterhus [Tue, 16 Mar 2021 14:21:06 +0000 (15:21 +0100)]
Merge pull request #4090 from WoltLab/session-limit

Limit the number of active sessions per user

3 years agoMerge pull request #4089 from WoltLab/session-creation
Tim Düsterhus [Tue, 16 Mar 2021 13:57:07 +0000 (14:57 +0100)]
Merge pull request #4089 from WoltLab/session-creation

Add wcf1_user_session.creationTime

3 years agoLimit the number of active sessions per user
Tim Düsterhus [Tue, 16 Mar 2021 13:54:48 +0000 (14:54 +0100)]
Limit the number of active sessions per user

3 years agoFix `tar` command in package.xml
Tim Düsterhus [Tue, 16 Mar 2021 13:37:36 +0000 (14:37 +0100)]
Fix `tar` command in package.xml

see 04e8818d46204033b00607a15d9ac1a37b5ef372

3 years agoAdd wcf1_user_session.creationTime
Tim Düsterhus [Tue, 16 Mar 2021 13:35:38 +0000 (14:35 +0100)]
Add wcf1_user_session.creationTime

3 years agoMerge pull request #4086 from WoltLab/deprecated-is-connected-with
Tim Düsterhus [Tue, 16 Mar 2021 12:07:26 +0000 (13:07 +0100)]
Merge pull request #4086 from WoltLab/deprecated-is-connected-with

Deprecate UserProfile::isConnectedWith*()

3 years agoOnly add DOM change listener once in `Ui/Empty`
Matthias Schmidt [Tue, 16 Mar 2021 11:26:06 +0000 (12:26 +0100)]
Only add DOM change listener once in `Ui/Empty`

See #4073

3 years agoFix typo in UserProfile::isConnectedWith*() deprecation
Tim Düsterhus [Tue, 16 Mar 2021 10:46:09 +0000 (11:46 +0100)]
Fix typo in UserProfile::isConnectedWith*() deprecation

Co-authored-by: Matthias Schmidt <gravatronics@live.com>
3 years agoDeprecate UserProfile::isConnectedWith*()
Tim Düsterhus [Tue, 16 Mar 2021 10:26:25 +0000 (11:26 +0100)]
Deprecate UserProfile::isConnectedWith*()

3 years agoMerge pull request #4085 from WoltLab/fast-create
Tim Düsterhus [Mon, 15 Mar 2021 15:41:58 +0000 (16:41 +0100)]
Merge pull request #4085 from WoltLab/fast-create

Add TFastCreate trait

3 years agoAdd TFastCreate trait
Tim Düsterhus [Mon, 15 Mar 2021 15:05:19 +0000 (16:05 +0100)]
Add TFastCreate trait

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
3 years agoMerge pull request #4084 from WoltLab/user-importer-performance
Tim Düsterhus [Mon, 15 Mar 2021 15:36:19 +0000 (16:36 +0100)]
Merge pull request #4084 from WoltLab/user-importer-performance

Improve performance of UserImporter

3 years agoRemove useless check for non-emptiness of $groupIDs
Tim Düsterhus [Mon, 15 Mar 2021 15:31:51 +0000 (16:31 +0100)]
Remove useless check for non-emptiness of $groupIDs

3 years agoImprove performance of UserImporter
Tim Düsterhus [Mon, 15 Mar 2021 14:31:32 +0000 (15:31 +0100)]
Improve performance of UserImporter

3 years agoRe-use the statement in ImportHandler::saveNewID()
Tim Düsterhus [Mon, 15 Mar 2021 14:09:02 +0000 (15:09 +0100)]
Re-use the statement in ImportHandler::saveNewID()

Resolves #4083

3 years agoAdd timestamps to ImportCLICommand
Tim Düsterhus [Mon, 15 Mar 2021 14:05:35 +0000 (15:05 +0100)]
Add timestamps to ImportCLICommand

3 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 15 Mar 2021 11:36:23 +0000 (12:36 +0100)]
Merge branch '5.3'

3 years agoRefuse to proxy non-standard ports in ImageProxy
Tim Düsterhus [Mon, 15 Mar 2021 11:34:08 +0000 (12:34 +0100)]
Refuse to proxy non-standard ports in ImageProxy

3 years agoRefactor query generation in UserSearchForm::search()
Tim Düsterhus [Mon, 15 Mar 2021 11:22:12 +0000 (12:22 +0100)]
Refactor query generation in UserSearchForm::search()

The `$sql` can easily be moved down, as it is only used in a single place. This
allows us to directly embed the condition.

see dec19b25cdf21b81d73c5897cd3c885d5ec62ef4
see #4078

3 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 15 Mar 2021 11:21:06 +0000 (12:21 +0100)]
Merge branch '5.3'

3 years agoAdd whitespace before condition in UserSearchForm
Tim Düsterhus [Mon, 15 Mar 2021 11:16:06 +0000 (12:16 +0100)]
Add whitespace before condition in UserSearchForm

Currently a query like the following is generated:

    SELECT user_table.userID
    FROM wcf1_user user_table
    LEFT JOIN wcf1_user_option_value option_value
    ON (option_value.userID = user_table.userID)WHERE option_value.userOption4 = ?

This works due to the parentheses around the `ON` part of the `JOIN`, but it
certainly is not pretty and it will cause issues if the parentheses are removed
(as it happened for WoltLab Suite 5.4).

Insert a newline between the base query and the condition to fix the issue.

Resolves #4078

Co-Authored-By: mutec <mysterycode@mysterycode.de>
3 years agoMerge pull request #4073 from WoltLab/empty_handler
Matthias Schmidt [Mon, 15 Mar 2021 08:48:49 +0000 (09:48 +0100)]
Merge pull request #4073 from WoltLab/empty_handler

Add module for empty HTML elements as replace for `WCF.Table.EmptyTableHandler`

3 years agoSupport database PIP syncs for non-Core packages
Matthias Schmidt [Mon, 15 Mar 2021 08:46:18 +0000 (09:46 +0100)]
Support database PIP syncs for non-Core packages

3 years agoMerge pull request #4077 from WoltLab/database_pip
Matthias Schmidt [Mon, 15 Mar 2021 08:05:29 +0000 (09:05 +0100)]
Merge pull request #4077 from WoltLab/database_pip

Add DatabasePackageInstallationPlugin

3 years agoFix missing content languages for guests
Marcel Werk [Sun, 14 Mar 2021 17:31:26 +0000 (18:31 +0100)]
Fix missing content languages for guests

3 years agoUse new database PIP for update scripts
Matthias Schmidt [Sun, 14 Mar 2021 08:07:47 +0000 (09:07 +0100)]
Use new database PIP for update scripts

3 years agoSupport database PIP in devtools sync function
Matthias Schmidt [Sun, 14 Mar 2021 08:07:37 +0000 (09:07 +0100)]
Support database PIP in devtools sync function

3 years agoAdd `DatabasePackageInstallationPlugin`
Matthias Schmidt [Sun, 14 Mar 2021 08:07:15 +0000 (09:07 +0100)]
Add `DatabasePackageInstallationPlugin`

3 years agoMake use of `Ui/Empty` in more places in frontend
Matthias Schmidt [Sat, 13 Mar 2021 12:38:54 +0000 (13:38 +0100)]
Make use of `Ui/Empty` in more places in frontend

3 years agoMake use of `Ui/Empty` in more places in ACP
Matthias Schmidt [Sat, 13 Mar 2021 12:35:15 +0000 (13:35 +0100)]
Make use of `Ui/Empty` in more places in ACP

3 years agoReplace use of `WCF.Table.EmptyTableHandler` with `Ui/Empty`
Matthias Schmidt [Fri, 12 Mar 2021 15:54:39 +0000 (16:54 +0100)]
Replace use of `WCF.Table.EmptyTableHandler` with `Ui/Empty`

3 years agoDeprecate `WCF.Table.EmptyTableHandler`
Matthias Schmidt [Fri, 12 Mar 2021 15:54:07 +0000 (16:54 +0100)]
Deprecate `WCF.Table.EmptyTableHandler`

3 years agoSetup `Ui/Empty` on every request globally
Matthias Schmidt [Fri, 12 Mar 2021 15:53:53 +0000 (16:53 +0100)]
Setup `Ui/Empty` on every request globally

3 years agoAdd `Ui/Empty` module
Matthias Schmidt [Fri, 12 Mar 2021 15:53:27 +0000 (16:53 +0100)]
Add `Ui/Empty` module

3 years agoRecompile TypeScript to JavaScript
Matthias Schmidt [Fri, 12 Mar 2021 14:02:09 +0000 (15:02 +0100)]
Recompile TypeScript to JavaScript

3 years agoRemove deprecation of `Environment.touch()`
Matthias Schmidt [Fri, 12 Mar 2021 11:57:40 +0000 (12:57 +0100)]
Remove deprecation of `Environment.touch()`

The function is still actively used and there is no better way of doing it.

See  #3876

3 years agoMerge pull request #4070 from WoltLab/formbuilder-typescript
Tim Düsterhus [Fri, 12 Mar 2021 11:54:33 +0000 (12:54 +0100)]
Merge pull request #4070 from WoltLab/formbuilder-typescript

Improve typing in Form/Builder/Dialog.ts

3 years agoMerge branch '5.3'
Tim Düsterhus [Fri, 12 Mar 2021 10:00:37 +0000 (11:00 +0100)]
Merge branch '5.3'

3 years agoEnsure that the 'wcf' application is untainted
Tim Düsterhus [Fri, 12 Mar 2021 09:58:20 +0000 (10:58 +0100)]
Ensure that the 'wcf' application is untainted

This fixes up commit fc2b721517646af2e4d901d95eeba802c1eb6a7d.

see #4057

3 years agoDo not set a spiderID for legacy sessions of registered users
Tim Düsterhus [Fri, 12 Mar 2021 09:36:06 +0000 (10:36 +0100)]
Do not set a spiderID for legacy sessions of registered users

This is the correct version of 0d262d1080533b952de104f45df7cf5a360d8892 which
was reverted in 7476740c8a03adc20f2d5f0380b47556f61edd8a.

During user change the guest legacy session is destroyed together with the
actual guest session and a new session with a matching legacy session is
created. At no point will a legacy session of a guest magically turn into a
legacy session of a user and thus an `UPDATE` is never required.

see #4067