Commit Graph

2561 Commits

Author SHA1 Message Date
Eric Lippmann ab7c529094 Show the expected input format if a date-and-time input is not valid
refs #6778
2015-05-19 11:22:23 +02:00
Eric Lippmann 5cf8e2504e lib/grid: Use PHP's DateTime instead of our DateTimeFactory
I'm about to drop the DateTimeFactory because date_default_timezone_set() in combination w/ PHP's DateTime is sufficient.

refs #6778
2015-05-19 11:14:41 +02:00
Alexander A. Klimov 1ce9900c86 Add PHPDoc to ::setSearchColumns() 2015-05-19 11:12:36 +02:00
Eric Lippmann e87067db3b lib/chart: Use PHP's DateTime instead of our DateTimeFactory
I'm about to drop the DateTimeFactory because date_default_timezone_set() in combination w/ PHP's DateTime is sufficient.

refs #6778
2015-05-19 11:10:35 +02:00
Eric Lippmann d53c3d7075 Add view helper functions for formatting, date, date and time, and time
refs #6778
2015-05-19 10:10:23 +02:00
Eric Lippmann a66cb907ae Remove dateTimeRenderer view helper
The helper is no longer used anywhere.

refs #6778
2015-05-19 10:06:19 +02:00
Eric Lippmann 1301b77547 Use DateFormatter::formatDate() for formatting the date and time tooltip in the format view helper
refs #6678
2015-05-19 10:04:17 +02:00
Eric Lippmann 2eb93d0309 Remove time formatting functions from the format util
The DateFormatter class now has these functions.

refs #6778
2015-05-19 09:56:48 +02:00
Eric Lippmann 9477fdcea4 Use DateFormatter's format functions in the format view helper
refs #6778
2015-05-19 09:56:20 +02:00
Eric Lippmann bf8c4f1e9d Replace DateFormatter format constants w/ format functions
refs #6778
2015-05-19 09:55:21 +02:00
Johannes Meyer f305a334d5 DbConnection: Drop param $columnIndex in fetchColumn(), it's unused 2015-05-19 09:48:20 +02:00
Johannes Meyer cf989a0f7f SimpleQuery: Implement interface Iterator to benchmark result iteration 2015-05-19 09:41:55 +02:00
Johannes Meyer a1276fd709 Benchmark all queries by default, not only db queries 2015-05-19 09:41:18 +02:00
Johannes Meyer 7b6ca0826b DbQuery: Let the DbConnection do the count query 2015-05-19 09:34:22 +02:00
Johannes Meyer 9af25acf38 RepositoryQuery: Benchmark when iterating a query's result
refs #8826
2015-05-18 16:02:55 +02:00
Johannes Meyer 0e0341f78a It's the connection which provides a cursor, not the query 2015-05-18 16:01:58 +02:00
Matthias Jentsch 592d5eadc1 Merge branch 'feature/improve-multi-select-view-8565' 2015-05-18 16:00:52 +02:00
Johannes Meyer 742dfcaf41 Revert "Fetchable: Add method fetch() which returns an iterator"
This reverts commit 7a6837de0e.
2015-05-18 15:17:22 +02:00
Eric Lippmann aaa8e4bf6a Don't render time information when the timestamp evaluates to false
refs #6778
2015-05-18 14:40:55 +02:00
Johannes Meyer be36809552 RepositoryQuery: Implement interface Iterator
refs #8826
2015-05-18 14:05:02 +02:00
Johannes Meyer 3f25cf560e RepositoryQuery: Remove method paginate()
refs #8826
2015-05-18 14:03:22 +02:00
Johannes Meyer d39c697d0e Repository: QueryInterface is _not_ queryable anymore...
refs #8826
2015-05-18 14:01:17 +02:00
Johannes Meyer 7a6837de0e Fetchable: Add method fetch() which returns an iterator 2015-05-18 13:59:16 +02:00
Eric Lippmann 82ee1d6e60 Merge branch 'master' into bugfix/significant-whitespaces-8777
Conflicts:
	library/Icinga/Web/Widget/FilterEditor.php
2015-05-18 13:35:28 +02:00
Johannes Meyer 524c449649 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-18 11:28:07 +02:00
Johannes Meyer 130fea3146 Revert "Merge Queryable into QueryInterface"
This reverts commit ca5ef2da2b.
A perfect example of a change as a result of being mentally deranged.
2015-05-18 11:25:02 +02:00
Alexander Fuhr 2cbcea25cb Merge branch 'feature/ido-resource-validation-9203'
fixes #9214
resolves #9203
2015-05-15 15:59:18 +02:00
Johannes Meyer 99c511eefd Limiter: Do not use a hardcoded default limit 2015-05-15 15:22:22 +02:00
Johannes Meyer 9a043386de Controller: Make setupSortControl creating a Zend_Paginator on its own
We're accessing the url GET parameters `sort' and `dir' in a controller now.

fixes #8339
2015-05-15 14:37:41 +02:00
Johannes Meyer fbf0ad4339 Drop interface Browsable
We're not required to handle objects of Zend_Paginator in any way, so
creating such as part of a query is not necessary since QueryAdapter
accepts any instance of QueryInterface. (gets enforced in the near future)

refs #8339
2015-05-15 14:37:41 +02:00
Johannes Meyer ed5f646b6f SimpleQuery: Implement interface IteratorAggregate
I'd like to foreach such.
2015-05-15 14:37:41 +02:00
Johannes Meyer e04655e8cf Controller: Apply the user chosen sort rules when in compact view as well 2015-05-15 14:37:41 +02:00
Johannes Meyer ad8903660d Revert "SortBox::handleRequest(): set query order direction to asc if it's not given"
This reverts commit 59753acece.
2015-05-15 14:37:41 +02:00
Alexander Fuhr 9f35db71bf Form: Add typed notifications to the form
refs #9203
2015-05-15 13:04:01 +02:00
Alexander Fuhr 1eb11625ef Add new FormNotification Decorator to render form notifications
refs #9203
2015-05-15 13:02:54 +02:00
Alexander A. Klimov 59753acece SortBox::handleRequest(): set query order direction to asc if it's not given 2015-05-13 14:40:40 +02:00
Johannes Meyer e9fee2dad6 Repository: Handle column name ambiguousness automatically
refs #8826
2015-05-13 13:27:08 +02:00
Johannes Meyer 0a387573f3 Logger: Fix substitution of exception messages 2015-05-13 10:46:34 +02:00
Johannes Meyer f93c2de6be UserGroupBackend: Disable default backend type `ini'
We're not going to support this until a proper membership implementation
exists (or is required at all).

refs #8826
2015-05-13 10:45:54 +02:00
Johannes Meyer 223ecab991 DbUserGroupBackend: Make it possible to handle memberships
refs #8826
2015-05-13 10:34:39 +02:00
Johannes Meyer 47dfcf5e1d DbUserGroupBackend: Do not use the repository abstraction internally
That's overhead which is not necessary.

refs #8826
2015-05-13 10:34:00 +02:00
Johannes Meyer 7d982068a5 DbRepository: Ensure that we'll work with a instance of DbConnection
refs #8826
2015-05-13 09:52:29 +02:00
Johannes Meyer d5d0c67d2c IniRepository: Do not handle $target as a section's name
That's bullshit.

refs #8826
2015-05-13 09:48:46 +02:00
Johannes Meyer 104c1c6bba DbUserBackend: Utilize Zend_Db_Select when fetching the password hash 2015-05-13 09:16:24 +02:00
Johannes Meyer 7d08dd2765 DbConnection: Adjust insert and update to support custom type definitions
This strips the custom insert and update implementataions in
DbUserBackend down so that it does not need to do such low level stuff...

refs #8826
2015-05-13 09:15:18 +02:00
Johannes Meyer aa466ae721 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-13 08:11:59 +02:00
Alexander A. Klimov d43513dcac Controller: use Icinga\Data\Sortable 2015-05-12 16:38:31 +02:00
Johannes Meyer c91d3e52ac Merge branch 'master' into feature/user-and-group-management-8826 2015-05-12 15:39:02 +02:00
Johannes Meyer 053c9cdcb3 Repository: Check whether a column is queried from the correct table
refs #8826
2015-05-12 15:38:29 +02:00
Alexander A. Klimov afa0dc0956 SortBox::handleRequest(): check whether $this->query !== null
refs #9220
2015-05-12 10:29:50 +02:00
Alexander A. Klimov e1c3d23d12 Icinga\Web\Controller::setupSortControl(): set query on the newly created SortBox (if given)
refs #9220
2015-05-11 16:28:23 +02:00
Alexander A. Klimov 32659647b9 Implement Icinga\Web\Widget\SortBox::handleRequest()
refs #9220
2015-05-11 16:09:20 +02:00
Johannes Meyer 44bbd93cbc DbUserBackend: Provide a custom insert and update implementation
As we're transmitting password hashes which may contain special chars
and the like, we need to utilize prepared statements with explicit types.

refs #8826
2015-05-11 16:00:24 +02:00
Alexander A. Klimov 17ebe07e57 Implement Icinga\Web\Widget\SortBox::setQuery()
refs #9220
2015-05-11 15:37:00 +02:00
Alexander A. Klimov 295254d1d5 Rename Icinga\Web\Widget\SortBox::applyRequest() to ...::setRequest()
refs #9220
2015-05-11 14:07:57 +02:00
Alexander A. Klimov 152c6a8f7f Merge Monitoring_ListController::hasBetterUrl() into Icinga\Web\Controller::init()
refs #9220
2015-05-11 13:36:58 +02:00
Matthias Jentsch 25f397042b Merge branch 'master' into feature/improve-multi-select-view-8565
Conflicts:
	modules/monitoring/application/controllers/HostsController.php
	modules/monitoring/application/controllers/ServicesController.php
	modules/monitoring/application/views/scripts/hosts/show.phtml
	modules/monitoring/application/views/scripts/list/hosts.phtml
	modules/monitoring/application/views/scripts/partials/host/objects-header.phtml
	modules/monitoring/application/views/scripts/partials/service/objects-header.phtml
	modules/monitoring/application/views/scripts/services/show.phtml
	modules/monitoring/public/css/module.less
	public/js/icinga/behavior/tooltip.js
2015-05-11 13:28:43 +02:00
Johannes Meyer b3957c556b DbUserGroupBackend: Properly utilize the insert and update capability
refs #8826
2015-05-11 13:28:01 +02:00
Johannes Meyer ca166b0175 DbRepository: Add insert, update and delete capabilities
refs #8826
2015-05-11 13:26:41 +02:00
Johannes Meyer 3aaa6d39a1 DbConnection: Make it possible to insert, update and delete table rows
refs #8826
2015-05-11 13:25:50 +02:00
Johannes Meyer 30bc1db6ee IniRepository: There is no need to fetch the results using a query
Icinga\Application\Config is iterable.

refs #8826
2015-05-11 07:46:36 +02:00
Johannes Meyer f1c82fc318 IniUserGroupBackend: Convert timestamps and arrays...
...to formatted datetime strings and comma separated strings respectively

refs #8826
2015-05-08 15:28:10 +02:00
Johannes Meyer 59ec11f047 IniUserGroupBackend: Extend IniRepository
We are now able to insert, update and delete user groups stored in INI files

refs #8826
2015-05-08 15:26:35 +02:00
Johannes Meyer 6ef4bbe210 Introduce class IniRepository
refs #8826
2015-05-08 15:22:51 +02:00
Johannes Meyer 8690056e1c Introduce interface Updatable
refs #8826
2015-05-08 15:18:56 +02:00
Johannes Meyer 2c1fac9da8 Introduce interface Reducible
refs #8826
2015-05-08 15:18:42 +02:00
Johannes Meyer 84f20ecb5f Introduce interface Extensible
refs #8826
2015-05-08 15:18:28 +02:00
Johannes Meyer 12ff708ac0 Introduce exception StatementException
refs #8826
2015-05-08 15:17:36 +02:00
Johannes Meyer 938da806ca Repository: Recurse a filter in the repository instead of in the query
This allows to recurse and adjust a filter outside the query context as well

refs #8826
2015-05-08 12:15:02 +02:00
Johannes Meyer f383ddd00a Repository: Add support for client side value conversion
refs #8826
2015-05-07 14:49:13 +02:00
Johannes Meyer f83d16acb2 RepositoryQuery: Do not lose the repository context during pagination
refs #8826
2015-05-07 14:45:47 +02:00
Johannes Meyer eac5e398be Repository: Initialize the internal column and table maps lazily as well
refs #8826
2015-05-07 09:04:50 +02:00
Johannes Meyer 99be358714 Repository: Make it possible to initialize column properties lazily
refs #8826
2015-05-07 08:28:32 +02:00
Johannes Meyer ba4330de43 Repository: We do not overwrite properties, we're initializing them
refs #8826
2015-05-07 08:03:07 +02:00
Johannes Meyer 4d83b2f93d Authentication\Manager: Fix invalid class path in use statement
refs #8826
2015-05-06 12:18:57 +02:00
Johannes Meyer 16a7b010bc SimpleQuery: Ignore limit and offset when counting 2015-05-06 10:41:39 +02:00
Johannes Meyer 4044e56a03 LdapUserBackend: Provide filter column `user'
refs #8826
2015-05-06 10:27:26 +02:00
Johannes Meyer 108f55128f Ldap\Query: Fix access of a filter's expression 2015-05-06 10:24:50 +02:00
Johannes Meyer cfa9176192 ArrayDatasource: use array_shift in fetchRow() instead of index access
Since associative arrays are supported, the numeric index 0 might not be
the first entry in the result.
2015-05-06 10:10:29 +02:00
Johannes Meyer 7b2ed3bef7 ArrayDatasource: Create a new result when counting
There is usually no limit and offset when a query is going to be counted
so the cached result must not be used.
2015-05-06 10:08:07 +02:00
Johannes Meyer f2ad2838f4 ArrayDatasource: Apply a query's limit and offset when creating the result 2015-05-06 09:39:43 +02:00
Johannes Meyer d63381c002 ArrayDatasource: Add missing and fix existing documentation 2015-05-06 09:12:48 +02:00
Johannes Meyer 9c799dca22 IniUserGroupBackend: Automatically set section names on column `name'
refs #8826
2015-05-06 08:41:54 +02:00
Johannes Meyer b1cbc1422b ArrayDatasource: Add support for associative arrays
Keys are now preserved in case a non-numeric one is found. By using
setKeyColumn() it is now also possible to map such a key to a specific
column of a row generated by createResult().
2015-05-06 08:40:02 +02:00
Johannes Meyer f1f1710f47 Config: Add method getConfigObject to access the internal ConfigObject 2015-05-06 08:07:42 +02:00
Johannes Meyer 89029308ef IniUserGroupBackend: Extend Repository and implement UserGroupBackendInterface
Note that it was necessary to change the structure of ini files providing
the membership information. They need to be structured like our db
table rows now.

refs #8826
2015-05-05 15:24:18 +02:00
Johannes Meyer 5cc7f26728 ConfigObject: Extend ArrayDatasource
This makes it possible to use a ini file as repository!!!1
One thing is missing: Section names are currently ignored and should be
mapped to a virtual column.

refs #8826
2015-05-05 15:21:34 +02:00
Alexander Fuhr be696e5adf LogFileIterator: Fix missing closing bracket 2015-05-05 12:50:35 +02:00
Alexander Fuhr 612fefba9c Fix the permission wildcards assertion
fixes #9202
2015-05-05 12:36:26 +02:00
Johannes Meyer de68d78938 DbUserGroupBackend: Add case insensitive filter columns `group' and `parent'
refs #8826
2015-05-05 09:34:49 +02:00
Johannes Meyer 37e47f0d3f DbUserBackend: Add case insensitive filter column `user'
refs #8826
2015-05-05 09:34:23 +02:00
Johannes Meyer 58233b0072 DbUserGroupBackend: Extend DbRepository and implement UserGroupBackendInterface
refs #8826
2015-05-05 09:23:29 +02:00
Johannes Meyer b1454c199a Introduce interface UserGroupBackendInterface
refs #8826
2015-05-05 08:27:11 +02:00
Johannes Meyer 7b2fc1ba41 Make class UserGroupBackend being just a factory for user group backends
refs #8826
2015-05-05 08:26:38 +02:00
Johannes Meyer bd136d39f4 SimpleQuery: Make compare() alias aware
refs #8826
refs #7693
2015-05-05 07:31:50 +02:00
Johannes Meyer d71df6a9b8 Revert "SimpleQuery: Make compare() alias aware"
This reverts commit 6612e4c1ae.
2015-05-05 07:30:42 +02:00
Johannes Meyer d171dd2ec9 Introduce controller UserController
Still only able to list users, more to follow...

refs #8826
2015-05-04 17:04:50 +02:00
Johannes Meyer d0a353c3da Ldap\Connection: Fix result counting
Missed to adjust this once I refactored the query execution..

refs #8826
2015-05-04 16:24:17 +02:00
Johannes Meyer 3e8ef5cc0f Ldap\Query: Quick fix for naive filter support
Since this will ignore any logical clauses and operators it must be
considered a quick fix and be dropped once real filter support exists.

refs #8826
2015-05-04 16:17:14 +02:00
Johannes Meyer f9089c3e0c RepositoryQuery: Ensure compatibility with the FilterEditor widget
refs #8826
2015-05-04 15:56:58 +02:00
Johannes Meyer 842b043f7f LdapUserBackend: Use is_active as well as a default sort column
refs #8826
2015-05-04 15:56:13 +02:00
Johannes Meyer b86a0024c3 DbUserBackend: Use is_active as well as a default sort column
refs #8826
2015-05-04 15:55:36 +02:00
Johannes Meyer c441117324 LdapUserBackend: Extend Repository and implement UserBackendInterface
refs #8826
2015-05-04 12:18:25 +02:00
Johannes Meyer e74194c18e ExternalBackend: Implement UserBackendInterface
refs #8826
2015-05-04 12:15:50 +02:00
Johannes Meyer 99ac0b78ea DbUserBackend: Extend DbRepository and implement UserBackendInterface
refs #8826
2015-05-04 12:15:05 +02:00
Johannes Meyer 7b41fc020a AuthChain: Yield UserBackendInterface instead of UserBackend
refs #8826
2015-05-04 11:44:41 +02:00
Johannes Meyer 1824eb9c3b Make class UserBackend being just a factory for user backends
refs #8826
2015-05-04 11:43:53 +02:00
Johannes Meyer 68657c02ee Introduce interface Icinga\Authentication\User\UserBackendInterface
refs #8826
2015-05-04 11:40:17 +02:00
Johannes Meyer 870e75c99c Introduce class Icinga\Repository\DbRepository
refs #8826
2015-05-04 11:39:12 +02:00
Johannes Meyer fa1906ee7d Introduce class Icinga\Repository\RepositoryQuery
refs #8826
2015-05-04 11:38:21 +02:00
Johannes Meyer 3b93b84ecf Introduce class Icinga\Repository\Repository
refs #8826
2015-05-04 11:37:48 +02:00
Johannes Meyer 7b7a7c9299 Ldap\Connection: Add proper order support
Will now utilize SimpleQuery::compare() to provide support for multiple
order columns.

refs #8826
refs #7693
2015-05-04 11:36:38 +02:00
Johannes Meyer 6612e4c1ae SimpleQuery: Make compare() alias aware
refs #8826
refs #7693
2015-05-04 11:34:39 +02:00
Johannes Meyer 664017573f Ldap\Connection: Add query alias support
refs #8826
2015-05-04 11:32:03 +02:00
Johannes Meyer 5baa0590b1 Ldap\Query: Extend SimpleQuery and add missing documentation
refs #8826
refs #8955
2015-05-04 11:26:27 +02:00
Johannes Meyer 99213432f5 Ldap\Connection: Rename fetchDN() to fetchDn()
We're using CamelCase names for methods.
2015-05-04 11:16:16 +02:00
Johannes Meyer 7178026b8b Ldap\Connection: Implement interface Selectable
refs #8826
2015-05-04 11:15:20 +02:00
Johannes Meyer ecd059dec5 DbConnection: select() returns a DbQuery, not a Query 2015-05-04 11:13:38 +02:00
Johannes Meyer e7789ed640 SimpleQuery: Rename unused property `table' to `target'
`target' is already in use, but was not declared. `table' was declared but not
used anywhere. So `table' is now `target'.
2015-05-04 11:12:43 +02:00
Johannes Meyer ca5ef2da2b Merge Queryable into QueryInterface
A *Query*Interface describes an object as being queryable, now.

refs #8826
2015-05-04 11:07:50 +02:00
Alexander A. Klimov ab0b478e4f Icinga\Web\Widget\Tabextension\DashboardAction::apply(): translate label "Add To Dashboard" 2015-04-30 17:49:42 +02:00
Alexander A. Klimov ffe23a184f Don't display "Add To Dashboard" on the dashboard
resolves #9026
2015-04-30 17:47:23 +02:00
Alexander Fuhr 7f28c0a237 Implement ProblemMenuItemRenderer
refs # 4139
2015-04-30 16:06:05 +02:00
Johannes Meyer d09ea2845d Merge branch 'master' into feature/user-and-group-management-8826 2015-04-30 15:20:40 +02:00
Johannes Meyer 3da144f199 Revert "Sort LDAP user list"
This reverts commit d4dc0177c0.
2015-04-28 15:57:33 +02:00
Alexander A. Klimov 7c0be30def Handle and display multiline log messages correctly 2015-04-24 17:36:49 +02:00
Alexander A. Klimov ec82b3bc09 Implement Icinga\Protocol\File\LogFileIterator 2015-04-24 17:36:48 +02:00
Alexander A. Klimov 3d53e6f9b5 Icinga\Protocol\File\FileReader::count(): call iterator_count() only once per instance and cache the returned value 2015-04-24 11:10:40 +02:00
Alexander A. Klimov 5ba539b7c1 SyslogWriter: replace \n w/ 4 spaces in multiline log messages 2015-04-24 10:28:45 +02:00
Alexander A. Klimov a429617a95 Revert "Log each line of a multiline log message separatly"
This reverts commit 39042ab306.
2015-04-24 10:17:35 +02:00
Alexander A. Klimov 39042ab306 Log each line of a multiline log message separatly
resolves #9000
2015-04-23 17:44:00 +02:00
Alexander A. Klimov 9cd7765d9e If session_save_path() returns '', use sys_get_temp_dir()
resolves #8994
2015-04-22 17:26:15 +02:00
Alexander A. Klimov 1daecbbca0 Don't use `false === ...' when `! ...' is enough 2015-04-22 17:04:31 +02:00
Alexander A. Klimov 9393d11c0b Display an error message when enabled modules cannot be read because /etc/icingaweb2 is not readable
resolves #9141
2015-04-22 16:44:00 +02:00
Johannes Meyer 7960e911a6 UserGroupBackend: Add support for custom backends to fetch user groups
refs #8826
refs #9122
2015-04-22 09:52:08 +02:00
Johannes Meyer a2cd5d63f1 UserBackend: Wrap config directives as part of errors in single quotes 2015-04-22 09:36:45 +02:00
Johannes Meyer a1d8ed6e8f UserBackend: Utilize ResourceFactory::create 2015-04-22 09:35:41 +02:00
Johannes Meyer c9dcddb134 UserGroupBackend: Add missing and fix existing method documentation 2015-04-22 09:35:06 +02:00
Johannes Meyer 847c02ed8e UserBackend: Add support for custom authentication backends
refs #8826
refs #8877
2015-04-22 09:28:42 +02:00
Johannes Meyer 33628cbf04 Icinga\Application\Modules\Module: Add missing documentation 2015-04-22 09:06:26 +02:00
Johannes Meyer b45e576722 UserBackend: Remove testing only related code
There are no tests for this class at all.
2015-04-21 14:15:43 +02:00
Johannes Meyer 97caeb27f7 UserBackend: Add missing and fix existing method documentation
refs #8826
2015-04-21 13:59:35 +02:00
Johannes Meyer 319ca3625c LdapUserBackend: Drop redundant method hasUser
refs #8826
2015-04-21 13:15:40 +02:00
Johannes Meyer 60a8654614 ExternalBackend: Drop redundant method hasUser
refs #8826
2015-04-21 13:15:06 +02:00
Johannes Meyer 11f522d929 DbUserBackend: Drop redundant method hasUser
refs #8826
2015-04-21 13:14:50 +02:00
Johannes Meyer a7af546078 UserBackend: Drop abstract method hasUser
refs #8826
2015-04-21 13:14:27 +02:00
Johannes Meyer 6ca68f438d Move concrete UserBackend classes to Icinga\Authentication\User
refs #8826
2015-04-21 12:51:31 +02:00
Johannes Meyer 39473e8939 Move UserGroupBackend to Icinga\Authentication\User
refs #8826
2015-04-21 12:42:21 +02:00
Johannes Meyer b51ce9c7ab Move concrete UserGroupBackend classes to Icinga\Authentication\UserGroup
refs #8826
2015-04-21 12:38:57 +02:00
Johannes Meyer 8058eb0215 Move UserGroupBackend class to Icinga\Authentication\UserGroup
refs #8826
2015-04-21 12:32:18 +02:00
Thomas Gelf d3964a31fb MenuItemRenderer: add missing use clause
Otherwise this completely broke Icinga Web as soon as a single module
used a legacy icon.

refs #7658
2015-04-20 21:49:45 +02:00
Alexander A. Klimov d6e7061de3 Implement Icinga\Web\Widget\FilterEditor::setSearchColumns() for specifying custom search columns 2015-04-20 18:01:48 +02:00
Alexander Fuhr 5f3aafd3bd Merge branch 'bugfix/menu-item-renderer-deduplication-7658'
fixes #7658
2015-04-20 17:15:21 +02:00
Alexander Fuhr 9ebf4742de Use the MenuItemRenderer render() implemnetations
refs #7658
2015-04-20 17:07:34 +02:00
Alexander Fuhr 4eb5f75c62 Use default MenuItemRenderer as renderer if no custom renderer is set
refs #7658
2015-04-20 17:04:46 +02:00
Alexander Fuhr f543321ac4 Replace MenuItemRenderer interface with a base class MenuItemRenderer
refs #7658
2015-04-20 17:02:42 +02:00
Johannes Meyer da7aa23820 Merge branch 'master' into bugfix/make-all-views-dashboard-compliant-7876 2015-04-20 15:20:23 +02:00
Alexander Fuhr 7bc07c4368 Force absolute nampesace for module menu item renderer
refs #7642
2015-04-20 13:21:37 +02:00
Alexander Fuhr a9819907ed Add namespaced item renderer class loader
refs #7642
2015-04-20 13:08:49 +02:00
Alexander Fuhr 593ea7add5 Move monitoring module renderers from global module to monitoring module
refs #7642
2015-04-20 13:02:12 +02:00
Johannes Meyer 54a370ca22 Merge branch 'master' into bugfix/make-all-views-dashboard-compliant-7876 2015-04-20 11:15:04 +02:00
Johannes Meyer 8dba5752dc ModuleManager: Improve error messages when en-/disabling modules 2015-04-20 10:09:33 +02:00
Johannes Meyer 2bd31ee395 Icinga\Web\Controller: Add helper functions to create control widgets
refs #7876
2015-04-17 16:08:41 +02:00
Johannes Meyer b52b507134 FilterEditor: Fix css 2015-04-17 10:05:48 +02:00
Matthias Jentsch 6898a4e0d5 Display icon tooltips without delay
Original functionality was broken when changing the icon library.
2015-04-16 18:32:47 +02:00
Matthias Jentsch 168577ff33 Use icon instead of the letter 'X' in close tab 2015-04-16 18:32:47 +02:00
Eric Lippmann ff45faf123 lib: Remove prefixedTimeUntil()
refs #6778
2015-04-15 15:47:58 +02:00
Eric Lippmann 44c8d37288 lib: Remove prefixedTimeSince()
refs #6778
2015-04-15 15:47:10 +02:00
Eric Lippmann 796cbffbd7 Merge branch 'master' into bugfix/time-formatting-6778
Conflicts:
	modules/monitoring/application/views/scripts/show/components/notifications.phtml
2015-04-15 15:43:39 +02:00
Johannes Meyer 675d070b86 Set the view property `compact' exactly once
refs #7876
2015-04-15 15:33:00 +02:00
Eric Lippmann ae1962af27 Let DateFormatter format dates like Format::smartTimeDiff()
Date diffs which are bigger than 3 days are now displayed w/o time again.

refs #6778
2015-04-15 15:26:25 +02:00
Johannes Meyer ed2de3c4d0 Fix SortBox widget
refs #7876
2015-04-15 14:20:36 +02:00
Johannes Meyer d882ea11b4 Avoid to set an empty redirect url parameter when accessing icinga web 2 2015-04-15 11:00:47 +02:00
Johannes Meyer 36fed03764 Do not log that the logging configuration is invalid on every request
Instead, log those messages *everytime* a subsequent message is being
logged.

refs #8957
2015-04-13 17:11:42 +02:00
Johannes Meyer 67ad575cf5 Set the configured logging level even if the configured logging type is invalid
refs #8957
2015-04-13 17:09:49 +02:00
Johannes Meyer 638c00d685 Merge branch 'master' into feature/non-collated-ido-queries-8613 2015-04-13 15:55:32 +02:00
Eric Lippmann 5a46821d91 Rename timeago, timesince and timeuntil CSS classes to time-ago, time-since and time-until
refs #6778
2015-04-10 14:19:08 +02:00
Alexander A. Klimov a817d9070e Move setupSortControl() from Monitoring_ListController to Icinga\Web\Controller 2015-04-10 11:36:25 +02:00
Eric Lippmann 3ec6caa15b lib: Add timeAgo to views
refs #6778
2015-04-10 09:56:39 +02:00
Eric Lippmann 7f73c6ae29 Use DateFormatter in our Format util for time ago, since and until
Note that time diff formatting now always includes the prefix using the functions timeAgo, timeSince and timeUntil.
I'll remove the related prefixed* functions later on and implement it as parameter to the functions listed above.

refs #6778
2015-04-10 09:51:15 +02:00
Eric Lippmann f2e5066430 lib: Add DateFormatter for ICU date formatting
The DateFormatter class is supposed to handle locale-dependent date, time, and time diff (ago, since, until) formatting.

refs #6778
2015-04-10 09:44:38 +02:00
Eric Lippmann 06830e035e Set default locale for the intl extension upon locale detection
refs #6778
2015-04-10 09:29:46 +02:00
Eric Lippmann 3f2d87777a Use IntlDateFormatter in Format::timeUntil()
refs #6778
2015-04-08 15:19:51 +02:00
Johannes Meyer 55e9407371 Use `service' instead of `service_description' when searching for services
refs #8613
2015-04-08 14:57:30 +02:00
Johannes Meyer e94c99e20e Use `host' instead of `host_name' when searching for hosts
refs #8613
2015-04-08 14:57:08 +02:00
Eric Lippmann 45d1230b28 Merge branch 'master' into bugfix/significant-whitespaces-8777 2015-04-08 10:19:53 +02:00
Eric Lippmann a185107927 Trim off leading whitespaces from filter values when searching
Because whitespaces may be used when searching for entities using the query string format "column = value" we have to trim off leading whitespaces from filter values.
This loses the possibility for search for entities with leading whitespaces of course.

refs #8777
2015-04-08 10:14:42 +02:00
Eric Lippmann 6e6aabedf2 Don't trim filter expressions
Leading and trailing whitespaces may be significant for comparison.

refs #8777
2015-04-08 09:31:11 +02:00
Matthias Jentsch 46da404452 Add docstrings to ObjectList and coding style 2015-04-07 16:34:20 +02:00
Johannes Meyer 9596b4fdf7 Form: Make it possible to preserve default values during (auto)submission 2015-04-07 15:07:36 +02:00
Alexander Klimov 967a2e82dc Use (only) "@return $this" in fluent interfaces' documentation 2015-04-07 14:24:11 +02:00
Eric Lippmann 6b63f3d8a2 Merge branch 'feature/require-mandatory-params-8886'
resolves #8886
2015-04-07 13:06:43 +02:00
Eric Lippmann dfd8c91827 Add PHPDoc to ActionController::$params 2015-04-07 12:25:46 +02:00
Eric Lippmann 002e793a53 lib: Add Params::req()
Params::req() should be used for requiring a mandatory CLI parameter.

refs #8886
2015-04-07 12:20:37 +02:00
Eric Lippmann 93b1a35de0 lib: Add UrlParams::req()
UrlParams::req() should be used for requiring a mandatory URL parameter.

refs #8886
2015-04-07 12:17:59 +02:00
Eric Lippmann 0fc5801e5e lib: Add MissingParameterException::getParameter and ::setParameter ...
... for getting/setting the name of the missing parameter which caused the exception.

refs #8886
2015-04-07 12:15:15 +02:00
Alexander Klimov e32eeb991e Implement Icinga\Web\Widget\SortBox::create() 2015-04-07 11:37:06 +02:00
Alexander Klimov 57ed849cee Icinga\Web\Widget\SortBox::applyRequest(): return $this 2015-04-07 11:26:16 +02:00
Eric Lippmann 4d795494fc Fix MissingParameterException's PHPDoc
refs #8886
2015-04-07 10:48:37 +02:00
Johannes Meyer b0b95ab387 Fix that Icinga\Application\Logger::writesTo* is not functional 2015-04-07 10:31:57 +02:00
Matthias Jentsch 5619ac960c Add inline pies to host and service back to multi-select views
Add old inline pie code and visualize handled/unhandled state.

refs #8565
2015-04-02 16:25:20 +02:00
Eric Lippmann 9ce9e0270c Fix that LDAP encryption settings have no effect
I renamed the directive for the encryption setting from 'connection' to 'encryption' before releasing Beta3 but
I forgot to change the Connection class accordingly.

fixes #8953
2015-04-02 10:41:25 +02:00
Matthias Jentsch 9fbd7822d0 Fix coding guideline violations 2015-03-31 17:41:57 +02:00
Matthias Jentsch b0b0ae157c Turn prepareStateName into more generic string utility function
refs #8565
2015-03-31 16:45:21 +02:00
Matthias Jentsch 5383999ef7 Add warning to links that open in a new window
Add warning on mouseover / focus as recommended by as recommended by WCAG20 G201

refs #7937
2015-03-19 10:49:28 +01:00
Eric Lippmann 949438d753 lib: Add SimpleQuery::splitOrder() ...
... for supporting specifying the sort direction next to the column, e.g.
'service_display_name ASC'

refs #8716
2015-03-13 17:09:32 +01:00
Thomas Gelf 63f87da53d Session: reworked to avoid duplicate notifications
* clear session on initialization, store once on shutdown
* less static method calls
* fixes erraneous cli checks
2015-03-13 14:10:27 +01:00
Johannes Meyer 0bc1416b10 Use the correct name for malformed LDAP attributes automatically
...or more purposefully: Guard lazy users from themselves. I hope I don't
have to explain why _this_ is not part of Icinga\Protocol\Ldap\Query...

resolves #8608
2015-03-13 11:17:43 +01:00
Thomas Gelf 316d926811 Ldap/Query: re-add __toString
We stopped using __toString as it is unable to handle exceptions - and
this makes sense. However, that's IMO not a good reason to completely
drop __toString. Especially when debugging, benchmarking and similar you
often need a quick way to "dump" an object.

In that case you are often not in a mood to figure out whether that
specific class prefers create(), dump(), render() or whatever. We should
not base our view scripts on __toString - at least unless we do not catch
Exceptions in __toString methods, eventually "forwarding" them as triggered
error where needed.
2015-03-13 08:58:25 +01:00
Eric Lippmann e36c430bb3 Merge branch 'feature/protected-menu-8720'
resolves #8720
2015-03-13 04:26:19 +01:00
Eric Lippmann 200982e4f5 Set form action automatically only if Form::setAction() has not been called
refs #8605
2015-03-13 03:59:43 +01:00
Eric Lippmann d8d0d88c95 Rename Capability::hasStartTLS to Capability::hasStartTls() 2015-03-13 00:29:00 +01:00
Eric Lippmann db08ccad4b Fix encryption setting written to a LDAP reource's INI configuration
Use starttls for STARTTLS and ldaps for LDAPS.
2015-03-12 23:56:25 +01:00
Eric Lippmann 86f3ce9133 Rename Ldap\Connetion::SSL to ::LDAPS
The SSL constant was used to denote LDAP over TLS/SSL. In fact both STARTTLS and LDAPS use encrypted TLS/SSL communication
w/ STARTTLS upgrading a plain text connection and LDAPS using a separate port. Thus speaking of SSL only for LDAPS and TLS only for STARTTLS
is not correct.
2015-03-12 23:56:08 +01:00
Eric Lippmann 1b9ddaacac Add PHPDoc to Ldap\Connection's encryption consts 2015-03-12 23:35:38 +01:00
Eric Lippmann 17393a7b41 Remove unnecessary PHPDoc tags from Ldap\Connection 2015-03-12 23:30:04 +01:00
Eric Lippmann 03f78a06fb Optimize imports in the SearchDashboard
refs #8668
2015-03-12 18:48:59 +01:00
Eric Lippmann dc6b472ec9 Don't create search dashlets if the search string is empty
refs #8668
2015-03-12 18:47:34 +01:00
Eric Lippmann 515fe3249f Fix PHPDoc of SearchDashboard::search()
refs #8668
2015-03-12 18:44:23 +01:00
Eric Lippmann 77cd48e6fe We do not use the @package tag 2015-03-12 18:11:33 +01:00
Eric Lippmann 6c5a6215ef Render search results based on their priority
refs #8668
2015-03-12 18:11:06 +01:00
Eric Lippmann c1d5231619 Add priority param to Module::provideSearchUrl()
refs #8668
2015-03-12 17:55:29 +01:00
Eric Lippmann 29d5fd351b Merge branch 'bugfix/logout-external-8626'
fixes #8626
2015-03-12 16:47:49 +01:00
Eric Lippmann 8563d5ed3f PHPDoc: Use @var instead of @type
Becasue of too many kittens PSR-5 backed off of deprecating @var.
So that's the way we go too.
2015-03-12 16:08:47 +01:00
Eric Lippmann 90971f2caf Revert "Merge branch 'feature/organize-headings-7976'"
This reverts commit ea2a17a76c, reversing
changes made to e72de8dfe1.

refs #7976
fixes #8647
2015-03-12 16:08:34 +01:00
Eric Lippmann 093dfd627e Security: Hide config menu items if the user lacks the required permission
refs #8720
2015-03-12 15:45:33 +01:00
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
Thomas Gelf f8c5bf6819 Web\Hook: support hook base classes in modules
refs #8207
2015-02-02 17:44:29 +01:00
Thomas Gelf 3596e7ce62 FilterEditor: use preserved params
fixes #7904
2015-02-02 17:07:54 +01:00
Eric Lippmann 9d6906bd64 Save user dashboards to Icinga Web 2's configuration directory
fixes #8056
2015-02-02 15:06:29 +01:00
Eric Lippmann 52c40bdc5b lib/SimpleQuery: Increase default limit to 25
Please follow the referenced issues.

fixes #8337
refs #8339
2015-02-02 14:16:27 +01:00
Eric Lippmann 94193abdc0 lib: Fix User::can() 2015-02-02 14:16:26 +01:00
Eric Lippmann 9ac9342107 Revert "lib: Reduce else { if { to elseif { in User::can()"
This reverts commit e5b0b52874.
2015-02-02 14:16:26 +01:00
Eric Lippmann 5a1ebf9c89 lib: Implement Tab::getUrl() 2015-02-02 14:16:26 +01:00
Johannes Meyer bf470125c3 Merge branch 'master' into feature/create-missing-directories-when-creating-inis-8219
Conflicts:
	modules/monitoring/library/Monitoring/MonitoringWizard.php
2015-01-30 16:21:42 +01:00
Johannes Meyer f5a651664c Create the enabledModules directory when necessary only as well
refs #8219
2015-01-30 16:16:12 +01:00
Johannes Meyer 9426a5bd23 Use File::create() in Config::saveIni() to create missing nested directories
refs #8219
2015-01-30 15:43:02 +01:00
Johannes Meyer fdcec046e0 Make File::create(.., $recursive = true) create missing nested directories
refs #8219
2015-01-30 15:42:22 +01:00
Eric Lippmann e5b0b52874 lib: Reduce else { if { to elseif { in User::can() 2015-01-30 11:20:05 +01:00
Eric Lippmann df29dd0e7c Implement Form::hasPermission() and Form::getPermission() 2015-01-30 09:35:01 +01:00
Eric Lippmann 2faf5f0ca1 Throw SecurityException in ActionController::assertPermission() 2015-01-30 09:34:19 +01:00
Johannes Meyer 63305fdf9a Add Icinga\Application\Config::saveIni()
Simplifies saving INI files. Icinga\File\Ini\IniWriter does already require an
instance of Icinga\Application\Config so it's obvious to give "Config" the
task to initialize the writer.. We do also have a central place to handle
creating missing ancestor directories now.

refs #8219
2015-01-30 09:32:08 +01:00
Eric Lippmann 375345f837 lib: Add SecurityException
All assertPermission() calls must throw this exception.
2015-01-30 09:06:10 +01:00
Johannes Meyer 3e128732b8 Apply a limit to results fetched via Ldap\Connection::fetchRow()
fixes #7993
2015-01-29 17:29:11 +01:00
Johannes Meyer 6e533f223e Log warnings emitted by ldap_control_paged_result_response() as debug
Such a warning is emitted as well in case it's not critical. That is passing
an alternative overall result limit using ldap_search() to the server causes
it being applied across pages so ldap_control_paged_result_response()
does not indicate the "end" of the resultset just by adjusting the cookie
but by emitting the warning as well.
2015-01-29 17:12:59 +01:00
Johannes Meyer 9ff0bbcfc0 Fix that Icinga\Protocol\Ldap\Connection does not correctly apply limits 2015-01-29 17:07:58 +01:00
Johannes Meyer 97cc37b99c Move php version check from ...\Ldap\Query to ...\Ldap\Connection
refs #8261
refs #6176
2015-01-29 15:59:03 +01:00
Johannes Meyer 2a115e71d4 Add support for paged LDAP search results
fixes #8261
refs #6176
2015-01-29 15:53:15 +01:00
Marius Hein dd483d98df LessCompiler: Remove useless argument
refs #6417
2015-01-29 14:04:47 +01:00
Marius Hein c1df1f822e ifont: Reorganize files and drop use less attributes
fixes #6417
2015-01-29 11:25:37 +01:00
Johannes Meyer 3a983e8859 Merge branch 'master' into feature/improve-autologin-setup-8274 2015-01-28 18:01:15 +01:00
Marius Hein 4abb30e55b Merge branch 'master' into bugfix/ie8-fixes-6417 2015-01-28 17:08:56 +01:00
Marius Hein 9d05190517 ifont: Fix empty font glyphs for IE8
The embedded font is included inline in the stylesheets. IE falls back and
tries to load one of the other font sources which was not exported by the web
server. This fix moves the fontello directory to public and add add a
prefix path to the embedded stylesheet.

refs #6417
2015-01-28 17:06:55 +01:00
Johannes Meyer 6fde4eec30 Show all tabs except "Add to Dashboard" when issuing a command
refs #8279
2015-01-28 12:50:29 +01:00
Eric Lippmann c53b1d27e9 lib: Deprecate Data\Filterable because of ...
addFilter and applyFilter do the same in all usages.
addFilter could be replaced w/ getFilter()->add().
We must no require classes implementing this interface to implement redundant methods over and over again.
The interface must be moved to the namespace Icinga\Data\Filter.
It lacks documentation.
2015-01-27 14:33:46 +01:00
Johannes Meyer 47b27fcfe4 setup: Look for the authentication.ini instead of the config.ini
The config.ini does not include any settings mandatory to operate
Icinga Web 2, but the authentication.ini does.

refs #8134
2015-01-27 13:34:59 +01:00
Johannes Meyer 50fc85d7ff Rename authentication type "autologin" to "external"
refs #8274
2015-01-27 09:49:36 +01:00
Johannes Meyer d452f3218d Use "ini" as preferences store in case preferences are not configured
refs #8234
2015-01-23 16:25:24 +01:00
Johannes Meyer 2a543bb5ae Rename the preference setting `type' to `store'
refs #8234
2015-01-23 16:25:23 +01:00
Eric Lippmann 7bd42b476f bootstrap: Load setup module in case the setup token exists
The web setup may write the config.ini even if it errors. Thus our bootstrap
has to load the setup module whenever the setup.token exists.
Another approach would to write the config.ini in our web setup at the very end.
2015-01-23 15:27:52 +01:00
Johannes Meyer 14a4aaeb77 Revert "Fix that when chosing to not to store preferences an invalid config is created"
This reverts commit 6284da451e.
2015-01-23 15:23:43 +01:00
Johannes Meyer 6284da451e Fix that when chosing to not to store preferences an invalid config is created
fixes #8234
2015-01-23 14:42:09 +01:00
Eric Lippmann cd8822ceff lib: Add View::hasPermission() 2015-01-23 09:36:45 +01:00
Eric Lippmann 6da3cb8403 lib: Reorder auth related functions in the ActionController 2015-01-23 09:36:05 +01:00
Eric Lippmann 44de790cc9 Security: Temporary grant all permissions 2015-01-22 17:12:49 +01:00
Eric Lippmann ef0a7c0e77 Revert "Security: Temporary grant all permissions"
This reverts commit 9b7e75a616.

Patching function hasPermission is not enough. A fix will follow.
2015-01-22 17:11:53 +01:00
Eric Lippmann 0f13c0428c Controller: Introduce method assertHttpMethod()
We have actions where only certain HTTP methods, e.g. POST are allowed but they are not restricted yet.
Controller::assertHttpMethod() takes a number of allowed HTTP methods and responds with HTTP 405 in case
the current request's method is not one of the given methods.
2015-01-22 15:47:16 +01:00
Eric Lippmann 9b7e75a616 Security: Temporary grant all permissions
We'll introduce permissions and restrictions in the next hours. Because our web setup
does not configure permissions yet, all permissions are granted for all users from now on.
2015-01-22 15:20:38 +01:00
Eric Lippmann f16aac5154 Security: Sort permissions only if not empty 2015-01-22 15:20:19 +01:00
Johannes Meyer 94d727dbb8 Fix error in Icinga\Web\Form in case the label decorator is missing
Zend_Form::getDecorator() returns false instead of null in case the
decorator is not found.
2015-01-22 09:21:50 +01:00
Johannes Meyer 10eacf9682 Allow jumping to already visited pages
This was already possible using just the base implementation of Wizard
but since WebWizard has optional pages it did not work with pages that
had such an optional page as previous page.

refs #8191
2015-01-21 15:39:06 +01:00
Johannes Meyer 64a8006973 Add Wizard::isComplete()
Wizard::isFinished() is not applicable in case a wizard is a child of another
wizard. Wizard::isComplete() fulfills the need to check whether a user went
through a wizard entirely.

refs #8191
2015-01-21 13:56:53 +01:00
Johannes Meyer 1f6a81aefb Add Wizard::skipPage()
Required to not to duplicate code in custom wizards and to avoid errors
when detecting the direction.

refs #8191
2015-01-21 13:07:08 +01:00
Johannes Meyer 2288e2a687 Add support for nested wizards
The amount of vertical dimensions is not limited as well as the location a
nested wizard can occur in the main wizard's order. In case a custom
implementation is used as nested wizard, all core functionalities are
still being utilized.

refs #8191
2015-01-20 15:54:14 +01:00
Eric Lippmann 2bd2f32b2e postgresql/auth: Fix that users cannot login when using PostgreSQL >= version 9.0
fixes #8251
2015-01-19 16:43:19 +01:00
Matthias Jentsch 4dfad963e9 Merge branch 'master' into feature/improve-chart-implementation-7841 2015-01-19 15:15:24 +01:00
Matthias Jentsch ba1007465a Adapt bar width to amount of data points 2015-01-19 15:13:44 +01:00
Eric Lippmann a1a36301fe View: Add string helpers 2015-01-19 14:20:57 +01:00
Eric Lippmann a0a3241d1c lib: Add String::ellipsis() 2015-01-19 14:20:37 +01:00
Matthias Jentsch fecd4151d1 Move axis labels to the top of the chart 2015-01-19 13:35:41 +01:00
Eric Lippmann ac503031a7 Config: Fix PHPDoc for fromIni 2015-01-19 11:43:39 +01:00
Eric Lippmann 87adbacb3b Config: Fix coding style 2015-01-19 11:43:39 +01:00
Eric Lippmann 599cb620d8 Config: Don't throw NotReadableError if the file does not exist 2015-01-19 11:43:39 +01:00
Eric Lippmann 7fc70c5a02 IniWriter: Don't allow read for others on new files 2015-01-19 11:43:38 +01:00
Matthias Jentsch f6eb9a764f Determine axis orientation based on max label length 2015-01-19 11:33:21 +01:00
Eric Lippmann b983f1901b modules: Fix that the forms namespace is not registered when the module does not have any library file 2015-01-14 13:24:31 +01:00
Matthias Jentsch 76d3e5435f Display bigger legend labels correctly without overlapping 2015-01-13 18:25:19 +01:00
Matthias Jentsch d1c7d9d2f9 Improve SVG layout 2015-01-13 18:21:11 +01:00
Matthias Jentsch 807666bf88 Improve chart axis readability
Introduce different line weights to separate between the smallest visible separator (steps) and single chart values (ticks). Calculate the amount of ticks per step using the available chart space.

fixes #7846
2015-01-13 17:56:50 +01:00
Matthias Jentsch debc305789 Add logarithmic AxisUnit
resolves #7845
2015-01-13 17:56:50 +01:00
Eric Lippmann fbe252063b IniWriter: Do not use umask(0)
chmod is not affected in any way by the umask.
2014-12-30 15:39:03 +01:00
Eric Lippmann 70c564bb0e Cli: Remove useless sprintf format in Command::fail() 2014-12-30 14:41:00 +01:00
Eric Lippmann 8eb37d9d76 Cli/Command: Add @type PHPDoc to params 2014-12-30 14:33:36 +01:00
Eric Lippmann 50bbf77d0c Fix module domain detection in Form::getTranslationDomain()
The usage of preg_replace had two errors:
1) The regular expression was wrong
2) $matches[0] always contains the full matched string, not the first parenthesized subpattern

The correct version of preg_replace would've been:

if (preg_match('/^Icinga\\\\Module\\\\([A-Za-z]+)\\\\/', get_called_class(), $matches) === 1) {
    return strtolower($matches[1]);
}

But since there's no benefit of using a regular expression here except less speed, I replaced it
with using explode.

refs #7551
2014-12-30 10:08:33 +01:00
Eric Lippmann 58cfb67983 Load setup module when necessary when bootstrapping the CLI
fixes #8146
2014-12-30 09:27:37 +01:00
Eric Lippmann 9d9dd8ac99 Merge branch 'feature/rhel-packages-6401'
resolves #6401
2014-12-29 16:50:20 +01:00
Eric Lippmann 57121bf0ea dompdf: Rename LICENSE.LGPL to LICENSE 2014-12-29 16:31:21 +01:00
Eric Lippmann 0b8ab18243 Parsedown: Rename LICENSE.txt to LICENSE 2014-12-29 16:30:44 +01:00
Matthias Jentsch a1950aabba Fix some obsolete or wrong docstrings 2014-12-29 16:27:28 +01:00
Matthias Jentsch 4cf8da4bb9 Do not focus logout menu item after a recurring login
Implement new MenuItemRenderer made for pages that are not part
of the regular site navigation and should trigger a complete site reload
instead of handling it via XHR.
2014-12-29 16:20:05 +01:00
Eric Lippmann 839523a73f Web: Load setup module if necessary 2014-12-29 14:31:34 +01:00