Commit Graph

251 Commits

Author SHA1 Message Date
Alexander Klimov fdf74c5e18 Revert "Make preferences INI path NOT be configurable"
This reverts commit 219869607d.
2014-06-25 11:59:08 +02:00
Thomas Gelf 13ef06c700 Modules\Module: modules should register config tabs
This allows modules to register their config tabs and provides a
convenient way to fetch a modules fully instanced config tabs.
2014-06-24 20:47:03 +02:00
Alexander Klimov 219869607d Make preferences INI path NOT be configurable
fixes #6567
2014-06-24 18:29:28 +02:00
Alexander Klimov f2693613d1 Make preferences INI path NOT be configurable
refs #6567
2014-06-24 18:00:40 +02:00
Alexander Klimov 3e31ff65a4 Prefer dirname rather than pathinfo 2014-06-24 15:57:13 +02:00
Alexander Klimov 6daccae30e Optimize IcingaConfig::resolvePath 2014-06-24 15:45:19 +02:00
Alexander Klimov 6e4bf73c36 Compute config file paths properly
fixes #6564
fixes #6534
2014-06-24 14:54:31 +02:00
Alexander Klimov 9bab7c0323 Signal that resolvePath doesn't support Windows
refs #6564
2014-06-24 13:22:43 +02:00
Alexander Klimov ff87588d96 Don't let config path seem absolute where it isn't
refs #6534
2014-06-24 10:12:07 +02:00
Johannes Meyer c563479888 Use Icinga\Util\File instead of fopen 2014-06-23 15:02:06 +02:00
Thomas Gelf 7d6fd45466 Application\Web: use same request everywhere 2014-06-22 14:13:00 +02:00
Thomas Gelf b7fc0b67a8 Web/controllers: use own Request/Response objects
* introduces Icinga\Web\Response
* uses ModuleActionController where necessary
* no module translationDomain voodoo in base ActionController
2014-06-22 13:49:21 +02:00
Thomas Gelf 559457f730 Bootstrap/timezone: do not enforce config
The current way forces people running a correctly configured PHP
to configure timezone once again in Icinga Web. We want LESS config,
so this tries to fix this.
2014-06-20 12:54:37 +02:00
Thomas Gelf d2ccc68214 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
Conflicts:
	modules/monitoring/application/controllers/ListController.php
2014-06-17 09:47:14 +00:00
Eric Lippmann 25a73ea3a1 Merge branch 'master' into feature/display-documentation-4820 2014-06-13 17:29:41 +02:00
Thomas Gelf 44a7aa6adb JS/IE8: deliver legacy jQuery for IE8
This patch makes IcingaWeb deliver a legacy jQuery version for IE8
as it is no longer supported in jQuery 2.x. JS for IE8 will not be
delivered minified to ease troubleshooting on that buggy platform.

fixes #5866
refs #6417
2014-06-12 17:33:28 +00:00
Johannes Meyer 159d765f14 Fix that calling ActionController::translate() throws an exception
Translating strings must not throw an exception
even if the given domain is not valid.

fixes #6432
2014-06-11 13:39:22 +02:00
Eric Lippmann 160a75403d Merge branch 'master' into feature/display-documentation-4820
Conflicts:
	modules/doc/library/Doc/DocParser.php
2014-06-06 14:25:13 +02:00
Thomas Gelf 1fbca25d99 Data\DataArray: use SimpleQuery and new interfaces
Removed ArrayQuery implementation as SimpleQuery is enough here.
Renamed the Datasource class to ArrayDatasource.

refs #6418
2014-06-06 06:21:35 +00:00
Thomas Gelf 8df26bb5f5 bootstrapping: add a dispatchModule() shortcut
This allows to easily jump into a specific modules CLI controllers.

refs #6411
2014-06-04 23:39:12 +00:00
Thomas Gelf eadb6cb518 bootstrapping: allow to retrieve a modules base...
...directory if it has been loaded but neither enabled nor installed.

refs #6411
2014-06-04 22:59:48 +00:00
Thomas Gelf 0e6aecbd43 bootstrapping: allow to load modules neither...
...enabled nor installed by passing their base directory. In favour
of this parameter I dropped the possibility to inject a Module class
for testing purposes. There is no such test and I see no point in
doing so.

refs #6411
2014-06-04 22:57:50 +00:00
Thomas Gelf e076d2d1d6 bootstrapping: create only one CLI loader instance
This used to work fine as long as you didn't try to interfere from
outside to influence the cli loader. The instance returned by
cliLoader() was not the same as used internally once dispatching the
CLI command.

refs #6411
2014-06-04 22:52:38 +00:00
Thomas Gelf a221afd933 bootstrapping: autoloader exceptions should not...
...require to be autoloaded.

refs #6411
2014-06-04 22:50:08 +00:00
Thomas Gelf 602b448505 bootstrapping: only web should depend on forms
This fixes the problem that CLI scripts or other applications without
an application directory would badly fail because of missing web forms.

refs #6411
2014-06-04 22:46:16 +00:00
Thomas Gelf bdc3423d4e packaging/config: allow to override APPDIR
It is now possible to either define ICINGAWEB_APPDIR in an Environment
variable or to define it as a PHP constant before bootstrapping.

fixes #6400
2014-06-04 21:22:29 +00:00
Thomas Gelf 55880cb5a3 packaging/config: rename ICINGA_APPDIR
Renamed ICINGA_APPDIR to ICINGAWEB_APPDIR for consistency. This way
it fits ICINGAWEB_CONFIGDIR.

refs #6400
2014-06-04 21:11:27 +00:00
Thomas Gelf e992f152bb packaging/configuration: get rid of _ENV
We should use _SERVER for our settings as it works fine on CLI and
for web servers.

refs #6400
2014-06-04 21:08:49 +00:00
Marius Hein 29f593a357 Authentication: Add backend to handle external authentication
Drop external auth configuration from config.ini and move
implementation into a single backend provider named
'autologin'. This provider can strip realm names from
username with a custom regexp.

fixes #6081
2014-06-03 17:59:22 +02:00
Marius Hein a0459d0172 ExternalAuthentication: Move authenticationMode to config.ini
fixes #6214
2014-06-03 15:26:15 +02:00
Marius Hein 160a95e32d Bootstrap/Web: Only load authentication.ini if needed
fixes #6238
2014-06-03 14:16:01 +02:00
Marius Hein 79fb8b1e0d Config: Remove base path subsitution
Test for leading slash and prepend base path to allow
absolute configuration files.

fixes #5556
2014-06-02 14:54:31 +02:00
Eric Lippmann c12c4a9e4c Modules: Call `Module::registerWebIntegration()' after including the run script
Routes added via a module's run script were not respected since
`Module::registerRoutes()' is called from `Module::registerWebIntegration()'.

refs #6303
2014-05-28 13:29:02 +02:00
Eric Lippmann b58ec5f445 Add Module::addRoute() to add a route to the route chain
refs #6303
2014-05-27 15:11:33 +02:00
Thomas Gelf 8a770007ff Modules\Module: provide a lighter header sample
We should get rid of the current way of copying license snippets to
every single file. This is a first example of how a lighter header
could look like. I'd add a short slogan to the title and place a
copy of the license to icinga.org, so our links could point there
instead of gnu.org.

refs #6309
2014-05-26 14:17:46 +00:00
Thomas Gelf 7c68d0a30f Modules\Module: clean up phpdoc blocks 2014-05-26 14:14:34 +00:00
Thomas Gelf 5b87d6238b Modules\Module: improve provided metadata
refs #4095
2014-05-26 14:11:43 +00:00
Eric Lippmann 6ff5a986dd Modules: Don't call `FrontController::getRoute()' twice
refs #6303
2014-05-26 13:08:47 +02:00
Thomas Gelf 24f2ae607f Pdf/Charts: add initial chart support to PDFs
Problem: TCPDF had SVG support, dompdf hasn't. This patch adds a
first rudimentary PNG conversion and a sample implementation making
use of such.
2014-05-20 22:48:06 +00:00
Thomas Gelf 78bc2b4ec7 Modules\Manager: no warning for duplicate modules
Formerly we logged a warning if a module was found in multiple module
paths. This is pointless, because as soon as you got a default module
installed by your distribution and "upgraded" it via your web frontend
this "error" will be the default. Logging at debug level right now.
2014-05-20 22:39:32 +00:00
Johannes Meyer c711e3405d Fix cli default log configuration and js-loader debug message 2014-05-05 16:17:21 +02:00
Johannes Meyer 98ca15d1fb Mark less important or non-testable code as skipped for code coverage
refs #6011
2014-04-28 14:06:41 +02:00
Johannes Meyer 891d36dbd7 Make DateTimeFactory expecting a string instead of a DateTimeZone 2014-04-28 14:06:39 +02:00
Michael Friedrich f510130797 Look for ICINGAWEB_CONFIGDIR in $_ENV too.
Refs #5638
2014-04-23 11:23:29 +02:00
Thomas Gelf fa3e7f9fc2 Module list should not throw Exceptions if no config is present 2014-04-17 21:16:51 +00:00
Thomas Gelf 0d6aeb3877 Make CLI logging robust against missing config 2014-04-17 21:09:30 +00:00
Thomas Gelf 3f9bc5dea6 Use no space in syslog application name 2014-04-17 21:04:15 +00:00
Thomas Gelf f04d765365 Fix routing for static content with internal webserver 2014-04-17 20:59:37 +00:00
Thomas Gelf 6f9c187d47 Default configDir in App bootstrap related to last commit 2014-04-17 17:01:23 +00:00
Thomas Gelf 5fdec39475 More consistent default config dir handling, less configuration 2014-04-17 16:59:10 +00:00
Thomas Gelf 3b20833495 Cosmetic web router changes 2014-04-17 16:47:01 +00:00
Johannes Meyer a844d33735 Do not create alias mock for Icinga\Application\Icinga
refs #4639
2014-04-14 08:31:46 +02:00
Johannes Meyer f9324032cb Fix autoloader not ignoring vendor prefixed class names
refs #4639
2014-04-09 14:20:05 +02:00
Johannes Meyer ea44ae3693 Improve failure handling when setting the locale 2014-04-04 15:34:46 +02:00
Thomas Gelf 1beb837783 A few little code cleanups 2014-03-31 16:35:28 +00:00
Thomas Gelf 947ad34153 Get web router ready for .htaccess removal 2014-03-28 19:46:58 +00:00
Thomas Gelf ade2121302 Router, once again 2014-03-27 20:00:43 +00:00
Thomas Gelf ff6859d1d1 One more router fix 2014-03-27 19:47:11 +00:00
Thomas Gelf fcde513c24 Router fixes for SVG images 2014-03-27 19:39:38 +00:00
Johannes Meyer 3beec6e102 Fix exception thrown during re-routing without parameters 2014-03-27 12:04:10 +01:00
Thomas Gelf 08945257dc Add alias detection to web router script 2014-03-27 09:33:45 +01:00
Thomas Gelf cb5d90ad41 Simplify pre-bootstrapping web routing 2014-03-27 07:25:53 +00:00
Johannes Meyer f802b36ca9 Move session class files 2014-03-25 11:13:10 +01:00
Thomas Gelf 3059228378 Fix JS support for modules 2014-03-20 09:55:29 +00:00
Thomas Gelf c76729a821 Fix CLI complaining without log config 2014-03-11 20:45:01 +01:00
Alexander Klimov 7d08636af4 Handle missing config files more intelligent 2014-03-11 15:43:41 +01:00
Thomas Gelf 3286dfe202 Style benchmark output 2014-03-07 17:03:43 +00:00
Alexander Klimov b410ebeed6 Remove unnecessary spaces at end of line 2014-03-06 13:08:11 +01:00
Thomas Gelf 127b7ad389 Allow us to find out where /public is to be found 2014-03-04 15:13:13 +00:00
Thomas Gelf 76c322901c Prototype for icingacli web serve 2014-03-04 11:13:43 +00:00
Thomas Gelf c1177b72e7 loadConfig renamed in EmbeddedWeb 2014-03-04 10:14:00 +00:00
Thomas Gelf 3ac276e652 Quickfix to get master-1 running 2014-03-04 09:31:17 +00:00
Eric Lippmann 07d04628cf Merge branch 'feature/installation-and-configuration-cleanup-5638'
Conflicts:
	config/config.ini.in
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Application/Cli.php
	library/Icinga/Application/EmbeddedWeb.php
	library/Icinga/Application/Logger.php
	library/Icinga/Application/Modules/Manager.php
	library/Icinga/Application/Web.php
	library/Icinga/Authentication/Backend/DbUserBackend.php
	library/Icinga/Authentication/Manager.php
	library/Icinga/User/Preferences/IniStore.php
	test/php/library/Icinga/Application/LoggerTest.php
2014-03-03 19:03:39 +01:00
Matthias Jentsch a8f765fa3b Add extern authentication
Provide a new settings authenticationMode and delegate the
authentication handling to the webserver when the external authentication mode
is set. Add a new view 'logout' that will be shown after logout from external
authentication as the regular redirect to login is not possible.

refs #5405
2014-02-26 18:08:48 +01:00
Johannes Meyer ec308ece93 Remove old log wrapper
refs #5683
2014-02-26 13:49:29 +01:00
Johannes Meyer 3555e66018 Make IcingaWeb using the new log wrapper
refs #5683
2014-02-26 11:19:52 +01:00
Johannes Meyer 68357e9ca2 Fix coding style 2014-02-21 14:07:32 +01:00
Eric Lippmann 7fa6668b64 Make Icinga Web 2 work without any config file
refs #5638
fixes #5523
2014-02-20 13:53:28 +01:00
Eric Lippmann 8edf421c45 Replace debug log with respecting log priorities
refs #5638
fixes #5522
2014-02-18 14:46:15 +01:00
Markus Frosch 971a87c608 Fixed executable flags on normal files.
Refs #5040
2014-02-18 09:42:13 +01:00
Eric Lippmann 08d7edebfc Decouple (automatic) preferences storage from user preferences (WIP)
DbStore, persisting preferences and tests not yet reworked.
2014-02-14 17:28:11 +01:00
Thomas Gelf 7a02d278ce We don't want others to care about our bootstrap dependencies 2014-02-14 14:12:12 +00:00
Thomas Gelf e115d8e893 Sample module metadata implementation 2014-02-14 13:48:51 +00:00
Thomas Gelf cb923453c9 getCssFilename signature added 2014-02-14 13:42:57 +00:00
Thomas Gelf 6b027a0dc3 Make module CSS (less) filename accessible 2014-02-14 13:41:03 +00:00
Thomas Gelf 3cfa05d420 Static controller parameter must match registered route 2014-02-14 13:40:10 +00:00
Thomas Gelf db6dbdd381 Autoloader should not fail on missing module library directory 2014-02-14 13:38:55 +00:00
Thomas Gelf 7dbede12fb Remove obsolete register script traces 2014-02-14 13:37:45 +00:00
Thomas Gelf c68bce2f3d Embedded "light" web bootstrapping adapted new module loading 2014-02-14 13:22:15 +00:00
Thomas Gelf 6096b23a76 CLI fix for --watch, hide autocomplete documentation 2014-02-14 13:19:56 +00:00
Eric Lippmann 9cbfe88ea6 Do not exit the application when the logger has errors logged during bootstrap and stop preference loading on every request
Only fatals should exit the application.
Preferences must be loaded only once after login.
2014-02-14 10:56:29 +01:00
Eric Lippmann 3e04122e34 Do not set UTC in index.php
refs #5638
fixes #5530
2014-02-14 10:56:29 +01:00
Eric Lippmann a630a96e01 Do not require ApplicationBootstrap in index.php
refs #5638
fixes #5529
2014-02-14 10:56:29 +01:00
Marius Hein 1a6d1a20fb Fix: Simplify TopBar hook
refs #5597
2014-02-12 09:58:59 +01:00
Marius Hein 7b55f3a2bd Implement register and run php scripts for modules
refs #5597
2014-02-11 17:12:17 +01:00
Thomas Gelf 89f6bedb10 Afoid flickering on CLI when using --watch 2014-02-07 10:23:29 +00:00
Johannes Meyer 56abc53a2b Properly fix the default locale issue 2014-02-03 12:22:13 +01:00
Johannes Meyer 85639a3990 Add language selection to general config and preference forms
refs #5533
2014-01-30 13:17:15 +01:00
Johannes Meyer 005c52bb4a Refactor translation cli commands and implement po-file compilation
refs #5533
2014-01-30 10:51:10 +01:00
Johannes Meyer bd34669357 Refactor i18n implementation
One can now use $this->translate(msg) in a view or controller without the
need to pass the module domain (web&cli). Forms still need to be built
with _t(msg) and _mt(dom, msg).

refs #5533
2014-01-29 16:25:08 +01:00