Commit Graph

837 Commits

Author SHA1 Message Date
Johannes Meyer 1b2cd8fdf3 Release version 2.9.1 2021-07-27 15:22:32 +02:00
Johannes Meyer f73614be4d Raise version to 2.9.0 2021-07-12 10:35:56 +02:00
Johannes Meyer 889c0a749c Module: Report `ipl` and `reactbundle` as library requirements
This way modules with the legacy requirement definition
can still be enabled without the modules in place.
2021-06-28 10:55:45 +02:00
Johannes Meyer 6a0da10473 Manager: Don't register the ipl and reactbundle module
Both are superseded by their respective library. This
way we make sure there are no competing auto loaders.
2021-06-22 12:50:59 +02:00
Johannes Meyer 81c0613e68 Library: Add missing shut-up operator to `file_get_contents` call 2021-06-16 11:57:00 +02:00
Johannes Meyer 0d6da2d859 error/error: Check web2's deps and enhance lib checks 2021-06-07 09:40:40 +02:00
Johannes Meyer 4e3811cc84 Module: Allow `/` and `-` in module/library dependency names 2021-06-01 09:14:28 +02:00
Johannes Meyer 229e24519a
Merge pull request #4376 from Icinga/utilize-ipl-i18n-4366
Utilize ipl-i18n
2021-06-01 09:13:45 +02:00
Johannes Meyer 4fc78a4cfd ApplicationBootstrap: Change default library path
from: `/usr/share/php-Icinga`
to: `/usr/share/icinga-php`
2021-05-31 10:17:35 +02:00
Johannes Meyer db1fea6331 Web: Detect preferred locale using ipl-i18n 2021-05-28 14:03:36 +02:00
Johannes Meyer 84757111d1 ApplicationBootstrap: Deprecate method `listLocales()` 2021-05-28 14:03:36 +02:00
Johannes Meyer 2e5abbc832 Use ipl-i18n's `Translation` trait where applicable 2021-05-28 14:03:36 +02:00
Johannes Meyer cb92e86b99 functions: Use ipl-i18n in functions `t`, `tp`, `mt` and `mtp` 2021-05-28 14:03:36 +02:00
Johannes Meyer 8137f1546f Module: Register locales using ipl-i18n 2021-05-28 14:03:36 +02:00
Johannes Meyer bfd2449e5d bootstrap: Setup internationalization using ipl-i18n 2021-05-28 14:03:36 +02:00
Johannes Meyer 5e382dcfa9 Introduce health endpoint /health[/checks] 2021-05-14 15:45:35 +02:00
Alexander A. Klimov eff10ec613 ApplicationBootstrap#setupErrorHandling(): migrate error handler to PHP 8
... as recommended here:
https://www.php.net/manual/de/migration80.incompatible.php

refs #4287
2021-04-09 12:37:03 +02:00
Johannes Meyer 4d4f5b3a69 js: Don't serve scripts utilizing ECMA2016+ features
i.e. library javascript assets
2021-02-22 16:01:42 +01:00
Johannes Meyer 64d1574972 JavaScript: Load minified library assets if available 2021-02-22 15:09:59 +01:00
Johannes Meyer cc65164a67 Adjust global permissions 2021-02-18 11:11:39 +01:00
Johannes Meyer a33317aeab Module: Don't emit warnings for module assets
resolves #4286
2020-12-01 09:44:56 +01:00
Alexander A. Klimov d7e3547c6e CLI: write errors to stderr 2020-11-30 15:35:20 +01:00
Johannes Meyer 6956ec4450 Manager/Libraries: Don't try to compare versions if any version is sufficient 2020-11-24 15:31:11 +01:00
Johannes Meyer 79478fd2e1 Libraries: Return partial matches in method `get()`
This allows to reference libraries with only their
project name, not just together with the organisation
name.
2020-11-18 16:52:22 +01:00
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