Commit Graph

799 Commits

Author SHA1 Message Date
Bernd Erk ef16c3c479 CSS: design user logout and preferences 2015-09-28 17:58:23 +02:00
Eric Lippmann 98f1e9028e Fix user menu CSS classes
refs #5543
2015-09-28 16:40:16 +02:00
Eric Lippmann a408636923 Move logout to new navigation item
refs #5543
2015-09-28 15:28:17 +02:00
Eric Lippmann 9dff864b80 Prepare markup for new user menu
refs #5543
2015-09-28 14:48:54 +02:00
Johannes Meyer a55cced039 Merge branch 'master' into feature/custom-menu-items-5600
Conflicts:
	modules/monitoring/application/views/scripts/list/comments.phtml
	modules/monitoring/application/views/scripts/list/downtimes.phtml
2015-09-25 14:12:43 +02:00
Alexander A. Klimov 8dc9928cb3 IniParser::parseIniFile(): return a Config instance
refs #10150
2015-09-25 12:04:13 +02:00
Alexander A. Klimov e2d6089ff3 Make Version::get() failsafe
refs #9247
2015-09-24 12:25:02 +02:00
Alexander A. Klimov feb27b8a02 Rename application/VERSION to application/GITCOMMIT
refs #9247
2015-09-24 11:35:18 +02:00
Alexander A. Klimov 3e99adbe63 Version::get(): first try to parse application/VERSION
refs #9247
2015-09-24 11:05:21 +02:00
Alexander A. Klimov cc4a47506f Fetch version from constant
refs #9247
2015-09-24 10:53:33 +02:00
Alexander A. Klimov 7c3b46fefa Make regex less complicated 2015-09-23 17:48:30 +02:00
Alexander A. Klimov d6cf6313b9 Split complex if statements 2015-09-23 15:53:10 +02:00
Alexander A. Klimov abcdc5adb1 Fetch Git commit ID from .git/HEAD if available
refs #9247
2015-09-23 15:06:02 +02:00
Alexander A. Klimov 626c3494e4 Config::fromIni(): use IniParser::parseIniFile() instead of parse_ini_file()
refs #10150
2015-09-22 14:50:49 +02:00
Johannes Meyer 0ec3610349 Web: Properly load shared menu items
refs #5600
2015-09-17 13:40:40 +02:00
Eric Lippmann f46504554e lib: Check for mssql extension too in Platform::hasMssqlSupport()
refs #9683
2015-09-17 11:48:25 +02:00
Johannes Meyer 8c17364780 Late translate a module's menu section labels
refs #5600
2015-09-16 14:36:35 +02:00
Johannes Meyer 8b7a1ce28f Late translate a module's dashboard-pane/dashlet labels
refs #5600
2015-09-16 14:29:33 +02:00
Johannes Meyer bbadb0b75c Add support for no-op translations
refs #5600
2015-09-16 14:16:40 +02:00
Johannes Meyer 0ca6e04a5a Module: Allow to pass a label for a custom navigation item type
refs #5600
2015-09-16 13:51:35 +02:00
Johannes Meyer ccae7c4d0d Module: Allow to define a dashboard pane's properties
Since dashboards are now alphabetically sorted as well, we need some way
to affect this as the old behaviour was to sort them as they were registered

refs #5600
2015-09-15 13:54:53 +02:00
Johannes Meyer 1d6ad6df21 Merge branch 'master' into feature/custom-menu-items-5600
Conflicts:
	modules/monitoring/configuration.php
2015-09-15 13:31:30 +02:00
Eric Lippmann d52bb7d92a lib: Add Platform::hasLdapSupport() and Platform::hasDatabaseSupport()
refs #9683
2015-09-07 16:43:41 +02:00
Eric Lippmann 358f1750fb lib: Add Platform::hasOciSupport()
refs #9683
2015-09-07 16:34:10 +02:00
Eric Lippmann bba1838c7d lib: Add Platform::hasOracleSupport()
refs #9683
2015-09-07 16:34:10 +02:00
Eric Lippmann 9f3ef5cc8d lib: Add Platform::hasMssqlSupport()
refs #9683
2015-09-07 16:34:04 +02:00
Johannes Meyer b1e3519353 Add class NavigationController (WIP)
refs #5600
2015-09-07 13:55:19 +02:00
Johannes Meyer 27f3a8f152 Web: Add method getSharedNavigation()
refs #5600
2015-09-07 13:22:02 +02:00
Eric Lippmann 0f8c28d749 Merge branch 'master' into feature/api-9606 2015-09-07 11:33:44 +02:00
Johannes Meyer 1be6dc0553 Module.php: Allow modules to provide configurable navigation items
refs #5600
2015-09-07 11:06:11 +02:00
Johannes Meyer 95a61e89a9 Module: Fix how dashlets are loaded
refs #5600
2015-09-04 15:51:33 +02:00
Johannes Meyer 70a48643c1 Add class DashboardContainer
refs #5600
2015-09-04 15:25:19 +02:00
Johannes Meyer 5c2619dcb5 Add class NavigationItemContainer
refs #5600
2015-09-04 15:04:29 +02:00
Johannes Meyer ab23b56973 Web: Load module menus
refs #5600
2015-09-04 13:55:49 +02:00
Johannes Meyer 27a6b5bb75 Module: Utilize MenuItemContainer instead of Menu
refs #5600
2015-09-04 13:54:53 +02:00
Johannes Meyer 8643fec309 Add class MenuItemContainer
resf #5600
2015-09-04 13:54:23 +02:00
Johannes Meyer 294f9022f2 Use the new navigation to render the menu
refs #5600
2015-09-04 10:53:01 +02:00
Emil Vikström e3ea0e5949 Use yellow for warning logs in ANSI CLI
Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2015-09-01 22:55:42 +02:00
Eric Lippmann c0eb0cbe6a modules: Tell the dispatcher that the static controller is to be found in the default module
refs #5786
2015-08-28 13:13:07 +02:00
Eric Lippmann bcc02f50ec lib: Optimize imports in webrouter 2015-08-28 09:42:49 +02:00
Eric Lippmann 4070f6c75b Merge branch 'master' into feature/namespaced-controllers-5786 2015-08-27 15:05:44 +02:00
Eric Lippmann ba09b02f5c lib: Fix PHPDoc of Version::get() 2015-08-27 13:06:49 +02:00
Eric Lippmann df66d0b0f5 lib: Add PHPDoc to Version 2015-08-27 13:06:31 +02:00
Eric Lippmann c294283636 Merge branch 'bugfix/service-grid-grouping-postgres-9333'
Conflicts:
	modules/monitoring/application/controllers/ListController.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php

fixes #9333
fixes #9538
2015-08-27 12:58:49 +02:00
Eric Lippmann 96fb3b5d4b Merge branch 'master' into feature/api-9606 2015-08-25 09:25:59 +02:00
Eric Lippmann a20eef50e1 Set up the user backend factory before setting up the user
refs #9606
2015-08-24 15:37:55 +02:00
Johannes Meyer 93f7bfeeb9 Allow to dis-/enable stacktraces in a user's preferences
refs #9113
2015-08-24 14:47:37 +02:00
Johannes Meyer 0c47aececc Allow to disable stack traces globally
refs #9113
2015-08-24 14:44:54 +02:00
Eric Lippmann 5da139943c lib: Fix type hint for $menuItems in Module 2015-08-20 16:59:02 +02:00
Eric Lippmann 9aa62c9898 lib: Fix type hint for $tabs in Module 2015-08-20 16:58:24 +02:00
Eric Lippmann 800173b19f lib: Fix type hint for $router in Module 2015-08-20 16:47:17 +02:00
Eric Lippmann 5d8f091209 lib: Don't alias Zend classes in Module 2015-08-20 16:46:31 +02:00
Eric Lippmann f24449b225 modules: Register controller namesoace in Module::registerWebIntegration()
Else we get an exception when loading modules on the CLI because Zend classes are not autoloaded.

refs #5786
2015-08-20 16:24:12 +02:00
Eric Lippmann 3c812e6d2b Register module controller namespace
refs #5786
2015-08-18 13:02:54 +02:00
Eric Lippmann d267686ef4 Fix PHPDoc in Web to read class loader instead of auto loader
refs #5786
2015-08-18 12:51:46 +02:00
Eric Lippmann cb8fb93ab0 Fix PHPDoc in ApplicationBootstrap to read class loader instead of auto loader
refs #5786
2015-08-18 12:50:46 +02:00
Eric Lippmann fae2e0979a Fix class loading to not rely on the longest namespace match
refs #5786
2015-08-18 10:50:29 +02:00
Eric Lippmann 234dc951d2 Remove the is_dir check from the ClassLoader
refs #5786
2015-08-18 09:32:00 +02:00
Eric Lippmann ac99e54f17 Fix PHPDoc in ClassLoader
refs #5786
2015-08-18 09:27:34 +02:00
Eric Lippmann a382a563d5 Move Loader::__destruct to the bottom of the method list
refs #5786
2015-08-18 09:10:23 +02:00
Eric Lippmann 13fc7e16f2 Rename Loader to ClassLoader
refs #5786
2015-08-18 09:06:58 +02:00
Eric Lippmann b6fdbf055e Remove unnecessary pass by refenrece in the loader
refs #5786
2015-08-17 14:35:35 +02:00
Eric Lippmann 7563a7a0ba Rename Loader::unRegister() to Loader::register() 2015-08-17 14:34:39 +02:00
Eric Lippmann 7252f3237a Introduce a constant for the controller namespace
refs #5786
2015-08-17 13:43:34 +02:00
Eric Lippmann 1e1d4531c6 Register the controller namespace
refs #5786
2015-08-17 13:31:26 +02:00
Eric Lippmann d4de7c0519 lib: Make Loader::registerNamespace() fluent
refs #5786
2015-08-17 13:29:15 +02:00
Eric Lippmann 392eee5a1f Merge branch 'master' into feature/namespaced-controllers-5786
Conflicts:
	library/Icinga/Application/Web.php
2015-08-17 12:59:44 +02:00
Johannes Meyer 282aaa6e5b Load additional static files for modules, really
Since we're only processing the config script upon calling
Module::hasJs/Css() if no module.js or module.css exists,
we need to ensure that it's processed when calling
Module::getJS/CssFiles().

refs #9702
2015-08-10 10:00:02 +02:00
Johannes Meyer 712d545f48 Module: Allow to define additional Javascript files
refs #9702
2015-08-06 15:10:54 +02:00
Johannes Meyer 51aa22d429 Module: Allow to define additional CSS/LESS files
refs #9702
2015-08-06 15:10:33 +02:00
Johannes Meyer 59ef54314a Extend the Web bootstrapper from the EmbeddedWeb bootstrapper
In a embedded web environment we may also need a request and response.

refs #9702
2015-08-06 15:08:41 +02:00
Matthias Jentsch 60675979bc Merge branch 'bugfix/creating-dashlet-with-parentheses-9530'
fixes #9530
2015-08-05 18:22:29 +02:00
Matthias Jentsch f8e2dc850c Drop IniEditor and clean up IniWriter
Replace the ini editor code with a new parser implementation that manipulates a DOM. Do not support capabillities that are no longer needed, like nested configurations, section inheritance, section-less properties.
2015-08-05 18:10:17 +02:00
Alexander Fuhr c3fe14a205 Modules/Manager: Fix that non-existent modules can be disabled
fixes #9374
2015-08-04 14:34:30 +02:00
Johannes Meyer 316a4d8b82 Merge branch 'master' into bugfix/allow-to-configure-how-to-manage-groups-9609 2015-07-30 16:16:04 +02:00
Eric Lippmann 42d698a6b3 lib: Add Web::getResponse()
Use this method for retrieving the response object outside a controller.

refs #9660
2015-07-30 13:47:54 +02:00
Eric Lippmann ce2a196c4a lib/Web: Set up request before setting up the user
refs #9660
2015-07-29 17:22:10 +02:00
Eric Lippmann db48a944e3 lib: Introduce Web::getRequest()
Basic auth will need the request before we set up the front controller.

refs #9660
2015-07-29 16:27:48 +02:00
Johannes Meyer 13edbf901d UserBackend: Implement interface ConfigAwareFactory
refs #9609
2015-07-29 13:44:26 +02:00
Eric Lippmann 07849e0fea lib: Rename Authentication/Manager to Authentication/Auth
refs #9660
2015-07-28 17:08:55 +02:00
Eric Lippmann 7cfc78558d Merge branch 'master' into feature/secure-modules-9644
Conflicts:
	library/Icinga/Exception/IcingaException.php
2015-07-28 13:42:02 +02:00
Johannes Meyer 982e226db0 IcingaException: Add utility method to format exceptions as one-liner 2015-07-24 16:19:20 +02:00
Eric Lippmann 149a974a44 Fix coding style in Module.php
refs #9644
2015-07-24 15:06:25 +02:00
Eric Lippmann 519d025de5 Allow to get permissions and restrictions from unloaded modules
refs #9644
2015-07-24 14:24:48 +02:00
Eric Lippmann 444fdadf13 Allow to get unloaded modules via Manager::getModule()
refs #9644
2015-07-24 14:23:48 +02:00
Eric Lippmann ec1ddd82b3 Move Module::__construct to the top of the function list
refs #9664
2015-07-24 14:19:17 +02:00
Eric Lippmann 5dcc307e87 Add namespace for module permissions to the module manager
refs #9644
2015-07-22 14:59:35 +02:00
Paul Richards aac5d49eed IIS: use 'config' folder within icingaweb root instead of '/etc/icingaweb2' on Windows
Signed-off-by: Alexander A. Klimov <alexander.klimov@netways.de>
with the following changes:

Make use of Platform::isWindows()
Call ::setupAutoloader() before that

fixes #8916
2015-06-12 14:46:00 +02:00
Paul Richards edd8f5738f Windows: Fix webrouter on IIS
Signed-off-by: Alexander A. Klimov <alexander.klimov@netways.de>
with the following changes:

Remove unneeded whitespace

fixes #8914
2015-06-12 14:05:40 +02:00
Alexander A. Klimov 7ea6eeb20d Revert "Don't use /etc/icingaweb2 as config path on Windows"
This reverts commit 48870bb7e2.
2015-06-12 13:29:36 +02:00
Alexander A. Klimov 48870bb7e2 Don't use /etc/icingaweb2 as config path on Windows
fixes #8916
2015-06-12 11:57:44 +02:00
Alexander A. Klimov 1e0219f697 Revert "IIS: use 'config' folder within icingaweb root on windows"
This reverts commit 4607a85cf5.
2015-06-12 10:38:11 +02:00
Paul Richards 4607a85cf5 IIS: use 'config' folder within icingaweb root on windows
fixes #8916
2015-06-11 18:10:37 +02:00
Alexander A. Klimov 1bd18c5adb Merge branch 'feature/Show-Icinga-Web-2-s-version-in-the-frontend-9247'
resolves #9247
2015-06-08 12:40:14 +02:00
Alexander A. Klimov 6a914dc25b Merge branch 'bugfix/Show-all-shell-commands-required-to-get-ready-in-the-setup-wizard-8705'
fixes #8705
2015-06-05 18:40:07 +02:00
Alexander A. Klimov 76e748c483 Don't throw any exception
refs #8705
2015-06-05 17:12:32 +02:00
Alexander A. Klimov cbc731034a Don't throw any exception
refs #9247
2015-06-05 10:23:17 +02:00
Alexander A. Klimov 602f0cf755 Move Version to Icinga\Application\
refs #9247
2015-06-05 10:18:24 +02:00
Alexander A. Klimov b842a39650 Implement ::getLinuxDistro()
refs #8705
2015-05-26 18:23:26 +02:00
Johannes Meyer ec556edc65 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-26 09:28:35 +02:00
Eric Lippmann 53ca68903a Merge branch 'bugfix/time-formatting-6778'
fixes #6778
2015-05-22 11:34:43 +02:00
Johannes Meyer 265725447d Merge branch 'master' into feature/user-and-group-management-8826 2015-05-22 10:06:31 +02:00
Eric Lippmann 54577d04bd Merge branch 'master' into bugfix/time-formatting-6778
Conflicts:
	modules/monitoring/application/views/scripts/list/comments.phtml
	modules/monitoring/application/views/scripts/list/hostgroups.phtml
	modules/monitoring/application/views/scripts/process/info.phtml
	modules/monitoring/application/views/scripts/show/components/downtime.phtml
	modules/monitoring/application/views/scripts/show/components/notifications.phtml
	modules/monitoring/public/css/module.less
2015-05-21 14:57:01 +02:00
Marius Hein 0002c0be26 Provide default config name for Module::getConfig() 2015-05-21 14:40:52 +02:00
Eric Lippmann ba258524a8 Don't setup the DateTimeFactory when bootstrapping Icinga Web 2
DateTimeFactory will be removed soon.

refs #6778
2015-05-19 11:23:50 +02:00
Johannes Meyer 0a387573f3 Logger: Fix substitution of exception messages 2015-05-13 10:46:34 +02:00
Johannes Meyer f1f1710f47 Config: Add method getConfigObject to access the internal ConfigObject 2015-05-06 08:07:42 +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
Johannes Meyer d09ea2845d Merge branch 'master' into feature/user-and-group-management-8826 2015-04-30 15:20: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 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 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 8dba5752dc ModuleManager: Improve error messages when en-/disabling modules 2015-04-20 10:09:33 +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
Alexander Klimov 967a2e82dc Use (only) "@return $this" in fluent interfaces' documentation 2015-04-07 14:24:11 +02:00
Johannes Meyer b0b95ab387 Fix that Icinga\Application\Logger::writesTo* is not functional 2015-04-07 10:31:57 +02: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
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 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 d102a61e22 Fix Undefined index: HTTP_ACCEPT_LANGUAGE
fixes #8370
2015-03-11 20:50:05 +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
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 6e61980dd2 Fix operator precedence when detecting the default locale
fixes #8370
2015-03-04 08:28:30 +01:00
Johannes Meyer 85e6fce867 Rename Platform::zendClassExists() to Platform::classExists() 2015-02-25 13:33:42 +01:00
Johannes Meyer a5514392db Adjust dashboard, output-format and module tabs 2015-02-23 17:03:11 +01:00
Johannes Meyer ca0914644c Use "icingaweb2" instead of "icingaweb" as default syslog prefix 2015-02-12 14:01:59 +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
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 338d067aba Add license header
fixes #7788
2015-02-03 15:51:04 +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
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 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
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
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
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 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
Eric Lippmann 58cfb67983 Load setup module when necessary when bootstrapping the CLI
fixes #8146
2014-12-30 09:27:37 +01:00
Eric Lippmann 839523a73f Web: Load setup module if necessary 2014-12-29 14:31:34 +01:00
Eric Lippmann 611d01788f Add setup related utility functions to ApplicationBootstrap.php 2014-12-29 14:29:31 +01:00
Eric Lippmann 7d36a59c67 Use '@return $this' instead of '@return self' for document fluent interfaces in ApplicationBootstrap.php 2014-12-29 14:01:19 +01:00
Eric Lippmann fdd06697b3 Web: Use our own dispatcher
refs #5786
2014-12-18 17:12:11 +01:00
Eric Lippmann 8ec0740005 Merge branch 'master' into feature/packages-4075 2014-12-18 14:02:17 +01:00
Johannes Meyer bca28a5ae2 Display inline pie-charts also in views exported to PDF
fixes #6463
2014-12-15 13:55:20 +01:00
Eric Lippmann 68e460b5d1 Remove unused use in EmbeddedWeb 2014-12-10 09:32:02 +01:00
Eric Lippmann 888fa90fe2 Fix typo in PHPDoc in EmbeddedWeb 2014-12-10 09:31:37 +01:00
Eric Lippmann 2b5fe7baf4 Set default config dir to '/etc/icingaweb2' 2014-12-10 09:30:12 +01:00
Eric Lippmann 916868a051 Revert "Add support for "core" modules and make the setup module such a module"
This reverts commit 8af13f564b.

The setup module must only be loaded when necessary not always.
2014-12-09 16:28:05 +01:00
Eric Lippmann 7d00f68660 Revert "Load core modules also when bootstrapping the CLI"
This reverts commit f12473d34b.

The CLI must not load core modules, i.e. setup.
2014-12-09 16:27:04 +01:00
Johannes Meyer 196b6a4875 Ensure that Zend is loaded when showing status information in the CLI
fixes #7869
2014-12-09 15:38:13 +01:00
Thomas Gelf 09e59ba44a Modules\Module: determine correct config dir 2014-12-03 10:43:27 +01:00
Eric Lippmann a2a97537ce Log: Fix StdoutWriter not using our "new" Logger's interface 2014-12-03 09:38:33 +01:00
Johannes Meyer ebf908b1b5 Make db requirement checks more sensitive
fixes #7837
2014-12-01 15:38:10 +01:00
Eric Lippmann aef81a56d6 Merge branch 'master' into feature/security-gui-5647
Conflicts:
	library/Icinga/Application/Config.php
	library/Icinga/File/Ini/IniWriter.php
	library/Icinga/Web/Form.php
	library/Icinga/Web/Menu.php
2014-11-18 17:08:25 +01:00
Johannes Meyer f007663235 Show the user a senseful error message in case enabledModules is missing
fixes #7205
2014-11-18 16:22:41 +01:00
Johannes Meyer 7621f6642d Adjust usages of Icinga\Application\Config
refs #7147
2014-11-18 13:11:52 +01:00
Johannes Meyer 0c84bf614d Split config functionality into two classes
There is now Icinga\Application\Config as our ini configuration handler and
Icinga\Data\ConfigObject as our general configuration container.

refs #7147
2014-11-18 13:02:56 +01:00
Johannes Meyer 812f9af949 Change modulePath setting to module_path
fixes #7694
2014-11-17 10:10:08 +01:00
Eric Lippmann 6ba4e55277 Throw exception on E_NOTICE
Use of uninitialized values must be detected asap.
2014-11-15 01:20:27 +01:00
Eric Lippmann 52c19b5843 EmbeddedWeb must not load core modules, i.e. setup 2014-11-15 01:04:56 +01:00
Eric Lippmann 2c0122ba9f Fix ApplicationBootstrap::getBootstrapDirectory() when Icinga Web 2 is served using PHP's built-in web server 2014-11-15 01:04:14 +01:00
Eric Lippmann 11bb8dbab0 icingacli web serve: Fix "PHP Notice: Use of undefined constant ICINGA_LIBDIR" 2014-11-14 16:02:17 +01:00
Eric Lippmann 029630308d Load Zend on Web and EmbeddedWeb
refs #7464
2014-11-14 14:07:13 +01:00
Eric Lippmann 37dd2f5dd2 Do not load Zend on the CLI and remove our library from the include path
Adding Icinga Web 2's library to the include is not necessary for getting the Zend_Plugin_Loader working.
2014-11-14 14:04:24 +01:00
Johannes Meyer 586b4f463b Let our module autloader know that we renamed our form namespaces
refs #7553
2014-11-14 11:30:44 +01:00
Johannes Meyer 775c20d9ad Rename namespace Icinga\Form to Icinga\Forms
refs #7553
2014-11-14 10:57:14 +01:00
Eric Lippmann 48a468b888 Add our vendor path to the include path 2014-11-13 19:52:28 +01:00
Eric Lippmann 81b144d057 Fix locale setup
The CLI must not try to use HTTP_ACCEPT_LANGUAGE. Avoided double try-catch blocks.

refs #6073
2014-11-13 18:02:03 +01:00
Eric Lippmann e3c70bec6d Fix timezone setup
The CLI must not try to use our web timezone detection thingy.

refs #6073
2014-11-13 17:07:36 +01:00
Eric Lippmann ac2ec83852 Merge branch 'master' into feature/localization-form-6073
Conflicts:
	library/Icinga/Application/ApplicationBootstrap.php
	test/php/library/Icinga/User/Store/DbStoreTest.php
2014-11-13 17:03:41 +01:00
Eric Lippmann f427577067 Add getVendorDir() in favor of constant ICINGAWEB_VENDORS 2014-11-13 09:38:04 +01:00
Eric Lippmann bfa834fc3b Remove constant ICINGAWEB_APPDIR
We should avoid use of constants.
2014-11-13 09:33:31 +01:00
Eric Lippmann 9c103a9864 Remove constant ICINGAWEB_BASEDIR
We should avoid use of constants.
2014-11-13 09:24:51 +01:00
Eric Lippmann 75475b1684 Rename getBootstrapDirecory() to getBootstrapDirectory() 2014-11-12 17:14:43 +01:00
Eric Lippmann c394cd0bff Use realpath in ApplicationBootstrap::getBootstrapDirecory()
If the CLI is called from source, the base directory is now set to the correct path.
Packagers will have to provide the path to the base directory though.
2014-11-12 17:11:48 +01:00
Johannes Meyer db7954c350 Merge branch 'master' into feature/setup-wizard-7163 2014-11-12 17:05:13 +01:00
Eric Lippmann ec6b56a060 Allow to define Icinga Web 2's base directory while bootstrapping 2014-11-12 15:52:43 +01:00
Eric Lippmann b27d1d0058 Merge branch 'master' into feature/setup-wizard-7163 2014-11-12 14:48:15 +01:00
Eric Lippmann a081db08a4 icingacli: Fix "Notice: Constant ICINGAWEB_BASEDIR already defined" 2014-11-12 14:43:58 +01:00
Eric Lippmann 6089372c42 Do not define ICINGAWEB_BASEDIR in index.php
There's SCRIPT_FILENAME. The constants will be removed shortly.
2014-11-12 14:39:45 +01:00
Eric Lippmann 277765ac72 No longer make ICINGAWEB_APPDIR configureable 2014-11-12 13:18:05 +01:00
Eric Lippmann 11e13582e2 Define the ICINGAWEB_VENDORS contant 2014-11-12 13:17:18 +01:00
Eric Lippmann 8c9465ffbd Fix ICINGAWEB_APPDIR location if the Icinga library is in PHP's include path 2014-11-12 13:06:43 +01:00
Eric Lippmann 877e9101f3 Do not define the constant ICINGAWEB_LIBDIR
This constant should not be needed anywhere.
2014-11-12 12:55:16 +01:00
Alexander Fuhr 533d2207fd Fix `setupTimezone' and `setupInternationalization' for user preferences 2014-11-12 12:16:05 +01:00
Alexander Fuhr 8d120762de Add timezone detection to `setupTimezone' in ApplicationBootstrap 2014-11-12 12:13:46 +01:00
Johannes Meyer 7aae291f69 Merge branch 'master' into feature/setup-wizard-7163 2014-11-12 10:08:28 +01:00
Johannes Meyer c3e28a42fb Remove configuration option for setting the access mode on new files 2014-11-12 09:40:07 +01:00
Thomas Gelf f39301d47f Cli: use STDOUT as the default logger
fixes #7636
2014-11-11 19:43:22 +01:00
Thomas Gelf f347a74982 Logger\StdoutWriter: initial implementation
This log writer writes to STDOUT and uses ANSI colors on real terminals

fixes #7636
2014-11-11 19:40:59 +01:00
Thomas Gelf 629118b590 LogWriter: setting config must not be abstract
Storing the given config makes sense as default action, no need to
abstract the constructor per default.

refs #7636
2014-11-11 19:39:15 +01:00
Johannes Meyer a6af51f402 Fix that Config::fromSection cannot return the actual value
refs #7147
2014-11-11 15:51:54 +01:00
Johannes Meyer f12473d34b Load core modules also when bootstrapping the CLI
refs #7163
2014-11-11 10:00:28 +01:00
Johannes Meyer 9d292269b1 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/Resource/LdapResourceForm.php
	test/php/application/forms/Config/Authentication/LdapBackendFormTest.php
2014-11-11 09:44:11 +01:00
Johannes Meyer 8af13f564b Add support for "core" modules and make the setup module such a module
refs #7163
2014-11-10 17:34:49 +01:00
Johannes Meyer 21ed823da7 Adjust namespace declarations
refs #7163
2014-11-10 16:31:40 +01:00
Johannes Meyer 8f212018ec Move the setup wizard code to a dedicated module
refs #7163
2014-11-10 15:11:44 +01:00
Johannes Meyer 79493592bb Do not use Installer anywhere.
"It's setup."

refs #7163
2014-11-10 10:30:52 +01:00
Johannes Meyer f85ddeb215 Do not hardcode the php username dummy in Icinga\Application\Platform
refs #7163
2014-11-07 14:40:28 +01:00
Johannes Meyer eadc7d8415 Remove the POSIX requirement
refs #7163
2014-11-07 14:39:34 +01:00
Johannes Meyer 9a5d01b3fd Check the mysql or pgsql extension instead of just pdo, really 2014-11-07 14:31:20 +01:00
Johannes Meyer 7b99b74ae1 Prefer Icinga\Application\Config instead of Zend_Config
refs #7147
2014-11-07 13:53:03 +01:00
Johannes Meyer 268569114c Fix that an error is thrown when reading INI files without trailing newlines 2014-11-07 13:38:35 +01:00
Johannes Meyer 4537b2932e Fix that current(), key(), etc does not work with Config objects 2014-11-07 13:37:09 +01:00
Johannes Meyer 83f386f92a Do not extend Zend_Config in Icinga\Application\Config
refs #7147
fixes #7580
2014-11-06 15:41:31 +01:00
Alexander Fuhr 2e24c53224 Merge branch 'master' into feature/localization-form-6073
Conflicts:
	application/forms/Config/GeneralForm.php
	application/forms/Preference/GeneralForm.php
	library/Icinga/Application/Web.php
2014-11-05 13:27:45 +01:00
Johannes Meyer 5a169ee656 Fix "PreservingIniWriter not found"
The class was renamed a few commits ago to "IniWriter"
2014-11-04 14:35:57 +01:00
Johannes Meyer 170ded6510 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	library/Icinga/Authentication/Backend/LdapUserBackend.php
	library/Icinga/File/Ini/IniWriter.php
2014-11-04 14:22:53 +01:00
Johannes Meyer 581935c26f Fix database setup and add support for the new schema
refs #7163
2014-11-04 13:51:15 +01:00
Eric Lippmann 45d3005f3c Throw exceptions on PHP warnings
Sometimes we miss PHP warnings because our layout overlays them.
2014-11-04 13:20:41 +01:00
Eric Lippmann e5091ec835 Fix Modules\Manager::getLoadedModules() PHPDoc 2014-10-31 11:22:27 +01:00
Eric Lippmann 0124a33037 Add method Config::isEmpty() 2014-10-31 11:20:17 +01:00
Eric Lippmann 16352fc10c Move Logger to the Application namespace
fixes #7148
2014-10-31 10:27:17 +01:00
Johannes Meyer 9365e3ca94 Remove the setup token from disk upon completion of the wizard
refs #7163
2014-10-30 10:36:02 +01:00
Johannes Meyer 504853961b Add temporary requirement for the DOM php module
Should be removed once dompdf isn't shipped with Icinga Web 2 anymore

refs #7163
refs #6172
2014-10-29 16:25:25 +01:00
Johannes Meyer c8e323e8a7 Improve requirment checks
refs #7163
2014-10-29 16:24:31 +01:00
Johannes Meyer 4d8842db09 Return a dummy PHP username in case the POSIX module is not available 2014-10-29 16:22:41 +01:00
Johannes Meyer 81e06fe570 Do not show a requirement for Zend_Db_Adaper_*
refs #7163
refs #7464
2014-10-29 15:49:14 +01:00
Johannes Meyer 47d9426a1f Use a hardcoded path where to look for modules
refs #7163
2014-10-29 15:43:08 +01:00
Johannes Meyer ec6948dddf Fix that the ModulePage does not provide a wizard's requirement info
refs #7163
2014-10-29 11:38:21 +01:00
Johannes Meyer 32006420c5 Fix WelcomePage
There were some grammar- and layout-errors
as well as information missing :(
2014-10-29 11:36:03 +01:00
Johannes Meyer dbf5512252 Drop Icinga\Application\Installation and introduce Icinga\Installation
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer a899070606 Move MakeDirStep to Icinga\Web\Setup
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer dd6b045183 Fix that the ModulePage cant find modules when being asked for
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 98acc24869 Create configuration sub directories as part of the setup wizard
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 1fd4a301c4 Pass the wizard title to the summary page to be able to reuse the page
Module wizards can now use the SummaryPage as well if they want to.

refs #7163
2014-10-29 08:38:58 +01:00
Johannes Meyer 3206ded18c Pass the entire page data to the ModulePage
As module wizards might require some configuration values aggregated by
the main application wizard we pass the entire page data to each wizard as
if the data were aggregated by a module wizard itself.

refs #7163
2014-10-29 08:38:58 +01:00
Matthias Jentsch 2e8c0cffe6 Check privileges of database user accounts before continuing with the setup
Implement owner and privilege checks for postgresql, and fix some errors in
existing MySQL privilege checks.

resolves #7389
2014-10-27 15:08:52 +01:00
Johannes Meyer 2f83976f50 Add ModulePage
refs #7163
2014-10-24 17:10:17 +02:00
Johannes Meyer 1bd5868a88 Fix access of an array key which does not exist in some circumstances
refs #7163
2014-10-24 13:57:30 +02:00
Johannes Meyer a8dd9c933d Add the possibility for modules to provide a setup wizard
refs #7163
2014-10-24 13:52:26 +02:00
Johannes Meyer 64e6886c9c Make it possible to pass the module paths directly to the module manager 2014-10-24 13:51:23 +02:00
Johannes Meyer d90d6fe6a9 Improve summary page layout a bit
refs #7163
2014-10-23 15:16:25 +02:00
Johannes Meyer a6cbde54c5 Move summary HTML generation from the view script to each install step
refs #7163
2014-10-23 15:15:59 +02:00
Johannes Meyer 216c072024 Implement installation routines modularly
This allows us to "merge" module installation
routines with our main installer routines.

refs #7163
2014-10-23 11:41:16 +02:00
Johannes Meyer f5c4708ae2 Add a default file mode for new configuration files
The file mode which can be configured in the general configuration is now
used when creating new configuration files with the PreservingIniWriter.
2014-10-21 17:02:21 +02:00
Johannes Meyer e72f2cac24 Fix that page information gets deleted when navigating back
refs #7163
2014-10-17 15:42:06 +02:00
Johannes Meyer 24b6274f01 Fix logging configuration installation
refs #7163
refs #6933
2014-10-17 13:05:56 +02:00
Johannes Meyer 9f127be1dc Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/General/LoggingConfigForm.php
2014-10-17 13:04:59 +02:00
Johannes Meyer a54c81b2a7 Adjust button labels only in WebSetup::addButtons(), not in view scripts
refs #7163
2014-10-17 11:20:20 +02:00
Eric Lippmann 6c59c22044 Bootstrap: Remove logging configuration directives which do not override defaults 2014-10-16 15:59:56 +02:00
Eric Lippmann 6dfefb0e73 CLI: Fix logging setup 2014-10-16 15:59:35 +02:00
Eric Lippmann 985154d3d8 Throw an ErrorException on E_STRICT errors 2014-10-16 15:51:18 +02:00
Johannes Meyer d73423ceee Style summary page
Dropped also the layout logic as it was too generic.

refs #7163
2014-10-16 14:52:26 +02:00
Johannes Meyer 45e179d939 Fix that `type' is missing for installed ldap authentication backends
refs #7163
2014-10-15 10:44:08 +02:00
Johannes Meyer 13678bb33e Add useful @todo hint
refs #7163
2014-10-13 09:35:00 +02:00
Johannes Meyer 52016d81b9 Consider `root_dn' and `base_dn' when installing config files
refs #7163
2014-10-13 09:34:22 +02:00
Johannes Meyer ca6eca6b67 Quote database names, usernames and passwords when setting up the db
refs #7163
2014-10-09 16:02:18 +02:00
Johannes Meyer 78b130a4f3 Fix that the LDAP discovery page is shown for non-LDAP authentication
refs #7163
2014-10-09 15:05:21 +02:00
Johannes Meyer 169a646a1a Fix that LDAP discovery suggestions are not populated
I've broke this when re-commiting the changes made by Matthias and fixed
this by populating dependent pages directly in WebSetup::setupPage.

refs #7163
2014-10-09 10:47:45 +02:00
Matthias Jentsch e29a568bff Add LDAP discovery pages
refs #7163
2014-10-09 10:20:07 +02:00
Johannes Meyer 7c202dd8fa Improve the db-summary text and db-creation/-resource step handling
refs #7163
2014-10-08 15:36:26 +02:00
Johannes Meyer 8fa8642917 Do not show the db-creation step when the db-resource step was skipped
refs #7163
2014-10-08 15:35:12 +02:00
Johannes Meyer 89ae05899b Query a particular login name and create database logins using the DbTool
refs #7163
2014-10-08 15:33:51 +02:00
Johannes Meyer baa6abdb00 Relax schema check
Checking one table for its existence is more than enough. Creating a diff
implies conditional CREATE TABLE instructions and the like, what we want
to avoid.

refs #7163
2014-10-08 11:24:05 +02:00
Johannes Meyer 393191ced1 Add admin creation routine
refs #7163
2014-10-08 10:26:12 +02:00
Johannes Meyer abc34a5f1a Add database setup routines
refs #7163
2014-10-07 17:08:50 +02:00
Johannes Meyer 7da11b83f5 Fix that the database is displayed instead of the login in the db summary
refs #7163
2014-10-07 17:06:51 +02:00
Johannes Meyer 1136a09741 Wrap report message registration in a specific method
refs #7163
2014-10-07 17:05:55 +02:00
Johannes Meyer 627a19a2a9 Fix warning "references should be passed by variable" 2014-10-07 15:57:00 +02:00
Johannes Meyer 04ff2e271a Drop dependent page data more earlier
Not only the "setup_authentication_backend" page depends on the auth
type but also the "setup_admin_account" page, so just drop both entries
once a new auth type gets submitted.

refs #7163
2014-10-06 16:52:19 +02:00
Johannes Meyer ad7965228c Add install routines for all INI files
This is just a quick&dirty implementation. Once we know how modules are
being processed/installed this needs to be revisited.

refs #7163
2014-10-06 16:49:29 +02:00
Johannes Meyer ac255eeda0 Change form name of GeneralConfigPage to "setup_general_config"
Used to be "setup_application_config".

refs #7163
2014-10-06 13:52:32 +02:00
Johannes Meyer 9cbd7e945d Do not permit the user to give equal names to multiple resources
refs #7163
2014-10-06 09:43:50 +02:00
Johannes Meyer b4a1364a92 Add summary report
refs #7163
2014-10-06 09:30:51 +02:00
Johannes Meyer f29705fc59 Add summary page
refs #7163
2014-10-02 17:11:00 +02:00
Johannes Meyer 0f302bfc0a Fix form population in case the user navigates backwards to make changes
refs #7163
2014-10-02 17:08:55 +02:00
Johannes Meyer 4f52da95ac Drop page data when skipping a page that was displayed before
refs #7163
2014-10-02 16:35:41 +02:00
Johannes Meyer 464fefa578 Fix exception in case the database access credentials are invalid
refs #7163
2014-10-01 15:44:43 +02:00
Johannes Meyer 08d259eccf Add database creation page
refs #7163
2014-10-01 09:16:53 +02:00
Johannes Meyer c78b016d74 Remove boiler plate code 2014-09-30 10:26:10 +02:00
Johannes Meyer cbadaa78d6 Merge branch 'master' into feature/setup-wizard-7163 2014-09-29 15:35:52 +02:00
Johannes Meyer 28d16a8961 Add web setup
Page config and dependency handling is implemented and works like a
charm. Though there is one known bug that occurs when navigating back,
taking changes and moving onward to a page that needs to update its
state due to the changes while adding some elements that have similar
names as the ones shown before. This is only an issue with hidden elements.

refs #7163
2014-09-29 14:30:34 +02:00
Johannes Meyer 2d24828230 Add web installer
Logic is still missing and follows later.

refs #7163
2014-09-29 14:23:42 +02:00
Johannes Meyer 5b3d549e5c Add some more platform related calls
refs #7163
2014-09-29 11:21:56 +02:00
Alexander Fuhr c8a24f72b8 Introduce getValue() in Preferences and fix the loading of values 2014-09-26 14:15:50 +02:00
Eric Lippmann c13823d406 bootstrap: Fix error reporting level not including E_STRICT 2014-09-19 13:19:24 +02:00
Eric Lippmann c51b05296e Merge branch 'master' into bugfix/commands-6593 2014-09-19 13:18:47 +02:00