Commit Graph

813 Commits

Author SHA1 Message Date
Johannes Meyer be99703a67 Module: Deprecate asset support 2020-11-18 13:21:34 +01:00
Johannes Meyer a370a99fb4 cli: Allow to ignore module dependencies with `module enable --force` 2020-11-18 13:21:34 +01:00
Johannes Meyer 40c97d6a3e Libraries: Add method `get($name)` 2020-11-18 13:21:34 +01:00
Johannes Meyer 28c7c41b55 Manager: Don't enable modules which have unmet dependencies 2020-11-18 13:21:33 +01:00
Johannes Meyer aba8c4a8ba Manager: Add method `hasUnmetDependencies($name)` 2020-11-18 13:21:33 +01:00
Johannes Meyer baaf663db3 Module: Introduce new metadata field `Requires`
This is the successor of `Depends` and allows to
define dependencies for libraries and modules:

`Requires: <lib-name>[ (<ver>)][, <lib-name>[ (<ver>)]] ...`

or

```
Requires:
  Libraries: <name>[ (<ver>)][, <name>[ (<ver>)]] ...
  Modules: <name>[ (<ver>)][, <name>[ (<ver>)]] ...
```
2020-11-18 13:21:33 +01:00
Johannes Meyer 99b620983a Manager: Add method `has($name, $version = null)` 2020-11-18 13:21:33 +01:00
Johannes Meyer 0f485f1257 Libraries: Add method `has($name, $version = null)` 2020-11-18 13:21:33 +01:00
Johannes Meyer 19e4eb6e1e Module: Add missing getter for property `jsdir` 2020-11-18 13:21:33 +01:00
Johannes Meyer 220044277c webrouter: Serve lib assets at `lib/<lib-name>/<asset-path>` 2020-11-18 13:20:09 +01:00
Johannes Meyer e44ea3b34c Introduce class `Icinga\Application\StaticWeb` 2020-11-18 13:20:09 +01:00
Johannes Meyer c49a811fb5 Library: Add getters for the different asset paths 2020-11-18 13:20:09 +01:00
Johannes Meyer c2769bd177 Library: Add accessors for assets 2020-11-18 13:20:09 +01:00
Johannes Meyer 84c23fe92b Library: Add accessors for meta data 2020-11-18 13:20:09 +01:00
Johannes Meyer a60f511cfc bootstrap: Load external libraries 2020-11-18 13:20:09 +01:00
Johannes Meyer a2bdc8074f Introduce classes `Libraries` and `Library` 2020-11-18 13:20:09 +01:00
Jorge Vallecillo 865e4b9b2a Fix typos: consecutive use of 'the' 2020-11-18 09:26:39 +01:00
Johannes Meyer 77244b2c1b Raise version to v2.8.2 2020-08-19 11:03:31 +02:00
Johannes Meyer c3d329bd48 Raise version to 2.8.1 2020-06-29 10:30:58 +02:00
Johannes Meyer e95fac3ff1 Raise version to 2.8.0 2020-06-08 10:51:35 +02:00
Eric Lippmann 49eb245580 CLI: Also register assets
Because assets are not registered in the CLI context,
CLI actions cannot access the full style sheet.
This is necessary for Icinga Reporting though in order to send PDF reports.
2020-06-04 07:31:02 +02:00
Johannes Meyer c40d134ea5 ApplicationBootstrap: Use L10n locales in `getLocaleDir()` if available 2020-05-11 17:05:23 +02:00
Johannes Meyer d72bdc2c32 Raise version to 2.8.0-rc1 2020-03-13 10:40:35 +01:00
Eric Lippmann e11feb81f5 Don't fail with an exception if module.info is flawed 2020-03-12 14:26:15 +01:00
Eric Lippmann 3361cac59a CLI: Setup fake auth
Since version 2.7.x CLI actions load all enabled modules automatically.
This includes launching configuration.php and run.php. Though code
in those files should be restricted to a supported set of functions,
module devs may write any code here. If a module requires authentication
in those files, CLI actions fail because there is no auth possible.
With this patch, we setup a fake user named "cli" w/o any permission when
running CLI actions.
2020-03-02 14:16:28 +01:00
Eric Lippmann 73a4d8ac31 WebBaseHook: Make setView() fluent 2020-01-14 16:06:22 +01:00
Johannes Meyer dc8981f209 ConfigFormEventsHook: Use base class `Icinga\Web\Form` in type hints 2019-12-09 09:01:33 +01:00
Johannes Meyer 7b488d7f93 swag: Fix violations of PSR-12
PSR-2 has been deprecated and phpcs v3.5.3
now checks for the successor PSR-12
2019-12-04 11:28:08 +01:00
Johannes Meyer e0be21f655 Raise version to 2.7.3 2019-10-18 07:41:53 +02:00
Johannes Meyer 362c30c1dd Raise version to 2.7.2 2019-10-16 08:12:09 +02:00
Johannes Meyer 5352e72d1f
Merge pull request #3946 from Icinga/fix/wrong-dashlet-order-3931
Fix wrong dashlet order
2019-09-26 14:34:13 +02:00
Johannes Meyer d699191629
Let modules provide css/js assets to be used by other modules (#3961) 2019-09-25 09:53:53 +02:00
Johannes Meyer d4dc282ac8 DashboardContainer: Allow to define a priority for dashlets
refs #3931
2019-09-09 14:43:28 +02:00
Johannes Meyer 04b23811be Raise version to 2.7.1 2019-08-14 13:10:19 +02:00
Eric Lippmann f35946df29 Raise version to 2.7.0 2019-07-30 10:19:53 +02:00
Johannes Meyer 4fdfb190ad Navigation/DashboardPane: Properly register dashlets as children
refs #3542
2019-07-18 08:33:35 +02:00
Johannes Meyer 91e4baa221 Remove remaining special cases for IE8 2019-07-18 07:57:14 +02:00
Jennifer Mourek 07586af41f Remove IE8 & IE9 traces 2019-07-18 07:56:09 +02:00
Eric Lippmann 16fbf6d7bd Introduce ConfigFormEventsHook 2019-07-15 07:52:32 +02:00
Johannes Meyer 2257eaa0c1
Merge pull request #3849 from Icinga/feature/commonly-accessible-module-hooks-3772
Add possibility to disable permission checks for hooks
2019-07-12 13:59:44 +02:00
Loei Petrus Marogi 617f1b35b3 Add possibility to let hooks always run
refs #3772
2019-07-11 13:36:33 +02:00
Niko Martini 7abd1b906b Cli: add version command
refs #3763
2019-07-11 08:17:56 +02:00
Johannes Meyer 5d9aa0895f
Merge pull request #3570 from MVKozlov/patch-1
Return non-zero on display usage
2019-05-22 12:21:46 +02:00
Max Kozlov 27d12163c4 Icingacli should return UNKNOWN code, showUsage() also should return non-zero 2019-05-21 09:48:38 +03:00
Johannes Meyer c0e102cedd Release version 2.6.3
(cherry picked from commit 78d215ce36)
Signed-off-by: Johannes Meyer <johannes.meyer@icinga.com>
2019-04-24 14:49:21 +02:00
Alexander A. Klimov 5d4cdfe13f ApplicationBootstrap#setupTimezone(): ensure a vaild default timezone to be set in any case 2019-04-16 10:35:36 +02:00
Bas Couwenberg 075eb17005 Use continue <N> in case statements to fix ErrorException with PHP 7.3.
```
Fatal error: Uncaught ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
```
2018-11-23 18:34:56 +01:00
Eric Lippmann 081b90e92f Raise version to 2.6.2 2018-11-20 12:39:21 +01:00
Eric Lippmann d919e23d0b
Merge pull request #3585 from Icinga/feature/enhanced-ldap-logging
Feature/enhanced ldap logging
2018-11-15 11:28:47 +01:00
Johannes Meyer 77bb1944db Web: Setup the logger earlier in the bootstrap process
Previously only ERROR got logged (to syslog only) up until
setupLogger() was called. This prevented any other message
level from being logged. It's now required to be able to
log in the Auth singleton. It also fixes the problem that
during setupSession() some warnings were never visible
due to the same reason.
2018-10-08 14:03:34 +02:00
Max Kozlov 65591c829f
Update Cli.php 2018-09-08 01:37:33 +03:00
Max Kozlov a55e32b1a1
Return non-zero on display usage
`Icingacli` should return non-zeno status code when display usage messages
 for example for invalid commands

https://github.com/Icinga/icinga2/issues/6585#issuecomment-418681789

It is good for automation and helps mitigate typing errors
2018-09-05 22:16:25 +03:00
Eric Lippmann 7e4b92b714 Fix permission test in Hook::has()
Before, only the first hook for the given type was tested. If this hook
belonged to a not permitted module, Hook::has() returned false. Though
there may have been other hooks which are permitted.
2018-08-16 17:03:42 +02:00
Eric Lippmann b3e0b5d587 Raise version to 2.6.1 2018-08-02 12:46:39 +02:00
Eric Lippmann 0f075b034b Respect permissions in Hook::has() 2018-07-26 11:51:23 +02:00
Johannes Meyer c0f99539ff Raise version to v2.6.0 2018-07-19 09:27:11 +02:00
Eric Lippmann dd9e8c8ba9 Revert "Merge pull request #3487 from Icinga/fix/web-bootstrap"
This reverts commit b12b905076, reversing
changes made to c633c86db7.

refs #3500
2018-07-18 15:29:55 +02:00
Eric Lippmann 121bd545d1
Merge pull request #3530 from Icinga/feature/enforce-a-named-identity-for-audit-logs
AuditHook: Enforce a named identity and allow to pass a explicit time
2018-07-18 15:27:45 +02:00
Johannes Meyer f28f7150fc AuditHook: Enforce a named identity and allow to pass a explicit time 2018-07-18 14:45:00 +02:00
Eric Lippmann 7d47875241 Introduce PdfexportHook 2018-07-18 14:22:18 +02:00
Eric Lippmann d18d05ccee Introduce ApplicationStateHook
refs #2835
2018-07-09 16:28:25 +02:00
Eric Lippmann 966148e8f0
Merge pull request #3463 from kobmaki/feature/Allow-to-interface-with-sqlite-databases-3381
Support SQLite resources
2018-06-28 11:42:00 +02:00
Eric Lippmann 0433dc4166 Bootstrap modules at last
We initialize modules before we set up the user backend and other
singletons. But modules may access those in order to check the
permissions of the authenticated user for example. With this fix,
modules are loaded once all other bootstrap tasks have been completed.

refs #3470
2018-06-27 09:52:00 +02:00
Uwe Ebel 4b5cf47cce Introduce SQLite resource type
refs #3381

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-06-27 09:40:22 +02:00
Alexander A. Klimov 1a94a21263 Prefer Json::encode() over json_encode()
refs #2635
2018-06-20 18:05:11 +02:00
Johannes Meyer 9da9f1237d Introduce class Icinga\Application\Hook\AuditHook
refs #2584
2018-06-08 14:21:15 +02:00
Johannes Meyer cbc77cb7b2 Web: Implement method getMenu() using Icinga\Web\Menu and deprecate it
refs #2338
2018-04-30 10:30:58 +02:00
Johannes Meyer 096fdfc887 Version.php: Raise version to 2.5.3 2018-04-27 10:23:36 +02:00
Johannes Meyer 23e508ac27 Version.php: Raise version to 2.5.2 2018-04-25 13:02:47 +02:00
Johannes Meyer b14b61d37a Platform: Also check for the sqlsrv extension when checking MSSQL support
refs #3320
2018-04-24 15:56:29 +02:00
Johannes Meyer c566c8bfde
Merge pull request #3400 from Icinga/bugfix/mssql-detection
Platform: Also consider dblib when checking for MSSQL support
2018-04-24 15:46:45 +02:00
Johannes Meyer ecd2320a23 AuthenticationHook: Remove superflous empty line at EOF
Travis complains about this in every PR created after this was introduced..
2018-04-04 11:22:23 +02:00
Davide Bizzarri 8b5fe61996 Add AuthenticationHook
Created AuthenticationHook class with two main methods: onLogin and
onLogout that are called after login and before logout.
2018-03-28 16:18:31 +02:00
Markus Frosch 123a0b8196 Platform: Correct detecting MSSQL Support
PDO Implementation of zf1 builds on module mssql OR pdo_dblib, while dblib is preferred.

Newer implementations would support pdo_sqlsrv, but that is not available with ZF1.
2018-03-27 11:35:26 +02:00
Alexander A. Klimov 4477f33b31 Fix interference between two similar namespaces 2018-03-01 14:01:57 +01:00
Alexander A. Klimov 8e9d385a18 Unify the look of fatal and non-fatal errors
refs #2216
2018-02-07 10:45:20 +01:00
Eric Lippmann 56d28a6c14 Prepare release version 2.5.1 2018-01-22 13:47:41 +01:00
lippserd c18038f166
Merge pull request #3261 from Icinga/bugfix/icingacli-no-setup-module-2705
Make icingacli working without the setup module
2018-01-17 11:58:50 +01:00
Alexander A. Klimov 8cbd506459 Make icingacli working without the setup module
This enables users to install only the icingacli package

refs #2705
2018-01-16 12:21:42 +01:00
lippserd c1497cf1c5
Merge pull request #3143 from Icinga/bugfix/inactive-module-config-tabs-2977
Hide inactive modules' config tabs
2018-01-16 09:18:49 +01:00
Alexander A. Klimov a5e75554ad Don't require module.less
refs #3149
2017-12-15 11:58:54 +01:00
Eric Lippmann e376b137c7 Prepare release version 2.5.0 2017-11-27 16:18:13 +01:00
lippserd 5aa83ea0d9
Merge pull request #3114 from Icinga/feature/support-phar-3113
Modules, Bootstrap: play nice with PHARs
2017-11-27 09:15:34 +01:00
Alexander A. Klimov 6cdad7c5c1 Hide inactive modules' config tabs
refs #2977
2017-11-24 13:40:03 +01:00
Eric Lippmann 8ffa110901 Web: Add icons and descriptions for second level menu items 2017-11-21 22:55:45 +01:00
Thomas Gelf 6e382093f4 Modules, Bootstrap: play nice with PHARs
fixes #3113
2017-11-21 14:15:41 +01:00
Alexander A. Klimov cea52a1b4b Implement ApplicationBootstrap::getStorageDir()
refs #2582
2017-11-16 20:26:49 +01:00
Eric Lippmann af64ca8fc8 Fix that disabled stack straces via user prefs had no effect
Web::setupFrontController() took the user object into account when checking for disabled stacktraces.
But we changed our bootstrap order some time ago so we did not have a user in this method anymore.
Now, Web::setupUser() checks for disabled stacktaces in the user prefs instead.

refs #2595
2017-11-15 17:22:54 +01:00
Alexander A. Klimov cbfbb3a162 Handle enabled, but deleted modules properly
refs #2811
2017-11-08 09:48:58 +01:00
Eric Lippmann 3790fd0819 Bump version to 2.4.2
(cherry picked from commit 13e86b6320)
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-09-28 14:24:00 +02:00
lippserd e276dfc517 Merge pull request #2951 from Icinga/bugfix/monitored-object-detailview-extension-style-2949
Style monitored objects' detailview extensions as expected
2017-09-22 09:21:31 +02:00
Alexander A. Klimov c2ee3bef06 DetailviewExtensionHook: provide the concrete implementation's module
refs #2949
2017-09-20 14:49:08 +02:00
Uwe Ebel 39838f1606 Add database resource type IBM for DB2
It uses the pdo_ibm driver and Zend Adapter Zend_Db_Adapter_Pdo_Ibm.

Signed-off-by: Markus Frosch <markus.frosch@icinga.com>
2017-09-19 14:32:09 +02:00
lippserd 0e5313d4d1 Merge pull request #2740 from Icinga/feature/emit-log-messages-in-the-webserver-s-log-11652
Emit log messages to the web server log
2017-09-08 15:43:31 +02:00
Alexander A. Klimov b2ab99fd71 Add log writer PhpWriter
refs #11652
2017-09-08 15:39:31 +02:00
Johannes Meyer 3190b7dea3 Revert "Web: Allow to configure whether we'll consider Accept-Language or not"
This reverts commit 87505aff7c.
2017-09-08 12:56:09 +02:00
Johannes Meyer 87505aff7c Web: Allow to configure whether we'll consider Accept-Language or not 2017-09-08 11:55:15 +02:00
Markus Frosch 7da7c0f6c7 Config: Fix cached loading of module config
Since the module copied the array to a local variable, the loaded
Config object never got saved to self::$modules
2017-08-11 08:35:34 +02:00
Eric Lippmann 50971ea8e2 Merge pull request #2725 from Icinga/bugfix/browser-timezone-detection-2716
TimezoneDetect: support also negative timezone offsets
2017-06-02 09:32:59 +02:00
Eric Lippmann 68842f00d8 Fix version 2017-05-03 15:12:07 +02:00