Eric Lippmann
da16bfcef3
Security: Use PermittedMenuItemFilter in the MenuRenderer
...
refs #8720
2015-03-12 15:45:30 +01:00
Eric Lippmann
e6a60e214c
lib: Add PermittedMenuItemFilter ...
...
... for iterating over menu items the user is allowed to display
refs #8720
2015-03-12 15:45:27 +01:00
Eric Lippmann
7f010102f6
Add wildcard support to the permission passed to User::can()
...
refs #8720
2015-03-12 15:45:25 +01:00
Eric Lippmann
0c30356d52
Add Menu::getPermission() and Menu::setPermission()
...
Those two functions are required for filtering menu items based on a user's grants.
refs #8720
2015-03-12 15:44:43 +01:00
Johannes Meyer
8295d6d9b0
Do not require the `connection' directive when creating a LDAP resource
2015-03-12 15:36:52 +01:00
Johannes Meyer
359a5f54c3
Merge branch 'master' into feature/ldap-ssl-and-tls-support-7771
2015-03-12 15:18:53 +01:00
Johannes Meyer
5de5a65df0
Do not suppress errors when a LDAP capability query fails
2015-03-12 15:18:00 +01:00
Johannes Meyer
1b440a4f1b
Make SSL/TLS configurable for LDAP resources
...
refs #7771
2015-03-12 15:17:19 +01:00
Eric Lippmann
749957c3b4
Fix too greedy __SELF__ login redirect on XHR
...
I introduced this bug some commits earlier. We only must redirect to __SELF__ on XHR
if a redirect URL was set.
refs #8626
2015-03-12 00:57:03 +01:00
Eric Lippmann
2f752ed1ac
Respond with HTTP status code 403 when an XHR requires authentication
...
refs #8626
2015-03-11 22:32:04 +01:00
Eric Lippmann
0806ab3ec9
Remove strict equality for $auth->isAuthenticated()
2015-03-11 22:26:03 +01:00
Eric Lippmann
64ad54ebd6
Optimize imports in Web.php
2015-03-11 22:08:28 +01:00
Eric Lippmann
a835cad31f
Remove a nonsense TODO from Web.php
...
TODOs for replacing Zend classes are unnecessary.
2015-03-11 22:06:23 +01:00
Eric Lippmann
c54648244e
Remove newlines from Web.php
2015-03-11 22:05:23 +01:00
Eric Lippmann
c47164601a
Don't alias Zend_Controller_Action_HelperBroker in Web.php
2015-03-11 22:03:49 +01:00
Eric Lippmann
dfa7e20b74
Don't use Icinga\Authentication\Manager twice
2015-03-11 22:01:41 +01:00
Eric Lippmann
9e81370551
Removed unused use ... in Web.php
2015-03-11 22:00:09 +01:00
Eric Lippmann
32ca28bc46
Use @return $this for documenting fluent interfaces
2015-03-11 21:58:41 +01:00
Eric Lippmann
ac2522af20
Merge branch 'master' into bugfix/logout-external-8626
2015-03-11 21:55:52 +01:00
Eric Lippmann
7fe4b3d7ab
Fix PHPDoc of Web::detectLocale()
2015-03-11 21:55:04 +01:00
Eric Lippmann
29d4ad69b9
Remove // @codeCoverageIgnoreEnd
...
This is obsolete.
2015-03-11 21:50:41 +01:00
Eric Lippmann
bc1336b6f9
Fix stupid code in ActionController::redirectToLogin()
...
refs #8626
2015-03-11 21:49:20 +01:00
Eric Lippmann
4ebfbf83ab
Leave note about __SELF__ in our action controller
...
refs #8626
2015-03-11 21:40:14 +01:00
Eric Lippmann
d102a61e22
Fix Undefined index: HTTP_ACCEPT_LANGUAGE
...
fixes #8370
2015-03-11 20:50:05 +01:00
Johannes Meyer
ba0154ab79
Tab: Use the title as caption if there is no label set yet
2015-03-11 10:21:06 +01:00
Johannes Meyer
39a74c4f3d
LDAP-Auth backend config: Add support for custom LDAP filter rules
...
refs #8365
2015-03-11 09:52:14 +01:00
Johannes Meyer
0758be4af1
Add support for dynamic ldap filter expressions
...
"Dynamic" is a more of a overstatement when describing this commit but
the current implementation is just the start. Once our ldap protocol stuff
supports our filter implementation this will be vastly improved.
refs #8365
2015-03-11 09:50:41 +01:00
Johannes Meyer
2cf09ebc48
Revert "LdapResourceForm: Validate the host field and do not require a port"
...
This reverts commit a34d6026b3
.
refs #7990
2015-03-11 08:00:20 +01:00
Johannes Meyer
a34d6026b3
LdapResourceForm: Validate the host field and do not require a port
...
fixes #7990
2015-03-10 15:03:48 +01:00
Johannes Meyer
d0383a241e
Use date and mktime instead of cal_days_in_month to count a month's days
...
fixes #8637
2015-03-10 12:30:22 +01:00
Johannes Meyer
4badbc660b
Merge branch 'master' into feature/conditional-requirements-8508
2015-03-09 08:51:03 +01:00
Louis Sautier
083c1a9e6b
Fix some spelling errors in comments and messages
...
fixes #8633
Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-03-08 15:32:22 +01:00
Eric Lippmann
d414d7e395
Fix that preferences can't be stored in a database
...
The mtime column is a column to update, not a column for the where condition.
fixes #8629
2015-03-08 10:19:17 +01:00
Johannes Meyer
f45f00b022
Run a module's configuration script only in case it has been registered
...
fixes #8601
2015-03-06 13:25:04 +01:00
Johannes Meyer
f3fa743022
Fix login when using a PostgreSQL database as authentication backend
...
fixes #8524
2015-03-06 11:03:45 +01:00
Matthias Jentsch
cb0ca6d6ac
Remove unused piechart code
2015-03-06 09:41:38 +01:00
Johannes Meyer
6cfa958bb8
Allow setting `requirement' on form elements
...
It's supposed to be used as description what
kind of value an element will accept.
refs #7947
2015-03-06 08:53:34 +01:00
Johannes Meyer
b9811f8590
Form: Do not set the requiredSuffix as option but use its virtual setter
...
This removes the invalid attribute on each <label> tag once the
FormDescriptions decorator removes the suffix.
refs #7947
2015-03-05 15:13:38 +01:00
Johannes Meyer
b8eedc21bb
Form: Explicitly set subform decorators
...
refs #7947
2015-03-05 15:12:02 +01:00
Johannes Meyer
764f125778
Make the FormDescriptions decorator able to handle sub forms
...
refs #7947
2015-03-05 15:08:30 +01:00
Johannes Meyer
ff263946c8
Form: Fix translation domain detection while running unit tests
2015-03-04 09:38:00 +01:00
Johannes Meyer
6e61980dd2
Fix operator precedence when detecting the default locale
...
fixes #8370
2015-03-04 08:28:30 +01:00
Johannes Meyer
e2887df03e
Form: It's a field, not a control
2015-03-03 15:01:09 +01:00
Johannes Meyer
8510835fba
Fix accessibility of the Autosubmit decorator when applied to a form
...
refs #7935
2015-03-03 14:35:46 +01:00
Johannes Meyer
c2339d156b
Improve aria-hidden handling in the icon and img view helper
2015-03-03 14:35:41 +01:00
Johannes Meyer
747e51553e
Allow the Autosubmit decorator being used on forms as well
...
refs #7935
2015-03-03 13:33:26 +01:00
Johannes Meyer
642fa44fce
Move a form's title into the markup of its form
2015-03-03 09:53:25 +01:00
Johannes Meyer
b1d0c12df3
Form: Introduce setTitle() as alias for Zend_Form::setDescription()
2015-03-02 18:40:46 +01:00
Johannes Meyer
ad288c08ca
Form: Add the Description decorator by default for native title support
2015-03-02 18:40:46 +01:00
Johannes Meyer
cbd061aa41
Fix that the FormDescriptions decorator does not ignore Notes and Buttons
2015-03-02 18:40:46 +01:00
Johannes Meyer
1eacaa4c48
Improve the display of the text cue on required form elements
...
Shows just a message at the top of the form if all elements are required
and a explaining message what the cue is standing for otherwise.
refs #7934
2015-03-02 13:48:35 +01:00
Johannes Meyer
1a334f8d64
Add decorator FormDescriptions
...
This decorator displays a list of messages at the top of a form.
refs #7947
2015-03-02 13:45:24 +01:00
Matthias Jentsch
36d2d31035
Do not use page control unless explicitly announced
...
refs #8490
2015-02-27 17:10:55 +01:00
Matthias Jentsch
65821863fa
Don't crash on single ldap capability entries
...
refs #8490
2015-02-27 17:10:21 +01:00
Matthias Jentsch
e93a5f16d9
Move capability-related code of the ldap connection into a separate class
...
Achieve a better separation between the different concerns, more readable code and get rid of unused dead code.
2015-02-27 17:10:21 +01:00
Johannes Meyer
7bb78330a9
Replace cancel icon with the trash icon...
...
...where the link's purpose is to remove something
2015-02-27 14:47:46 +01:00
Johannes Meyer
74dfa6e72a
Fix invalid icon names passed to the icon view helper
2015-02-27 14:45:47 +01:00
Johannes Meyer
96c132908d
Provide a warning on autosubmit form elements and a title for the apply btn
...
resolves #7935
2015-02-27 13:09:13 +01:00
Johannes Meyer
4f0bddd7da
Do not add aria-label to icons and images with titles if aria-hidden is set
2015-02-27 12:12:24 +01:00
Johannes Meyer
82017da85f
Help: Do not protect form element ids twice
2015-02-27 09:20:15 +01:00
Johannes Meyer
c00e336ea8
Make the cue that is being appended to required form elements configurable
...
refs #7934
2015-02-27 09:08:05 +01:00
Johannes Meyer
48c3199a2d
Form: Fix id protection
...
Altering element ids upon rendering makes it impossible to reference
them elsewhere. Zend_Form::getId() should be preferred over getName()
as it falls automatically back to getName() in case there is no id attribute
set. Setter are required to return their instance. Overwriting methods
without calling the parent (getId) without any valid (or at least
documented) reason is very bad practice.
refs #8460
2015-02-27 09:01:46 +01:00
Johannes Meyer
6d81a194ab
Make form element descriptions accessible
...
Re-added the Help decorator to make sure an element's description
is being added in an accessible way.
2015-02-27 08:10:25 +01:00
Johannes Meyer
0111fdf78e
Add an asterisk suffix to a form element's label if its required
...
The screen reader part "(required)" is not being considered with this
commit as most screen readers do not need this due to the ARIA and
HTML5 property.
resolves #7934
2015-02-26 16:05:13 +01:00
Matthias Jentsch
bc950a855d
Surpress warnings when ldap page control is not available
2015-02-25 18:39:03 +01:00
Matthias Jentsch
89451f3086
Ensure that form ids are unique
...
Add an unique prefix to each Form- or FormElement id, unless id protection is disabled explicitly, to prevent id collisions between different containers.
fixes #8460
2015-02-25 18:00:28 +01:00
Alexander Fuhr
cc403806f7
Fix refresh accessibility lable if it is empty
...
refs #7968
2015-02-25 15:28:09 +01:00
Alexander Fuhr
08ace05ac7
Remove animations.css from StyleSheet loading lessFiles
...
refs #7968
2015-02-25 13:56:32 +01:00
Alexander Fuhr
7f883a4770
Add own animation.less to provide own parameterized animate function
...
refs #7968
2015-02-25 13:51:26 +01:00
Johannes Meyer
85e6fce867
Rename Platform::zendClassExists() to Platform::classExists()
2015-02-25 13:33:42 +01:00
Alexander Fuhr
3a2b69a63c
Remove refreshTab property from Tabs
...
refs #7968
2015-02-25 13:24:11 +01:00
Alexander Fuhr
e219bb1664
Add doc for the label
...
refs #7968
2015-02-25 13:13:22 +01:00
Alexander Fuhr
481c58ec03
Add accessibility to renderRefreshTab
...
refs #7968
2015-02-25 12:14:26 +01:00
Alexander Fuhr
5297b15a61
Merge branch 'master' into feature/refresh-control-7968
2015-02-24 14:41:09 +01:00
Johannes Meyer
d68c636359
Wizard: Disable the browser's form validation when navigating back
...
formnovalidate... The fukin awesomeness of HTML5 is sometimes
even impressing a god-damned h4x0r like me.
fixes #8507
2015-02-24 13:16:31 +01:00
Matthias Jentsch
d4dc0177c0
Sort LDAP user list
...
fixes #7693
2015-02-24 12:50:57 +01:00
Matthias Jentsch
b70cda77d4
Fail gracefully if the page control is not available
...
Execute the runPagedQuery without pagination instead of throwing an exception.
fixes #8490
2015-02-24 12:22:29 +01:00
Johannes Meyer
8e8bab0795
Do only escape a qlink's label manually if necessary
2015-02-24 11:35:25 +01:00
Johannes Meyer
956efe5ef9
Merge branch 'master' into feature/link-labels-8458
...
Conflicts:
application/views/scripts/config/application.phtml
application/views/scripts/config/module.phtml
application/views/scripts/config/modules.phtml
library/Icinga/Web/Widget/Dashboard/Dashlet.php
modules/monitoring/application/controllers/TimelineController.php
2015-02-24 08:42:36 +01:00
Johannes Meyer
b626a96e16
Add aria-label to each box of the event grid
...
refs #8458
2015-02-23 17:14:40 +01:00
Johannes Meyer
fb7640db0a
Add proper titles to the Limiter control
...
refs #8458
2015-02-23 17:06:01 +01:00
Johannes Meyer
b2f817925b
Add proper titles to the FilterEditor
...
refs #8458
2015-02-23 17:05:39 +01:00
Johannes Meyer
66305bd79a
Add proper titles to dashboards and dashlets
...
refs #8458
2015-02-23 17:05:02 +01:00
Johannes Meyer
a5514392db
Adjust dashboard, output-format and module tabs
2015-02-23 17:03:11 +01:00
Alexander Fuhr
aa5c52dfdd
Implement content refresh control next to dropdown tab
...
refs #7968
2015-02-23 17:02:44 +01:00
Johannes Meyer
9fb3dcabea
Introduce Icinga\Web\Widget\Tab::$label as alternative for $title
2015-02-23 16:48:02 +01:00
Johannes Meyer
f6ea02fec5
qlink: Allow passing null as default for $properties
2015-02-23 16:29:07 +01:00
Marius Hein
4cdc1313cf
Dashlet: Add titles to iframe title attribute
...
resolves #8459
2015-02-23 16:20:08 +01:00
Marius Hein
2dda3be87b
Merge remote-tracking branch 'origin/master' into feature/organize-headings-7976
2015-02-23 14:28:48 +01:00
Marius Hein
03160ef81a
Header: Add header to event history
...
Add header to the following widgets:
- FilterEditor
- SortBox
refs #7976
2015-02-23 14:23:56 +01:00
Matthias Jentsch
2992bf3445
Always display tooltips in all charts
...
Make information about data types available to colorblind, when hovering
over the displayed data set
fixes #8364
2015-02-18 13:21:42 +01:00
Matthias Jentsch
28dfbe7e55
Support aria markup in SVG charts
...
Add "aria-labelled-by", "title" and "desc" to describe the svg charts in screen readers.
2015-02-17 17:41:05 +01:00
Marius Hein
d3c79dae32
Merge branch 'master' into feature/organize-headings-7976
2015-02-17 15:21:29 +01:00
Johannes Meyer
9c5d44caf0
Fix that webkit submits datetime values not according to RFC 3339
...
That's actually more of a workaround instead of a fix as the bug itself
is part of webkit, not Icinga Web 2.
fixes #8457
2015-02-17 12:50:11 +01:00
Alexander Klimov
43691f6612
Drop BasketAction as it's not used anywhere
2015-02-16 14:37:54 +01:00
Alexander Fuhr
7be134a774
Merge master fixed conflicts
2015-02-16 11:24:15 +01:00
Johannes Meyer
5321c2f9e5
Mute icons properly using the new automatic mechanisms of our view helpers
...
refs #8360
2015-02-16 10:52:42 +01:00
Johannes Meyer
243bc6ec0c
Make the view helpers qlink, img and icon handle aria-tags automatically
...
refs #8358
refs #8360
2015-02-16 10:26:03 +01:00
Alexander Fuhr
2112676594
Implement hidden accessible control for auto refresh on the page
...
refs #7945
2015-02-13 14:34:29 +01:00
Marius Hein
ce3a564de7
Header: Add header to tabs extension
...
refs #7976
2015-02-13 11:26:09 +01:00
Alexander Fuhr
b9c9f564ec
Add editable auto_refresh parameter to the user preferences
...
refs #7945
2015-02-12 15:12:10 +01:00
Johannes Meyer
ca0914644c
Use "icingaweb2" instead of "icingaweb" as default syslog prefix
2015-02-12 14:01:59 +01:00
Johannes Meyer
9232c5cf22
Add aria-hidden="true" to all icons that exist only for design reasons
...
refs #8360
2015-02-12 13:49:31 +01:00
Marius Hein
09349288e1
Merge branch 'master' into feature/skip-content-7933
2015-02-12 13:14:56 +01:00
Marius Hein
b6daf2237d
Menu: Add html5 nav element to menu
...
refs #7933
2015-02-12 13:14:01 +01:00
Johannes Meyer
9e933d835d
Add Icinga\Web\Form\ErrorLabeller
...
refs #8415
2015-02-12 09:11:03 +01:00
Johannes Meyer
aa473fb8cf
Standardize path validators according to Zend's validators
...
refs #8415
2015-02-12 09:11:02 +01:00
Johannes Meyer
a2f3e7d4f7
Display an error in case a user inputs an invalid formatted datetime string
...
resolves #7975
2015-02-12 09:11:02 +01:00
Johannes Meyer
a630db93e8
Show proper examples in case a user doesn't enter a permitted/correct val
...
resolves #7973
2015-02-12 09:11:02 +01:00
Johannes Meyer
33c75a8330
Add String::findSimilar()
...
refs #7973
2015-02-12 09:11:02 +01:00
Johannes Meyer
eb3063e36d
Form: Add prefix path for custom form validators
...
refs #8415
2015-02-12 09:11:02 +01:00
Eric Lippmann
97261cd8bd
lib: Do not setLayout('pdf') twice
2015-02-11 15:15:18 +01:00
Eric Lippmann
ded045e32c
lib: Fix PDF rendering when using a custom set view script
2015-02-11 15:14:40 +01:00
Eric Lippmann
54292eed20
Merge branch 'master' into feature/doc-search-6630
2015-02-11 13:28:06 +01:00
Eric Lippmann
ec8a89b96e
lib: Add recursive iterator over a DOMNode
2015-02-11 13:20:01 +01:00
Eric Lippmann
322c6b582d
lib: Prefer @type over @var in the FileExtensionFilterIterator
2015-02-10 17:02:37 +01:00
Eric Lippmann
760819f239
lib: Remove TreeNode::getIterator()
...
Its the tree who has the iterator.
refs #6630
2015-02-10 17:01:32 +01:00
Eric Lippmann
b18405e99f
lib: Add SimpleTree
...
Simple tree implementation for TreeNodes.
refs #6630
2015-02-10 17:00:47 +01:00
Eric Lippmann
fd38e5b2e1
lib: Use @inheritdoc in the TreeNodeIterator
...
refs #6630
2015-02-10 16:59:43 +01:00
Thomas Gelf
88315db1eb
UserBackend: reasonable defaults for AD groups
...
I didn't do farther research, but those values seem to work fine.
2015-02-09 15:31:47 +01:00
Thomas Gelf
81f65a7cd4
LdapUserBackend: disable "health check"
...
I see no point in checking this at every login. It could however be a
nice addition for our config backends and the setup wizard. I'd also
opt for completely removing this parameter - who wants to use this
method should explicitely call it.
2015-02-09 15:29:52 +01:00
Thomas Gelf
7b1b5b9b40
Authentication\Manager: do not override user groups
...
Needs more care, but this way we are at least able to fetch groups
unless we get out improved implementation.
2015-02-09 15:27:50 +01:00
Eric Lippmann
3a4c6e45b8
Fix Fatal error: Interface 'Identifiable' not found
...
refs #6630
2015-02-06 17:32:51 +01:00
Eric Lippmann
0d63e14baf
lib: Rename Node to TreeNode
...
refs #6630
2015-02-06 17:27:14 +01:00
Eric Lippmann
828cb8d23a
lib: Add iterator over a tree node's children
...
refs #6630
2015-02-06 17:23:07 +01:00
Eric Lippmann
f331c03f63
lib/tree: Save child nodes into an array instead of using SplDoublyLinkedList
...
refs #6630
2015-02-06 17:20:23 +01:00
Eric Lippmann
c8da05d0a7
lib: Remove NodeInterface
...
I'll create an iterator for nodes and drop that every node is a SplDoublyLinkedList.
refs #6630
2015-02-06 17:17:41 +01:00
Johannes Meyer
b828f8b13a
Fix ldap authentication when authenticating against ActiveDirectory
...
Unlike OpenLDAP, ActiveDirectory does not seem to react on the size limit
passed to ldap_search() in global manner causing it to not to respond with
LDAP_SIZELIMIT_EXCEEDED (4) in case a requested page contains more
entries than the requested maximum.
fixes #7993
2015-02-06 16:37:35 +01:00
Johannes Meyer
3852feb069
Add defaults for limit and offset in Icinga\Protocol\Ldap\Query
2015-02-06 16:32:59 +01:00
Johannes Meyer
8b94e4c701
Fix documentation and code style in the LdapUserBackend
2015-02-06 16:32:26 +01:00
Johannes Meyer
c49f723f05
Let Icinga\Protocol\Ldap\Exception inherit from IcingaException
2015-02-06 16:31:03 +01:00
Johannes Meyer
c5b6d7ee41
Ensure that all required form elements are marked as such in HTML markup
...
refs #8349
2015-02-05 13:15:18 +01:00
Eric Lippmann
6bae2e0a53
Note that our license is GPL v2 or any later version in our license header instead of pointing to the license's URL
2015-02-04 10:52:27 +01:00
Johannes Meyer
12497749fc
Do not log when using a limited query for a paged search operation
2015-02-04 10:51:49 +01:00
Marcus Cobden
5f624e42fd
Fix minor mistakes in Ldap/Connection
...
Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2015-02-04 09:44:17 +01:00
Eric Lippmann
49e96b7200
Revert "monitoring/security: Guard delete comment action"
...
This reverts commit 4ef5f0c813
.
2015-02-03 16:51:00 +01:00
Matthias Jentsch
e8466ec7be
Fix inlinePie borders and SVG sizes
...
Add white border to inline piecharts in the list, to make them more visible on mouse hovering. Set a default image size for the loaded svg charts.
2015-02-03 16:46:12 +01:00
Eric Lippmann
5b4fab0750
Add license header
...
This time without syntax errors hopefully :)
2015-02-03 16:27:59 +01:00
Eric Lippmann
5fa2e3cfdc
Revert "Add license header"
...
This reverts commit 338d067aba
.
2015-02-03 16:16:26 +01:00
Eric Lippmann
4c7d120523
Revert "Fix typo in UserBackend"
...
This reverts commit 9fa1fd626c
.
2015-02-03 16:16:26 +01:00
Eric Lippmann
160b3a96ca
Revert "Fix typo in UserGroupBackend"
...
This reverts commit e8c4f45d68
.
2015-02-03 16:16:26 +01:00
Eric Lippmann
e8c4f45d68
Fix typo in UserGroupBackend
2015-02-03 16:14:13 +01:00
Eric Lippmann
9fa1fd626c
Fix typo in UserBackend
2015-02-03 16:13:22 +01:00
Eric Lippmann
4ef5f0c813
monitoring/security: Guard delete comment action
2015-02-03 16:11:56 +01:00
Eric Lippmann
6517f8e2be
security: Activate permissions
2015-02-03 16:08:35 +01:00
Eric Lippmann
338d067aba
Add license header
...
fixes #7788
2015-02-03 15:51:04 +01:00
Eric Lippmann
08fd000496
Remove any topbar related stuff
...
It's not used anywhere.
2015-02-03 12:42:02 +01:00
Alexander Klimov
a6cea24934
Platform::zendClassExists(): don't fail if a Zend class file doesn't exist
2015-02-03 12:22:23 +01:00
Markus Frosch
cb08b25e17
Remove executable flags from some PHP libraries
...
Note: dompdf.php is actually a CLI script, but has no shebang and is not used
in Icingaweb2.
Fixes #8345
2015-02-03 10:50:50 +01:00
Johannes Meyer
7989b48248
Fix ldap auth when the userNameAttribute holds multiple values
...
fixes #8246
2015-02-03 10:15:54 +01:00