Occured when the cell contained any block content with a differnt line
height to the table cell itself.
In firefox, cells with a height would end up with an actual greater
real cell height, which messed up TinyMCE resize calculations, causing
tables to grow.
Adding default vertical-align: top, changes this behaviour to get proper
cell heights.
Related to Firefox issue: https://bugzilla.mozilla.org/show_bug.cgi?id=569645
Have tested that editor cell text align options can still be used with
this.
For #4337
Was causing confusion.
Added test to cover.
Also added migration to remove existing create entries to pre-emptively
avoid issues in future if 'create' is used again.
After full review of current MAIL_ENCRYPTION usage in laravel and
smyfony mailer, this updates the options in BookStack to be simplified
and specific in usage:
- Removed mail.mailers.smtp.encryption option since it did not actually
affect anything in the current state of dependancies.
- Updated MAIL_ENCRYPTION so values of tls OR ssl will force-enable tls
via 'scheme' option with laravel passes to the SMTP transfport, which
Smyfony uses as an indicator to force TLS.
When MAIL_ENCRYPTION is not used, STARTTLS will still be attempted by
symfony mailer.
Updated .env files to refer to BookStack docs (which was updated for
this) and to reflect correct default port.
Related to #4342
Added support for mulit-line endpoint descriptions via blank
intermediate lines in php controller method docblocks.
Also tweaks endpoint header design for better flexing and alignment.
Fixes issue where providing owner_id alongside certain
fallback_permissions would cause the owner change not to take affect,
due to bad variable shadowing.
For #4323
Remove unnecessary UnauthorizedException
and make ApiAuthException compatible with HttpExceptionInterface.
Move the creation of a rsponse for the exception
from ApiAuthenticate middleware into the application exception handler.
Within the flow of HttpFetchException, the actual exception from curl is preserved and logged. Make HttpFetchException a pretty exception for when it is shown to users.
Needed some level of harcoding though due to callouts using colors,
which can't be css colors as DOMPDF won't understand these.
Use css variables elsewhere and added new dark variants to fit a bit
better.
Provides a way for users to actually delte their user drafts where
required.
For #3927
Added test to cover new endpoint.
Makes update to MD editor #setText so that new selection is within new
range, otherwise it errors and fails operation.
Ensures some sensible text is always in webhook text data.
Also aligned some notification reporting to use centralised activity
system instead of custom success events.
For #4216
Primarily intended to show parent book for chapters when moving/copying
pages, since the default parent selector interfaces, which used the
entity-selector search endpoint, would run this popular query when no
term was present as a default backup.
For #4264
Previously additional roles would only partially apply (system or "all"
permissions). This aligns the query-handling of permissions so that
additional roles will be used for permission queries.
Adds migration to detach existing roles as a safety precaution since
this is likely to widen permissions in scenarios that the public user
has other roles assigned already.
For #1229
Updated reply inidicator to fit with new nesting system, only showing on
view when nest within nesting structure.
Updated the general design to be a bit cleaner and better adapt on
mobile.
Tested on FF+Chrome, inc. dark mode.
- Updated pointer to move within content DOM so that you can back-focus
into the pointer if desired.
- Added new "Section select mode" which toggles focusabiltiy for main
content sections, with ability to show pointer via enter press on
these.
- Updated pointer with proper input/button labelling.
Tested via orca screen reader on Firefox/Fedora/Gnome.
For #3975
Primarily updated ldap_connect to avoid usage of deprecated syntax.
Updated tests and service to handle as expected.
Cleaned up syntax and types in classes while there.
Closes#4274
- Updated tab handling to be smarter on initial tab selection, to first
target non-hidden tab panels where they may be handled server-side.
- Extracted contained search box handling styles to _forms.scss, after
merging with image-manager-specific styles since this is only usage of
contained variant.
- Aligned focus handling on image manager UI elements.
- Updated UI with image form dropdown containing delete and replace
image actions.
- Adds new endpoint and service/repo handling for replacing existing
image.
- Includes tests to cover.
Makes interface relatively usable now on mobile sizes.
Required updating of tab handling to support tabs being active at only
mobile screen sizes, include change on resize, upon support for
potentially nested tab usage.
Tab component will now search within sensible depths for finding its own
tabs and panels to control.
The default 1st line highlighting confused users when existing on
read-only blocks as it was not clear this represented the active line.
This changes the highlight to only show when the block is focused upon.
- Fixed wrong env details being used on restore.
- Updated update-url on restore actually work.
- Added better support for symlinked locations.
- Added warning against updating in docker-like (non git controlled)
environments.
Currently only link-based styles are made available in the shadow root
code editor environment, this adds normal styles to apply any user-added
via custom head content.
Fixes#4228
Focus now returns to the editor properly when you quit out the code
editor without saving.
This also sets the return location to be correct on normal saving (Would
sometimes jump to the end of the document).
For #4109.
* Adding a video { width: 100%; }
This is to prevent that videos included in pages don't exceed the page border
* Reverting precedent commit
* Adding a video { max-width: 100% } instead
* changed app/Entities/Tools/PageContent.php to accept nested include levels. Tested it and it works.
* changed recommendations
This loop is now only around parsePageIncludes and bugfixes the space indentation.
* Update PageContent.php
fix spaces
The provided partial path would be return which may not resolve to the
full URL when used on systems like those hosting BookStack on a
sub-path.
Fixes#4201
Updated dom layout of attahcments to prevent nested dropzones (No issue
but potential to be one) and updated edit form dropzone handling so the
dropzone item card was not as distracting.
- Fixes existing broken attachment edit tabs.
- Redesigns area to move away from old tabbed interface.
- Integrates new dropzone system, for both addition and edit.
- Tightened image manager styles to address things that looked akward.
- Prevented visiblity/use of upload controls for drawings.
- Updated dropzone to use error handling from validation messages.
- Added file placeholder for non-image uploads.
- Added use of upload limits.
- Removed upload timeout variable.
- Added pass-through and usage of filetypes.
- Extracted some view text to language files and made use of existing
text.
- Added new wider target handling.
- Updated upload item dom with design and seperate "landing" zone.
- Added new helper for simple dom element creation.
- Updated event naming to be "cm6" when codemirror-specific.
- Removed cm block border in md editor to prevent double bordering.
- Updated copy handling to fallback to execCommand.
- Fixed some keybindings not running as expected, due to some editor
defaults overriding or further actions taking place since the action
would not indicate it's been dealt with (by returning boolean).
- Fixed spacing/border-radius being used on codeblocks on non-intended
areas like the MD editor.
- Fixed lack of BG on default light theme, visible on full screen md
editor.
- Fixed error thrown when the user does not have access to change the
current editor (Likely non-cm related existing issue)
- Updated clipboard handling
- Removed old clipboard package for browser-native API.
- Updated codemirror editor events to use new props for new data types.
Updated selectable elements to be divs instead of buttons since Safari
akwardly does not focus on buttons on click.
Also standardised keyboard handling to our standard nav class.
Also addressed empty tag values showing in results.
For #4139
This is useful when developing and on Docker setups. Despite setting
encryption to null, if a server supports STARTTLS with a self-signed
certificate, the mailer try to upgrade the connection with STARTTLS.
Attempted to access an array that had been filtered and therefore could
have holes within, including as position 0 which would then be
accessed.
Also added cs language to internal map
Related to #4068
This new method batch-loads them from the database, and removes the
cache-layer with the intention that a couple of batch fetches from the
DB is more efficient than hitting the cache each time.
This changes how the editors interact with the parent page-editor
compontent, which handles auto-saving.
Instead of blasting the full editor content upon any change to that
parent compontent, the editors just alert of a change, without the
content. The parent compontent then requests the editor content from the
editor component when it needs that data for an autosave.
For #3981
Replaced the existing xpath-heavy system with a more manual traversal
approach. Fixes following slow areas of old system:
- Old system would repeat ID-setting action for elements (Headers could
be processed up to three times).
- Old system had a few very open xpath queries for headers.
- Old system would update links on every ID change, which triggers it's
own xpath query for links, leading to exponential scaling issues.
New system only does one xpath query for links when changes are needed.
Added test to cover.
For #3932
Added test to cover.
Did attempt a 64k limit, but values over 2k significantly increase
chance of other issues since this URL may be used in redirect headers.
Would rather catch issues in-app.
For #4044
This is to encourge the ":count" values to be used instead of 1s in the
translated variants so that non-pluralised languages are hardcoded with
"1"s in their content, even when not used in a singular context.
For #4040
Altered & updated permissions repo, and existing connected
RoleController to suit.
Also extracts in-app success notifications to auto activity system.
Tweaked tests where required.
Parallel testing paratest library caused issues due to a single version
not being compatibile across our php range. Removed for now as not
really worth the faff to get compatible.
Added use of more accessible tags to create tabbed-interfaces then
updated css and JS to require use of those attributes rather than custom
techniques.
Updated relevant parts of app.
Some custom parts using their own tabs though, something to improve in
future.
- Removed having sort items in tabbing order since they have no action.
- Updated "show other books" list to add upon single selection since it
was not clear how these were added (double press) without then seeing
the add button, and even then the add button would be after the scroll
list.
- Fixes multi-select functionality.
- Updated other books to be sticky.
- Added some general intro/desc text.
- Updated sort boxes to be collapsible.
- Cleaned up other books styling.
Prevented interferance with the user's action if they interacted with
something below the tags, since a new row would be added on blur and
hence shift down positions.
For #3931
Failure of loading drawings will now close the drawing view and show an
error message, hinting at file or permission issues, instead of leaving
the user facing a continuosly loading interface.
Adds test to cover.
This also updates errors from our HTTP service to be wrapped in a custom
error type for better identification and so the error is an actual
javascript error. Should be object compatible.
Related to #3955.
Had misalignment between query and usercan, The nuance between fallback
and entity-role permissions was not taken into account by the query
system. Now added with new test cases to cover.
Is a tweak upon the existing approach, mainly to store and query role
permission access in a way that allows muli-level states that may
override eachother. These states are represented in the new PermissionStatus
class.
This also simplifies how own permissions are stored and queried, to be
part of a single column.
Ported non-compatible elements, Now all tests passing apart from some
specific permission scenario tests which are probably correctly failing.
Updates some tests to better avoid messing environment state.
Updated language system to only use initial part of locale for
translation pluralisation to better match the hard-coded logic of the
built-in MessageSelector. Extends and overrides Laravel's default for
this system.
Added test to cover.
Related to #3976.
User roles would only be actioned if they existed in the form request,
hence removal of all roles would have no data to action upon.
This adds a placeholder 0-id role to ensure there is always role data to
send, even when no roles are selected. This field value is latter
filtered out.
Added test to cover.
Likely related to #3922.
Forces browser colorscheme based on BookStack color scheme, via
'color-scheme' css property.
Sets proper dark mode colors for some previously missed areas like
templates and attachment control buttons.
Also fixed search bar icon position for some search inputs.
Now assume, based on OIDC discovery spec, that keys without 'use' are
'sig' keys. Should not affect existing use-cases since existance of such
keys would have throw exceptions in prev. versions of bookstack.
For #3869
Old system was hard to track in terms of usage and it's application of
'components' properties directly to elements was shoddy.
This routes usage via the components service, with element-specific
component usage tracked via a local weakmap.
Updated existing found usages to use the new system.
- Updates old components to newer format, removes legacy component
support.
- Makes component registration easier and less duplicated.
- Adds base component class to extend for better editor support.
- Aligns global window exposure usage and aligns with other service
names.
To avoid non-user GET requests (Such as those from email scanners)
auto-triggering the confirm submission. Made auto-submit the form via
JavaScript in this extra added step with user-link backup to keep
existing user flow experience.
Closes#3797
Changes their endpoints and remove the user id from the URLs.
Simplifies list changes to share a single endpoint, which aligns it to
the behaviour of the existing sort preference endpoint.
Also added test to ensure user preferences are deleted on user delete.
Somehow I accidentally deleted previous line 143 in this commit:
3839bf6bf1
which would then break permission generation for content related to, or
containing, chapters in the recycle bin.
Found via user report (subz) & debugging in discord.
- Fixed inheriting control for new system.
- Tested copying shelf permissions to books.
- Added additional handling for inheriting scenario identification.
Also updates show roles on permission view to just those with
permissions applied.
Fixes rounded borders for lone permission rows.
Moves "Everyone Else" handling from role to new class.
Simplifies structure and limits content count, while allowing direct
mapping of new UI intent, where we may have entries with no permissions.
Not yet updated app logic to suit.
Tested via migrating and rolling-back, then comparing export data,
across a set of custom permission entries.
Nothing on back-end logic done to hook this new option up.
Addition of permissions for role_id=0 works out of the box, but active
"everyone else" permissions, with no priviliges, is currently not
working. Needs change of permission gen logic also.
Created a generic list formatting helper class for this, to align with
logic used on the search results endpoint and for easier future re-use
in a standardised way.
Also updated some class property types.
Added test to cover new books-contents results.
Related to #3734
Updates book drag handling to be limited to the handle so scrolling can
be done on the items themselves.
Increased handling area and improved styling to support
- Aligned prefix-type filtering with back-end.
- Increased suggestion search cut-off from 3 to 4.
- Increased amount of suggestions shown.
- Ordered suggestions to be name asc, as you'd expect on search.
- Updated front-end filtering to use full search query, instead of
truncated version, for further front-end filtering capability.
Related to #3720
Updated license copyright line to better help it be detected as MIT by
automatic license systems (Such as GitHub license detection) while
removing contributors link which would not actually list all
contributors.
Also added year range back in to be more specific about active lifetime.
Removed old pagination provider as url handling now achieved in a better
way.
Removed unused broadcast service provider.
Moved view-based tweaks into specific provider.
Reorganised provider config list.
Moved testing content out of AppServiceProvider, to a testing-specific
service provider. Updated docs and added composer commands to support
parallel testing.
Also reverted unintentional change to wysiwyg/config.js.
Brings app auth controller handling aligned within the app, rather than
having many overrides of the framwork packages causing confusion and
messiness over time.
Extracted much of the language and locale work to a seperate, focused class.
Updated php set_locale usage to prioritise UTF8 usage.
Added locale options for windows.
Clarified what's a locale and a bookstack language string.
For #3590 and maybe #3650
Caused by changes to page repo in reference work,
This adds back in the slug generate although at a more central place.
Adds a test case to cover the problematic scenario.
Explained the content-types accepted by BookStack.
Made it clear that 'Content-Type' is expected on requests.
Added example to shown how to achieve more complex formats using
non-json requests.
Also added link to api-scripts repo.
Related to #3666 and #3652
Not totally happy with implementation as is requires extra service to be
injected to core controllers, but does the job.
Included test to cover.
Updated some controller properties to be typed while there.
Updated revision listing to only fetch required fields, massively
reducing memory usage by not loading content.
This also updates user avatar handling to effectively cache the avatar
url within request to avoid re-searching from cache, which may improve
performance of others areas of the application.
This also upates handling of the revisions list view to extract table
row to its own view to break things down a bit.
For #3633
To help prevent against empty areas during inital empty-cache loads.
This delays the original layout update a little to give time for the
layout to render as expected.
For #3637
Added additional exceptions to prevent such cases in the future, so
that they are caught in dev ideally.
Added test case specifically for reported favourite scenario.
Is generally aligned with out SAML2 group sync functionality, but for
OIDC based upon feedback in #3004.
Neeeded the tangental addition of being able to define custom scopes on
the initial auth request as some systems use this to provide additional
id token claims such as groups.
Includes tests to cover.
Tested live using Okta.
The tinymce event system would not pick up the focus within the loaded
draw.io instance, after the drawing toolbar button was clicked, hence
the toolbar would hang around.
This adds a hack to dispatch a mousedown event on the body to get the
toolbar to hide.
For #3597
- Split bash from shell in language list
- Updated code-lang highlighting to be exact match only to prevent
confusion scenarios (Java matching JavaScript, etc..)
- Added design for favorites
- Changed blade language list to be generated from array.
- Added ability to search books list (Local simple text match).
- Added handles, hover-states and cursor states for better user
interaction and clearer use of drag & drop.
- Improved styles for dark mode.
- Converted shelf sort component to newer component format.
- Modernized shelf controller code a little.
Related to #3266
- Added workaround for new 'srcdoc' usage that's breaking content in
Firefox, added new 'custom-changes.md' file to document for future.
- Updated old usages of 'new' when creating nodes.
- Tested and changed logic, where required, where 'editor.dom.select'
has been used to replace the old '$' usages.
- Fixed bad boolean value being passed to 'setActive' in task list
logic.
Both caught in tests:
Fixed loss of permissions for admin users when entity restrictions were
active, since there are no entity-restrictions for the admin role but
we'd force generate them in joint permissions, which would be queried.
Fixed new role permission checks when permissions given with only the
action (eg. 'view'), since the type prefix would be required for role
permission checks. Was previously not needed as only the simpler form
was used in the jointpermissions after merge & calculation.
Cleaned up PermissionApplicator to remove old cache system which was
hardly ever actuall caching anything since it was reset after each
public method run.
Changed the scope of 'userCanOnAny' to just check entity permissions,
and added protections of action scope creep, in case a role permission
action was passed by mistake.
Updated ajax search and entity selector usage to display and handle
items that the user does not have permission to interact with.
Started logic changes to not allow permission type to be passed around,
with views instead being the fixed sole permission.
Ran a quick app run-thorugh in FireFox & Chrome, No secondary affects
immediately noticed but possible this could cause changes elsewhere due
to wide-spread grid item child targeting.
For #3523
For PR #3406
- Updated naming from 'redirect' to 'initate/initation'.
- Updated phpunit.xml and .env.example.complete files with the new
option.
- Cleaned up controller logic a bit.
- Added content and design to the new initation view to not leave user
on a blank view for a while.
- Added non-JS button to initiation view as fallback option for
progression.
- Moved new test to it's own Test class and expanded with additional
scenario tests for better functionality coverage.
TinyMCE was adding attributes to <br> elements within code blocks which
would then not be converted to newlines by our code regex match.
This changes the conversion to use dom querying instead.
Fixes#3507
Linebreaks would previously essentially be removed during index and
hence joined to adjacent words, breaking prefix matching.
Added test to cover.
For #3508
- Also extracted shelf to book view elements to own partial.
- Fixed some existing logic including image param handling in update
request and activity logging against correct element.
- Updates book/shelf cover image handling for easier cloning/handling.
- Adds core logic for promoting books/chapters up a level.
- Enables usage of book/shelf cover image via API.
Related to #1087
Moved export templates elements into their own folder for better
grouping of logical usage.
Within the base export template, added some body classes to allow easier
targeted customisation via custom head css.
Split content of export templates into smaller partials for easier
future customization.
Closes#3443
Uses vdom system to diff and update the current markdown preview view
instead of requiring a full HTML replace change.
This should provide better performance, expecially where dynamically
loaded content such as iframes were in use.
Closes#3454
Now uses the previously timestamp gen name as a backup to the original
name. Aligns with the image manager upload which uses the original name
where given.
Closes#3470
- Allows easier accessibility of inline attachments.
- Introduces a new split-icon-list-item thingy to support such cases
where only part of the button is actually linked.
- Now has a hover state to match other items.
- Now spans the full sidebar with like other items.
- Also updated chapter-toggle to a chapter-contents component, following
the newer component system.
- Improves animation smoothness
- Changed animation slideup/down animations to use max-height instead of height
to better avoid jutter at the end.
- Cleaned spacing to match page items in books listing.
Was reporting wrong due to use of old polymorphic namespace references.
Test was not picking up as assertElementContains had wider scope than
expected, looking within the HTML of the element instead of the text
which you might expect. Updated test helper to look at text instead.
Specifically updates dropdown search and user-search implementation,
although does affect all inputs.
Decouples breadcrum and select-style dropdown search toggles.
Addresses #2678
Would cause effect where scroll area would be cut of by spacing which
looked a bit strange. This retains the same padding sizes but cuts the
content at the header or top of viewport.
Animates the height on breadcrumb dropdown menus to transition to the
loaded animations quicker. Includes a new animation helper for doing
similar tasks in future.
Loading animation would show in an unready state due to animation-delay
on components. Updated to a negative delay to ensure elements were in
correct positions right away upon show.
- Removed harsh theme color border between search and content.
- Prevented intermediate focus on list container to align arrow & tab
behaviour, and to get to content quicker.
- Removed border and rounded list item styles to make hover states have
less edge detail and to align with other UI elements.
- In expanded-detail view, removed space used for entity description if
there is not description content existing.
- Removed background track line since it would darken entity item bars.
- Updated item spacing to be a bit tighter.
- Updated action hover styles to be a bit lighter, and visible on dark
mode, to fit rest of system.
- Tweaked styling to add a little extra shadow and be more rounded to
match other UI areas.
- Added slight horizontal inset when in right sidebar to prevent shadow
being cut-off in most cases.
- Added logic to "drop upwards" if dropping down would take the menu
offscreen.
Updated default value for APP_URL so that the startsWith call is not
passed null, since that causes deprecation notice in PHP8.1.
Would show when APP_URL was not set, adding extra confusiion.
Dumping details that were binary, such as the jpegphoto data, would
cause the dump to fail on the encoding to JSON.
This change forces content to be UTF8 before dumping.
Updated existing test to cover.
Closes#3396
Call to `ob_end_clean` would error if the environment did not use the
PHP `output_buffering` option. This adds an additional check and updates
the comment to be more specific to the exact scenario of the condition.
Tested with output_buffering=Off and output_buffering=4096
Closes#3415
Made the following changes, many of these are just to align with
existing conventions.
- Updated urls to be hypenated, instead of underscored, to match other system endpoints.
- Updated URL parameter to be `deletionId` instead of `id`, and removed the ID-based comment on controller methods, so the required ID model is clear from the URL alone, since its not clear from the URL endpoint alone like existing endpoints. This follows the pattern used in the "web" routes.
- Added extra detail on some controller method comments, and copied permission comment to each method.
- Removed existing field visibility mechanisms to use simpler model-based visibility since we didn't need anything too special here (After some of my other changes).
- Allowed the "deletable" model to be shown in response to provide a little more detail on the main deleted item.
- Updated parent/child-count loading to be on the "deletable" model instead of additional properties which results in simpler controller logic and enforces the idea these are relations on the deletable, not the deletion itself. It also removes additional exposure of model namespacing.
- Updated (int) casts to intval, just since that's our most common conversion method in the codebase.
- Testing: Removed `actingAsAuthorizedUser` and used the admin user instead to prevent extra auth steps on each test.
- Testing: Cut logic/data-checks from tests if already covered by other tests.
- Testing: Added simple assertions for delete/restore response data.
- Examples: Updated list example to reflect changes.
Review of PR #3377
To be followed up with changes to polymorphic relations to hide
namespacing.
- Updated all dropdown list item actions into three specific styles:
icon-item, text-item & label-item. Allows a stronger structure while
prevents mixing of styles as we were getting for header dropdown in
dark mode.
- Extracted out page editor top toolbar to its own view file & split
editor switch options to different markdown options.
Extracted page editor view data gathering to its own class for
alignment. Updated the data used in views as part of the process to use
view-specific variables instead of custom attributes added to models.
Also moved tinymce library loading so it's not loaded when not using the
wysiwyg editor.
Allows us to use NodeJS code for file/directory locating to not be
shell/os specific, while also also reducing duplicated complexity within
packages.json file.
Related to #3323
Decided it's relevant to entity updated_at since tags are now indexed
alongside content.
- Also fixed tags not applied on shelf.
- Also enforced proper page API update validation.
- Adds tests to cover.
For #3319Fixes#3370
- Added testing check to buffer stop/clear on streaming output due to
interference during tests.
- Made content-disposition header a little safer in download responses.
- Also aligned how we check for testing environment.
Fixes hitting memory limits where downloaded file sizes are much greater
than memory limit. Stopping and flushing output buffer seemed to stop
limits causing issues when fpassthru is used.
Tested with 24M memory limit and 734M file
This allows download of attachments that are larger than current memory
limits, since we're not loading the entire file into memory any more.
For inline file responses, we take a 1kb portion of the file to sniff
before to check mime before we proceed.
This updates the custom Request handler to provide only the scheme and
host on the `getSchemeAndHttpHost` call, instead of providing the whole
APP_URL value, while adding an override to the 'getBaseUrl' to use the
APP_URL content instead of the guessed/detected Symfony value.
Untested apart from simple local setup.
Related to #2765
- Fixed issue where redirect for `/settings` view would not be ran
through base url generator so would not create a correct path in some
cases. Now routed through controller with normal redirect.
- Fixed custom head content being active on settings pages due to route
name changes, for when viewing settings, in last release.
Fixes#3356 and #3355
- Updated PhpStan PHP version option to match project.
- Applied StyleCI changes.
- Updated static to self in WebhookFormatter, following static analysis
guidance.
- Fixed mis-matched header tags.
- Split settings out to new views using a core shared layout.
- Extracted added language text to translation files.
- Updated settings routes to be dynamic to category.
- Added redirect for old primary settings route.
- Updated existing tests to cover settings route changes.
- Added tests to cover settings view.
- Improved contrast of settings links for dark mode.
Creates a new organsied formatting system for webhook data, with
interfaces for extending with custom model formatting rules.
Allows easy usage & extension of the default bookstack formatting
behaviour when customizing webhook events via theme system, and keeps
default data customizations organised.
This also makes the following webhook data changes:
- owned_by/created_by/updated_by user details are loaded for events with
Entity details. (POTENTIALLY BREAKING CHANGE).
- current_revision details are loaded for page update/create events.
Added testing to cover added model formatting rules.
For #3279 and #3218
Uses original image data to extract orientation exif to apply image
transformations before scaling and save. Manually done due to issues
with exif data loss during the existing Invervention image path.
For #1854
Sets sizes on WYSIWYG code block sections based on content lines
as an early pre-codemirror height prediction to avoid excessive
jumping in the editor.
For #3326
This filters out <br> elements within code blocks and replaces them with
newlines. The editor started using <br>'s more harshley after some
configuration changes upon upgrading tinymce, in which we standardised
on forced br tags to avoid empty elements.
For #3327
- Updated styles to better align checkboxes within page content.
- Updated functionality to use a cross-compatible property on checkbox
click within the editor.
- Configurable via 'ALLOWED_IFRAME_SOURCES' .env option.
- Also updated how CSP rules are set, with a single header being used
instead of many.
- Also applied CSP rules to HTML export outputs.
- Updated tests to cover.
For #3314
- For some reason, TinyMCE would handle empty paragraphs with a ' '
by default but this would be removed when the paragraph had an
attribute. This was fine in the old editor.
- This changes the approach to use '<br>' tags within elements
for "spaced emptiness".
- For compatbility with any existing empty paragraphs, I updated the
styles to show default height for empty paragraph sections.
- This also makes changes to help preserve encoded html tags
since they were getting converted along the journey.
Related to #3302
- Allows for easy unlinking, link preview or link editing.
- Created custom one to limit actions available.
- Performed refactoring of non-plugin toolbar editor code to extact into
its own file.
Related to #3276
- Fixed issues with new code blocks breaking or acting odd due to
misnamed contenteditable attribute.
- Helped fix issue where code blocks may show in a strage blank state
due to timing within shadow dom loading.
- Fixed some function timing issues where some functions required their
async predecessor to have finished.
Tested rather heavily in firefox and brave.
Fixes#3292
- Removed titles since they don't provide added benefit upon the labels
and would often lead to being submitted with just the placeholder
title.
- Feature request form
- Added further context to benefits field for hopefully better
responses that target the core goal.
- Added a field to ask if feature can already be achieved, to
gain an idea if the submitter has explored other options (if
existing).
- Added a field to ensure the submitter has search the issue list
before submitting.
- Added a field to ask existing BookStack usage time to understand
potential evolution of usage and/or influence of other platforms.
Fixes issue where certain errors would not show to the user
due to extra navigation jumps which lost the error message
in the process.
This simplifies and aligns exceptions with more directly
handled exception usage at the controller level.
Fixes#3264
Old branch filters did not seem to work since they are supposed to
reference the target branch, not source branch.
Instead used if statement to prevent run on crowdin branch.
Code blocks in tinymce could sometimes end up exploded into the sub
elements of the codemirror display.
This changes the strategy to render codemirror within the shadow dom of
a custom element while preserving the normal pre/code DOM structure.
Still a little instability when moving/adding code blocks within details
blocks but much harder to break things now.
- Ensures padding works across FF & Chrome, was only working on FF
before.
- Fixes sketchy editor positioning focus on FF, since tinyMCE would
add a hidden element to the bottom of the body which would remove/add
our body padding causing unstable positioning.
* New translations activities.php (Hebrew)
* New translations auth.php (Hebrew)
* New translations common.php (Hebrew)
* New translations activities.php (Hebrew)
* New translations common.php (Hebrew)
* New translations entities.php (Hebrew)
* New translations errors.php (Hebrew)
* New translations validation.php (Spanish)
- Removed old 'editor-*-update' commands to instead use the aligned
'editor::replace' command that we already have.
- Changed the way custom styles are loaded for the WYSIWYG editor so we
don't need an API call but instead scape content from the parent page
header using comments as identifiers. Added tests to ensure comments
exist and align.
- To display license info along with shortcuts.
- Extracted out plain layout from 503 error page.
- Added tests to ensure license references are as expected.
- Updated code content to get specific text selection instead of using
node-based handling which could return the whole document when
multiple top-level nodes were in selection.
- Simplified how code gets applied into the page to not be node based
but use native editor methods to replace the selection. Allows
creation from half-way through a block.
Tested on chrome+Firefox on Fedora 35.
Builds upon changes in #3246.
For #3200.
- Split everything into specific plugin/concern files to make things
more managable. Means original component file is now simple and much
of the core config is focused in one place.
- Required extracting logic into repo.
- Changed some existing creation paths to standardise behaviour.
- Added test to cover new endpoint.
- Added extra test for user delete to test migration.
- Changed how permission errors are thrown to ensure the right status
code can be reported when handled in API.
- Required changing the docs generator to handle more complex
object-style rules. Bit of a hack for some types (password).
- Extracted core update logic to repo for sharing with API.
- Moved user update language string to align with activity/logging
system.
- Added tests to cover.
- Updated routes to use new format.
- Changed how hidden fields are exposed to be more flexible to different
use-cases.
- Updated properties available on read/list results.
- Started adding testing coverage.
- Removed old unused UserRepo 'getAllUsers' function.
Related to #2701, Progression of #2734
- Added tests to cover.
- Refactored some existing testing.
- Requires password or external_auth_id to be provided. Defaults to
password.
- Randomly sets password to 32 digit random chars if external_auth_id
provided instead.
For #3222
Intended to fix positioning quirks caused by changing codemirror
instance size when you have lines that wrap and cause line height
changes. Often caused by editor toolbox expand/collapse.
This adds a debounced resize observer to refresh editor layout on size
change.
Also tweaks toolbox expand/collapse to more consistently set aria
attribute.
For #3186
Quick patch to clear the gallery display when getting the first page.
Duplication of the galler was occuring due to the mulitple upload events
loading the gallery mulitple times while only clearing the existing
gallery at the start of all refreshes.
A bit flashy in terms of user experience, as there will still be
mulitple load/clear events but fixes the duplication. Could be done more
elegently in future by communicating up image upload counts.
For #3160
Further fixes for #3120, Adds DOMPDF specific adjustments to prevent
full width linked images being cut-off as per last tweak.
This does not fix usage in smaller cases (tables) but tested on
master DOMPDF branch shows that will likely be fixed in next DOMPDF
upstream release.
DOMPDF fixes would break WKHTMLTOPDF presentation so system updated
to conditionally apply styles.
Updated the getUrl method on deletions to not require any passed
params to align with usage in webhooks.
Probably better to have a proper interface but would require a wider
change.
Fixes#3154
Custom homepage usage will now be checked before any actioning
of deletion rather than potentially causing an exception acting
during the deletion.
Previously a deletion could still be created, within the recycle bin,
for the parent which may lead to the page being deleted anyway.
For #3150
- Aligned permissions control with move operations to check
delete/create permissions against old/new locations.
- Added tests to cover additional permissions scenarios.
Previous implemenations were hard to read so changing to be more
logically simplistic. Still needs further coverage in tests and
review/alignment of permissions to use.
Models are now loaded into their own map to then be used for sorting and
reporting back of changed books. Prevents akward logic ordering issues
of before where some bits of code assumed/hoped for loaded models on
abstract data structures.
New levels of permissions are now checked for items within the
sort operation. Needs testing to cover.
Adds apng sniffing when generating thumbnails with retained ratios to
serve the original image files, as we do for GIF images, to prevent
the image being resized to a static version.
Is more tricky than GIF since apng file mimes and extensions
are the same as png, we have to detect part of the file header
to sniff the type. Means we have to sniff at a later stage
than GIF since we have to load the image file data.
Made some changes to the image thubmnail caching while doing
this work to fit in with this handling.
Added test to cover.
For #3136.
Language parsing of code blocks could falter on pasted code blocks due
to the lanuage being parsed with a space which would throw an error when
used as a css class.
This adds more extensive language parsing to be safer.
Fixes#3133
- Added a user-configurable timeout option to webhooks.
- Added webhook fields for last-call/error datetime, in addition to last
error string, which are shown on webhook edit view.
Related to #3122
Was caused by max-width: 100% causing confusion when images were
inside an anchor. This change resets that property on PDF
exports allowing full width images to be shown as so
without affecting smaller sizes.
Fixes#3120
- Copies via loading in model on create view.
- Updated role views while editing to bring up to similar format as
that used for more modern app areas.
- Added tests to cover.
Related to #1123
Updated all password validation to use central password defaults
system while updating length requirements to now all match
at 8 characters minimum.
Some language text was technically correct (More than 7 characters)
but this has been updated for clarity and to prompt other translations
to be updated.
Closes#2237
Altered access & usage of the /search/users/select endpoint with the
following changes:
- Removed searching of email address to prevent email detail discovery
via hunting via search queries.
- Required the user to be logged in and have permission to manage users
or manage permissions on items in some way.
- Removed the user migration option on user delete unless they have
permission to manage users.
For #3108
Reported in https://huntr.dev/bounties/135f2d7d-ab0b-4351-99b9-889efac46fca/
Reported by @haxatron
- Renamed to "ActivityLogger" to be more focused in usage.
- Extracted out query elements to seperate "ActivityQueries" class.
- Removed old 'addForEntity' activity method to limit activity record
points.
Allows easy direct linking and usage of the HTML preview content
we show in the UI when viewing search results.
Note: preview_html content is a rough representation only, it does not
match exactly what was matched in the database-search-operation which
finds the results.
For #3096 and #3080
Page-related items added on drafts could be visible in certain scenarios
since the applied permissions query filters would not consider
page draft visibility.
This commit alters queries on related items to apply such filtering.
Included test to cover API scenario.
Thanks to @haxatron for reporting.
- Replaced iframe elements with anchor elements wrapped in a paragraph.
- Extracted PDF generation action to seperate class for easier mocking
within testing.
- Added test to cover.
For #3077
Used upon areas we usually fade-out to provide a focused user
experience. If the user desires more contrasted we prevent this
behaviour using the prefers-contrast media query.
Related to #2634
Old command registration method was interfering with default commands,
causing only a limited subset of commands to show overall.
This change follows the method the frameworks uses when loading in from a
directory to prevent issues with run/load order.
Changed how the command registration was handled due to complications of
action order found during testing. Now the theme service will resolve
and directly register the command on the Kernel instead of them being
fetched from the ThemeService from within Kernel.
More direct, Seems to work.
Adding tabindex=0 means when pressing tab the focus goes right to the TOTP input field. When using a Password Manager this makes it easier than having to hit tab 3X to get the right focus.
Updated the back button to be a proper link instead of a reference to
the last viewed URL since it could break if the last page was the
current one (On validation for example).
Includes test to cover.
Also applied some styleCI changes.
Fixes#2834
Was done for convenience but could potentially be exploited by an
attacker using signing up via one of these routes, then forwarding
an email confirmation to another user so they unknowingly utilise
an account someone else controls.
Tweaks the flow of confirming email, and the user invite flow.
For #3050
This change means that code blocks are now included still wrapped in
their pre tags, as we do for tables and lists.
Previously the <code> inner content would be included which would lead
to a generally bad/broken presentation.
Hopefully should not be a breaking change as section include tags for
code was tricky to get to, and it was in a semi-broken state.
For #2406
Replaces the old suggestion of setting JS head 'window.uploadLimit'
variable. This new env option will be used by back-end validation and
front-end libs/logic too.
Limits already likely exist within prod environments at a PHP and
webserver level but this allows an app-level limit and centralises the
option on the BookStack side into the .env
Closes#3033
As per #3047.
Also made some SAML specific fixes:
- IDP initiated login was broken due to forced default session value.
Double checked against OneLogin lib docs that this reverted logic was fine.
- Changed how the saml login flow works to use 'withoutMiddleware' on
the route instead of hacking out the session driver. This was due to
the array driver (previously used for the hack) no longer being
considered non-persistent.
Is a little awkward, emulates a 'list' API endpoint but has unstable
paging and does not support filters/sort. This is detailed on the
endpoint though.
Made some updates to the docs system to better support parameters
and examples on GET requests.
Includes tests to cover.
For #909
Removing prefix route groups out of visual preference.
Those don't really save much and I prefer seeing the complete
paths when going down the list to better guage where I am.
Updating filters via sidebar would wipe the created_by/update_by filters
since these were not part of the sidebar filter form.
This adds them, if existing, as hidden inputs.
Includes tests to cover.
Closes#2736
Markdown content was not being stored, only the sent
HTML representation, causing the draft to show as HTML upon next edit.
Added test to cover.
Fixes#3054
- Updated page names to not be limited to a certain length.
- Added better start/end fill logic.
- Prevented <strong> tags from being counted towards the target content
length desired from the formatter.
Created a new class to manage formatting of content for search results.
Turned out to be quite a complex task. This only does the preview text
so far, not titles or tags.
Not yet tested.
This adds parsing of page content so that headers apply a boost to
scores in the search term index.
Additionally, this merges title and content terms to reduce the amount
of stored terms a little.
Includes testing to cover.
Checked over latest changes for potential SQL injection, all variable
usages are either (from trusted sourced AND case) or using
parameters/bindings to ensure it's handled at driver/lib level.
Relations now loaded during back-end query phase instead of being lazy
loaded one-by-one within views.
Reduced queries in testing from ~60 to ~20.
Need to check other areas list-item.php's "showPath" option is used to
ensure relations are properly loaded for those listings.
Adds adjustment of search term 'score' (Using in result ranking) so that
a relative 0.3 to 1.3 mulitplier is applied based upon relative
popularity within the whole database. At this point the term popularity
is still done via a prefix match against the search term.
Uses a SUM(IF(cond, a, IF(cond, a, ...))) chain to produce the scoring
result in the select query.
* New translations errors.php (Polish)
* New translations activities.php (Dutch)
* New translations auth.php (Dutch)
* New translations common.php (Dutch)
* New translations entities.php (Dutch)
* New translations auth.php (Dutch)
* New translations auth.php (Dutch)
* New translations auth.php (Dutch)
* New translations settings.php (Latvian)
- Moved out extension check to ImageService as that seems more relevant.
- Updated models to use static-style references instead of facade to align with common modern usage within the app.
- Updated custom image_extension validation rule to use shared logic in image service.
Since AzureAD graph is going away.
Tested using old AzureAD graph usage for backwards-compatbility, did not
seem to break things. Could not test with conditional access though due
to azure never enforcing it no matter what I attempted.
Fpr #3028
- Scoped padding change to just entity-list-items within the sidebar
side reduction of right-hand-padding to zero was causing other
entity-list-items, such as those in the homepage listing, would then
have no padding.
- Updated styles to use css logical properties to retain support for RTL
languages such as Arabic, where the whole interface flips around.
Related: https://css-tricks.com/css-logical-properties-and-values/
- Migrated env usages to config.
- Removed potentially unneeded config options or auto-set signed options
based upon provision of certificate.
- Aligned SP certificate env option naming with similar IDP option.
Tested via AFDS on windows server 2019. To test on other providers.
Session was being lost due to the callback POST request cookies
not being provided due to samesite=lax. This instead adds an additional
hop in the flow to route the request via a GET request so the session is
retained. SAML POST data is stored encrypted in cache via a unique ID
then pulled out straight afterwards, and restored into POST for the SAML
toolkit to validate.
Updated testing to cover.
Provides a simple bookstack focused view that does not rely on JavaScript.
Contains links to BookStack specific resources in addition to commonly
desired debug details.
Relevant to comments in 7224fbcc89.
Added test cases. Ensured they failed pre-commit.
Also tested a range of the altered endpoints manually on both local and
s3-like filesystems.
- Files within the storage/ path could be accessed via path traversal
references in content, accessed upon HTML export.
- This addresses this via two layers:
- Scoped local flysystem filesystems down to the specific image &
file folders since flysystem has built-in checking against the
escaping of the root folder.
- Added path normalization before enforcement of uploads/{images,file}
prefix to prevent traversal at a path level.
Thanks to @Haxatron via huntr.dev for discovery and reporting.
Ref: https://huntr.dev/bounties/ac268a17-72b5-446f-a09a-9945ef58607a/
- Prevents authenticated responses being visible when back button
pressed in browser.
- Previously, 'no-cache, private' was added by default by Symfony which
would have prevents proxy cache issues but this adds no-store and a
max-age option to also invalidate all caching.
Thanks to @haxatron via huntr.dev
Ref: https://huntr.dev/bounties/6cda9df9-4987-4e1c-b48f-855b6901ef53/
- Removed uneeded custom refresh or logout actions for OIDC.
- Restructured how the services and guards are setup for external auth
systems. SAML2 and OIDC now directly share a lot more logic.
- Renamed any OpenId references to OIDC or OpenIdConnect
- Removed non-required CSRF excemption for OIDC
Not tested, Come to roadblock due to lack of PHP8 support in upstream
dependancies. Certificate was deemed to be non-valid on every test
attempt due to changes in PHP8.
- Made oidc config more generic to not be overly reliant on the library
based upon learnings from saml2 auth.
- Removed any settings that are redundant or not deemed required for
initial implementation.
- Reduced some methods down where not needed.
- Renamed OpenID to OIDC
- Updated .env.example.complete to align with all options and their
defaults
Related to #2169
- Added testing to cover warning cases.
- Refactored logic to be simpler and move much of the business out of
the controller.
- Added new message that's more suitable to the case this was handling.
- For detecting an outdated draft, checked the draft created_at time
instead of updated_at to better fit the scenario being checked.
- Updated some method types to align with those potentially being used
in the logic of the code.
- Added a cache of shown messages on the front-end to prevent them
re-showing on every save during the session, even if dismissed.
Review of #2935
- Removed from .env files and added warnings for use if found in config
file.
- Updated permission service to use whereColumn queries to auto-handle
use of prefixes.
Review of #2936
- Added testing to cover
- Added APP_PROXIES to .env.example.complete with details.
- Renamed migration to better align the name and to set the migration
date to fit with production deploy order.
- Removed index from IP column in migration since an index does not yet
provide any value.
- Updated table header text label.
- Prevented IP recording when in demo mode.
Done a little reorganisation while there of misplaced tests.
Moved MarkdownTest to a new PageEditorTest to avoid confusion with
other markdown elements and to align with other page tests.
* 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)
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
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
In particular, That around the casing of dangerous values within
attributes. This uses some xpath translation to handle different casing
in contains searching.
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.
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.
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.
- 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
- 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
- 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.
- 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.
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
- 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.
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.
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).
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.
- 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.
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
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.
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
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.
- 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.
Fixes issues thrown in custom HMTL head & page content filtering when
the content is comprised of only a single HTML comment.
Adds tests to cover.
For #2804
A query string will cause attachments to be provided inline
with an appropriate mime type.
Remaining actions:
- Tests
- Front-end functionality
- Config option?
- Added test cases to cover.
- Altered parsing logic to be a little less reliant on regex.
- Added new iamge repo method for creating from data.
- Added extension validation and additional type support.
- Done some cleanup of common operations within PageContent.
- Added message to API docs/method to mention image usage.
For #2700 and #2631.
- Updated styling to include item name.
- Extracted used text to translations.
- Updated the design to better suit the surrounding blocks.
- Removed newly added model/repo methods.
- Moved core logic out of controller and instead into a "NextPreviousContentLocator"
helper with re-uses the output from the book-tree generation.
- Also added the system to chapters.
For #2511
Required changing the header bar of the email to be solid color to match
the configuration of the main app header since otherwise colors may not
work together.
Closes#2577
Search input was stacking on create button on default desktop view
due when viewing in russian due to combined width exceeding container.
Made into normal flexbox instead.
Closes#2147
- Reduced options to single new configuration paramter instead of two.
- Moved more logic into UserAvatars class.
- Updated LDAP avatar import to also run on login when no image is
currently set.
- Added thumbnail fetching to search requests.
- Added testing to cover.
Related to PR #2320, and issue #1161
- Refactored some tag code bits while reviewing.
- Updated tag design in search listing to be more subtle.
- Moved tags out of entity-list-item-basic template and instead moved
them into entity-list-item, below the existing content.
- Tweaked existing tag colors a little.
- Changed tag icon to be more tag-like.
- Added tag-on-search test case.
Review of #2487, Related to #2462
Allows someone using the theme system to configure the social driver
before a redirect action occurs, by passing a callback as an additional
param to the theme 'addSocialDriver' method.
To ensure thhat the visibility is still set on local storage options
since the previous recent changes could cause problems where in
scenarios where the server user could not read images uploaded by the
php process user.
Closes#2758
- Also removed some old view service references.
- Updated TopFavourites query to be based on favourites table and join
in the views instead of the other way around, so that favourites still
show even if they have no views.
- Removed old view system and started use of new query classes instead.
- Finished off RelationMultiModelQuery but found it was less efficient
than x-many queries due to the amount of tables being scanned.
Adding now for history but will delete as not used.
- Updated recently viewed to use same query system as popular items
rather than running and joining x-entities queries.
- Added "Most Viewed Faviourites" listing to homepages.
Phasing out the view service from being a generic 'service' class,
moving the core create/delete methods into the model.
The idea is that the existing query work will need to interlink
with the favourite system so maybe we have a (or many composable)
query building classes rather than mixing query building and
create/delete work as per the old service.
* New translations entities.php (Dutch)
* New translations components.php (Italian)
* New translations entities.php (Italian)
* New translations entities.php (Italian)
* New translations errors.php (Italian)
* New translations passwords.php (Italian)
* New translations settings.php (Italian)
* New translations validation.php (Italian)
* New translations settings.php (Italian)
* New translations settings.php (Italian)
* New translations common.php (Indonesian)
* New translations settings.php (Italian)
* New translations settings.php (Italian)
* New translations settings.php (Italian)
* New translations settings.php (Italian)
* New translations settings.php (Italian)
* New translations common.php (Portuguese)
* New translations common.php (Arabic)
* New translations common.php (Arabic)
* New translations entities.php (Arabic)
* New translations entities.php (Arabic)
* New translations settings.php (Italian)
They'd rather keep pushing their 2007 era strange form control styles
even though they're horribly outdated, ugly and hard to style. The
only way to override is a full nuking of the default styles, which means
we have to then implement the frigging arrow icon using hacks which would
then conflict with all other sensible browsers so we have to nuke their
styles aswell to ensure some stupid backgroud hack is used everywhere.
I bet apple don't even use their shite default control styles and nuke
them also, Lets see. Yup, First thing I see on the top of their homepage
is a locale select dropdown custom built from about 10 HTML elements. FML
For #2709
Only used an undo transaction on startup and added a small delay
to codeMirror parsing on SetContent's to help avoid
the rendering activities getting caught in undoManager states.
Seemed to improve things a lot in Firefox & chrome on my dev machine.
For #2602
Intended to fix issues raised in #2681.
Changes up the tri-layout tabs, and the main header menu toggle,
to be buttons while adding better text and keyboard controls.
Updated the component format of a few elements along the way.
- Commands that run a truncate DB action failed due to messing up the
test transations so we mnaully work around that now to ensure a
transaction exists for the test to cleanup afterwards.
- Updated dompdf lib version
Squash of:
commit 6b7d305e776dcec2103b9e4486f3c57c674d046f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:25:43 2021 +0000
Updated migrations action and added ldap
commit 139d87687d3d4d6c2368adb522932469419c848a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:18:55 2021 +0000
Updated mysql user auth
commit 326d11e0d3b96bfb2e6ba446ada9cee479d3eb1a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:15:33 2021 +0000
Moved extensions to right place
commit aaa1e159ccbf535292615e094bb58ce6488726df
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:13:22 2021 +0000
Added php extensions
commit 3720324288c974d825ff2a63306a5fbf1c0478ab
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:07:37 2021 +0000
Update gh ci branches list for testing
commit 4e3a302a5a4480b45d967f398abbe33883b6d0fb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Mar 7 16:06:19 2021 +0000
Updated github ci to use ubuntu 20.04
Also allowed config-centralised default user settings for this change
and bought existing user-level view options into that default settings
system to be cleaner in code usage.
For #2081
- Moved the ldap function out to our separate service for easier
testing.
- Added testing for the option.
- Moved tls_insecure part back up above connection start as found more
reliable there.
Done a lot of real-connection testing during this review.
Used wireshare to ensure TLS connection does take place.
Found LDAP_TLS_INSECURE=false can action unreliably, restarting php-fpm
helped.
Tested both trusted and untrusted certificates.
Also ensured revisions were not created more often than expected.
Summary field null check was triggering revision save even when empty
since it was still in request.
Related to #1846
- "supprimer" is a better translation than "écarter" for "discard"
- "actuel" is a better translation than "courant" for "current"
- "modifications" is a better translation than "changements" for change
- "journal des modifications" is a better translation than "journal des changements" for changelog
- The button "Remplir le journal des changements" for pages_edit_set_changelog caused a wrapping in the header, it is replaced by "Décrivez vos modifications"
Brings down total editor load time from about 11s to 7s from testing in
4x reduced CPU speed in chrome.
About 1.5 seconds of that is editor init/page load.
Post editor-init/page-load time is now 60% of previous from testing.
Related to #2518
This creates another mysql_testing database during db service setup
Replace server with env tags in phpunit.xml in order to force
override certain parameters when tests are run. See:
https://github.com/sebastianbergmann/phpunit/issues/2353 for more
information.
Rename primary developer Docker database from bookstack-test to
bookstack-dev. bookstack-test is used as the mysql_testing database
Fixes the following error:
glob error:
[Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/root/.npm/_logs'
}
On Linux, these lines ensure file ownership is set to your host
user/group
Made so footer link ordering, names and urls can be set.
Cleaned up some of the setting-service and added support for array
setting types, which are cleaned on entry and stored as json with a new
type indicator column on the settings table for auto-decode.
Also added testing to cover this feature.
Related to #1973 and #854
So that DB/User access is not explicitly enforced.
Same for GlobalViewData middleware although that was also just doubling
up on ways to access user/auth info.
Also cleaned up Localization Middleware doc blocks.
* New translations settings.php (Turkish)
* New translations entities.php (Turkish)
* New translations settings.php (Turkish)
* New translations activities.php (Turkish)
* New translations validation.php (Turkish)
This permission was still checking based on created-by.
Updated testing to specifically check the owner since the tests
were passing by the fact of matching creator and owner.
Fixes#2445
HTML content was still saved.
This changes makes the back-end check for md content
instead of html to ensure that gets stored in cases
where both are sent to the system.
Closes#2446
- Fixed page editor default focus not working as expected due to
misnamed attribute.
- Added owned_by to relevant areas of the API including the docs.
- Made book relation on page accessible even if deleted since it could cause an issue on views, such as audit trail, when the relation is accessed when the book is deleted.
- Updated audit table so long entity names did not squish everything
else.
- Added filtering to view service popular list so that recycle binned
items did not cause issues.
commit f35d815ba0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:54 2021 +0000
New translations entities.php (Norwegian Bokmal)
commit 2aba672219
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:52 2021 +0000
New translations entities.php (French)
commit 323ff9f0ef
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:51 2021 +0000
New translations entities.php (Spanish)
commit c795e8649b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:49 2021 +0000
New translations entities.php (Arabic)
commit 161011cf20
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:47 2021 +0000
New translations entities.php (Bulgarian)
commit 7780f0a7e7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:46 2021 +0000
New translations entities.php (Czech)
commit f145e78456
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:44 2021 +0000
New translations entities.php (Danish)
commit 35ed2f7dda
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:42 2021 +0000
New translations entities.php (German)
commit 0c645d0905
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:40 2021 +0000
New translations entities.php (Hebrew)
commit c890484cc5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:38 2021 +0000
New translations entities.php (Hungarian)
commit fab4a03ee7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:36 2021 +0000
New translations entities.php (Italian)
commit a2aca03833
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:34 2021 +0000
New translations entities.php (Japanese)
commit a61d59818d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:33 2021 +0000
New translations entities.php (Korean)
commit 8a684d1825
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:31 2021 +0000
New translations entities.php (Swedish)
commit ae1c43871c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:29 2021 +0000
New translations entities.php (Dutch)
commit 61534ed8d1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:27 2021 +0000
New translations entities.php (Russian)
commit ca80c63af0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:25 2021 +0000
New translations entities.php (Slovak)
commit f1e75d4a8d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:24 2021 +0000
New translations entities.php (Slovenian)
commit 88b261ef48
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:22 2021 +0000
New translations entities.php (Turkish)
commit c9f085743b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:20 2021 +0000
New translations entities.php (Ukrainian)
commit d3a36e2f2d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:18 2021 +0000
New translations entities.php (Chinese Simplified)
commit a4bad00370
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:16 2021 +0000
New translations entities.php (Chinese Traditional)
commit f20ad5ac7c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:14 2021 +0000
New translations entities.php (Vietnamese)
commit 7c3e053567
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:12 2021 +0000
New translations entities.php (Portuguese, Brazilian)
commit 5d6ff41061
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:11 2021 +0000
New translations entities.php (Spanish, Argentina)
commit e20bf841ad
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:09 2021 +0000
New translations entities.php (German Informal)
commit bb1cb02b40
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:49:07 2021 +0000
New translations entities.php (Polish)
commit d0e713c27e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:09:05 2021 +0000
New translations validation.php (German Informal)
commit b9510b3ff1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:08:43 2021 +0000
New translations activities.php (German Informal)
commit 2e218cc6ea
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:08:42 2021 +0000
New translations activities.php (Norwegian Bokmal)
commit 34eff6404e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:08:40 2021 +0000
New translations activities.php (Spanish, Argentina)
commit ae11ceea66
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:08:28 2021 +0000
New translations common.php (Norwegian Bokmal)
commit 33dd5743e9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:08:02 2021 +0000
New translations auth.php (Norwegian Bokmal)
commit 370ce5a4f1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:56 2021 +0000
New translations settings.php (Polish)
commit 3b2cf032e6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:53 2021 +0000
New translations settings.php (Dutch)
commit 1e340dfcbd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:51 2021 +0000
New translations settings.php (Korean)
commit d3b777db76
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:48 2021 +0000
New translations settings.php (Japanese)
commit 2053eb7415
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:45 2021 +0000
New translations settings.php (Italian)
commit e26cf93b3c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:43 2021 +0000
New translations settings.php (Hungarian)
commit 8beeb843fd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:40 2021 +0000
New translations settings.php (Hebrew)
commit e39753711a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:38 2021 +0000
New translations settings.php (Russian)
commit d04c910dde
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:35 2021 +0000
New translations settings.php (Danish)
commit ff07b618d4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:32 2021 +0000
New translations settings.php (Czech)
commit d9e32ace61
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:29 2021 +0000
New translations settings.php (Bulgarian)
commit 75b53ddc4a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:26 2021 +0000
New translations settings.php (Arabic)
commit a04eaf2c65
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:21 2021 +0000
New translations settings.php (Swedish)
commit 7245c1f2bd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:20 2021 +0000
New translations settings.php (Spanish)
commit 030d146f1d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:18 2021 +0000
New translations settings.php (French)
commit 717807791a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:07:16 2021 +0000
New translations settings.php (German)
commit abc29948b4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:59 2021 +0000
New translations settings.php (Slovak)
commit 35a59233cf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:57 2021 +0000
New translations settings.php (German Informal)
commit 06105a7b88
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:55 2021 +0000
New translations settings.php (Spanish, Argentina)
commit eb0ac00cdd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:53 2021 +0000
New translations entities.php (Spanish, Argentina)
commit 1592c098f2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:52 2021 +0000
New translations settings.php (Portuguese, Brazilian)
commit 37e6ae7e0a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:49 2021 +0000
New translations settings.php (Vietnamese)
commit 19bdcaaeb6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:46 2021 +0000
New translations settings.php (Chinese Traditional)
commit d26318342b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:42 2021 +0000
New translations settings.php (Ukrainian)
commit fd9e377d34
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:40 2021 +0000
New translations settings.php (Turkish)
commit a5824bd615
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:37 2021 +0000
New translations settings.php (Slovenian)
commit b3f025561d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:13 2021 +0000
New translations pagination.php (Norwegian Bokmal)
commit 76a6fb78bf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:06:00 2021 +0000
New translations validation.php (Norwegian Bokmal)
commit d2f674dfc9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:05:58 2021 +0000
New translations validation.php (Spanish, Argentina)
commit 0a5fd95c44
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:05:34 2021 +0000
New translations settings.php (Norwegian Bokmal)
commit 669788bbe5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:05:31 2021 +0000
New translations passwords.php (Norwegian Bokmal)
commit e9defbba8e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:05:16 2021 +0000
New translations entities.php (Norwegian Bokmal)
commit 04d1e118d4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:05:14 2021 +0000
New translations components.php (Norwegian Bokmal)
commit 93b79e5569
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:04:35 2021 +0000
New translations errors.php (Norwegian Bokmal)
commit e1076d658d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 16:04:19 2021 +0000
New translations settings.php (Chinese Simplified)
commit 9ca08f1913
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 01:03:29 2021 +0000
New translations entities.php (Spanish)
commit ace8cec1bc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 01:03:28 2021 +0000
New translations settings.php (Spanish)
commit ad0090aa45
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:33:00 2021 +0000
New translations settings.php (German Informal)
commit d5d335352a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:58 2021 +0000
New translations settings.php (Japanese)
commit 3054a9e421
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:56 2021 +0000
New translations entities.php (Japanese)
commit e408360838
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:54 2021 +0000
New translations settings.php (Italian)
commit 119b620af8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:52 2021 +0000
New translations entities.php (Italian)
commit 72a89d7852
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:50 2021 +0000
New translations settings.php (Hungarian)
commit cc941b8ac9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:49 2021 +0000
New translations entities.php (Hungarian)
commit d9ec1bb0b0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:47 2021 +0000
New translations settings.php (Hebrew)
commit a67d6b8eef
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:45 2021 +0000
New translations entities.php (Hebrew)
commit 91e8a24268
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:43 2021 +0000
New translations settings.php (German)
commit 1cf6d211fa
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:41 2021 +0000
New translations entities.php (German)
commit 23939bdb9b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:39 2021 +0000
New translations settings.php (Danish)
commit 349946b2ba
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:37 2021 +0000
New translations entities.php (Korean)
commit 611623eb45
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:36 2021 +0000
New translations entities.php (Danish)
commit b10bd60e4d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:34 2021 +0000
New translations entities.php (Czech)
commit 58e9cad253
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:32 2021 +0000
New translations settings.php (Bulgarian)
commit e239d61c23
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:30 2021 +0000
New translations entities.php (Bulgarian)
commit 8593e7c0bf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:28 2021 +0000
New translations settings.php (Arabic)
commit af4aefb89b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:26 2021 +0000
New translations entities.php (Arabic)
commit 143d046ef0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:24 2021 +0000
New translations entities.php (Spanish)
commit bdd8d189c3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:22 2021 +0000
New translations entities.php (French)
commit ec761325e7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:20 2021 +0000
New translations settings.php (Swedish)
commit c0ae3b5b51
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:19 2021 +0000
New translations settings.php (Spanish)
commit 27092813cd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:17 2021 +0000
New translations settings.php (French)
commit b5fde40cf5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:15 2021 +0000
New translations settings.php (Czech)
commit 7aabc8cc94
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:13 2021 +0000
New translations entities.php (Swedish)
commit ceb4fd2aa4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:11 2021 +0000
New translations settings.php (Korean)
commit d764b5741c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:09 2021 +0000
New translations settings.php (Dutch)
commit 3e3884360b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:07 2021 +0000
New translations entities.php (German Informal)
commit 9f4f7f9368
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:05 2021 +0000
New translations settings.php (Spanish, Argentina)
commit 7ac467b28b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:03 2021 +0000
New translations entities.php (Spanish, Argentina)
commit 169574ac42
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:01 2021 +0000
New translations settings.php (Portuguese, Brazilian)
commit d49813b13e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:32:00 2021 +0000
New translations entities.php (Portuguese, Brazilian)
commit 5bb7221fa0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:58 2021 +0000
New translations settings.php (Vietnamese)
commit 2cb435970f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:56 2021 +0000
New translations entities.php (Vietnamese)
commit f1a2dd5b8b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:54 2021 +0000
New translations settings.php (Chinese Traditional)
commit c7991782a2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:52 2021 +0000
New translations entities.php (Chinese Traditional)
commit f85f71beca
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:50 2021 +0000
New translations entities.php (Chinese Simplified)
commit 8131a4908d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:49 2021 +0000
New translations entities.php (Dutch)
commit 3b0d5d2124
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:47 2021 +0000
New translations settings.php (Ukrainian)
commit 178419208a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:45 2021 +0000
New translations settings.php (Turkish)
commit 88d6750971
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:43 2021 +0000
New translations entities.php (Turkish)
commit 8ca6a95407
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:41 2021 +0000
New translations settings.php (Slovenian)
commit 0effb9b150
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:39 2021 +0000
New translations entities.php (Slovenian)
commit 85859fd58c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:37 2021 +0000
New translations settings.php (Slovak)
commit 1f2db3f4f0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:35 2021 +0000
New translations entities.php (Slovak)
commit d677c4020f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:34 2021 +0000
New translations settings.php (Russian)
commit 9cecf56ef3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:32 2021 +0000
New translations entities.php (Russian)
commit fd58ed477e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:30 2021 +0000
New translations settings.php (Polish)
commit 2e358289b6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:28 2021 +0000
New translations entities.php (Polish)
commit 83a57c4b1d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:26 2021 +0000
New translations entities.php (Ukrainian)
commit 8d819bac39
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Jan 2 00:31:24 2021 +0000
New translations settings.php (Chinese Simplified)
commit 77bf64160c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 22 07:39:40 2020 +0000
New translations settings.php (Chinese Simplified)
commit 24df157734
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 21 17:11:43 2020 +0000
New translations settings.php (French)
commit 28cde11dc2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 21 13:12:33 2020 +0000
New translations settings.php (Swedish)
commit 630174f8e4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 21 13:12:31 2020 +0000
New translations entities.php (Swedish)
commit a40fc2203b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Dec 19 01:26:57 2020 +0000
New translations settings.php (Spanish)
commit abbdb233c4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:08:01 2020 +0000
New translations settings.php (German Informal)
commit f7a8cae968
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:59 2020 +0000
New translations settings.php (German)
commit e793fe8929
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:58 2020 +0000
New translations settings.php (French)
commit f1efd0f559
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:56 2020 +0000
New translations settings.php (Spanish)
commit 6fbec6be40
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:54 2020 +0000
New translations settings.php (Bulgarian)
commit 708f5b1158
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:52 2020 +0000
New translations settings.php (Czech)
commit 7c978c5822
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:50 2020 +0000
New translations settings.php (Danish)
commit 875138d217
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:48 2020 +0000
New translations settings.php (Hebrew)
commit ba24274078
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:46 2020 +0000
New translations settings.php (Hungarian)
commit bd5fdbe981
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:45 2020 +0000
New translations settings.php (Italian)
commit 62d71a20d7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:43 2020 +0000
New translations settings.php (Japanese)
commit a83f9bccb4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:41 2020 +0000
New translations settings.php (Korean)
commit 306a18aa87
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:39 2020 +0000
New translations settings.php (Chinese Simplified)
commit 75724a14f2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:37 2020 +0000
New translations settings.php (Dutch)
commit b21ba5e3b7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:35 2020 +0000
New translations settings.php (Russian)
commit c292ef1389
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:33 2020 +0000
New translations settings.php (Slovak)
commit f0dd37d476
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:32 2020 +0000
New translations settings.php (Slovenian)
commit 0ffeadb959
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:30 2020 +0000
New translations settings.php (Swedish)
commit 9dfd89120d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:28 2020 +0000
New translations settings.php (Turkish)
commit f90d1056eb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:26 2020 +0000
New translations settings.php (Ukrainian)
commit 064222468a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:24 2020 +0000
New translations settings.php (Chinese Traditional)
commit 9dd05cc3e8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:22 2020 +0000
New translations settings.php (Vietnamese)
commit 70867261f0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:20 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit ff0c8151d0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:19 2020 +0000
New translations settings.php (Spanish, Argentina)
commit 53658cada6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:16 2020 +0000
New translations settings.php (Polish)
commit 223c4005ae
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 23:07:15 2020 +0000
New translations settings.php (Arabic)
commit 503f166cc1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 18 17:09:41 2020 +0000
New translations entities.php (Chinese Simplified)
commit 401ecbb930
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 14:08:21 2020 +0000
New translations validation.php (German)
commit de0d58658a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 14:08:19 2020 +0000
New translations settings.php (German)
commit 32b7036405
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 13:27:48 2020 +0000
New translations settings.php (German)
commit 212f1f7639
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 13:27:46 2020 +0000
New translations activities.php (German)
commit 853162082b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 13:27:44 2020 +0000
New translations entities.php (German)
commit 9c72dc7a5e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 12:55:26 2020 +0000
New translations activities.php (German)
commit 261f71a6f4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 07:52:54 2020 +0000
New translations entities.php (Spanish)
commit e2d5ba8ff5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 07:52:52 2020 +0000
New translations entities.php (French)
commit 8ec28c59b2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:49:08 2020 +0000
New translations entities.php (German Informal)
commit dc8aec2b94
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:49:06 2020 +0000
New translations entities.php (Spanish)
commit baa0cb24a3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:49:04 2020 +0000
New translations entities.php (Bulgarian)
commit 4c312d5d5b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:49:02 2020 +0000
New translations entities.php (Czech)
commit e8c06380c6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:49:00 2020 +0000
New translations entities.php (Danish)
commit 79844ed95c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:58 2020 +0000
New translations entities.php (German)
commit f6177c301d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:56 2020 +0000
New translations entities.php (Hebrew)
commit bc0d5cc853
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:54 2020 +0000
New translations entities.php (Hungarian)
commit dfbeb4415f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:52 2020 +0000
New translations entities.php (Italian)
commit 851ab730fb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:50 2020 +0000
New translations entities.php (Japanese)
commit a5cc758017
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:48 2020 +0000
New translations entities.php (Korean)
commit 94e8b1fc0f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:46 2020 +0000
New translations entities.php (Dutch)
commit 5ad322e822
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:44 2020 +0000
New translations entities.php (French)
commit 69e709254e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:42 2020 +0000
New translations entities.php (Polish)
commit a54d3ad498
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:41 2020 +0000
New translations entities.php (Slovak)
commit 9e5ec3e252
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:39 2020 +0000
New translations entities.php (Slovenian)
commit 6fa88c13b7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:37 2020 +0000
New translations entities.php (Swedish)
commit 40528d97b2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:35 2020 +0000
New translations entities.php (Turkish)
commit 93303e6a13
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:33 2020 +0000
New translations entities.php (Ukrainian)
commit fe9b70ced1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:31 2020 +0000
New translations entities.php (Chinese Simplified)
commit 4e34047747
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:29 2020 +0000
New translations entities.php (Chinese Traditional)
commit 71e8f850dc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:28 2020 +0000
New translations entities.php (Vietnamese)
commit 9cb1542f0b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:26 2020 +0000
New translations entities.php (Portuguese, Brazilian)
commit 35658ff827
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:24 2020 +0000
New translations entities.php (Spanish, Argentina)
commit 6f75d1d972
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:22 2020 +0000
New translations entities.php (Russian)
commit acf2ae03f3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 17 02:48:20 2020 +0000
New translations entities.php (Arabic)
commit c2f1e0d474
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 15 10:49:10 2020 +0000
New translations settings.php (Chinese Simplified)
commit ef64a956d2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 15 10:22:49 2020 +0000
New translations settings.php (Chinese Simplified)
commit c14a1fe8db
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 19:49:01 2020 +0000
New translations validation.php (Arabic)
commit 73df1e1b88
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 19:21:05 2020 +0000
New translations validation.php (Arabic)
commit 231ccc8494
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 18:52:38 2020 +0000
New translations validation.php (Arabic)
commit 9f4039ad01
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 18:09:41 2020 +0000
New translations validation.php (Arabic)
commit c011045d5e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 17:31:18 2020 +0000
New translations settings.php (Arabic)
commit b3e6888e31
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 17:01:37 2020 +0000
New translations settings.php (Arabic)
commit eaf13fb98d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 15:11:11 2020 +0000
New translations settings.php (Arabic)
commit 3f8585b81f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 14:31:37 2020 +0000
New translations settings.php (Arabic)
commit 84467849bf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 14:02:31 2020 +0000
New translations settings.php (Arabic)
commit 185747b5e7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 13:34:36 2020 +0000
New translations settings.php (Arabic)
commit 63201489d3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 13:06:27 2020 +0000
New translations settings.php (Arabic)
commit f71d784ca5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 12:27:39 2020 +0000
New translations settings.php (Arabic)
commit 188670ee9a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Dec 8 11:55:04 2020 +0000
New translations settings.php (Arabic)
commit 8674b284e9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 22:59:30 2020 +0000
New translations settings.php (Arabic)
commit 1589910fa4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 22:31:22 2020 +0000
New translations settings.php (Arabic)
commit bc99709e51
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 21:56:46 2020 +0000
New translations passwords.php (Arabic)
commit c5e89e997c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 21:56:44 2020 +0000
New translations errors.php (Arabic)
commit 7a33938d5f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 21:56:42 2020 +0000
New translations settings.php (Arabic)
commit 30de30d4bf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 21:28:31 2020 +0000
New translations errors.php (Arabic)
commit b4e028dc51
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 20:29:51 2020 +0000
New translations entities.php (Arabic)
commit d6e056b0ad
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 20:29:49 2020 +0000
New translations errors.php (Arabic)
commit 4edb96f2bb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 19:59:59 2020 +0000
New translations entities.php (Arabic)
commit c51cdf2936
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 19:33:28 2020 +0000
New translations entities.php (Arabic)
commit afb058d36d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 18:57:54 2020 +0000
New translations entities.php (Arabic)
commit 3b96a6d06b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 18:29:05 2020 +0000
New translations entities.php (Arabic)
commit 874a40da76
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 17:53:03 2020 +0000
New translations entities.php (Arabic)
commit e1c7f7e6a3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 17:19:51 2020 +0000
New translations entities.php (Arabic)
commit 1e921679c2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 16:40:54 2020 +0000
New translations entities.php (Arabic)
commit ffcfe54d65
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:56:17 2020 +0000
New translations components.php (Arabic)
commit cb73a23985
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:56:15 2020 +0000
New translations common.php (Arabic)
commit 8695dfe078
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:20:19 2020 +0000
New translations validation.php (Chinese Simplified)
commit 671f9ec07b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:20:18 2020 +0000
New translations activities.php (Chinese Simplified)
commit d9072286d7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:20:16 2020 +0000
New translations common.php (Arabic)
commit 8d4c07decc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 14:20:14 2020 +0000
New translations settings.php (Chinese Simplified)
commit 9f44955b55
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Dec 7 13:47:48 2020 +0000
New translations settings.php (Chinese Simplified)
commit fe2914d07b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Dec 5 18:36:25 2020 +0000
New translations auth.php (Arabic)
commit f9bf9da8bb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Dec 5 05:59:40 2020 +0000
New translations settings.php (Chinese Simplified)
commit 2d3ee7ceaf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Dec 4 02:28:44 2020 +0000
New translations errors.php (Arabic)
commit 49359be73e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 3 20:27:57 2020 +0000
New translations common.php (Arabic)
commit 97df834566
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 3 20:27:56 2020 +0000
New translations auth.php (Arabic)
commit 73e5cbf8ab
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 3 20:27:54 2020 +0000
New translations activities.php (Arabic)
commit 248e70dfc6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Dec 3 19:58:00 2020 +0000
New translations settings.php (Arabic)
commit b616c03db6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Nov 30 20:29:48 2020 +0000
New translations auth.php (Slovak)
commit c7978833a9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Nov 30 20:29:46 2020 +0000
New translations activities.php (Slovak)
commit 589d4ea407
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Mon Nov 30 20:01:41 2020 +0000
New translations activities.php (Slovak)
commit 4ae7e4f1cd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 23:48:32 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit 9b60eb7e6b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 23:18:00 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit c02c0fc237
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 20:20:52 2020 +0000
New translations auth.php (Slovenian)
commit bb742db8eb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 19:54:55 2020 +0000
New translations validation.php (Slovenian)
commit 159d4367ef
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 14:06:49 2020 +0000
New translations validation.php (Swedish)
commit 1c95c87981
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 14:06:47 2020 +0000
New translations activities.php (Swedish)
commit 4d869414d5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 14:06:45 2020 +0000
New translations settings.php (Swedish)
commit 3fbefead8f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 09:52:12 2020 +0000
New translations settings.php (Slovenian)
commit 57170d5af7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 09:07:31 2020 +0000
New translations settings.php (Slovenian)
commit 62ec0fc156
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:40:38 2020 +0000
New translations passwords.php (Slovenian)
commit 9133bd129b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:40:36 2020 +0000
New translations pagination.php (Slovenian)
commit fde76e7eb8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:40:34 2020 +0000
New translations errors.php (Slovenian)
commit 321e495024
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:40:31 2020 +0000
New translations settings.php (Slovenian)
commit d982458c90
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:11:18 2020 +0000
New translations errors.php (Slovenian)
commit 8fc4571743
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 08:11:16 2020 +0000
New translations entities.php (Slovenian)
commit 0a83121214
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 07:16:09 2020 +0000
New translations entities.php (Slovenian)
commit ff4a76a102
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 06:49:09 2020 +0000
New translations entities.php (Slovenian)
commit a0d254e0a6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 06:18:19 2020 +0000
New translations entities.php (Slovenian)
commit c57b8348e8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 05:38:04 2020 +0000
New translations components.php (Slovenian)
commit 8fe04e76be
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 05:38:02 2020 +0000
New translations common.php (Slovenian)
commit 39e92b0e0d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 05:07:51 2020 +0000
New translations common.php (Slovenian)
commit ea76a7ebd8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 05:07:50 2020 +0000
New translations activities.php (Slovenian)
commit 8f710f8b8a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 26 04:37:47 2020 +0000
New translations activities.php (Slovenian)
commit ffdd1e213d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 22 12:09:18 2020 +0000
New translations activities.php (French)
commit 9e2f0e9c87
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 22 12:09:16 2020 +0000
New translations settings.php (French)
commit 4faacad5ac
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:56:47 2020 +0000
New translations activities.php (Spanish)
commit ae555d65e8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:56:45 2020 +0000
New translations settings.php (Spanish)
commit 19929c893d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:35 2020 +0000
New translations activities.php (German Informal)
commit 72ab8cc461
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:33 2020 +0000
New translations settings.php (Spanish, Argentina)
commit e3da50c52d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:31 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit 1594fec763
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:30 2020 +0000
New translations settings.php (Vietnamese)
commit b220afcbcb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:28 2020 +0000
New translations settings.php (Chinese Traditional)
commit 18ed9ecf20
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:26 2020 +0000
New translations settings.php (Chinese Simplified)
commit 8f336c444c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:25 2020 +0000
New translations settings.php (Ukrainian)
commit d84e61e02e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:23 2020 +0000
New translations settings.php (Turkish)
commit 3c410a9121
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:21 2020 +0000
New translations settings.php (Slovenian)
commit ab37f7a9fd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:19 2020 +0000
New translations settings.php (Slovak)
commit 432a1a8090
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:18 2020 +0000
New translations settings.php (Russian)
commit 5a65dfabaf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:16 2020 +0000
New translations settings.php (Polish)
commit 7b731a19d5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:14 2020 +0000
New translations settings.php (German Informal)
commit 90ba8bf7b9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:12 2020 +0000
New translations settings.php (Dutch)
commit 8eb94f8faf
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:10 2020 +0000
New translations settings.php (Japanese)
commit 5c4f07f5ef
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:09 2020 +0000
New translations settings.php (Italian)
commit 892c2b6648
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:07 2020 +0000
New translations settings.php (Hungarian)
commit 746924a3d9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:05 2020 +0000
New translations settings.php (Hebrew)
commit 3a3fcb8af2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:03 2020 +0000
New translations settings.php (German)
commit 6263182593
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:02 2020 +0000
New translations settings.php (Danish)
commit fbd52a81c6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:18:00 2020 +0000
New translations settings.php (Czech)
commit bf2a2cddf2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:58 2020 +0000
New translations settings.php (Bulgarian)
commit f87af24738
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:56 2020 +0000
New translations settings.php (Arabic)
commit e4e7930702
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:55 2020 +0000
New translations settings.php (Spanish)
commit 1e74a74d18
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:53 2020 +0000
New translations settings.php (Korean)
commit eeb0c0cd25
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:51 2020 +0000
New translations settings.php (French)
commit 16ce659aa7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:49 2020 +0000
New translations activities.php (French)
commit 6bdda1c8b0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:47 2020 +0000
New translations activities.php (Arabic)
commit 3bf57e068f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:46 2020 +0000
New translations activities.php (Spanish, Argentina)
commit 29b767c487
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:44 2020 +0000
New translations activities.php (Portuguese, Brazilian)
commit 1a5223a346
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:43 2020 +0000
New translations activities.php (Vietnamese)
commit 431eb55781
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:41 2020 +0000
New translations activities.php (Chinese Traditional)
commit 510cc653fe
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:39 2020 +0000
New translations activities.php (Chinese Simplified)
commit 2270e5a0d4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:38 2020 +0000
New translations activities.php (Ukrainian)
commit 89d4410062
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:36 2020 +0000
New translations activities.php (Turkish)
commit 021ac828b2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:34 2020 +0000
New translations activities.php (Swedish)
commit 3d23b3f0c9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:33 2020 +0000
New translations activities.php (Slovenian)
commit 8504d11fc7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:31 2020 +0000
New translations activities.php (Slovak)
commit a81b167efd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:30 2020 +0000
New translations activities.php (Spanish)
commit bec7efca48
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:28 2020 +0000
New translations activities.php (Russian)
commit 45ca2fd453
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:26 2020 +0000
New translations activities.php (Dutch)
commit e30a3eb6a8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:25 2020 +0000
New translations activities.php (Korean)
commit 35476844f6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:23 2020 +0000
New translations activities.php (Japanese)
commit d6e3e61a63
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:22 2020 +0000
New translations activities.php (Italian)
commit 3a80e68289
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:20 2020 +0000
New translations activities.php (Hungarian)
commit 1b3efcdb62
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:18 2020 +0000
New translations activities.php (Hebrew)
commit 59fcf3c4eb
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:17 2020 +0000
New translations activities.php (German)
commit 8e838d09bc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:15 2020 +0000
New translations activities.php (Danish)
commit 67a43a5ba3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:13 2020 +0000
New translations activities.php (Czech)
commit cb166b1980
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:12 2020 +0000
New translations activities.php (Bulgarian)
commit 5c86cc3dfc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:10 2020 +0000
New translations activities.php (Polish)
commit 0a9d90ef69
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 21 16:17:09 2020 +0000
New translations settings.php (Swedish)
commit d57f402a00
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 06:09:10 2020 +0000
New translations errors.php (Vietnamese)
commit 71ce4bfd1f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 06:09:08 2020 +0000
New translations settings.php (Vietnamese)
commit 95adbaa0a9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:57 2020 +0000
New translations validation.php (Vietnamese)
commit 23f1e2b763
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:55 2020 +0000
New translations passwords.php (Vietnamese)
commit efee1392d2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:53 2020 +0000
New translations entities.php (Vietnamese)
commit 8154f8648d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:52 2020 +0000
New translations components.php (Vietnamese)
commit 5632f64d80
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:50 2020 +0000
New translations common.php (Vietnamese)
commit 051c0b7896
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 19 05:39:48 2020 +0000
New translations auth.php (Vietnamese)
commit 14b125d325
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Nov 17 02:37:49 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit ee9692e65d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Nov 17 01:58:45 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit df140ca216
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 15 09:19:28 2020 +0000
New translations settings.php (French)
commit ee691853dc
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 15 08:47:39 2020 +0000
New translations entities.php (French)
commit cc22bcf166
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 12 11:39:15 2020 +0000
New translations entities.php (Hungarian)
commit a0f21aeebd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 12 11:39:13 2020 +0000
New translations components.php (Hungarian)
commit 437cd823b8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 12 11:39:12 2020 +0000
New translations common.php (Hungarian)
commit 367ba587c7
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Nov 12 11:39:09 2020 +0000
New translations settings.php (Hungarian)
commit d656b9b982
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 8 21:58:02 2020 +0000
New translations settings.php (French)
commit f3ffe9b7c5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 8 21:27:30 2020 +0000
New translations settings.php (French)
commit cc9e48f3af
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 18:21:29 2020 +0000
New translations settings.php (Spanish)
commit cbb5aeaca4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 17:26:14 2020 +0000
New translations settings.php (Spanish)
commit addb0abc7c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:19:00 2020 +0000
New translations settings.php (German Informal)
commit d9912d7cda
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:58 2020 +0000
New translations settings.php (Spanish)
commit b72960c002
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:57 2020 +0000
New translations settings.php (Arabic)
commit 99248fdced
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:55 2020 +0000
New translations settings.php (Bulgarian)
commit 3ac52510ee
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:53 2020 +0000
New translations settings.php (Czech)
commit eea823faf3
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:51 2020 +0000
New translations settings.php (Danish)
commit feea7f8c55
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:50 2020 +0000
New translations settings.php (German)
commit 91a9441c60
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:48 2020 +0000
New translations settings.php (Hebrew)
commit ec8020e36d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:46 2020 +0000
New translations settings.php (Hungarian)
commit 0c4e394024
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:45 2020 +0000
New translations settings.php (Italian)
commit 3527571d92
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:43 2020 +0000
New translations settings.php (Japanese)
commit eaade5cf89
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:41 2020 +0000
New translations settings.php (Korean)
commit e6383352bd
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:39 2020 +0000
New translations settings.php (French)
commit ce2f779683
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:38 2020 +0000
New translations settings.php (Dutch)
commit 1ea58e2da1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:36 2020 +0000
New translations settings.php (Russian)
commit 399b765d6f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:34 2020 +0000
New translations settings.php (Slovak)
commit 1be992e9be
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:33 2020 +0000
New translations settings.php (Slovenian)
commit 9b54b832e9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:31 2020 +0000
New translations settings.php (Turkish)
commit a7df19eef9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:29 2020 +0000
New translations settings.php (Ukrainian)
commit 2210d9d1a6
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:28 2020 +0000
New translations settings.php (Chinese Simplified)
commit 72874dcfd4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:26 2020 +0000
New translations settings.php (Chinese Traditional)
commit b8d86a48ad
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:24 2020 +0000
New translations settings.php (Vietnamese)
commit 54848d0c48
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:23 2020 +0000
New translations settings.php (Portuguese, Brazilian)
commit 25cb81b85f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:21 2020 +0000
New translations settings.php (Spanish, Argentina)
commit 5d318c1281
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:19 2020 +0000
New translations settings.php (Polish)
commit b6aaba3496
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Nov 7 15:18:18 2020 +0000
New translations settings.php (Swedish)
commit 820959b7df
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue Nov 3 12:01:14 2020 +0000
New translations validation.php (Russian)
commit 2527970488
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sun Nov 1 18:36:50 2020 +0000
New translations validation.php (French)
commit d7edc4440d
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 18:08:28 2020 +0000
New translations validation.php (Spanish)
commit e91ffcb06f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:44 2020 +0000
New translations validation.php (German Informal)
commit 64d67bec66
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:42 2020 +0000
New translations validation.php (Arabic)
commit 387f20c865
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:41 2020 +0000
New translations validation.php (Bulgarian)
commit 73b59470c2
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:39 2020 +0000
New translations validation.php (Czech)
commit 12cec9b4c1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:38 2020 +0000
New translations validation.php (Danish)
commit 151c518683
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:36 2020 +0000
New translations validation.php (German)
commit 6b1beff616
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:34 2020 +0000
New translations validation.php (Hebrew)
commit 746c5f99fa
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:33 2020 +0000
New translations validation.php (Hungarian)
commit d295fbc104
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:31 2020 +0000
New translations validation.php (Italian)
commit ac828a6f92
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:30 2020 +0000
New translations validation.php (Japanese)
commit 5a58e1010b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:28 2020 +0000
New translations validation.php (Korean)
commit faeb298d66
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:27 2020 +0000
New translations validation.php (Dutch)
commit b6450b012c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:25 2020 +0000
New translations validation.php (Spanish)
commit 8bc8bf1dd4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:23 2020 +0000
New translations validation.php (Polish)
commit 7361e41ef9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:22 2020 +0000
New translations validation.php (Slovak)
commit 2994fd900c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:20 2020 +0000
New translations validation.php (Slovenian)
commit 00e3803591
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:18 2020 +0000
New translations validation.php (Swedish)
commit fb07b50ac0
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:17 2020 +0000
New translations validation.php (Turkish)
commit 35f9f42517
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:15 2020 +0000
New translations validation.php (Ukrainian)
commit 53c566289b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:14 2020 +0000
New translations validation.php (Chinese Simplified)
commit f404ed79f1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:12 2020 +0000
New translations validation.php (Chinese Traditional)
commit 0b91647b17
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:10 2020 +0000
New translations validation.php (Vietnamese)
commit 7f9be00e7f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:08 2020 +0000
New translations validation.php (Portuguese, Brazilian)
commit 7e343bdfd9
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:07 2020 +0000
New translations validation.php (Spanish, Argentina)
commit f2b5066533
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:05 2020 +0000
New translations validation.php (Russian)
commit bdc22b7a24
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Sat Oct 31 16:58:04 2020 +0000
New translations validation.php (French)
commit ac6cd8c80a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:25 2020 +0000
New translations settings.php (Swedish)
commit 72188ca92f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:24 2020 +0000
New translations passwords.php (Swedish)
commit 371ade8f33
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:22 2020 +0000
New translations entities.php (Swedish)
commit 0f69dafe97
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:21 2020 +0000
New translations components.php (Swedish)
commit 2a4607bb3f
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:19 2020 +0000
New translations common.php (Swedish)
commit 359c132354
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 30 10:51:17 2020 +0000
New translations auth.php (Swedish)
commit eb5f7b13da
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 23 18:22:40 2020 +0100
New translations settings.php (Ukrainian)
commit b844928ee1
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 23 17:51:17 2020 +0100
New translations settings.php (Ukrainian)
commit 06af684aa4
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 22:03:20 2020 +0100
New translations settings.php (Ukrainian)
commit 27e499efe8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 21:11:53 2020 +0100
New translations settings.php (Ukrainian)
commit 4994febc68
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 21:11:51 2020 +0100
New translations errors.php (Ukrainian)
commit de521b393b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 21:11:49 2020 +0100
New translations entities.php (Ukrainian)
commit 35cc7f933c
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 21:11:47 2020 +0100
New translations components.php (Ukrainian)
commit 04b2769fd5
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 21:11:46 2020 +0100
New translations common.php (Ukrainian)
commit 803c377b3b
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 13:31:18 2020 +0100
New translations entities.php (Spanish, Argentina)
commit 5701efa78e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 13:31:16 2020 +0100
New translations settings.php (Spanish, Argentina)
commit 11d85ebd71
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Thu Oct 22 13:04:52 2020 +0100
New translations settings.php (Spanish, Argentina)
commit 271a7e0683
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 15:50:10 2020 +0100
New translations settings.php (Chinese Simplified)
commit 7a4663fba8
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 14:18:38 2020 +0100
New translations components.php (Korean)
commit 32b439a829
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 14:18:36 2020 +0100
New translations settings.php (Korean)
commit 5c70727c11
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 13:42:10 2020 +0100
New translations settings.php (Korean)
commit 9d66a04a2e
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 13:42:09 2020 +0100
New translations entities.php (Korean)
commit 4fcc18cd5a
Author: Dan Brown <ssddanbrown@googlemail.com>
Date: Fri Oct 16 13:42:07 2020 +0100
New translations common.php (Korean)
Found during review of #2353, A revision would be stored before a
restore which would result with a duplicate revision and the new summary
would be assigned against the wrong content.
This change saves the revison after restore and adds test to check the
content and summary text.
Added iframe CSP headers with configuration via .env.
Updated session cookies to be lax by default, dynamically changing to
none when iframes configured to allow third-party control.
Updated cookie security to be auto-secure if a https APP_URL is set.
Related to #2427 and #2207.
Optimised permission fetching so that it won't initialise a bunch
of models for the role permissions and instead does a manual
query to get the data directly.
The content of pages made non-viewable to a user via permissions, within a visible parent, could be seen via the plaintext export option. Before v0.30.6 this would have applied only to scenarios where all pages within the chapter were made non-visible. In v0.30.6 this would make all pages within the chapter visible.
As per #2414
When book trees were generated, pages in chapters where ALL pages within
were not supposed to be visibile, would be visible due to the code
falling back on the raw relation which would not account for
permissions.
This has now been changed so that a custom 'visible_pages' attribute is set and used by any book tree structures, to ensure it does not fall back to the raw relation.
Added an extra test to cover.
For #2414
Removed some common functions from other entities.
Aligned implementation of getUrl()
Cleaned phpdocs and added typehinting.
Also extracted sibling search logic out of controller.
Tools seems to fit better since the classes were a bit of a mixed bunch
and did not always manage.
Also simplified the structure of the SlugGenerator class.
Also focused EntityContext on shelves and simplified to use session
helper.
- Removed old 'exposeTranslations' system to instead use new component
option system.
- Extracted validation rules into their own service provider.
- Cleaned up some formatting/comments in the repos.
Renamed some columns to be more generic and applicable.
Removed now redundant book_id column.
Allowed nullable entity morph columns for non-entity activity.
Ran tests and made required changes.
Repos are generally better since otherwise we end up duplicating
things between front-end and API.
Types moved to by CONST values within a class for better visibilty
of usage and listing of types.
Removed the custom init elements that we added in 2017 to
custom load the helpers file and instead load via composer.
Also removed laravel-microscope package due to not running due to
helpers file.
This filters out potentially malicious javascript: or data: uri's coming
through to be attached to attachments.
Added tests to cover.
Thanks to Yassine ABOUKIR (@yassineaboukir on twitter) for reporting this
vulnerability.
- Added comments to explain the use of the file.
- Added comments to advise that space/hash containing values would need
to be quoted.
Related to #2258
Cannot get working in chrome reliably due to conflicting handling of
events and drag+drop API. Getting attachment drop working breaks other
parts of TinyMCE.
Implementing current work as should still work for MD editor and within
FireFox.
Related to #1460
Updated config to change empty string to null since the empty string was
hitting an isset check which caused an empty string to be used instead
of the slo url as a backup option.
Closes#2002
Was accidentally skipped during previous updates. Will now be used on
saml, ldap & standard registration where required.
Uses session to know if the email was just sent and, if so, show the
confirmation route.
Was preventing any other registration actions from taking place such as
LDAP/SAML group sync. Email confirmation should be actioned by
middleware on post-registration redirect.
Added testing to cover.
Tested for LDAP, SAML and normal registration with email confirmation
required to ensure flows work as expected.
Fixes#2082
The 'name' field was really redundant and caused confusion in the
codebase, since the 'Display' name is often used and we have a
'system_name' for the admin and public role.
This fixes#2032, Where external auth group matching has confusing
behaviour as matching was done against the display_name, if no
external_auth field is set, but only roles with a match 'name' field
would be considered.
This also fixes and error where the role users migration, on role
delete, would not actually fire due to mis-matching http body keys.
Looks like this has been an issue from the start. Added some testing to
cover. Fixes#2211.
Also converted phpdoc to typehints in many areas of the reviewed code
during the above.
Removed auto_incrementing id and set a primary key of the [role_id,
entity_type, entity_id, action] instead since this table could recieve a
lot of activity, especially when permission regeneration was automated,
leading to very high auto_increment counts which could max out the
integer limit.
Also updated some RolesTest comment endpoints to align with
recent route changes.
Should fix#2091
- Updated comment routes to be simpler.
- Updated comments JS to align better with updated component system.
- Documented available global JS functions/services.
- Removed redundant controller method.
- Added window.$events helpers for validation messages and
success/error.
- Updated JS events system to not be class based for simplicity.
- Added window.trans_plural method to handle pluralisation/replacements
where you already have the translation string itself.
Fixes#1836
Direct links to the login pages for public instances could lead to a
redirect back to an external page upon login.
This adds a check to ensure the URL is a URL expected from the current
bookstack instance, or at least under the same domain.
Fixes#2073
- Added testing to cover.
- Linked logging into Laravel's monolog logging system and made log
channel configurable.
- Updated env var names to be specific to login access.
- Added extra locations as to where failed logins would be captured.
Related to #1881 and #728
Currently fighting between sortable and tinymce mechanisms which prevent
this working due to the different events stopping the drop event while
needing the dragover for cursor placement.
Due to causing content images to be rendered in unexpected ways.
- Also removed CSS filters from other image usage.
- Tweaked header CSS filtering to not be so aggressive.
- Forced WYSIWYG editor to be on its own layer since that would allow
massive larger performance increases in Safari, especially when using
dark mode.
Closes#2045.
Closes#2154.
- Created new dropzone component.
- Added standard component event system using custom DOM events.
- Added tabs component.
- Added ajax-delete-row component.
- Moved Code-editor from vue to component.
- Updated popup code so it background click only hides if the click
originated on the same background. Clicks within the popup will no
longer cause it to hide.
- Added session-level history tracking to code editor.
Moving sass out of webpack cleans the setup quite considerably and
brings a good speed improvement.
Made use of npm-run-all so the previous commands still run like before.
Added a document to try to define things.
Updated the loading so components are registed dynamically.
Added some standardised ways to reference other elems & define options
- Was found that the test was not testing the actual situation anyway.
- A work-around in the request creation, within testing, just happened
to result in the desired outcome.
For reference: https://github.com/laravel/framework/pull/32345
- Added testing to cover, which was more hassle than thought
since Laravel did not have built in log test helpers, so:
- Added Log testing helper.
Related to #2110
description:Request a new feature or idea to be added to BookStack
labels:[":hammer: Feature Request"]
body:
- type:textarea
id:description
attributes:
label:Describe the feature you'd like
description:Provide a clear description of the feature you'd like implemented in BookStack
validations:
required:true
- type:textarea
id:benefits
attributes:
label:Describe the benefits this would bring to existing BookStack users
description:|
Explain the measurable benefits this feature would achieve for existing BookStack users.
These benefits should details outcomes in terms of what this request solves/achieves, and should not be specific to implementation.
This helps us understand the core desired goal so that a variety of potential implementations could be explored.
This field is important. Lack if input here may lead to early issue closure.
validations:
required:true
- type:textarea
id:already_achieved
attributes:
label:Can the goal of this request already be achieved via other means?
description:|
Yes/No. If yes, please describe how the requested approach fits in with the existing method.
validations:
required:true
- type:checkboxes
id:confirm-search
attributes:
label:Have you searched for an existing open/closed issue?
description:|
To help us keep these issues under control, please ensure you have first [searched our issue list](https://github.com/BookStackApp/BookStack/issues?q=is%3Aissue) for any existing issues that cover the fundemental benefit/goal of your request.
options:
- label:I have searched for existing issues and none cover my fundemental request
required:true
- type:dropdown
id:existing_usage
attributes:
label:How long have you been using BookStack?
options:
- Not using yet, just scoping
- 0to 6 months
- 6months to 1 year
- 1to 5 years
- Over 5 years
validations:
required:true
- type:textarea
id:context
attributes:
label:Additional context
description:Add any other context or screenshots about the feature request here.
about: Request a new language to be added to Crowdin for you to translate
---
### Language To Add
_Specify here the language you want to add._
----
_This issue template is to request a new language be added to our [Crowdin translation management project](https://crowdin.com/project/bookstack). Please don't use this template to request a new language that you are not prepared to provide translations for._
description:Request a new language to be added to Crowdin for you to translate
labels:[":earth_africa: Translations"]
assignees:
- ssddanbrown
body:
- type:markdown
attributes:
value:|
Thanks for offering to help start a new translation for BookStack!
- type:input
id:language
attributes:
label:Language to Add
description:What language (and region if applicable) are you offering to help add to BookStack?
validations:
required:true
- type:checkboxes
id:confirm
attributes:
label:Confirmation of Intent
description:|
This issue template is to request a new language be added to our [Crowdin translation management project](https://crowdin.com/project/bookstack).
Please don't use this template to request a new language that you are not prepared to provide translations for.
options:
- label:I confirm I'm offering to help translate for this new language via Crowdin.
required:true
- type:markdown
attributes:
value:|
*__Note: New languages are added at specific points of the development process so it may be a small while before the requested language is added for translation.__*
description:Request support for a specific problem you have not been able to solve yourself
labels:[":dog2: Support"]
body:
- type:checkboxes
id:useddocs
attributes:
label:Attempted Debugging
description:|
I have read the [BookStack debugging](https://www.bookstackapp.com/docs/admin/debugging/) page and seeked resolution or more
detail for the issue.
options:
- label:I have read the debugging page
required:true
- type:checkboxes
id:searchissue
attributes:
label:Searched GitHub Issues
description:|
I have searched for the issue and potential resolutions within the [project's GitHub issue list](https://github.com/BookStackApp/BookStack/issues)
options:
- label:I have searched GitHub for the issue.
required:true
- type:textarea
id:scenario
attributes:
label:Describe the Scenario
description:Detail the problem that you're having or what you need support with.
validations:
required:true
- type:input
id:bsversion
attributes:
label:Exact BookStack Version
description:This can be found in the settings view of BookStack. Please provide an exact version.
placeholder:(eg. v21.08.5)
validations:
required:true
- type:textarea
id:logs
attributes:
label:Log Content
description:If the issue has produced an error, provide any [BookStack or server log](https://www.bookstackapp.com/docs/admin/debugging/) content below.
placeholder:Be sure to remove any confidential details in your logs
validations:
required:false
- type:input
id:phpversion
attributes:
label:PHP Version
description:Keep in mind your command-line PHP version may differ to that of your webserver. Provide that most relevant to the issue.
placeholder:(eg. 7.4)
validations:
required:false
- type:textarea
id:hosting
attributes:
label:Hosting Environment
description:Describe your hosting environment as much as possible including any proxies used (If applicable).
placeholder:(eg. Ubuntu 20.04 VPS, installed using official installation script)
Only the [latest version](https://github.com/BookStackApp/BookStack/releases) of BookStack is supported.
We generally don't support older versions of BookStack due to maintenance effort and
since we aim to provide a fairly stable upgrade path for new versions.
## Security Notifications
If you'd like to be notified of new potential security concerns you can [sign-up to the BookStack security mailing list](https://updates.bookstackapp.com/signup/bookstack-security-updates).
## Reporting a Vulnerability
If you've found an issue that likely has no impact to existing users (For example, in a development-only branch)
feel free to raise it via a standard GitHub bug report issue.
If the issue could have a security impact to BookStack instances, please use one of the below
methods to report the vulnerability:
- Directly contact the lead maintainer [@ssddanbrown](https://github.com/ssddanbrown).
- You will need to login to be able to see the email address on the [GitHub profile page](https://github.com/ssddanbrown).
- Alternatively you can send a DM via Twitter to [@ssddanbrown](https://twitter.com/ssddanbrown).
- [Disclose via huntr.dev](https://huntr.dev/bounties/disclose)
- Bounties may be available to you through this platform.
- Be sure to use `https://github.com/BookStackApp/BookStack` as the repository URL.
Please be patient while the vulnerability is being reviewed. Deploying the fix to address the vulnerability
can often take a little time due to the amount of preparation required, to ensure the vulnerability has
been covered, and to create the content required to adequately notify the user-base.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.