Commit Graph

4422 Commits

Author SHA1 Message Date
Vincent Petry 6e104bc933 Repair step to remove bogus expiration dates from non-link shares 2015-10-01 08:27:12 +02:00
Thomas Müller ff75652cb7 Merge pull request #19299 from owncloud/fixgetRawPathInfo
Fix get raw path info, always return a string
2015-09-30 22:17:02 +02:00
Robin Appelman be8ad69d35 Merge pull request #19478 from owncloud/cache-found-l10n-per-app
cache found l10n per app and not globally
2015-09-30 19:08:42 +02:00
Morris Jobke 73819c4f05 Fix l10n on master
* $app isn't useful for this case
* kill it with 🔥
2015-09-30 17:29:54 +02:00
Morris Jobke 5a2b30d78f cache found l10n per app and not globally
* fixes: if the first call to this is with an app that has no translations
  all future call will get a list with only english in there - even
  if their l10n holds more translations
2015-09-30 16:49:16 +02:00
Thomas Müller 1d8c10cf63 Merge pull request #19468 from owncloud/fix-36-vs-32-previews
Change small thumbnails to 32 px
2015-09-30 15:47:34 +02:00
Thomas Müller acd6c9b605 Merge pull request #19460 from owncloud/fix-postScanFile-and-make-it-available-to-utils-scanner
Fix postScanFile event and make it available to utils scanner
2015-09-30 15:03:50 +02:00
Robin Appelman a2817372ad Clean temp files used for thumbnail generation 2015-09-30 14:07:59 +02:00
Thomas Müller 10978a7a61 Merge pull request #19373 from owncloud/sidebar-preview-cover
Cover both width and height for the sidebar preview
2015-09-30 11:07:18 +02:00
Morris Jobke 1051a3c6f5 Change small thumbnails to 32 px
* fixes #16913
* fixes issues in IE8 where the thumbnail is too big
2015-09-30 10:49:48 +02:00
Olivier Paroz cc64c09ee5 Make postScanFile and postScanFolder available to OC\Files\Utils\Scanner 2015-09-30 01:53:49 +02:00
Olivier Paroz 9ea05c898e Always send a postScanFile event when done scanning a file
postScanFile is important when scanning external storage as it indicates when the file is ready to be used
2015-09-30 01:50:15 +02:00
Robin Appelman a5ad5bf29b Fix preview caching 2015-09-29 17:10:08 +02:00
Thomas Müller 99f440148f Merge pull request #19441 from owncloud/debug-log-mode-during-upgrade
[upgrade] switch to debug logging on upgrade
2015-09-29 16:08:31 +02:00
Morris Jobke 5acb38b5b3 [upgrade] switch to debug logging on upgrade
* resets afterwards
* adds output about the previous log level
2015-09-29 14:35:32 +02:00
Lukas Reschke e735a9915c Add blob: scheme to default CSP policy
Fixes https://github.com/owncloud/core/issues/19438
2015-09-29 14:27:35 +02:00
Thomas Müller c2dd0f80ec Merge pull request #19424 from owncloud/use-jsqueeze
Use jsqueeze
2015-09-29 13:44:26 +02:00
Thomas Müller 69430e0310 Merge pull request #19367 from owncloud/lock-transaction-no-log
remove warning when trying to get a lock while in transaction
2015-09-29 13:18:34 +02:00
Thomas Müller 6414b4b516 Merge pull request #19426 from owncloud/fix-legacy-CSP-for-images
Whitelist "data:" in legacy CSP headers
2015-09-29 13:17:23 +02:00
Robin Appelman f41a38ba15 Cover both width and height for the sidebar preview 2015-09-29 13:07:03 +02:00
Phil Davis 7940a3fb65 Session closed exception wording
and a small comment typo
2015-09-29 12:17:47 +05:45
Olivier Paroz c4bac1655d Fix CSP for images for legacy apps
Fixes #19425
2015-09-28 23:21:26 +02:00
Thomas Müller 766b69a0c8 User upstream class SeparatorFilter 2015-09-28 22:52:45 +02:00
Thomas Müller d40867d855 Suer JSqueezeFilter instead of JSMinFilter 2015-09-28 22:51:43 +02:00
Robin Appelman 00020535f9 pass view hooks trough to the node hooks 2015-09-28 17:18:46 +02:00
Robin Appelman 1e5a41f008 Add hook connector to connect view and node hooks 2015-09-28 17:18:40 +02:00
Thomas Müller d68079f932 Merge pull request #18548 from owncloud/repair-mimetype-limitversion
Repair mime types only when upgrading from OC 8.0
2015-09-28 12:56:36 +02:00
Thomas Müller 65124b48dd Adding ownCloud/TarStreamer 2015-09-28 11:46:54 +02:00
Victor Dubiniuk 057994f4aa Uniform behavour for tar and zip 2015-09-28 11:46:54 +02:00
Victor Dubiniuk 027fb4e3fe More corrections 2015-09-28 11:46:54 +02:00
Victor Dubiniuk 28df7be319 Add namespace. Fix broken zip 2015-09-28 11:46:54 +02:00
Victor Dubiniuk 74d879d039 Add PHpdoc 2015-09-28 11:46:54 +02:00
Victor Dubiniuk e3b95e8473 Introduce streamer 2015-09-28 11:46:53 +02:00
Thomas Müller 0aaece7de7 Merge pull request #19346 from owncloud/drop-passwords-from-exception-log
Remove passwords from logged exception stack traces
2015-09-25 20:04:01 +02:00
Thomas Müller 8f2a14c5d6 Merge pull request #19297 from owncloud/fix_19119
Do not blindy copy expiration date on reshare
2015-09-25 14:36:07 +02:00
Robin Appelman b2a528e303 remove warning when trying to get a lock while in transaction 2015-09-25 14:16:50 +02:00
Thomas Müller 8432c73611 Merge pull request #19030 from owncloud/oparoz-smarter-logger
[jenkins] Dump Arrays, Objects and Exceptions to the log
2015-09-25 14:15:59 +02:00
Thomas Müller 787c668b39 Merge pull request #19360 from owncloud/move-filter-method-into-config-object
Move the filtering of sensitive data to the config class
2015-09-25 14:05:04 +02:00
Thomas Müller 68bf4440d3 Merge pull request #19293 from owncloud/individual-it-move_initTemplate
[jenkins] do not load unnecessary code in case of webdav
2015-09-25 13:49:51 +02:00
Joas Schilling ab69a22606 Deduplicate constant 2015-09-25 13:17:23 +02:00
Roeland Jago Douma 9a373cb5bb Do not blindy copy expiration date on reshare
If a file/folder is reshared we should not blindly copy the expiration
date of the parent share. User/Group shares do not have expiration dates
currently, and thus this is always set to null.

Fixes #19119

* Added testcase
2015-09-25 13:06:05 +02:00
Individual IT Services db84791bb0 Todo for myself to eliminate double code
This will be in a new PR
2015-09-25 15:43:12 +05:45
Individual IT Services 2e42f99d00 add $prepend option to addStyle() & addVendorStyle() 2015-09-25 15:41:55 +05:45
Joas Schilling faba02564a Move the filtering of sensitive data to the config class 2015-09-25 11:08:33 +02:00
Thomas Müller e7bc2a10e3 Merge pull request #15098 from owncloud/fix_preview_versions_revert_issue
fix issue with version rollback and thumbnails
2015-09-24 21:06:27 +02:00
Morris Jobke db8e7ce8b9 Remove passwords from logged exception stack traces
* fixed #16318
* create logException in ILogger
* add unit tests
2015-09-24 20:01:30 +02:00
Thomas Müller ebdd6d96ce Merge pull request #19306 from owncloud/app-code-check-version
[App Code Check] add check for version and mandatory fields
2015-09-24 17:38:48 +02:00
Olivier Paroz f140084a8d Use a 3rd party normalizer for the logger 2015-09-24 17:13:39 +02:00
Morris Jobke 03bf2f786a public, remote and default_enable are not deprecated 2015-09-24 16:47:00 +02:00
Thomas Müller 5ee46c8500 Merge pull request #19337 from owncloud/fix-shipped-check-for-apps
Correctly check whether an app is shipped
2015-09-24 14:51:59 +02:00
Thomas Müller 383f381489 Merge pull request #19340 from owncloud/enc_fix_user_check
only check if the user exists if a user was added as parameter
2015-09-24 14:51:38 +02:00
Morris Jobke 5a3e57c2f5 encode arrays as string 2015-09-24 12:48:44 +02:00
Thomas Müller 8d6ec660a2 Merge pull request #19248 from owncloud/allow-status-code-403-and-503-for-listeners
Convert exceptions to SabreExceptions for the HTTP status code
2015-09-24 12:35:37 +02:00
Bjoern Schiessle d697ea58a4 only check if the user exists if a user was added as parameter 2015-09-24 12:21:40 +02:00
Joas Schilling 9da4869cd4 Correctly check whether an app is shipped 2015-09-24 12:06:29 +02:00
Morris Jobke 9b652ed5d5 [App Code Check] add check for version and mandatory fields
* ref #17598
* including unit tests for mandatory fields/versions
2015-09-24 11:58:12 +02:00
Thomas Müller 330ea18996 Merge pull request #19303 from owncloud/usecorrectvariable
Use correct variable
2015-09-24 11:34:19 +02:00
Thomas Müller 5a11e145da Clean code 2015-09-24 11:03:01 +02:00
Thomas Müller 11974477bd Merge pull request #19326 from owncloud/issue-19314-querybuilder-set-null
Allow `set('column', 'null')` to work like in Doctrine's QueryBuilder
2015-09-24 10:57:49 +02:00
Thomas Müller df75c17e52 Merge pull request #16479 from owncloud/core-fixgetrelativepathwrongmatches
Prevent wrong matches in getRelativePath
2015-09-24 10:25:00 +02:00
Joas Schilling 70572c1e3c Allow `set('column', 'null')` to work like in Doctrine 2015-09-24 09:53:09 +02:00
Jörn Friedrich Dreyer 8b90a55831 use correct variable
wow ... just wow ...
2015-09-23 23:41:39 +02:00
Joas Schilling 1493e86dea Allow listeners to set status code and message 2015-09-23 15:15:07 +02:00
Thomas Müller 2ea2ec0004 Show 'Apps' in the browser title when app management is open 2015-09-23 15:00:58 +02:00
Jörn Friedrich Dreyer d54d9a573f Revert "use correct variable"
This reverts commit 52cbaff061.
2015-09-23 14:09:52 +02:00
Jörn Friedrich Dreyer 52cbaff061 use correct variable
wow ... just wow ...
2015-09-23 13:59:37 +02:00
Jörn Friedrich Dreyer d81416c51d return '' instead of false 2015-09-23 12:32:49 +02:00
Thomas Müller af39e59e88 getService() is not needed -> remove 2015-09-23 12:00:07 +02:00
Individual IT Services bf1cb20e90 do not load unnecessary code in case of webdav
changing from "protected static" to "protected"
as suggested by @nickvergessen
https://github.com/owncloud/core/pull/19114#discussion_r39719851

moving initTemplate() into template constr.

reduce to move initTemplate only

cleanup spaces
2015-09-23 11:57:10 +02:00
Thomas Müller ee649d58c5 Merge pull request #19289 from owncloud/fix-type-hint-errors-container
Fix type hint errors in the container and the interface
2015-09-23 11:42:03 +02:00
Thomas Müller bcdb3c26da Merge pull request #19236 from owncloud/call_dot_directories_function
Replaces if ($file === '.' || $file === '..') by public function call isIgnoredDir
2015-09-23 11:34:23 +02:00
Thomas Müller ad71d92acf Merge pull request #19247 from owncloud/fix_locking_copy_operation
locking: handle exceptions correctly during copy operation
2015-09-23 11:28:27 +02:00
Morris Jobke 56a795ad37 Merge branch 'master' into fix-type-hint-errors-container 2015-09-23 11:01:59 +02:00
Thomas Müller f3d60df56d Merge pull request #19267 from owncloud/individual-it-reduce_db_calls_for_filelocks
[jenkins] Individual it reduce db calls for filelocks
2015-09-23 10:59:58 +02:00
Vincent Petry 0bda4d54c5 Repair mime types only when upgrading from OC 8.0 2015-09-23 10:51:37 +02:00
Joas Schilling ee75f9f594 Fix type hint errors in the container and the interface 2015-09-23 10:13:41 +02:00
Martin 491250320a Replaces if ($file === '.' || $file === '..') by if(\OC\Files\Filesystem::isIgnoredDir($file)). Eases to find where this operation is used. 2015-09-22 17:53:15 +02:00
Lukas Reschke 63b2bc136a Move mimetype files into /resources/config/ 2015-09-22 16:43:28 +02:00
Lukas Reschke a8e8a9dfb9 Move certificate bundle into resources/config/ 2015-09-22 16:43:28 +02:00
Robin Appelman 498e8f712c Merge pull request #19268 from owncloud/revert-18911
Revert "Show cached previews directly"
2015-09-22 16:05:38 +02:00
Individual IT Services 5f11049852 reduce amount of db calls needed for file-locks
return result of insertIfNotExist()

reducing initLockField, throwing exeption in releaseLock

don't throw exception in releaseLock()

cleaning up whitespaces
2015-09-22 15:04:15 +02:00
Robin Appelman d9db959331 Revert "Show cached previews directly"
This reverts commit 1b708e26ef.
2015-09-22 15:01:31 +02:00
Vincent Petry b9cd5bc1dc Prevent wrong matches in getRelativePath
Before this fix, the root "/files" with path "/files_trashbin" would
return "_trashbin" as relative path...
2015-09-22 11:34:37 +02:00
Bjoern Schiessle 17a64360e5 catch excexptions during the copy operation and make sure that we free the lock correctly 2015-09-22 11:32:10 +02:00
Lukas Reschke 36ce254ffd Move dummy backend to Tests namespace 2015-09-22 11:01:11 +02:00
Thomas Müller 67231ed9a7 Merge pull request #19231 from phil-davis/r1
Minor text typos
2015-09-21 23:35:30 +02:00
Phil Davis a165710e99 Minor text typos
that I noticed while looking at some code.
2015-09-21 23:04:25 +05:45
Thomas Müller fd6b4de2d4 Merge pull request #18481 from owncloud/fix-apache-login-master
Repeated calls to loginWithApache() should not not try to set user in…
2015-09-21 16:09:33 +02:00
Thomas Müller d8901cf7cd Merge pull request #19221 from owncloud/improved_error_messages
decrypt-all: improved error message if user doesn't exists
2015-09-21 16:06:43 +02:00
Robin Appelman b23a5e6886 Merge pull request #17347 from owncloud/dav-fopen-overwrite
dont download the existing file for webdav if we're going to overwrite it
2015-09-21 14:13:04 +02:00
Robin Appelman b520a1e520 Merge pull request #19081 from owncloud/prevent0bytedownloads
prevent 0 byte downloads when storage returns false
2015-09-21 13:50:35 +02:00
Robin Appelman 4ecf710dcd dont download the existing file for webdav if we're going to overwrite it 2015-09-21 13:45:25 +02:00
Bjoern Schiessle d2e90b6050 improved error message if user doesn't exists 2015-09-21 13:19:35 +02:00
Thomas Müller 0f2865abb2 Repeated calls to loginWithApache() should not not try to set user information in the session again 2015-09-21 11:55:41 +02:00
Thomas Müller 6006a03ef1 Merge pull request #19122 from owncloud/discardexpirationdatefornonlinkshares
Discard expiration date from result for non-link shares
2015-09-21 11:47:37 +02:00
Georg Ehrke b3ff773bbf delete cached preview when rolling back file's version
add random number using OC.parseQueryString and _.extend()

version rollback: add missing prefix to OC\Preview::post_delete

add test to assure that the rollback hook is called
2015-09-20 11:22:40 +02:00
Thomas Müller 9dc136a0d0 Merge pull request #19028 from owncloud/McNetic-zipstreamer-0.7
[jenkins] changed ZipStreamer to use composer for updates, update to 0.7
2015-09-18 17:03:49 +02:00
Thomas Müller bbf128f1b2 Merge pull request #19098 from owncloud/db-lock-no-transaction
Remove the need for the transaction in the database locking backend
2015-09-18 17:02:18 +02:00
Thomas Müller eb41a4da7f Merge branch 'zipstreamer-0.7' of https://github.com/McNetic/owncloud_core into McNetic-zipstreamer-0.7 2015-09-18 14:43:37 +02:00
Lukas Reschke 7c6d811584 Prefer OCS Id from database
To be consistent with other logic the app id from the database needs to be prefered. Especially when it comes to be able to replace an outdated OCS id.
2015-09-18 13:27:26 +02:00
Lukas Reschke 947e3d7ab5 Add repair step for outdated OCS IDs
There is the case where OCs IDs might become outdated such as it has been with the calendar and contacts app which refer to the old dummy entry. This means that users with the old OCS id can't update updates as well will receive invalid state flags. (e.g. "experimental" instead of "approved")

To allow instances to properly update the applications in the future we need to migrate the OCS IDs for now manually.
2015-09-18 13:27:26 +02:00
Thomas Müller 188d6d2e28 Merge pull request #18911 from owncloud/preview-show-cached-directly
Show cached previews directly
2015-09-18 13:02:10 +02:00
Thomas Müller 0101b1c65f Merge pull request #18840 from owncloud/fix-app-disable-route
Rebuild app navigation in JS
2015-09-18 13:00:58 +02:00
Thomas Müller 0eb37e2d64 Merge pull request #19092 from owncloud/allow-checking-for-notifiers
Allow checking whether there are notifiers registered
2015-09-18 11:57:56 +02:00
Thomas Müller 2eeb1b2b79 Merge pull request #19088 from owncloud/fix-availability-int
Explicitly cast number to integer
2015-09-18 08:31:56 +02:00
Thomas Müller 100d9e1976 Merge pull request #19095 from owncloud/set-priority-to-1-for-maintenance
Make sure Maintenance is checked before auth and others
2015-09-18 08:17:58 +02:00
Joas Schilling 44e6c4f398 Do not "use" Server 2015-09-17 15:11:05 +02:00
Robin Appelman e9b1aa6037 improve doc 2015-09-17 14:09:28 +02:00
Joas Schilling 5eddde6486 Add a Sabre plugin that emits an event for apps 2015-09-17 13:59:27 +02:00
Robin Appelman 05fddec022 expire old lock rows 2015-09-17 13:55:04 +02:00
Vincent Petry 1911472b88 Discard expiration date from result for non-link shares 2015-09-17 13:45:26 +02:00
Jörn Friedrich Dreyer 773941dfb0 prevent 0 byte downloads when storage returns false 2015-09-17 11:16:00 +02:00
Joas Schilling c3420fface Allow checking whether there are notifiers registered 2015-09-17 11:08:17 +02:00
Robin Appelman 7c66328381 Remove the need for the transaction in the database locking backend 2015-09-17 11:07:59 +02:00
Joas Schilling bc89bca803 Make sure Maintenance is checked before auth and others 2015-09-17 11:06:51 +02:00
Thomas Müller a1e343ae7c Merge pull request #19086 from owncloud/restore-loadapp-autoload
Restore loadApp() autoload registration
2015-09-16 15:19:41 +02:00
Thomas Müller b0414f6a30 Merge pull request #19022 from owncloud/console-loader-validroot
Register valid root for all installed apps in console
2015-09-16 15:17:43 +02:00
Robin McCorkell a0094d28f1 Explicitly cast number to integer 2015-09-16 11:22:52 +01:00
Robin McCorkell 862afd80b3 Restore loadApp() autoload registration
Also changes the autoloader validRoots into a hashmap to try and reduce
duplicate entries
2015-09-16 10:48:03 +01:00
Thomas Müller ed872589a3 Merge pull request #19077 from owncloud/check-maintenance-before-everything-else-master
Check for maintenance mode first so we send the 503 instead of login…
2015-09-16 10:22:10 +02:00
Joas Schilling e0992c1297 Check for maintenance mode first so we send the 503 instead of login verification 2015-09-16 09:38:36 +02:00
Arthur Schiwon c17d022ca4 started to implement sharee list view. not completed yet, do not cry please. 2015-09-16 07:23:27 +02:00
Arthur Schiwon ffd4e0dc5a split off expirationView 2015-09-16 07:23:26 +02:00
Arthur Schiwon f9c232c4ce split off linkShareView 2015-09-16 07:23:26 +02:00
Arthur Schiwon dcb084a617 split ShareDialogResharerInfoView from base view 2015-09-16 07:23:26 +02:00
Arthur Schiwon 83d91ddf20 further work on reimplementing the dialog layout 2015-09-16 07:23:25 +02:00
Arthur Schiwon edd163a611 refactor share dialog for multi-purpose use (dropdown, sidebar) and better maintainability 2015-09-16 07:23:25 +02:00
Bjoern Schiessle 9bd4f2d41e occ script to disable encryption and to decrypt all files again 2015-09-15 22:39:44 +02:00
Robin Appelman 9883d5b85d Merge pull request #18915 from owncloud/node-getfoldercontents-use-view-logic
Use the view logic for getFolderContent for the node api
2015-09-15 18:04:01 +02:00
Robin Appelman e545c2eec5 Merge pull request #17811 from owncloud/dav-lock-wide
Wrap the entire dav PUT in a read lock
2015-09-15 17:22:00 +02:00
Thomas Müller decdaf0018 Merge pull request #19024 from owncloud/remove-get_temp_dir
Remove get_temp_dir()
2015-09-15 14:18:29 +02:00
Thomas Müller e82a225d04 Merge pull request #18964 from owncloud/availability-integer
Use integer for availability instead of bool
2015-09-15 13:24:55 +02:00
Lukas Reschke 8e1b403b16 Catch apps which have been removed manually 2015-09-15 12:10:23 +02:00
Lukas Reschke 4680691ca6 Define allowed app roots earlier
The autoloader needs to be run before including the app.php, otherwise it depends on what app gets executed first and apps that rely on the dependency of other apps in app.php may break.
2015-09-15 12:10:23 +02:00
Robin McCorkell f8619870ea Remove get_temp_dir() 2015-09-15 11:33:25 +02:00
Robin McCorkell 5ca690e2f8 Use integer for availability instead of bool 2015-09-15 10:18:32 +02:00
Robin McCorkell 31a8949adf Prevent warning decoding content 2015-09-14 22:36:40 +01:00
Robin McCorkell 35d4851af2 Merge branch 'master' into fix-app-disable-route 2015-09-14 19:50:52 +01:00
Robin Appelman 688981b55c allow hook cancel 2015-09-14 20:35:33 +02:00
Robin Appelman 75f126da49 use the correct path for cache updates when doing chunked assembly 2015-09-14 20:35:33 +02:00
Robin Appelman 6386327150 work directly on storages when doing a chunked upload assembly 2015-09-14 20:35:33 +02:00
Robin Appelman b424151459 handle notfound exceptions in lock plugin 2015-09-14 20:35:33 +02:00
Robin Appelman e612d3123f wrap the entire put operation in a read lock 2015-09-14 20:35:33 +02:00
Robin Appelman 209abaadbb expose locking api in sabre connector 2015-09-14 20:35:33 +02:00
Thomas Müller fb9e75edb6 Merge pull request #18973 from owncloud/try-fixing-app-config-on-oracle
Do not compare the value on Oracle
2015-09-14 17:59:52 +02:00
Robin McCorkell dad56921ae Register valid root for all installed apps in console
We need to use commands from apps that aren't enabled (so don't get loaded).
2015-09-14 16:58:25 +01:00
Nicolai Ehemann 6c6be72e6b use zipstreamer via composer 2015-09-14 15:33:28 +02:00
Nicolai Ehemann be2023dae3 lib/private/files.php: adapted to minimally changed ZipStreamer API 2015-09-14 12:57:50 +02:00
Joas Schilling 0e805d5310 Do not compare the value on Oracle
As per docs: http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions002.htm#i1033286
> Large objects (LOBs) are not supported in comparison conditions.
2015-09-14 12:14:25 +02:00
Lukas Reschke 3adbfbfd69 Use / instead of an empty string as cookie path
When an empty string is used as cookie path PHP will assign the current directory as cookie path.

This means when an user had installed an ownCloud under "/", which is mapped to an empty string in \OC::$WEBROOT, and accessed it the cookie was set to values such as "/index.php/apps/files" since the web browser assumed this to be a directory. This means that multiple encryption cookies were set for the same domain resulting in potential havoc.

With this patch the path will be set to "/" in case an empty web root is installed which makes the cookie accessible to the whole domain.

To test this setup multiple ownCloud instances on the same domain under different ports and have both installed under "/", then try to login in both of it and previously this can in some cases lead to a lockout of the user.

Note that this affects the cookies that the browsers do sent and thus to test this you need to clear all cookies from your browser previously. I consider this an acceptable behaviour for now since this code is only in master.

Fixes https://github.com/owncloud/core/issues/18919
2015-09-14 11:22:34 +02:00