]> BookStack Code Mirror - bookstack/log
bookstack
3 years agoNew Crowdin updates (#2915)
Dan Brown [Sun, 12 Sep 2021 15:25:05 +0000 (16:25 +0100)]
New Crowdin updates (#2915)

* New translations auth.php (Spanish)

* New translations activities.php (Italian)

* New translations settings.php (Italian)

* New translations entities.php (Italian)

* New translations validation.php (Italian)

* New translations activities.php (Danish)

* New translations auth.php (Danish)

* New translations common.php (Danish)

* New translations settings.php (Danish)

* New translations entities.php (Danish)

* New translations auth.php (Danish)

* New translations common.php (Danish)

* New translations errors.php (Danish)

* New translations validation.php (Danish)

* New translations activities.php (Russian)

* New translations auth.php (French)

* New translations auth.php (French)

* New translations settings.php (French)

* New translations entities.php (French)

* New translations auth.php (French)

3 years agoAltered the parsing of custom head to prevent htmlentities on content
Dan Brown [Sun, 12 Sep 2021 15:19:17 +0000 (16:19 +0100)]
Altered the parsing of custom head to prevent htmlentities on content

Was causing things like emjoi within script content to be somewhat
mangled. Instead we force UTF8 only parsing via XML declaration.

Added test to cover.

For #2923

3 years agoApplied latest styleci changes
Dan Brown [Mon, 6 Sep 2021 21:19:06 +0000 (22:19 +0100)]
Applied latest styleci changes

3 years agoFixed issue with HTML tags in custom head scripts
Dan Brown [Sun, 5 Sep 2021 22:52:39 +0000 (23:52 +0100)]
Fixed issue with HTML tags in custom head scripts

Fixes a strange issue of HTML tags within script tags being malformed
when part of the HTML custom head content due to the PHP parsing we do.
DOMDocument seemed to cause this upon load.
Adding LIBXML_SCHEMA_CREATE to the ->loadHTML call seems to fix this but
not really sure why. Doesn't seem to cause further issues though.
Tested with multiple scripts and styles and comments and meta tags.

- Also added new testing class to cover.
- As part of testing, added new folder within tests to house setting
  specific tests.

For #2914

3 years agoMerge branch 'html-filtering'
Dan Brown [Sat, 4 Sep 2021 13:53:46 +0000 (14:53 +0100)]
Merge branch 'html-filtering'

3 years agoAdded a couple of additional CSP rules
Dan Brown [Sat, 4 Sep 2021 13:34:43 +0000 (14:34 +0100)]
Added a couple of additional CSP rules

As per guidance from google's CSP evaluator.

3 years agoFinished off script CSP rules
Dan Brown [Sat, 4 Sep 2021 12:57:04 +0000 (13:57 +0100)]
Finished off script CSP rules

- Added caching for custom html head parsing to add nonce.
- Also moved api docs page into web routes to prevent issues.

3 years agoStarted application of CSP headers
Dan Brown [Fri, 3 Sep 2021 22:32:42 +0000 (23:32 +0100)]
Started application of CSP headers

3 years agoAdded filter for xlink:href svg xss
Dan Brown [Fri, 3 Sep 2021 21:34:49 +0000 (22:34 +0100)]
Added filter for xlink:href svg xss

Simply remove all such attributes

3 years agoAdded extra HTML filtering of dangerous content
Dan Brown [Thu, 2 Sep 2021 21:02:30 +0000 (22:02 +0100)]
Added extra HTML filtering of dangerous content

In particular, That around the casing of dangerous values within
attributes. This uses some xpath translation to handle different casing
in contains searching.

3 years agoUpdated translator attribution before release v21.08.1
Dan Brown [Thu, 2 Sep 2021 20:11:23 +0000 (21:11 +0100)]
Updated translator attribution before release v21.08.1

3 years agoNew Crowdin updates (#2906)
Dan Brown [Thu, 2 Sep 2021 20:07:31 +0000 (21:07 +0100)]
New Crowdin updates (#2906)

* New translations auth.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations validation.php (Chinese Simplified)

* New translations activities.php (Latvian)

* New translations auth.php (Latvian)

* New translations common.php (Latvian)

* New translations validation.php (Latvian)

* New translations entities.php (Latvian)

* New translations activities.php (Polish)

3 years agoMade the TOTP URL visible during setup
Dan Brown [Wed, 1 Sep 2021 19:58:19 +0000 (20:58 +0100)]
Made the TOTP URL visible during setup

Useful for some non-scanner type apps.
Closes #2908

3 years agoFixed lack of proper ordering of pages
Dan Brown [Wed, 1 Sep 2021 19:29:39 +0000 (20:29 +0100)]
Fixed lack of proper ordering of pages

Added test to cover
Fixes #2905

3 years agoUpdated translator attribution before release v21.08
Dan Brown [Tue, 31 Aug 2021 21:05:16 +0000 (22:05 +0100)]
Updated translator attribution before release v21.08

3 years agoApplied stylci changes
Dan Brown [Tue, 31 Aug 2021 21:03:51 +0000 (22:03 +0100)]
Applied stylci changes

3 years agoMerge branch 'master' of github.com:BookStackApp/BookStack
Dan Brown [Tue, 31 Aug 2021 20:59:37 +0000 (21:59 +0100)]
Merge branch 'master' of github.com:BookStackApp/BookStack

3 years agoNew Crowdin updates (#2893)
Dan Brown [Tue, 31 Aug 2021 20:59:26 +0000 (21:59 +0100)]
New Crowdin updates (#2893)

* New translations settings.php (Chinese Traditional)

* New translations settings.php (Indonesian)

* New translations settings.php (Swedish)

* New translations settings.php (Turkish)

* New translations settings.php (Ukrainian)

* New translations settings.php (Chinese Simplified)

* New translations settings.php (Vietnamese)

* New translations settings.php (Portuguese, Brazilian)

* New translations settings.php (Persian)

* New translations settings.php (Slovak)

* New translations settings.php (Spanish, Argentina)

* New translations settings.php (Croatian)

* New translations settings.php (Latvian)

* New translations settings.php (Bosnian)

* New translations settings.php (Norwegian Bokmal)

* New translations settings.php (German Informal)

* New translations settings.php (Slovenian)

* New translations settings.php (Russian)

* New translations settings.php (French)

* New translations settings.php (German)

* New translations settings.php (Spanish)

* New translations settings.php (Arabic)

* New translations settings.php (Bulgarian)

* New translations settings.php (Catalan)

* New translations settings.php (Czech)

* New translations settings.php (Danish)

* New translations settings.php (Hebrew)

* New translations settings.php (Portuguese)

* New translations settings.php (Hungarian)

* New translations settings.php (Italian)

* New translations settings.php (Japanese)

* New translations settings.php (Korean)

* New translations settings.php (Dutch)

* New translations settings.php (Polish)

* New translations settings.php (Lithuanian)

* New translations activities.php (German)

* New translations auth.php (German)

* New translations common.php (German)

* New translations settings.php (German)

* New translations validation.php (German)

* New translations settings.php (French)

* New translations validation.php (French)

* New translations activities.php (French)

* New translations auth.php (French)

* New translations common.php (French)

* New translations activities.php (Norwegian Bokmal)

* New translations auth.php (Norwegian Bokmal)

* New translations auth.php (Norwegian Bokmal)

* New translations common.php (Norwegian Bokmal)

* New translations settings.php (Norwegian Bokmal)

* New translations validation.php (Norwegian Bokmal)

* New translations auth.php (French)

* New translations entities.php (Chinese Traditional)

* New translations entities.php (Indonesian)

* New translations entities.php (Swedish)

* New translations entities.php (Turkish)

* New translations entities.php (Ukrainian)

* New translations entities.php (Chinese Simplified)

* New translations entities.php (Vietnamese)

* New translations entities.php (Portuguese, Brazilian)

* New translations entities.php (Persian)

* New translations entities.php (Slovak)

* New translations entities.php (Spanish, Argentina)

* New translations entities.php (Croatian)

* New translations entities.php (Latvian)

* New translations entities.php (Bosnian)

* New translations entities.php (Norwegian Bokmal)

* New translations entities.php (German Informal)

* New translations entities.php (Slovenian)

* New translations entities.php (Russian)

* New translations entities.php (French)

* New translations entities.php (German)

* New translations entities.php (Spanish)

* New translations entities.php (Arabic)

* New translations entities.php (Bulgarian)

* New translations entities.php (Catalan)

* New translations entities.php (Czech)

* New translations entities.php (Danish)

* New translations entities.php (Hebrew)

* New translations entities.php (Portuguese)

* New translations entities.php (Hungarian)

* New translations entities.php (Italian)

* New translations entities.php (Japanese)

* New translations entities.php (Korean)

* New translations entities.php (Dutch)

* New translations entities.php (Polish)

* New translations entities.php (Lithuanian)

* New translations entities.php (Spanish)

* New translations settings.php (Chinese Traditional)

* New translations settings.php (Indonesian)

* New translations settings.php (Swedish)

* New translations settings.php (Turkish)

* New translations settings.php (Ukrainian)

* New translations settings.php (Chinese Simplified)

* New translations settings.php (Vietnamese)

* New translations settings.php (Portuguese, Brazilian)

* New translations settings.php (Persian)

* New translations settings.php (Slovak)

* New translations settings.php (Spanish, Argentina)

* New translations settings.php (Croatian)

* New translations settings.php (Latvian)

* New translations settings.php (Bosnian)

* New translations settings.php (Norwegian Bokmal)

* New translations settings.php (German Informal)

* New translations settings.php (Slovenian)

* New translations settings.php (Russian)

* New translations settings.php (French)

* New translations settings.php (German)

* New translations settings.php (Spanish)

* New translations settings.php (Arabic)

* New translations settings.php (Bulgarian)

* New translations settings.php (Catalan)

* New translations settings.php (Czech)

* New translations settings.php (Danish)

* New translations settings.php (Hebrew)

* New translations settings.php (Portuguese)

* New translations settings.php (Hungarian)

* New translations settings.php (Italian)

* New translations settings.php (Japanese)

* New translations settings.php (Korean)

* New translations settings.php (Dutch)

* New translations settings.php (Polish)

* New translations settings.php (Lithuanian)

* New translations settings.php (Spanish)

* New translations activities.php (Persian)

* New translations auth.php (Persian)

* New translations activities.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations activities.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations common.php (Chinese Simplified)

* New translations settings.php (Chinese Simplified)

* New translations validation.php (Chinese Simplified)

* New translations entities.php (Chinese Simplified)

3 years agoSwapped injected db instance with facade
Dan Brown [Tue, 31 Aug 2021 20:50:23 +0000 (21:50 +0100)]
Swapped injected db instance with facade

Injected db instance was causing the DB connection to be
made a lot earlier than desired or required.
Swapped to a facade for now but ideally this extension of services needs
to be cleaned up with a better approach in general.

3 years agoUpdated php deps again
Dan Brown [Tue, 31 Aug 2021 19:56:07 +0000 (20:56 +0100)]
Updated php deps again

3 years agoUpdated the login redirect logic to ignore mfa routes
Dan Brown [Tue, 31 Aug 2021 19:54:43 +0000 (20:54 +0100)]
Updated the login redirect logic to ignore mfa routes

3 years agoAdded untrusted server fetching control
Dan Brown [Tue, 31 Aug 2021 19:22:42 +0000 (20:22 +0100)]
Added untrusted server fetching control

WKHTMLtoPDF provides limited control for external fetching
so that will now be disabled by default unless
ALLOW_UNTRUSTED_SERVER_FETCHING=true is specifically set.
This new option will also control DOMPDF fetching.

3 years agoApplied styleci changes
Dan Brown [Mon, 30 Aug 2021 20:32:07 +0000 (21:32 +0100)]
Applied styleci changes

3 years agoAdded back email confirmation check in middleware
Dan Brown [Mon, 30 Aug 2021 20:28:17 +0000 (21:28 +0100)]
Added back email confirmation check in middleware

During writing of the update notes, found that the upgrade path would be
tricky from a security point of view. If people were pending email
confirmation but had an active session, they could technically be
actively logged in after the next release.

Added middlware as an extra precaution for now.

3 years agoUpdated php deps
Dan Brown [Mon, 30 Aug 2021 11:03:52 +0000 (12:03 +0100)]
Updated php deps

3 years agoMerge pull request #2899 from BookStackApp/export_permissions
Dan Brown [Sat, 28 Aug 2021 20:57:11 +0000 (21:57 +0100)]
Merge pull request #2899 from BookStackApp/export_permissions

Added role permissions for exporting content

3 years agoCleaned up DB usage in migration 2899/head
Dan Brown [Sat, 28 Aug 2021 20:55:04 +0000 (21:55 +0100)]
Cleaned up DB usage in migration

3 years agoApplied styleci patches
Dan Brown [Sat, 28 Aug 2021 20:51:15 +0000 (21:51 +0100)]
Applied styleci patches

3 years agoAdded role permissions for exporting content
Dan Brown [Sat, 28 Aug 2021 20:48:17 +0000 (21:48 +0100)]
Added role permissions for exporting content

3 years agoAdded notice for lack of shelf permission cascade
Dan Brown [Sat, 28 Aug 2021 14:44:44 +0000 (15:44 +0100)]
Added notice for lack of shelf permission cascade

Closes #2876

3 years agoAdded styleci badge
Dan Brown [Tue, 24 Aug 2021 20:27:21 +0000 (21:27 +0100)]
Added styleci badge

3 years agoApplied stylci advisories
Dan Brown [Tue, 24 Aug 2021 20:23:55 +0000 (21:23 +0100)]
Applied stylci advisories

3 years agoUpdated markdown task list test to check new list class
Dan Brown [Tue, 24 Aug 2021 20:09:40 +0000 (21:09 +0100)]
Updated markdown task list test to check new list class

- Updated to align with custom list item render added yesterday.

3 years agoUpdated visual consistency of lists and markdown task list rendering
Dan Brown [Mon, 23 Aug 2021 21:31:07 +0000 (22:31 +0100)]
Updated visual consistency of lists and markdown task list rendering

- Numbered and bullet list margins have been made consistent
   - Numbered lists margins were increase at some point to handle 3-digit
  numbers, Normal bullet margins updated to match this.
- Consistent margin for sub-lists.
- System back-end markdown renderer (For pages) updated with a custom
  list item renderer to apply class for to align with front-end renderer.
   - This means that task list items will be consistent with the preview
     and not render a number/bullet.
- Indentation styles for task list items fixed to be visually indented.

For #2854 and #2837

3 years agoFixed issues caused by flex content parent in markdown preview
Dan Brown [Sun, 22 Aug 2021 17:30:46 +0000 (18:30 +0100)]
Fixed issues caused by flex content parent in markdown preview

Fixes #2858

3 years agoReorgranised blade view files to form a convention
Dan Brown [Sun, 22 Aug 2021 12:15:58 +0000 (13:15 +0100)]
Reorgranised blade view files to form a convention

- Primarily moved and re-organised view files.
- Included readme within views to document the convention.
- Fixed some issues with page field select list in previous commit.
- Tweaked some route names while going through.
- Split some views out further.

Closes #2805

3 years agoMerge branch 'master' of github.com:BookStackApp/BookStack
Dan Brown [Sat, 21 Aug 2021 19:25:22 +0000 (20:25 +0100)]
Merge branch 'master' of github.com:BookStackApp/BookStack

3 years agoAdded lithuanian option to locale system
Dan Brown [Sat, 21 Aug 2021 19:24:58 +0000 (20:24 +0100)]
Added lithuanian option to locale system

3 years agoNew Crowdin updates (#2892)
Dan Brown [Sat, 21 Aug 2021 19:24:31 +0000 (20:24 +0100)]
New Crowdin updates (#2892)

* New translations entities.php (Spanish, Argentina)

* New translations entities.php (German Informal)

* New translations activities.php (Lithuanian)

* New translations settings.php (Lithuanian)

* New translations passwords.php (Lithuanian)

* New translations errors.php (Lithuanian)

* New translations entities.php (Lithuanian)

* New translations common.php (Lithuanian)

* New translations auth.php (Lithuanian)

* New translations validation.php (Spanish, Argentina)

* New translations settings.php (Spanish, Argentina)

* New translations common.php (Spanish, Argentina)

* New translations auth.php (Spanish, Argentina)

* New translations activities.php (Spanish, Argentina)

* New translations validation.php (Lithuanian)

3 years agoMerge pull request #2868 from ffranchina/master
Dan Brown [Sat, 21 Aug 2021 19:05:35 +0000 (20:05 +0100)]
Merge pull request #2868 from ffranchina/master

Adding Lithuanian language

3 years agoOptimized loading of page/chapter URLs to be a little more efficient
Dan Brown [Sat, 21 Aug 2021 18:58:19 +0000 (19:58 +0100)]
Optimized loading of page/chapter URLs to be a little more efficient

- Loaded book_slug as part of chapter/page queries instead of books
 being loaded in afterwards.
- Removed unused page method.
- Updated some page queries to load specific attributes.

3 years agoNew Crowdin updates (#2807)
Dan Brown [Sat, 21 Aug 2021 17:57:32 +0000 (18:57 +0100)]
New Crowdin updates (#2807)

* New translations entities.php (Chinese Simplified)

* New translations settings.php (Chinese Simplified)

* New translations common.php (Chinese Simplified)

* New translations entities.php (Chinese Simplified)

* New translations settings.php (Portuguese)

* New translations activities.php (Portuguese)

* New translations common.php (Portuguese)

* New translations entities.php (Portuguese)

* New translations settings.php (French)

* New translations entities.php (Latvian)

* New translations common.php (Latvian)

* New translations common.php (Italian)

* New translations settings.php (Italian)

* New translations entities.php (Italian)

* New translations entities.php (German)

* New translations entities.php (Dutch)

* New translations settings.php (German)

* New translations settings.php (Dutch)

* New translations common.php (German)

* New translations common.php (Dutch)

* New translations settings.php (Italian)

* New translations activities.php (Persian)

* New translations activities.php (Persian)

* New translations auth.php (Persian)

* New translations auth.php (Persian)

* New translations validation.php (Persian)

* New translations validation.php (Persian)

* New translations common.php (Persian)

* New translations pagination.php (Persian)

* New translations passwords.php (Persian)

* New translations common.php (Persian)

* New translations components.php (Persian)

* New translations errors.php (Persian)

* New translations errors.php (Persian)

* New translations entities.php (Persian)

* New translations activities.php (Norwegian Bokmal)

* New translations common.php (Norwegian Bokmal)

* New translations entities.php (Norwegian Bokmal)

* New translations errors.php (Norwegian Bokmal)

* New translations settings.php (Norwegian Bokmal)

* New translations settings.php (Norwegian Bokmal)

* New translations activities.php (Polish)

* New translations common.php (Polish)

* New translations errors.php (Polish)

* New translations settings.php (Polish)

* New translations activities.php (Czech)

* New translations activities.php (Czech)

* New translations auth.php (Czech)

* New translations common.php (Czech)

* New translations entities.php (Czech)

* New translations errors.php (Czech)

* New translations passwords.php (Czech)

* New translations auth.php (Czech)

* New translations entities.php (Czech)

* New translations settings.php (Czech)

* New translations validation.php (Czech)

* New translations auth.php (Czech)

* New translations auth.php (Czech)

* New translations entities.php (Czech)

* New translations settings.php (Czech)

* New translations components.php (Czech)

* New translations activities.php (Czech)

* New translations activities.php (Indonesian)

* New translations entities.php (Indonesian)

* New translations settings.php (Indonesian)

* New translations errors.php (Vietnamese)

* New translations common.php (Vietnamese)

* New translations activities.php (Chinese Traditional)

* New translations common.php (Chinese Traditional)

* New translations entities.php (Chinese Traditional)

* New translations errors.php (Chinese Traditional)

* New translations errors.php (Chinese Traditional)

* New translations settings.php (Chinese Traditional)

* New translations common.php (Portuguese, Brazilian)

* New translations common.php (Portuguese, Brazilian)

* New translations activities.php (Chinese Traditional)

* New translations common.php (Chinese Simplified)

* New translations activities.php (Ukrainian)

* New translations auth.php (Ukrainian)

* New translations common.php (Ukrainian)

* New translations settings.php (Ukrainian)

* New translations validation.php (Ukrainian)

* New translations activities.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations settings.php (Chinese Simplified)

* New translations settings.php (Turkish)

* New translations validation.php (Chinese Simplified)

* New translations auth.php (Chinese Traditional)

* New translations validation.php (Chinese Traditional)

* New translations activities.php (Vietnamese)

* New translations auth.php (Vietnamese)

* New translations common.php (Vietnamese)

* New translations settings.php (Vietnamese)

* New translations validation.php (Vietnamese)

* New translations validation.php (Turkish)

* New translations common.php (Turkish)

* New translations auth.php (Portuguese, Brazilian)

* New translations auth.php (Slovenian)

* New translations validation.php (Russian)

* New translations activities.php (Slovak)

* New translations auth.php (Slovak)

* New translations common.php (Slovak)

* New translations settings.php (Slovak)

* New translations validation.php (Slovak)

* New translations activities.php (Slovenian)

* New translations common.php (Slovenian)

* New translations auth.php (Turkish)

* New translations settings.php (Slovenian)

* New translations validation.php (Slovenian)

* New translations activities.php (Swedish)

* New translations auth.php (Swedish)

* New translations common.php (Swedish)

* New translations settings.php (Swedish)

* New translations validation.php (Swedish)

* New translations activities.php (Turkish)

* New translations activities.php (Portuguese, Brazilian)

* New translations settings.php (Portuguese, Brazilian)

* New translations common.php (Russian)

* New translations validation.php (Bosnian)

* New translations common.php (Latvian)

* New translations settings.php (Latvian)

* New translations validation.php (Latvian)

* New translations activities.php (Bosnian)

* New translations auth.php (Bosnian)

* New translations common.php (Bosnian)

* New translations settings.php (Bosnian)

* New translations activities.php (Norwegian Bokmal)

* New translations activities.php (Latvian)

* New translations auth.php (Norwegian Bokmal)

* New translations common.php (Norwegian Bokmal)

* New translations settings.php (Norwegian Bokmal)

* New translations validation.php (Norwegian Bokmal)

* New translations activities.php (German Informal)

* New translations auth.php (German Informal)

* New translations common.php (German Informal)

* New translations settings.php (German Informal)

* New translations auth.php (Latvian)

* New translations validation.php (Croatian)

* New translations validation.php (Portuguese, Brazilian)

* New translations settings.php (Persian)

* New translations activities.php (Indonesian)

* New translations auth.php (Indonesian)

* New translations common.php (Indonesian)

* New translations settings.php (Indonesian)

* New translations validation.php (Indonesian)

* New translations activities.php (Persian)

* New translations auth.php (Persian)

* New translations common.php (Persian)

* New translations validation.php (Persian)

* New translations settings.php (Croatian)

* New translations activities.php (Spanish, Argentina)

* New translations auth.php (Spanish, Argentina)

* New translations common.php (Spanish, Argentina)

* New translations settings.php (Spanish, Argentina)

* New translations validation.php (Spanish, Argentina)

* New translations activities.php (Croatian)

* New translations auth.php (Croatian)

* New translations common.php (Croatian)

* New translations settings.php (Russian)

* New translations auth.php (Russian)

* New translations common.php (Chinese Traditional)

* New translations common.php (Czech)

* New translations validation.php (Bulgarian)

* New translations activities.php (Catalan)

* New translations auth.php (Catalan)

* New translations common.php (Catalan)

* New translations settings.php (Catalan)

* New translations validation.php (Catalan)

* New translations auth.php (Czech)

* New translations settings.php (Czech)

* New translations common.php (Bulgarian)

* New translations validation.php (Czech)

* New translations activities.php (Danish)

* New translations auth.php (Danish)

* New translations common.php (Danish)

* New translations settings.php (Danish)

* New translations validation.php (Danish)

* New translations activities.php (German)

* New translations auth.php (German)

* New translations settings.php (Bulgarian)

* New translations auth.php (Bulgarian)

* New translations settings.php (German)

* New translations activities.php (Spanish)

* New translations settings.php (Chinese Traditional)

* New translations common.php (Portuguese, Brazilian)

* New translations activities.php (Czech)

* New translations activities.php (French)

* New translations auth.php (French)

* New translations common.php (French)

* New translations settings.php (French)

* New translations validation.php (French)

* New translations auth.php (Spanish)

* New translations activities.php (Bulgarian)

* New translations common.php (Spanish)

* New translations settings.php (Spanish)

* New translations validation.php (Spanish)

* New translations activities.php (Arabic)

* New translations auth.php (Arabic)

* New translations common.php (Arabic)

* New translations settings.php (Arabic)

* New translations validation.php (Arabic)

* New translations common.php (German)

* New translations validation.php (German)

* New translations activities.php (Russian)

* New translations activities.php (Polish)

* New translations settings.php (Korean)

* New translations validation.php (Korean)

* New translations activities.php (Dutch)

* New translations auth.php (Dutch)

* New translations common.php (Dutch)

* New translations settings.php (Dutch)

* New translations validation.php (Dutch)

* New translations auth.php (Polish)

* New translations auth.php (Korean)

* New translations common.php (Polish)

* New translations settings.php (Polish)

* New translations validation.php (Polish)

* New translations activities.php (Portuguese)

* New translations auth.php (Portuguese)

* New translations common.php (Portuguese)

* New translations settings.php (Portuguese)

* New translations validation.php (Portuguese)

* New translations common.php (Korean)

* New translations activities.php (Korean)

* New translations activities.php (Hebrew)

* New translations validation.php (Hungarian)

* New translations auth.php (Hebrew)

* New translations common.php (Hebrew)

* New translations settings.php (Hebrew)

* New translations validation.php (Hebrew)

* New translations activities.php (Hungarian)

* New translations auth.php (Hungarian)

* New translations common.php (Hungarian)

* New translations settings.php (Hungarian)

* New translations activities.php (Italian)

* New translations validation.php (Japanese)

* New translations auth.php (Italian)

* New translations common.php (Italian)

* New translations settings.php (Italian)

* New translations validation.php (Italian)

* New translations activities.php (Japanese)

* New translations auth.php (Japanese)

* New translations common.php (Japanese)

* New translations settings.php (Japanese)

* New translations validation.php (German Informal)

* New translations activities.php (Spanish)

* New translations auth.php (Spanish)

* New translations common.php (Spanish)

* New translations settings.php (Spanish)

* New translations validation.php (Spanish)

3 years agoUpdated pages API to not clear content if not provided
Dan Brown [Sat, 21 Aug 2021 17:54:38 +0000 (18:54 +0100)]
Updated pages API to not clear content if not provided

Can now update page details without supplying page content.
Added test to cover.

Closes #2856

3 years agoUpdated js dependancies
Dan Brown [Sat, 21 Aug 2021 14:53:45 +0000 (15:53 +0100)]
Updated js dependancies

3 years agoMerge pull request #2890 from BookStackApp/analysis-kabPRy
Dan Brown [Sat, 21 Aug 2021 14:50:16 +0000 (15:50 +0100)]
Merge pull request #2890 from BookStackApp/analysis-kabPRy

Apply fixes from StyleCI

3 years agoApply fixes from StyleCI 2890/head
Dan Brown [Sat, 21 Aug 2021 14:49:40 +0000 (14:49 +0000)]
Apply fixes from StyleCI

3 years agoMerge pull request #2827 from BookStackApp/mfa
Dan Brown [Sat, 21 Aug 2021 14:47:55 +0000 (15:47 +0100)]
Merge pull request #2827 from BookStackApp/mfa

MFA System

3 years agoCleaned some unused elements during testing 2827/head
Dan Brown [Sat, 21 Aug 2021 14:38:43 +0000 (15:38 +0100)]
Cleaned some unused elements during testing

3 years agoImproved login redirect and setup experience
Dan Brown [Sat, 21 Aug 2021 14:14:24 +0000 (15:14 +0100)]
Improved login redirect and setup experience

- Updated auth system for mfa to not update intended URL so that the
  user is not redirected to mfa setup after eventual login.
- Added notification for users setting up MFA, after setup when
  redirected back to login screen to advise that MFA setup was complete
  but they need to login again.
- Updated some bits of wording to display better.

3 years agoAdded attribution for new libs added
Dan Brown [Sun, 8 Aug 2021 13:52:29 +0000 (14:52 +0100)]
Added attribution for new libs added

- Also hard-set TOTP algorithm with comment from testing others.

3 years agoExtracted text to translation files
Dan Brown [Sun, 8 Aug 2021 13:24:44 +0000 (14:24 +0100)]
Extracted text to translation files

Also aligned mfa method delete route to align with others.

3 years agoUpdated auth changes to work with remember me
Dan Brown [Sat, 7 Aug 2021 21:32:19 +0000 (22:32 +0100)]
Updated auth changes to work with remember me

3 years agoVerified mfa session expires on logout
Dan Brown [Sat, 7 Aug 2021 20:53:13 +0000 (21:53 +0100)]
Verified mfa session expires on logout

Since sessions are invalidated upon logout.

3 years agoQuick test of email confirmation routes and fix of tests
Dan Brown [Sat, 7 Aug 2021 20:18:59 +0000 (21:18 +0100)]
Quick test of email confirmation routes and fix of tests

3 years agoUpdated API auth handling of email confirmations
Dan Brown [Thu, 5 Aug 2021 21:07:08 +0000 (22:07 +0100)]
Updated API auth handling of email confirmations

Email confirmations are now done within the guard during auth checking
instead of at the middleware layer.

3 years agoMerge branch 'v21.05.x'
Dan Brown [Wed, 4 Aug 2021 20:32:29 +0000 (21:32 +0100)]
Merge branch 'v21.05.x'

3 years agoUpdated when github actions run
Dan Brown [Wed, 4 Aug 2021 20:22:14 +0000 (21:22 +0100)]
Updated when github actions run

3 years agoUpdated php dependancies up minor versions
Dan Brown [Wed, 4 Aug 2021 20:10:55 +0000 (21:10 +0100)]
Updated php dependancies up minor versions

3 years agoFixed issue where user id still used on profile pages
Dan Brown [Wed, 4 Aug 2021 20:08:51 +0000 (21:08 +0100)]
Fixed issue where user id still used on profile pages

Updated to use slugs and added testing to cover.

3 years agoAdded vb.net code language option
Dan Brown [Wed, 4 Aug 2021 19:56:34 +0000 (20:56 +0100)]
Added vb.net code language option

Related to #2869

3 years agoFixed audit log user dropdown usability issue
Dan Brown [Wed, 4 Aug 2021 19:48:23 +0000 (20:48 +0100)]
Fixed audit log user dropdown usability issue

User search input blur would trigger the submission of the search
filters which would cause strange thing where you'd click on a search
filtered user which would blur the input hence submit, but the user
would think they've clicked the user and the page would reload but the
input had not updated at that point.

Related to #2863

3 years agoAdding Lithuanian language 2868/head
Francesco Franchina [Tue, 3 Aug 2021 12:02:01 +0000 (14:02 +0200)]
Adding Lithuanian language

3 years agoWorked on MFA setup required flow
Dan Brown [Mon, 2 Aug 2021 21:02:25 +0000 (22:02 +0100)]
Worked on MFA setup required flow

- Restructured some of the route naming to be a little more consistent.
- Moved the routes about to be more logically in one place.
- Created a new middleware to handle the auth of people that should be
  allowed access to mfa setup routes, since these could be used by
  existing logged in users or by people needing to setup MFA on access.
- Added testing to cover MFA setup required flow.
- Added TTL and method tracking to session last-login tracking system.

3 years agoAdded Backup code verification logic
Dan Brown [Mon, 2 Aug 2021 15:35:37 +0000 (16:35 +0100)]
Added Backup code verification logic

Also added testing to cover as part of this in addition to adding the
core backup code handling required.

Also added the standardised translations for switching mfa mode and
adding testing for this switching.

3 years agoAdded TOTP verification upon access
Dan Brown [Mon, 2 Aug 2021 14:04:43 +0000 (15:04 +0100)]
Added TOTP verification upon access

3 years agoAdded login redirect system to confirm/mfa
Dan Brown [Sun, 18 Jul 2021 15:52:31 +0000 (16:52 +0100)]
Added login redirect system to confirm/mfa

Also continued a bit on the MFA verification system.
Moved some MFA routes to public space using updated login service to get
the current user that is either logged in or last attempted login (With
correct creds).

3 years agoStarted moving MFA and email confirmation to new login flow
Dan Brown [Sat, 17 Jul 2021 17:24:50 +0000 (18:24 +0100)]
Started moving MFA and email confirmation to new login flow

Instead of being soley middleware based.

3 years agoUpdated all login events to route through single service
Dan Brown [Sat, 17 Jul 2021 16:45:00 +0000 (17:45 +0100)]
Updated all login events to route through single service

3 years agoStarted on some MFA access-time checks
Dan Brown [Fri, 16 Jul 2021 22:23:36 +0000 (23:23 +0100)]
Started on some MFA access-time checks

Discovered some difficult edge cases:
- User image loading in header bar when using local_secure storage
- 404s showing user-specific visible content due to content listing on
  404 page since user is in semi-logged in state. Maybe need to go
  through and change up how logins are handled to centralise and
  provide us better control at login time to prevent any auth level.

3 years agoAdded the ability to remove an MFA method
Dan Brown [Wed, 14 Jul 2021 20:27:21 +0000 (21:27 +0100)]
Added the ability to remove an MFA method

Includes testing to cover

3 years agoAdded command to reset user MFA
Dan Brown [Wed, 14 Jul 2021 19:50:36 +0000 (20:50 +0100)]
Added command to reset user MFA

Includes tests to cover the command.

3 years agoAdded MFA indicator to user list
Dan Brown [Wed, 14 Jul 2021 19:18:48 +0000 (20:18 +0100)]
Added MFA indicator to user list

Also fixed issue with showing incorrect MFA method count on user edit
page changes done in last commit

3 years agoAdded MFA setup link on user edit view
Dan Brown [Wed, 14 Jul 2021 19:06:41 +0000 (20:06 +0100)]
Added MFA setup link on user edit view

3 years agoAdded role based MFA control
Dan Brown [Sat, 3 Jul 2021 12:34:48 +0000 (13:34 +0100)]
Added role based MFA control

- Added new DB column for control and role updated create/update actions.
- Created new middleware as a start to actual enforcement logic.
- Added indicator to role list of whether MFA is enforced.

3 years agoMerge branch 'v21.05.x'
Dan Brown [Sat, 3 Jul 2021 11:02:13 +0000 (12:02 +0100)]
Merge branch 'v21.05.x'

3 years agoUpdated php dependancies for minor release
Dan Brown [Sat, 3 Jul 2021 10:57:32 +0000 (11:57 +0100)]
Updated php dependancies for minor release

3 years agoFixed issue with translation loading without theme
Dan Brown [Sat, 3 Jul 2021 10:53:46 +0000 (11:53 +0100)]
Fixed issue with translation loading without theme

System was using the empty state return from theme_path,
when no theme was configured, for loading in languages
which would result in the root path being looked up upon.

This changes the theme_path helper to return null in cases a theme
is not configured instead of empty string to help prevent assumed
return path will be legitimate, and to help enforce error case
handling.

For #2836

3 years agoAdded backup code setup flow
Dan Brown [Fri, 2 Jul 2021 19:53:33 +0000 (20:53 +0100)]
Added backup code setup flow

- Includes testing to cover flow.
- Moved TOTP logic to its own controller.
- Added some extra totp tests.

3 years agoCovered TOTP setup with testing
Dan Brown [Fri, 2 Jul 2021 18:51:30 +0000 (19:51 +0100)]
Covered TOTP setup with testing

3 years agoComplete base flow for TOTP setup
Dan Brown [Wed, 30 Jun 2021 21:10:02 +0000 (22:10 +0100)]
Complete base flow for TOTP setup

- Includes DB storage and code validation.
- Extracted TOTP work to its own service file.
- Still needs testing to cover this side of things.

3 years agoAdded TOTP generation view and started verification stage
Dan Brown [Tue, 29 Jun 2021 21:06:49 +0000 (22:06 +0100)]
Added TOTP generation view and started verification stage

Also updated MFA setup view to have settings-like listed interface to
make it possible to extend with extra options in the future.

3 years agoStarted barebones work of MFA system
Dan Brown [Mon, 28 Jun 2021 21:02:45 +0000 (22:02 +0100)]
Started barebones work of MFA system

3 years agoUpdated comments of theme event to match usage
Dan Brown [Mon, 28 Jun 2021 20:17:10 +0000 (21:17 +0100)]
Updated comments of theme event to match usage

3 years agoSwapped PHPCS for StyleCI
Dan Brown [Sat, 26 Jun 2021 15:40:29 +0000 (16:40 +0100)]
Swapped PHPCS for StyleCI

Trying out StyleCI as an automated easy way to ensure code style is
consistent across the PHP codebase.
PHPCS+PHPCBF was good but I wouldn't run it enough then I'd get paranoid
about running it with pending PRs. Better to let the robots stay on top
of things.

3 years agoMerge pull request #2820 from BookStackApp/analysis-6470L9
Dan Brown [Sat, 26 Jun 2021 15:28:09 +0000 (16:28 +0100)]
Merge pull request #2820 from BookStackApp/analysis-6470L9

Apply fixes from StyleCI

3 years agoApply fixes from StyleCI 2820/head
Dan Brown [Sat, 26 Jun 2021 15:23:15 +0000 (15:23 +0000)]
Apply fixes from StyleCI

3 years agoReview of #2682, Also added parent deletion link on restore
Dan Brown [Sat, 26 Jun 2021 11:12:11 +0000 (12:12 +0100)]
Review of #2682, Also added parent deletion link on restore

On restore, added a link to the parent deletion restore if any exists
on a cascading parent. Added a test to cover this case to ensure its shown.

Also tweaked default empty state message on recycle bin item list to align
with new column count.

Also done a little existing code cleanup including a getUrl helper on
the deletion items.

Related to #2682 & #2594

3 years agoMerge branch 'master' of https://github.com/arjvand/BookStack into arjvand-master
Dan Brown [Sat, 26 Jun 2021 10:19:21 +0000 (11:19 +0100)]
Merge branch 'master' of https://github.com/arjvand/BookStack into arjvand-master

3 years agoReviewed #2393, Removed image guessing and added testing
Dan Brown [Wed, 23 Jun 2021 19:42:48 +0000 (20:42 +0100)]
Reviewed #2393, Removed image guessing and added testing

For review of meta tag additions as per PR #2393.
This commit removes any image guesswork and only uses images that have
been set by the author for the specific content.
This also adds tests to cover the expected OG tags.

3 years agoMerge branch 'create-content-meta-tags' of https://github.com/james-geiger/BookStack...
Dan Brown [Wed, 23 Jun 2021 19:11:07 +0000 (20:11 +0100)]
Merge branch 'create-content-meta-tags' of https://github.com/james-geiger/BookStack into james-geiger-create-content-meta-tags

3 years agoAdded markdown export endpoints to API
Dan Brown [Tue, 22 Jun 2021 20:32:55 +0000 (21:32 +0100)]
Added markdown export endpoints to API

- Added tests to cover.
- Added slight extra spaces at content joins.

3 years agoUpdated markdown export implementation
Dan Brown [Tue, 22 Jun 2021 20:02:18 +0000 (21:02 +0100)]
Updated markdown export implementation

- Removed ZIP system for now, until the idea can be fleshed out.
- Added testing to cover.
- Upgraded used library.
- Added custom handling for BookStack callouts.
- Added HTML cleanup to better produce output for things like code
  blocks.

3 years agoMerge branch 'markdown-export' of https://github.com/nikhiljha/BookStack-1 into nikhi...
Dan Brown [Tue, 22 Jun 2021 18:12:24 +0000 (19:12 +0100)]
Merge branch 'markdown-export' of https://github.com/nikhiljha/BookStack-1 into nikhiljha-markdown-export

4 years agoAdded a "skip to content" link.
Dan Brown [Tue, 15 Jun 2021 19:58:45 +0000 (20:58 +0100)]
Added a "skip to content" link.

Closes #2810

4 years agoMade social account detach a POST request
Dan Brown [Mon, 14 Jun 2021 21:37:58 +0000 (22:37 +0100)]
Made social account detach a POST request

Closes #2808

4 years agoAdded test for social account detach
Dan Brown [Mon, 14 Jun 2021 21:30:53 +0000 (22:30 +0100)]
Added test for social account detach

4 years agoFixed issue with using old non-existing reference in controller
Dan Brown [Sun, 13 Jun 2021 13:16:09 +0000 (14:16 +0100)]
Fixed issue with using old non-existing reference in controller

Also done a little code cleanup.

4 years agoUpdated composer.lock
Dan Brown [Sun, 13 Jun 2021 13:06:56 +0000 (14:06 +0100)]
Updated composer.lock

4 years agoNew Crowdin updates (#2790)
Dan Brown [Sun, 13 Jun 2021 13:04:23 +0000 (14:04 +0100)]
New Crowdin updates (#2790)

* New translations common.php (Indonesian)

* New translations entities.php (Indonesian)

* New translations errors.php (Indonesian)

* New translations auth.php (Chinese Simplified)

* New translations auth.php (Chinese Simplified)

* New translations errors.php (Indonesian)

* New translations entities.php (Indonesian)

* New translations errors.php (Indonesian)

* New translations settings.php (Indonesian)

* New translations validation.php (Indonesian)

* New translations settings.php (Spanish, Argentina)

4 years agoMerge pull request #2791 from BookStackApp/attachments_open_in_browser
Dan Brown [Sun, 13 Jun 2021 13:03:08 +0000 (14:03 +0100)]
Merge pull request #2791 from BookStackApp/attachments_open_in_browser

Attachment serving without forced download

Morty Proxy This is a proxified and sanitized view of the page, visit original site.