Commit Graph

4359 Commits

Author SHA1 Message Date
Sukhwinder Dhillon 8f0ac0492d Replace deprecated method `DbConnection::getConnection()` with `DbConnection::getDbAdapter()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon aded6a055e DbConnection: Remove deprecated method `getConnection()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon eb768b4fce Remove deprecated method `ApplicationBootstrap::setupZendAutoloader()` and its uses 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 58ac2a97c2 InlinPie: Remove deprecated method `disableNoScript()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon a9af8f2e1a Url: Remove deprecated methods `setBaseUrl()` and `getBaseUrl()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 55d23a531f Module: Remove deprecated method `registerHook()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 479bec6fb4 ApplicationBootstrap: Remove deprecated method `listLocales()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon b1f723318f Web: Remove deprecated method `getMenu()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 8fc50645c4 AesCrypt: Remove deprecated methods `encryptToBase64()` and `decryptFromBase64()` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 3113dc06ac Remove deprecated class `Icinga/Util/Translator` 2022-06-14 14:24:30 +02:00
Sukhwinder Dhillon 423c58d710 Remove deprecated class `Icinga/Util/String` 2022-06-14 14:24:30 +02:00
Johannes Meyer 60938b58c6 Remove jQuery
It's now part of icinga-php-thirdparty
2022-06-14 14:07:20 +02:00
Sukhwinder Dhillon a38d5ccac6 Revert "Form: Process request parameter _frameUpload"
This reverts commit fc481e527b.
2022-06-13 15:50:52 +02:00
Sukhwinder Dhillon e4450e7368 Revert "js: Don't serve scripts utilizing ECMA2016+ features"
This reverts commit 4d4f5b3a69.
2022-06-13 15:50:52 +02:00
Sukhwinder Dhillon f1e8280c3e Revert "Don't support dark/light mode for IE"
This reverts commit baeca33789.
2022-06-13 15:50:52 +02:00
Johannes Meyer d663fe84c3 DbConnection: Fix that unequal is handled as equal...
refs #4814
2022-06-13 15:05:24 +02:00
Johannes Meyer 1bee2db583 DbConnection: Only ignore the `*` for equal/unequal conditions
fixes #4813
2022-06-13 14:38:51 +02:00
Sukhwinder Dhillon c0d247613d Manager: Ensure enableModule dir has correct permission when created 2022-06-13 11:44:40 +02:00
Johannes Meyer 77060ed312
Merge pull request #4799 from Icinga/php-81-support
Fix PHP 8.1 deprecation errors
2022-06-07 15:11:44 +02:00
raviks789 f33566be1c Avoid passing null as hastack to `strpos` in library/vendor/Zend/Form::_dissolveArrayValue() 2022-06-07 14:09:37 +02:00
Yonas Habteab 8e6d4a6b46 LinearUnit: Make Iterator methods compatible with the parent methods 2022-06-02 16:19:42 +02:00
Yonas Habteab 4782df4fee Form: Fix don't pass null values to strtolower() error 2022-05-30 14:00:01 +02:00
Yonas Habteab 2279502265 SingleValueSearchControl: Add default class to the search suggestions 2022-05-27 14:26:16 +02:00
Sukhwinder Dhillon 26f3fa0dc1 PdfExport: Show decoded url in pdf footer 2022-05-27 14:20:15 +02:00
Sukhwinder Dhillon aad2419545 Remove obsolete `config_backend` option and not required code
The user preferences backend is now always a `db`.
2022-05-27 14:02:11 +02:00
Sukhwinder Dhillon e7c368b09d PreferencesStore: Fix syntax 2022-05-27 14:02:11 +02:00
Sukhwinder Dhillon 0eb3b27e68 PreferencesStore: Remove not required method `setTable()` 2022-05-27 13:55:48 +02:00
Sukhwinder Dhillon fa7f100c03 PreferencesStore: Add new syntax 2022-05-27 13:55:48 +02:00
Sukhwinder Dhillon 566f5db8cf Add all `DbStore.php` class code to `PreferencesStore.php`
Remove `DbStore.php`

Since all user preferences must be stored in the database, it is
not necessary to have a child class.
2022-05-27 13:55:48 +02:00
Sukhwinder Dhillon 8ff1a22df7 Set preferences store type to `Db` and make it non-configurable 2022-05-27 13:55:48 +02:00
Sukhwinder Dhillon 9c6fda7b33 Remove `IniStore.php` 2022-05-27 13:55:48 +02:00
Yonas Habteab 340364ee9c Json: Fix trying to decode null data deprecation error 2022-05-24 14:49:07 +02:00
Johannes Meyer 74022ae4e0
Merge pull request #4697 from Icinga/feature/redesigned-user-menu-new
Feature/redesigned user menu
2022-05-16 09:04:26 +02:00
Johannes Meyer 644d5eaba7 DbConnection: Ensure compat with PHP 8.1 in `renderFilterExpression` 2022-05-13 16:54:19 +02:00
Johannes Meyer 03e7041ccb DbConnection: Support wildcards in arrays in `renderFilterExpression` 2022-05-13 16:54:19 +02:00
raviks789 8898ed85ab Change FilterMatch to FilterEqual class for single object filter on object name.
Correspondingly the DbConnection::renderFilter() (as DbQuery::renderFilter() is deprecated and will be removed, hence no modifications here)
is also modified to render accordingly.
This correctly selects the host, service or contact in case the object name contains wild card characters like "\*".
2022-05-12 16:28:35 +02:00
Florian Strohmaier df788ac0ef BadgeNavigationItemRenderer: Add `$cssClass` on autorefresh 2022-05-12 15:13:16 +02:00
Florian Strohmaier c68fbb662e Menu.php: Add classes for nav-items to only be shown on mobile 2022-05-12 15:13:16 +02:00
Florian Strohmaier eeeca5a204 ConfigMenu: create Configmenu class 2022-05-12 11:10:59 +02:00
Florian Strohmaier 29ef96349c Stylesheet: load configmenu.less 2022-05-12 11:10:59 +02:00
Johannes Meyer 2a80e8bca6 Introduce new hook `ThemeLoader` 2022-05-11 14:37:07 +02:00
Johannes Meyer 0b9eecbabc ActionController: Don't override reload rules in `redirectXhr()`
`postDispatchXhr()` also only overrides them if enabled.
2022-05-11 14:26:09 +02:00
Sukhwinder Dhillon 67285ce262
Update dompdf to v1.2.1 (#4759) 2022-05-06 09:37:48 +02:00
Sukhwinder Dhillon 1b1eb3436f sql: Change charset to `utf8mb4`
fixes https://github.com/Icinga/icingaweb2/issues/4680
2022-05-02 15:36:31 +02:00
raviks789 199ea6f965 Prevent use of empty filters in FilterChain::toQueryString()
Due to instantiation of filters using Filter::matchAll() in ObjectList::getFilter(), we get an empty FilterAnd instance when
$this->filter is null. This prepends unnecessary separator '&' to the query string during conversion of filter to querystring.
This breaks the state badge links for host and service lists.
2022-04-29 10:38:26 +02:00
Johannes Meyer bc6b17b850 Revert "ActionController: Don't override `X-Icinga-Title` when it's already set"
This reverts commit 4cff1feb8f.

It's broken and obsolete since https://github.com/Icinga/ipl-web/pull/72.
2022-04-12 14:56:28 +02:00
Alexander Aleksandrovič Klimov 2fcee6a073 ConfigObject#get(): reduce code complexity
and save a few CPU cycles.
2022-04-11 13:31:16 +02:00
Alexander Aleksandrovič Klimov 874af33d81 Correct Auth#getUser() type spec
Doc says it may be null.
2022-04-11 13:30:24 +02:00
Alexander Aleksandrovič Klimov 32e958e4da Fix typo 2022-04-11 13:29:41 +02:00
Yonas Habteab 4cff1feb8f ActionController: Don't override `X-Icinga-Title` when it's already set 2022-04-11 13:26:08 +02:00
Johannes Meyer 9225462262 Fix that false values in dropdowns get ignored
plus some more fixes in the same area
2022-04-06 16:34:34 +02:00
Johannes Meyer 95d0ac018c Raise version to 2.10.1 2022-04-06 09:34:11 +02:00
Johannes Meyer 38103bed83 Add missing php 8.1 change... 2022-03-24 15:41:16 +01:00
Johannes Meyer 8dbbe26a1a Use type declarations for all translation helpers 2022-03-24 12:29:06 +01:00
Thomas Gelf 83567ebad2 Avoid passing `null` to non-nullable arguments 2022-03-24 12:29:06 +01:00
Johannes Meyer 3dc384fb58 Avoid passing `null` to non-nullable arguments 2022-03-24 12:29:06 +01:00
Johannes Meyer dd3ceaa637 Implementing `Serializable` requires now `__serialize` and `__unserialize` 2022-03-24 12:29:06 +01:00
Johannes Meyer c038e84fc2 Ensure Return Type Compatibility with Internal Classes 2022-03-24 12:29:06 +01:00
Johannes Meyer 42815f02e6 Drop class `Icinga\File\Storage\LocalFileStorageIterator` 2022-03-24 12:27:20 +01:00
Johannes Meyer d0677a127f Release version 2.10.0 2022-03-23 11:49:06 +01:00
Florian Strohmaier fab84e3a7d StyleSheet: Use php-diff.less 2022-03-14 16:05:02 +01:00
Johannes Meyer 0d032989e6 Fix style issues in recent security fixes 2022-03-08 15:20:16 +01:00
Johannes Meyer f21200f167 Release version 2.9.6 2022-03-08 15:12:52 +01:00
Johannes Meyer b7c31eb922
Merge pull request from GHSA-5p3f-rh28-8frw
Only serve existing static library assets, really!?
2022-03-08 12:01:34 +01:00
Johannes Meyer 1e6639971f StyleSheet: Only set theme on the compiler if it exists
The compiler itself can handle invalid themes, but doesn't
log the user name which makes it hard to track the cause down.
2022-03-02 09:44:49 +01:00
Johannes Meyer c5343f5575 css: Remove solarized-dark theme 2022-03-02 08:37:10 +01:00
Johannes Meyer 85c42f8400 Enhance page layout when exporting to PDF using dompdf
It's still not perfect. But better than previously.
Using the pdfexport module is still recommended though.
2022-03-01 17:04:38 +01:00
Johannes Meyer b50d68553f ActionController: Utilize `Icinga\Common\PdfExport` 2022-03-01 17:00:58 +01:00
Johannes Meyer 466a6189a7 Introduce trait `Icinga\Common\PdfExport` 2022-02-28 17:30:44 +01:00
Johannes Meyer 3c48d693ff about: Fix documentation link and use a version dependent one 2022-02-25 12:27:08 +01:00
Johannes Meyer 379ddb91f0 Only serve existing static library assets, really!? 2022-02-23 17:18:16 +01:00
Johannes Meyer f16a54242a DbQuery: Account for daylight savings in `timestampForSql()`
fixes #4568
2022-02-10 16:48:36 +01:00
Johannes Meyer 74971359a3 css: Change mode detection to look for `@light-mode` 2022-02-10 11:11:06 +01:00
Johannes Meyer 55330c81c4 css: Drop explicit `dark` mode 2022-02-10 11:11:06 +01:00
Johannes Meyer 6dc5c50618 LessCompiler: Catch only parser exceptions 2022-02-10 11:00:06 +01:00
Johannes Meyer 6516eafc6c LessParser: Remove custom function `extract-variable-default` 2022-02-10 11:00:06 +01:00
Eric Lippmann baeca33789 Don't support dark/light mode for IE 2022-02-10 10:47:24 +01:00
Eric Lippmann f1c984cd65 Add license header 2022-02-10 10:47:24 +01:00
Eric Lippmann 0ce968bfda Deny light-mode definitions in selectors 2022-02-09 21:35:12 +01:00
Eric Lippmann 25acc9602e Fix PHP compat 2022-02-09 21:35:12 +01:00
Eric Lippmann 19f57644e8 Generate light mode calls from their definitions 2022-02-09 21:35:12 +01:00
Eric Lippmann 5f46493148 Code quality and documentation 2022-02-09 21:35:09 +01:00
Eric Lippmann a775ae5f66 Also process mixin rules 2022-02-09 21:20:33 +01:00
Eric Lippmann 517b0353bc Support variable variables 2022-02-09 21:20:33 +01:00
Eric Lippmann 853fa93ea5 Support mixins 2022-02-09 21:20:33 +01:00
Eric Lippmann d82fc24766 Replace compiled Less colors with CSS var() function calls 2022-02-09 21:20:31 +01:00
Johannes Meyer d7d31d00ea Drop expandable.js 2022-02-07 14:11:48 +01:00
Johannes Meyer 7f0ddd931c Form: Create CSRFTokens in way that ensures id uniqueness 2022-02-04 17:20:48 +01:00
Johannes Meyer d78bb02b41 Module: Parse requirements in metadata correctly 2022-02-04 16:17:54 +01:00
Johannes Meyer 57e8e41089 Manager: Parse version suffixes with decimals correctly 2022-02-04 16:17:54 +01:00
Johannes Meyer 6b0f3f69c3 LinkTransformer: Don't load any external url in an iframe 2022-02-04 16:04:26 +01:00
Johannes Meyer baf2f1bbde LinkTransformer: Use a more reliable extention detection 2022-02-04 16:04:26 +01:00
Johannes Meyer c42653a9b0 Drop core locales 2022-02-04 15:58:06 +01:00
Johannes Meyer ffaf6e5f04 Remove module asset support 2022-02-04 15:57:15 +01:00
Johannes Meyer ffc977846a StyleSheet: Use an absolute path to load responsive login orbs 2022-01-11 12:53:57 +01:00
Johannes Meyer 316885b271
Merge pull request #4498 from Icinga/bugfix/tactical-4494
/monitoring/tactical: fall back to unknown services if none critical
2021-12-14 10:24:57 +01:00
Sukhwinder Dhillon c30df56de4 Release version 2.9.5 2021-11-17 16:51:55 +01:00
Johannes Meyer 81f6116f3f Release version 2.9.4 2021-11-10 10:17:35 +01:00
Sukhwinder Dhillon 2c01f38dec Add icingadb as OR dependecy
Add only if the given module supports icingadb and has monitoring as a requirement
2021-11-10 09:33:48 +01:00
Johannes Meyer 8d047b6ffd LessCompiler: Show more details for parsing exceptions 2021-11-03 16:23:22 +01:00
Johannes Meyer fd4ab2babc StyleSheet: Handle missing themes gracefully 2021-11-02 15:09:52 +01:00
Ravi Kumar Kempapura Srinivasa 685f1f90bc Handle non `.js` files in asset/js and non `.css` or `.less` in asset/css folder
Non javascript files in asset/js folder or non css or less files in asset/css folder causes minfier to throw error. This is handled here.
2021-11-02 08:58:58 +01:00
Ravi Kumar Kempapura Srinivasa be3a722a28 Compress comment detail in Hosts detail and Comments list. 2021-10-07 10:44:10 +02:00
Alexander A. Klimov 8b651d5f13 Donut: allow big label to indicate a specific state
refs #4494
2021-09-23 15:17:33 +02:00
Ravi Kumar Kempapura Srinivasa bbd36d5f83 Check if the column in the row is set for filters
When the column is not set for the filters undefined property exception is thrown in icinga-director. This is a quick fix to solve the issue.
2021-08-24 09:34:26 +02:00
Johannes Meyer b2274a5589 Release version 2.9.3 2021-08-10 10:11:44 +02:00
Johannes Meyer 24c1618793 LoginForm: Also disable stay logged in case of no encryption method 2021-08-10 10:09:15 +02:00
Johannes Meyer a00166f15b Javascript: Enhance optimization
* Don't try to optimize non-icinga define calls
* Don't optimize `exports` dependency
* Log errors to debug log, it's stuff for devs
2021-08-10 09:23:45 +02:00
Sukhwinder Dhillon 8c22514758 Utilize multiple encryption ciphers for remember me 2021-08-09 16:58:58 +02:00
Johannes Meyer 907f7826b2 Release version 2.9.2 2021-07-28 09:33:41 +02:00
Johannes Meyer 0b6f71c446 If enforcing a charset, DO IT ONLY IF THE DB TYPE IS CORRECT 2021-07-28 09:04:28 +02:00
Johannes Meyer 1b2cd8fdf3 Release version 2.9.1 2021-07-27 15:22:32 +02:00
Sukhwinder Dhillon 645c0770a2
Rememberme compatibility with php version 5.6+ (#4472) 2021-07-26 17:37:38 +02:00
Johannes Meyer aee82ad342 Database: Always use `utf8mb4` as connection charset 2021-07-26 16:37:41 +02:00
Johannes Meyer 62f1fe2c3f PreferencesStore: Always use `utf8` as db connection charset 2021-07-26 16:37:41 +02:00
Johannes Meyer 517c108cc4 UserGroupBackend: Always use `utf8` as db connection charset 2021-07-26 16:37:41 +02:00
Johannes Meyer 7ce3778378 UserBackend: Always use `utf8` as db connection charset 2021-07-26 16:37:35 +02:00
Johannes Meyer 7b9cb7f9fb SVGRenderer: Set correct input encoding
fixes #4462
2021-07-26 11:57:45 +02:00
Johannes Meyer c38a7b5cf3 css: Disable login orb animation and all orbs for themes
fixes #4437
2021-07-26 11:54:28 +02:00
Johannes Meyer b8b77332c4 Database: Only use `PDO::MYSQL_ATTR_INIT_COMMAND` for mysql connections
fixes #4441
2021-07-21 09:19:43 +02:00
Johannes Meyer b39d9d6746 LinkTransformer: Don't open external urls in iFrames
fixes #4449
2021-07-21 09:17:23 +02:00
Johannes Meyer f73614be4d Raise version to 2.9.0 2021-07-12 10:35:56 +02:00
Johannes Meyer 1fd00dcf1c We drop support for the `INI` config backend type with v2.11 2021-07-12 10:35:56 +02:00
Johannes Meyer 228e503131 js: Allow to reload the window 2021-07-07 09:41:48 +02:00
Johannes Meyer 9e0785b0b4 AppHealth: Fix typo 2021-07-06 15:18:16 +02:00
Johannes Meyer ff30bf2393 IcingaCheckbox: Use css class `sr-only` again
`hidden=true` also hides elements from screen readers.
`sr-only` is now fixed for chrome.
`aria-hidden` true has been added because it suits
and was previosly missing.

fixes #4411
2021-07-01 11:16:55 +02:00
Johannes Meyer 53c0d6de86 Wizard: Transform emtpy page data values to null
Previously the wizard wrote empty strings to config files.
2021-06-30 18:53:41 +02:00
Johannes Meyer 2be1ed3878
Merge pull request #4400 from Icinga/feature/username-in-navigation-items
Support $user.local_name$ macro in navigation items
2021-06-29 12:55:12 +02:00
Eric Lippmann d1aaaf7fb0 Replace user:local_name with user.local_name macro in restrictions 2021-06-28 15:16:56 +02:00
Eric Lippmann 7e7e2415dc Support $user.local_name$ macro in navigation items 2021-06-28 14:26:38 +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 82485236f7 Auth: Also reload theme mode if no theme is active
refs #4390
2021-06-24 09:44:28 +02:00
Johannes Meyer b59f26879e LessParser: Add custom function `extract-variable-default` 2021-06-23 17:40:06 +02:00
Sukhwinder Dhillon 492a9ec229 Auth: Reload CSS if mode change 2021-06-23 17:34:27 +02:00
Sukhwinder Dhillon 8b24e3bffe Stylesheet: Collect and load theme mode files 2021-06-23 17:34:27 +02:00
Sukhwinder Dhillon b291d7ce3d Add new less lib 2021-06-23 16:13:49 +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 bc88e8d62b SingleValueSearchControl: Use strict interfaces..
..to construct ipl\Html objects
2021-06-21 16:11:55 +02:00
Johannes Meyer ed009bb032 PrivilegeAudit: Use strict interfaces to contruct ipl\Html objects 2021-06-21 16:11:30 +02:00
Johannes Meyer f400f4d96d AppHealth: Use strict interfaces to construct ipl\Html objects 2021-06-21 16:10:55 +02:00
Johannes Meyer 35659c8d51
Merge pull request #4391 from Icinga/improve-cache-handling
Improve cache handling
2021-06-18 13:57:30 +02:00
Johannes Meyer 0756797fbb Make configuration of custom user-group backends possible
refs #2840
2021-06-18 10:41:39 +02:00
Gianluca Piccolo 1e7f700102 Make configuration of custom user backends possible
refs Icinga/icingaweb2#2840
2021-06-18 10:28:35 +02:00
Johannes Meyer 870c3e0e5b Force clients to ask us if their cached CSS is valid 2021-06-16 14:58:44 +02:00
Johannes Meyer 1ada53539c Force clients to ask us if their cached JS is valid 2021-06-16 14:57:14 +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 6e3ad08aef Zend: Fix `array_walk_recursive` pass by reference error on PHP8
refs #4287
2021-06-02 11:24:01 +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 dcb619e62a Translator: Add deprecation notice and use ipl-i18n internally 2021-05-28 14:03:36 +02:00
Johannes Meyer f363bf5bf6 BaseTestCase: Setup `ipl\I18n\StaticTranslator::$instance` 2021-05-28 14:03:36 +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
Florian Strohmaier 24c1bb1f8c IcingaCheckbox: Add `hidden attribute to input element
refs #4310
2021-05-25 17:09:51 +02:00
Eric Lippmann 68acf12407
Remember me (#4112)
Co-authored-by: Sukhwinder Dhillon <sukhwinder.dhillon@icinga.com>
2021-05-21 15:43:06 +02:00
Johannes Meyer 162d898d42 js: Introduce `DatetimePicker` behavior
Utilizes `flatpickr` from ipl-web.
2021-05-17 13:20:42 +02:00
Johannes Meyer a87f15c861 Auth: Reload entire layout if the locale changes 2021-05-17 13:20:42 +02:00
Johannes Meyer 0da4a11d91
Merge pull request #4355 from Icinga/health-endpoint
Health endpoint
2021-05-17 13:11:51 +02:00
Johannes Meyer cb4e6011f3 js: Remove jquery-migrate 2021-05-17 10:44:27 +02:00
Johannes Meyer 0d2bf1ae33 Menu: Integrate health endpoint 2021-05-14 15:45:35 +02:00
Johannes Meyer 5e382dcfa9 Introduce health endpoint /health[/checks] 2021-05-14 15:45:35 +02:00
Johannes Meyer 197f42557a Markdown: Allow to pass purifier config and provide a default 2021-04-27 13:17:44 +02:00
Johannes Meyer 5f8704e635 Introduce class `Icinga\Web\Helper\Markdown\LinkTransformer` 2021-04-27 13:17:44 +02:00
Johannes Meyer 065915397a zend: PHP 8 compatiblity changes
`ReflectionClass::newInstanceArgs()` seems to respect string keys
since PHP 8.

refs #4289
2021-04-14 10:51:38 +02:00
Johannes Meyer d9a87f76a2 AdmissionLoader: Optimize role loading 2021-04-14 10:11:19 +02:00
Johannes Meyer 384d9535a9 ArrayDatasource: Sort result first and then apply limit+offset 2021-04-12 15:42:20 +02:00
Bas Couwenberg dc7a8c8d8b
Update JShrink for PHP 8 support. (#4298)
refs #4287
2021-04-09 14:45:17 +02:00
Johannes Meyer e671324ddb tests: Don't use deprecated assertion `assertRegExp()` 2021-04-09 12:38:43 +02:00
Johannes Meyer bc1c967dec BaseTestCase: Inherit from `Mockery\Adapter\Phpunit\MockeryTestCase` 2021-04-09 12:38:43 +02:00
Johannes Meyer cb87190138 tests: Add `:void` return type declarations 2021-04-09 12:38:43 +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 0d35a1774d SingleValueSearchControl: Add failure message for empty results 2021-04-07 15:59:03 +02:00
Johannes Meyer a6507daaaf SingleValueSearchControl: Allow to pass html as labels 2021-04-07 15:58:25 +02:00
Johannes Meyer 314ec5256c PrivilegeAudit: Show missing initiators in inheritance paths 2021-04-07 14:30:14 +02:00
Johannes Meyer b5334a063e PrivilegeAudit: Show missing restrictions if only parents restrict 2021-04-07 14:30:14 +02:00
Johannes Meyer 698e7bcfa4 SingleValueSearchControl: Show magnifier icon in the text input 2021-04-07 14:30:14 +02:00
Johannes Meyer 074f08db4e Introduce view `Icinga\Web\View\PrivilegeAudit` 2021-04-07 14:30:14 +02:00
Johannes Meyer ab90b3e0a1 Role: Add param `$cascadeUpwards` also to public method `grant()` 2021-04-07 14:30:14 +02:00
Johannes Meyer 9d10424f97 AdmissionLoader: Set additional user information `assigned_roles` 2021-04-07 14:30:14 +02:00
Johannes Meyer f4da973f68 Auth: Only reload CSS upon login if the theme **really** changed
fixes #2233
2021-04-07 14:30:14 +02:00
Johannes Meyer 0aa4e25723 Auth: Introduce method `setupUser()`
This was previously part of method `setAuthenticated()`.
Split up to allow external usage.
2021-04-07 14:30:14 +02:00
Johannes Meyer 153e9b4ade SingleValueSearchControl: Add support for groups and meta data 2021-04-07 14:30:14 +02:00
Johannes Meyer 42bdbe38b1 Introduce class `Icinga\Web\Widget\SingleValueSearchControl` 2021-04-07 14:30:14 +02:00
Johannes Meyer a4a658974d AuthBackendController: Inherit from `ipl\Web\Compat\CompatController` 2021-04-07 14:30:14 +02:00
Johannes Meyer 8b0fd4daaf FilterEditor: Merge preserved query params as encoded params
This way the query param values are not encoded twice.

fixes #4321
2021-03-30 10:30:57 +02:00
Johannes Meyer 0fc06d7795 Transform `*` equal/unequal comparisons to NULL checks
This comes from https://github.com/Icinga/ipl-sql/pull/31
2021-03-12 09:50:59 +01:00
Johannes Meyer 5dfa5e28da User: Add property `$unrestricted` 2021-03-09 11:27:13 +01:00
Johannes Meyer 8c147c1b2f css: Remove left-over styles from tipsy 2021-03-09 08:58:48 +01:00
Johannes Meyer 59e6ec4035 JavaScript: Ensure that `$baseFiles` are loaded first if minified 2021-03-09 08:52:10 +01:00
Johannes Meyer 4a2ab4740c JavaScript: Enhance `DEFINE_RE` to broaden supported syntaxes 2021-03-09 08:52:10 +01:00
Johannes Meyer d6722c7772 LdapQuery: Compare multi-valued attributes as rfc2891 suggests 2021-02-23 08:22:58 +01:00
Johannes Meyer 6a5e12af04 LdapUserGroupBackend: Properly handle multi-valued names 2021-02-23 08:22:58 +01: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
sukhwinder33445 ab97b6fdf0
Enforce database as configuration backend (#4135) 2021-02-18 12:31:21 +01:00
Johannes Meyer 91d4669dcb
Merge pull request #4285 from Icinga/bugfix/curl-monitoring-service-show-4281
CheckNowCommandForm#init(): set submit label
2021-02-18 12:21:50 +01:00
Johannes Meyer 16be5f9572 Form: Add some todos regarding the handling of "api targets"
I've added them only for our future "migration" to `ipl\html\Form`.
We MUST NOT migrate this flawed handling of API targets.
2021-02-18 12:16:43 +01:00
Johannes Meyer cc65164a67 Adjust global permissions 2021-02-18 11:11:39 +01:00
Johannes Meyer 429a70f05f Auth: Allow to ignore any and all restrictions 2021-02-18 11:11:39 +01:00
Johannes Meyer 6eb0139446 User: Move `$user:local_name$` handling to class `AdmissionLoader`
This way it also adjusts the roles directly, and not just their
copies for the user object
2021-02-18 11:11:39 +01:00
Johannes Meyer bdd0f204f0 Auth: Support single inheritance in roles 2021-02-18 11:11:39 +01:00
Johannes Meyer 87d741265e Auth: Add support for denied permissions 2021-02-18 11:11:39 +01:00
Johannes Meyer c0541d70e9 Move permission match code from class `User` to `Role` 2021-02-18 11:11:39 +01:00
Johannes Meyer 60d61a8fe7 Response: Only apply `showCompact=1` to redirects for GET requests 2021-02-09 15:59:42 +01:00
Johannes Meyer f4a8599193 Introduce and utilize class `Icinga\Util\LessParser` 2021-01-25 09:15:53 +01:00
Johannes Meyer 500696c767 Response: Set `showCompact=1` on a redirect url..
..if compact layout has been requested.

refs #4164
fixes Icinga/icingadb-web#125
2021-01-15 16:50:00 +01:00
Johannes Meyer accbd9d847 ApplicationStateController: Initalize `$autorefreshInterval`
Instead of defining it with the setter. This prevents the
user's preferences from having an effect on this route.
2021-01-15 15:08:48 +01:00
Johannes Meyer f1dd69d877 ActionController: Set autorefresh interval on view as late as possible
This allows to initialize property `$autorefreshInterval` and have it
take an effect on non-XHR requests.
2021-01-15 15:08:48 +01:00
Johannes Meyer 765557af69 ActionController: Drop new param in method `setAutorefreshInterval()` 2021-01-15 15:08:48 +01:00
Johannes Meyer 67de8a079a js: Initialize all types of input enrichments 2021-01-14 11:57:24 +01:00
Johannes Meyer cb24eafdb5 JavaScript: Load behavior `complete.js` 2021-01-14 11:57:05 +01:00
Johannes Meyer cb9ccc68f7 Url: Drop unwanted boolean parameters in method `onlyWith()` 2021-01-13 17:20:22 +01:00
Sukhwinder Dhillon 53388a3940 Change __toString() to get encoded url string 2020-12-07 13:27:14 +01:00
Johannes Meyer 7c58b3ced1 LessCompiler: Add support for variable exports by modules
Using the following in a module's less file:

```
@exports: {
  @foo: "bar";
  @number: 4;
  @color: red;
};
```

will export the variables `@foo`, `@number` and `@color` into the global
scope. Though, exports are not able to override already defined variables.
That's still reserved for themes.
2020-12-02 10:51:01 +01:00
Johannes Meyer a33317aeab Module: Don't emit warnings for module assets
resolves #4286
2020-12-01 09:44:56 +01:00
Johannes Meyer 629a39ebbe Cli/Loader: Configure the used `Screen` to use STDERR
Otherwise we still colorize output if stderr is being
redirected.
2020-11-30 15:35:20 +01:00
Alexander A. Klimov d7e3547c6e CLI: write errors to stderr 2020-11-30 15:35:20 +01:00
Alexander A. Klimov 81b19285a7 Make auto refresh interval configurable
refs #2819
2020-11-26 11:38:02 +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 e9fa9d95dd JavaScript: Also optimize `define()` calls in module JS 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 5a38977906 js: Add `define.js` 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 ed7763c379 Introduce class `Icinga\Web\Controller\StaticController` 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 a9d6482533 Javascript: Load JS assets from loaded libraries 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 ad9099509d StyleSheet: Load css assets from loaded libraries 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
Alexander A. Klimov 74d5d69085 Url::fromPath(): var_export() input value to complain about
... not to hide its type.
2020-11-18 09:40:44 +01:00
Johannes Meyer d918d6c86f
Merge pull request #4235 from Icinga/fix/sparkline-js-performance
Drop sparkline.js and render inline-pies as SVG
2020-11-18 09:37:31 +01:00
Jorge Vallecillo 865e4b9b2a Fix typos: consecutive use of 'the' 2020-11-18 09:26:39 +01:00