Thomas Gelf
88460189cd
Encoding: no ASCII chars > 127 in HTTP headers
...
Had quite some trouble with this, decided to URL-encode titles and
notifications.
2014-05-28 21:34:36 +00:00
Thomas Gelf
92f454c36d
Chart\InlinePie: locale-ignorant casts for floats
...
PHP respects locales (LC_NUMERIC) when casting floats to string. That
affected the generated HTML for our inline pie charts. This patch is
not that beautiful - but fixes this.
fixes #6348
2014-05-28 10:20:34 +00:00
Thomas Gelf
360ac87550
Translation: add a module-aware translation helper
...
With this fix $this->translate works in our view scripts
refs #6338
2014-05-27 21:41:46 +00:00
Thomas Gelf
70ba36aad6
notifications: improve client- and serverside
...
This is just a first step, trying to catch a few gotchas:
* it doesn't send notifications to the browser when issueing a redirect
as redirects can currently not be catched in jQuery response handlers
* it tries to find a better notification handling place in the response
handler (JS) - still imperfect
* it explicitely stores sessions once modified by notifications. Still
need to crosscheck whether this is really needed and how we can get
rid of this.
refs #6280
2014-05-26 14:41:47 +00:00
Thomas Gelf
8a770007ff
Modules\Module: provide a lighter header sample
...
We should get rid of the current way of copying license snippets to
every single file. This is a first example of how a lighter header
could look like. I'd add a short slogan to the title and place a
copy of the license to icinga.org, so our links could point there
instead of gnu.org.
refs #6309
2014-05-26 14:17:46 +00:00
Thomas Gelf
7c68d0a30f
Modules\Module: clean up phpdoc blocks
2014-05-26 14:14:34 +00:00
Thomas Gelf
5b87d6238b
Modules\Module: improve provided metadata
...
refs #4095
2014-05-26 14:11:43 +00:00
Thomas Gelf
6a33f4e5e0
vendor/dompdf: fix typo
2014-05-20 23:59:49 +00:00
Thomas Gelf
8ff757f6df
Inline\PieChart: code style
2014-05-20 23:29:13 +00:00
Thomas Gelf
12b57c6d95
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
modules/monitoring/library/Monitoring/Controller.php
2014-05-20 23:15:11 +00:00
Thomas Gelf
cf42ffbafa
Parsedown: version 1.0 released
2014-05-20 22:56:01 +00:00
Thomas Gelf
24f2ae607f
Pdf/Charts: add initial chart support to PDFs
...
Problem: TCPDF had SVG support, dompdf hasn't. This patch adds a
first rudimentary PNG conversion and a sample implementation making
use of such.
2014-05-20 22:48:06 +00:00
Thomas Gelf
78bc2b4ec7
Modules\Manager: no warning for duplicate modules
...
Formerly we logged a warning if a module was found in multiple module
paths. This is pointless, because as soon as you got a default module
installed by your distribution and "upgraded" it via your web frontend
this "error" will be the default. Logging at debug level right now.
2014-05-20 22:39:32 +00:00
Thomas Gelf
51c3fed743
File\Pdf: remove obsolete code
2014-05-20 22:39:03 +00:00
Thomas Gelf
4e88a4e008
Web\Url: add a shift() method
...
This methods allows to retrieve an URL param while removing it from the
URL object
2014-05-20 13:49:35 +00:00
Thomas Gelf
e6d80ae1f6
IDO Queries: performance quickfixes
...
Will be obsoleted by the new filter implementation, but for now it
helps a little bit
2014-05-20 13:27:58 +00:00
Thomas Gelf
b447225512
Web\Form: Revert "Fix subForm functionality"
...
This reverts commit 51bac035ac
.
The div element introduced by this commit breaks inline form layout
2014-05-20 13:10:18 +00:00
Johannes Meyer
ef7bb0e794
It is a multistep page's responsibility whether it is shown to the user
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
754f854dd0
Multistep pages should know about their multistep form
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
1f942acd38
Fix multistep page creation
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
33d4142664
Make it possible to recreate a form
2014-05-14 12:53:44 +02:00
Johannes Meyer
1637a19c23
Fix multistep form creation
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
429e09aae2
Multistep pages should not have random generated names
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
51bac035ac
Fix subForm functionality
2014-05-14 12:53:44 +02:00
Johannes Meyer
de169c7bf5
Make it possible to disable form submit buttons forcefully
2014-05-14 12:53:44 +02:00
Johannes Meyer
88e451402f
Redirect to /install when the setup.token exists but no config.ini
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
4cf5fe6fdd
Add multistep form
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
e1230eb8ae
Add style and view scripts for first prototype
...
refs #6136
2014-05-14 12:53:44 +02:00
Thomas Gelf
339460fee4
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
2014-05-09 16:29:54 +00:00
Thomas Gelf
1190a8959f
Upgrade Parsedown to 1.0.0-rc.4
...
Please note that this invalidates my img size patch, I forgot to bring
it upstream. Still TBD.
refs #6165
2014-05-09 15:36:46 +00:00
Thomas Gelf
dcf6b998bf
Upgrade lessphp
...
* Upgrade from 0.3.9 to 0.4.0
* Document package source
* Remove overhead
refs #6165
refs #6166
2014-05-09 10:53:54 +00:00
Thomas Gelf
d93c060e6a
Upgrade htmlpurifier to 4.6.0
...
refs #6165
2014-05-09 10:41:20 +00:00
Thomas Gelf
64dd91e457
Upgrade JShrink to 1.0
...
refs #6165
2014-05-09 10:37:38 +00:00
Thomas Gelf
e04ca8c29a
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
2014-05-07 15:53:48 +00:00
Matthias Jentsch
d0c56126b8
Fix inline pie reload.
...
refs #6124
2014-05-07 17:03:27 +02:00
Thomas Gelf
820b6b7a8d
Data\BaseQuery: rename to Data\SimpleQuery
...
BaseQuery should no longer be abstract but be usable as is as soon as
we stripped ResultSet-specific tasks. As "Base" suggests something that
must be extended, the name no longer fits. So this is SimpleQuery right
now.
2014-05-07 11:55:35 +00:00
Thomas Gelf
ab32a91a6e
File\Csv: use Fetchable instead of BaseQuery
2014-05-07 11:33:48 +00:00
Eric Lippmann
ecbd9b8616
Sortable: Fix PHPDoc for parameter `$direction'
...
`$direction' must be a string instead of an integer because
the direction constants `SORT_ASC' and `SORT_DESC' are strings.
2014-05-07 10:00:41 +02:00
Eric Lippmann
d87788b9c1
Merge branch 'master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
2014-05-06 18:45:12 +02:00
Johannes Meyer
2f911f75a1
Fix division by zero in Icinga\Util\Format
...
refs #6125
2014-05-06 08:32:42 +02:00
Johannes Meyer
c711e3405d
Fix cli default log configuration and js-loader debug message
2014-05-05 16:17:21 +02:00
Johannes Meyer
0627d954ac
Fix usages of Icinga\Module\Monitoring\Plugin\*
...
refs #5973
2014-05-05 16:16:45 +02:00
Thomas Gelf
6a1602a499
Exception messages should be single-line strings
...
fixes #6095
2014-05-02 11:19:35 +02:00
Marius Hein
6c698c1543
Tests: Remove Zend Controller Test from base test
...
fixes #6106
2014-05-02 09:46:01 +02:00
Marius Hein
6aaff6b399
IniWriter: Delete nested properties
...
fixes #5958
2014-05-02 09:26:17 +02:00
Johannes Meyer
4cf3044a53
Rename Icinga\Logger\Writer\StreamWriter to FileWriter
...
refs #6038
2014-04-30 11:59:22 +02:00
Thomas Gelf
270181885c
Fix Url error for emty baseUrl, less function calls
2014-04-29 12:27:19 +00:00
Johannes Meyer
e2ba172a8e
Make dashboard components using the ini writer class
...
fixes #5524
2014-04-29 11:30:53 +02:00
Matthias Jentsch
085025ba7d
Icingaweb shoul work without optional extensions when they are not used
...
When optional classes and php extensions like pgsql and additonal Zend-Pdos are
actually required by creating a new resource or authentication backend,
perform a check and display a warning instead of just throwing an exception.
refs #4788
2014-04-28 17:13:40 +02:00
Johannes Meyer
98ca15d1fb
Mark less important or non-testable code as skipped for code coverage
...
refs #6011
2014-04-28 14:06:41 +02:00
Johannes Meyer
07da92ee42
Rewrite test for Icinga\Web\Url and fix some bugs
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
729c33c3cf
Add helpful documentation to Icinga\Web\ViewStream
2014-04-28 14:06:40 +02:00
Johannes Meyer
c5c375e72d
Add test for Icinga\Web\MenuItem
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
290fe9eeb5
Rewrite test for Icinga\Web\Hook
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
2b15d35dec
Rewrite test for Icinga\Web\Form
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
87863d3212
Add test for Icinga\File\Csv
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
e8ed7c7166
Rewrite test for Icinga\Config\PreservingIniWriter
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
fe44f8ed7c
Remove empty file library/Icinga/File/Csv/Query.php
2014-04-28 14:06:40 +02:00
Johannes Meyer
54a5e996bb
Add test for Icinga/Logger/Writer/StreamWriter
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
45d7864198
Refactor test for Icinga\Test\BaseTestCase
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
c93159d287
Add test for Icinga\User\Preferences\Store\IniStore
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
9efe71441a
Add test for Icinga\User\Preferences\Store\DbStore
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
d44aaeb8d7
Add test for Icinga\User\Preferences
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
be410a685b
Add test for Icinga\User
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
e10193f570
Add test for Icinga\Util\DateTimeFactory
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
891d36dbd7
Make DateTimeFactory expecting a string instead of a DateTimeZone
2014-04-28 14:06:39 +02:00
Johannes Meyer
1db9b1ede4
Move non-factory functions from DateTimeFactory to Icinga\Util\Format
2014-04-28 14:06:39 +02:00
Johannes Meyer
e27e538bd9
Add test for Icinga\Util\Translator
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
21b949758f
Refactor ResourceForm tests
...
refs #6011
2014-04-28 14:06:38 +02:00
Johannes Meyer
aaa6a56146
Refactor authentication config form tests and fix auth backend validation
...
refs #6011
fixes #5712
2014-04-28 14:06:38 +02:00
Matthias Jentsch
b16c6efa05
Add PieChart to display hosts and services, improve layout and fix flag
...
checkboxes
refs #5765
2014-04-28 09:48:06 +02:00
Matthias Jentsch
081b5072a6
Fix layout of MultiController views
...
refs #5765
2014-04-28 09:48:06 +02:00
Alexander Klimov
6973b04211
Don't throw exception if logfile is not found
...
fixes #6035
2014-04-23 12:21:42 +02:00
Michael Friedrich
f510130797
Look for ICINGAWEB_CONFIGDIR in $_ENV too.
...
Refs #5638
2014-04-23 11:23:29 +02:00
Thomas Gelf
a7b5893918
Detect TTY support and avoid ANSI colors if none
...
fixes #5992
2014-04-18 14:36:46 +00:00
Thomas Gelf
fa3e7f9fc2
Module list should not throw Exceptions if no config is present
2014-04-17 21:16:51 +00:00
Thomas Gelf
0d6aeb3877
Make CLI logging robust against missing config
2014-04-17 21:09:30 +00:00
Thomas Gelf
3f9bc5dea6
Use no space in syslog application name
2014-04-17 21:04:15 +00:00
Thomas Gelf
f04d765365
Fix routing for static content with internal webserver
2014-04-17 20:59:37 +00:00
Thomas Gelf
d939e12ef9
Only XHR requests use the "inline" layout
2014-04-17 17:03:35 +00:00
Thomas Gelf
6f9c187d47
Default configDir in App bootstrap related to last commit
2014-04-17 17:01:23 +00:00
Thomas Gelf
5fdec39475
More consistent default config dir handling, less configuration
2014-04-17 16:59:10 +00:00
Thomas Gelf
3b20833495
Cosmetic web router changes
2014-04-17 16:47:01 +00:00
Thomas Gelf
83b26bc595
JS-less iFrame rendering improvements
2014-04-17 16:20:03 +00:00
Alexander Klimov
070e608236
Read log file chunkwise
...
resolves #6021
2014-04-17 18:01:24 +02:00
Eric Lippmann
026145356b
Add interface "QueryInterface" implementing Browsable, Fetchable, Filterable, Limitable, Sortable, Countable (WIP)
...
This interface is intended to be used within the data views and monitoring controllers. The monitoring list
and show controllers should only query data views instead of the actual query. Thus a data view is required to
implement the QueryInterface, which will be changed later.
The name is not final because it somehow conflicts with the Queryable interface which is also marked as work in progress.
2014-04-17 14:21:01 +02:00
Eric Lippmann
8532622fab
Db: Implement missing fetch*() functions on connection level
...
The BaseQuery forwards fetch*() function calls to its datasource with the
query as first parameter since the datasource implements the actual fetching functionality.
There's no interface for fetch*() functions on the datasource level yet.
2014-04-15 17:44:34 +02:00
Eric Lippmann
e525688383
Replace DatasourceInterface with Selectable
2014-04-15 17:43:45 +02:00
Eric Lippmann
1a2577dd47
Db/Connection: Replace getConnection() with getDpAdapter()
...
For readability getConnection() is deprecated in favor of getDpAdapter()
since Db/Connection is already the connection.
2014-04-15 17:37:44 +02:00
Eric Lippmann
c85ade39c0
Create count and select database queries separately
...
The previous implementation always created both the count
and the select query.
For readability the property baseQuery has been renamed to select which the
IDO queries must take into account.
2014-04-15 17:21:10 +02:00
Eric Lippmann
d94170372d
Let the BaseQuery implement the query interfaces and remove filter functionality
...
This commit breaks the application as it introduces incompatible changes which
will be adopted bit by bit.
Since the filter functionality is subject to change it's removed from the BaseQuery.
The functions setOrderColumns() and getOrderColumns() are deprecated because they're
replaced by functions in the Sortable interface.
Further the Sortable interface now defines the sort constants ASC and DESC and are
thus removed from the BaseQuery. In addition the sort constants are no longer integers
but strings.
The distinct() and isDistinct() functions are removed because they're database specific.
They have been introduced with changes in the PivotTable implementation which should
actually not call distinct blindly anyway.
2014-04-15 16:40:25 +02:00
Eric Lippmann
659e6f774e
Add interface "Queryable" (WIP)
...
Interface for classes which act as a data source and thus return or are a Fetchable.
The name of the interface is not yet final though.
2014-04-15 16:23:17 +02:00
Eric Lippmann
0f3d70c437
Add interface "Filterable" (WIP)
...
This interface is empty yet. It's meant to define how to filter a result set.
2014-04-15 16:20:11 +02:00
Eric Lippmann
e5e3dc9c43
Add interface "Sortable" defining how a result set can be sorted
...
This interface should be used to ensure that sorting a result set
is standardized among the different query implementations.
2014-04-15 16:07:27 +02:00
Eric Lippmann
3e0d254dfd
Implement "Limitable" interface for retrieving just a portion of a result set
...
Defines how to set a limit count and offset and should be used everywhere
where setting limit and offset is supported.
2014-04-15 15:48:51 +02:00
Eric Lippmann
c083747f67
Add "Fetchable" interface for classes providing data retrieval
...
Classes for retrieving data must implement the Fetchable interface
which defines the usual fetch*() functions.
2014-04-15 15:40:07 +02:00
Eric Lippmann
2cc3823a95
Implement interface "Browsable" for classes providing page turning
...
This interface is intended to be used everywhere a Zend_Paginator
is returned within our code.
2014-04-15 15:36:13 +02:00
Johannes Meyer
1ed1c0bc3c
Remove user auth and backend tests
...
refs #4639
2014-04-14 11:44:02 +02:00
Johannes Meyer
a844d33735
Do not create alias mock for Icinga\Application\Icinga
...
refs #4639
2014-04-14 08:31:46 +02:00
Johannes Meyer
4c8428423e
Convert existing mocks to Mockery-mocks (Part 1)
...
refs #4639
2014-04-11 17:03:45 +02:00
Johannes Meyer
927772578d
We do not want to use "@backupStaticAttributes enabled"
...
refs #4639
2014-04-11 15:31:29 +02:00
Johannes Meyer
1e69169bab
Fix database tests
...
refs #4639
2014-04-10 11:33:24 +02:00
Johannes Meyer
ccae70bc80
Make all tests inherit from BaseTestCase and fix license headers and style
...
refs #4639
2014-04-10 10:32:50 +02:00
Johannes Meyer
6056327c6d
Fix that it's not possible to set non-existing values in a session with setAll()
...
refs #4639
2014-04-09 16:18:51 +02:00
Johannes Meyer
f9324032cb
Fix autoloader not ignoring vendor prefixed class names
...
refs #4639
2014-04-09 14:20:05 +02:00
Marius Hein
7708b9901f
Drop BaseTestCase static class loader
...
refs #4639
2014-04-09 09:27:01 +02:00
Marius Hein
746cc4b5d9
Drop obsolete test cases
...
refs #4639
2014-04-09 09:26:11 +02:00
Johannes Meyer
3195e6a897
Rewrite preference DbStore
...
refs #5682
2014-04-08 13:28:45 +02:00
Johannes Meyer
a1649a1f22
Refactor PreferencesStore and IniStore
...
refs #5682
2014-04-07 15:13:28 +02:00
Thomas Gelf
a857af60be
Intendation
2014-04-07 12:03:53 +00:00
Thomas Gelf
88cdf99934
More code style
2014-04-07 12:03:53 +00:00
Johannes Meyer
d109046bc0
Fix that the general and logging form cannot write configuration changes
...
fixes #5952
2014-04-07 09:27:37 +02:00
Johannes Meyer
ea44ae3693
Improve failure handling when setting the locale
2014-04-04 15:34:46 +02:00
Johannes Meyer
8be3ccc527
Make it possible to save the session by its associated session namespaces
2014-04-04 11:13:07 +02:00
Johannes Meyer
98b640f1e0
Fix that removed values/namespaces remain in the session storage
...
fixes #5934
2014-04-04 11:10:45 +02:00
Alexander Klimov
cdf1a0b683
Write more class documentation
2014-04-02 13:47:02 +02:00
Alexander Klimov
241fda1196
Small cleanup
2014-04-02 13:47:02 +02:00
Alexander Klimov
2a10f6184a
Write class documentation
2014-04-02 13:47:02 +02:00
Alexander Klimov
7c599e206e
Make it working
...
refs #4514
2014-04-02 13:47:01 +02:00
Alexander Klimov
933a851f65
Initial commit
...
refs #4514
2014-04-02 13:47:01 +02:00
Johannes Meyer
ae2d61682f
Fix how the timeline processes dates
...
refs #4190
2014-04-02 10:53:39 +02:00
Johannes Meyer
21b9c1f4af
Fix that filters are not preserved on timeline element urls
...
refs #4190
2014-04-01 14:26:10 +02:00
Johannes Meyer
c19791fdd7
Fix brightness calculation in Icinga\Utils\Color
2014-04-01 11:46:44 +02:00
Johannes Meyer
3d658a664c
Do not use logarithm base from session if the timeline is not being extended
...
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer
f5e4331d71
Add timeline view script and styles
...
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer
b0709d8cba
Revert postDispatch -> preDispatch change in ActionController
...
refs #4190
2014-04-01 11:44:25 +02:00
Johannes Meyer
862b50264a
Fix that the queryfilter parser cannot handle integer values
2014-04-01 11:44:24 +02:00
Johannes Meyer
aade2ab7f6
Move timeline classes into the monitoring module
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
0a146b4bb4
Clientside scrolling implementation [WIP]
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
fd07393e44
Fix event interpolation
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
9d3935f15b
Improve timeline layout
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
25f4b50ce7
Implement timeline rendering
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
103d43ea77
Implicitly add an TimeEntry's weight when calling getValue()
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
34f25c6009
Return timeframes when iterating over TimeRange objects
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
40f70eb572
Fix license header
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
86839e757d
Add interval selectbox and group legend
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
a589460de3
Make TimeEntry creation more flexible
...
TimeEntry objects are now created with the fromArray
constructor instead of the default one.
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer
b168cf878d
Fix type specification in DowntimestarthistoryQuery
...
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer
ba541b402d
Add timeline helper classes
...
#refs 4190
2014-04-01 11:44:23 +02:00
Thomas Gelf
1beb837783
A few little code cleanups
2014-03-31 16:35:28 +00:00
Thomas Gelf
056b8d5395
Coding style
2014-03-31 16:30:27 +00:00
Matthias Jentsch
d3c4660c2d
Fix colors of svg charts in Firefox
2014-03-31 12:35:39 +02:00
Thomas Gelf
947ad34153
Get web router ready for .htaccess removal
2014-03-28 19:46:58 +00:00
Johannes Meyer
bafa8cc032
Fix authentication error handling
2014-03-28 14:45:03 +01:00
Thomas Gelf
ade2121302
Router, once again
2014-03-27 20:00:43 +00:00
Thomas Gelf
ff6859d1d1
One more router fix
2014-03-27 19:47:11 +00:00
Thomas Gelf
fcde513c24
Router fixes for SVG images
2014-03-27 19:39:38 +00:00
Johannes Meyer
3beec6e102
Fix exception thrown during re-routing without parameters
2014-03-27 12:04:10 +01:00
Thomas Gelf
08945257dc
Add alias detection to web router script
2014-03-27 09:33:45 +01:00
Thomas Gelf
5c89512e05
New router needs JavaScript and Stylesheet handlers fitting it's needs
2014-03-27 07:32:02 +00:00