Commit Graph

378 Commits

Author SHA1 Message Date
Eric Lippmann 1dea19504f Revert "Remove leading backslashes from the targets of use statements"
This reverts commit 87a5967501.

At least 'modules/doc/run.php' issues a warning about "The use statement with non-compound name 'Zend_Controller_Router_Route' has no effect"
2014-08-27 12:24:11 +02:00
Alexander Klimov 87a5967501 Remove leading backslashes from the targets of use statements
- use \Exception;
+ use Exception;
2014-08-27 11:16:44 +02:00
Alexander Klimov 1f7d4cb61b Merge branch 'master' into bugfix/exceptions-with-printf-params-6931 2014-08-26 11:24:33 +02:00
Alexander Klimov a2011b1665 SystemPermissionException: extend IcingaException
refs #6931
2014-08-26 11:21:57 +02:00
Alexander Klimov febb2d1ae2 ProgrammingError: extend IcingaException
refs #6931
2014-08-26 11:15:19 +02:00
Alexander Fuhr 42e2b34356 Implement self provided configuration for dashboard/dashlets in modules
refs #6639
2014-08-26 10:34:36 +02:00
Alexander Klimov 6c9947326d NotReadableError: extend IcingaException
refs #6931
2014-08-25 12:38:34 +02:00
Alexander Klimov 9c5878cbbe ConfigurationError: extend IcingaException
refs #6931
2014-08-22 11:46:11 +02:00
Alexander Fuhr 20cead67a6 Merge branch 'master' into bugfix/modules-menu-provider-6639 2014-08-22 11:44:10 +02:00
Alexander Fuhr 1886569174 Implement Module self provided configuration for menus
refs #6639
2014-08-22 11:35:42 +02:00
Thomas Gelf 09412d03b6 Benchmark: hide timestamp on HTML output
Wastes space and is mostly useless, absolut and relative expired time
gives more than enough information.
2014-08-22 09:34:43 +02:00
Alexander Klimov 8733238a6e Loader::registerNamespace(): correct exception message 2014-08-21 12:40:41 +02:00
Eric Lippmann e005333806 Merge branch 'master' into feature/display-documentation-4820 2014-07-22 12:25:58 +02:00
Johannes Meyer eb977b7a55 Fix wrong variable assignment causing preferred languages not being set 2014-07-16 15:17:14 +02:00
Johannes Meyer 3105c2059e Remove license headers from all files
refs #6309
2014-07-15 13:43:52 +02:00
Eric Lippmann 906c132dc0 Merge branch 'master' into feature/display-documentation-4820 2014-07-11 16:05:09 +02:00
Eric Lippmann 545a153490 Merge branch 'master' into bugfix/test-fix-6542 2014-07-02 10:57:08 +02:00
Eric Lippmann db5c6631d9 Merge branch 'master' into feature/display-documentation-4820
Conflicts:
	modules/doc/library/Doc/Controller.php
2014-07-01 12:42:55 +02:00
Johannes Meyer 7eb0f3c472 Remove @codingStandardsIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:59:58 +02:00
Johannes Meyer f2e5d8afa5 Remove @codeCoverageIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:58:37 +02:00
Alexander Klimov 7ab984106a Replace Exception with Icinga\Exception\ProgrammingError in Icinga\Application\Loader
refs #6542
2014-06-27 15:20:56 +02:00
Johannes Meyer 7f99be73fd Adjust usages of Icinga\Util\File to suit the new interface introduced earlier 2014-06-26 15:57:14 +02:00
Johannes Meyer 77bb64bd2c Update web bootstrapping to suit the new localization procedure
Icinga\Application\Web::setupInternationalization now sets up the locale
from the current session first, if any, and falls back to the one from the
user's preferences, if any.

refs #6073
2014-06-25 14:34:45 +02:00
Johannes Meyer 2fc793096a Use the preferred language sent by the browser, not the configured one
refs #6074
2014-06-25 12:15:41 +02:00
Alexander Klimov 53de3686a8 Bootstrap: Only replace config dir with its canonicalised absolute pathname when the dir exists 2014-06-25 11:59:09 +02:00
Alexander Klimov a18058e185 lib: Assume relative path for Config::resolvePath() 2014-06-25 11:59:09 +02:00
Alexander Klimov ebca81b040 Revert "Make preferences INI path NOT be configurable"
This reverts commit f2693613d1.
2014-06-25 11:59:08 +02:00
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
Johannes Meyer ac0b041523 Remove session handling from the authentication manager
refs #5510
2014-01-24 14:44:19 +01:00
Thomas Gelf e0af544c14 Multiple installations paths for all Bootstrappers
No longer instantiating moduleManager twice, now the CLI is also
able to benefit from multiple module installation paths. Modules
lists are now sorted.
2014-01-24 09:48:30 +00:00
Matthias Jentsch 5d8081ad09 Add support for multiple module installation paths
Read the module paths from the configuration file and add form fields
to edit the path from the web interface.

refs #4607
2014-01-22 18:28:19 +01:00
Thomas Gelf bb1c560e22 Splitted module manager setup and module loading in bootstrap code
Allows different implementations (Web, Cli...) to behave differently
without duplicating code
2014-01-22 17:11:26 +00:00
Thomas Gelf ad56868af5 Fix Stream writer, has been broken with syslog fix 2014-01-22 12:02:25 +00:00
Thomas Gelf 3008527b41 Autocompletion for the BASH
Implemented in a dedicated Icinga Web CLI command, bash config snippet
is therefore pretty compact.

fixes #5520
2014-01-22 11:45:42 +00:00
Thomas Gelf 6e3e9b46a4 Last commit was incomplete
refs #4108
2014-01-22 10:31:24 +00:00
Thomas Gelf c29e742570 Module configuration script can provide restrictions and permissions
Extended the module, created CLI commands showing available permissions
and restrictions, added a sample configuration.php to the monitoring
module.

refs #4108
2014-01-22 10:26:18 +00:00
Thomas Gelf 30208c3a30 Internally rename module registerscript to runScript
We will probably rename the 'register' script itself, as we need to
distinct between setup/configuration-related tasks and tasks that need
to be executed with each single click.

refs #4108
2014-01-22 09:54:59 +00:00
Thomas Gelf aa1a2316cb Avoid syslog-related exceptions
refs #5522
2014-01-22 09:26:45 +00:00
Matthias Jentsch 941ce6d68e Fix bug that caused ajax-request to override values written to the session
Authentication/Session.php and its Subclasses do not have a open/closed -state
anymore. Read will refresh the session, write will always write the changes,
and opening/closing will be handled internally.

refs #5101
2013-11-20 12:01:40 +01:00
Matthias Jentsch ad08691362 Extend resources.ini to contain all resources, including ldap
Remove the old calls to DbAdapterFactory and use ResourceFactory instead. Remove
the DbAdapterFactory and fix all unit tests that have been broken due to the changes.
Change the functionality of the ResourceFactory to also handle LdapConnections

resolves #4587
2013-11-06 10:20:15 +01:00
Eric Lippmann ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Thomas Gelf e57b75b354 Cleaning up ugly path 2013-10-22 20:20:06 +00:00
Marius Hein 9ebd2c0478 Fix port for internal db
Fix db factory to use that port

refs #4941
2013-10-22 17:50:20 +02:00
Marius Hein 6017432750 Logger: Same default file names as installes
refs #4941
2013-10-22 17:50:20 +02:00
Thomas Gelf a3099c82f2 CLI parameters override log config, writer is STDERR 2013-10-22 14:15:49 +00:00
Thomas Gelf add8c4094b Do not create STDIN/STDOUT streams 2013-10-22 14:15:49 +00:00
Thomas Gelf a25cd80ec0 CLI interface: initial import 2013-10-22 12:26:45 +00:00
Eric Lippmann 077c2a078e Modules: Catch and log register.php exceptions 2013-10-20 16:40:57 +02:00
Eric Lippmann 36e9cdb549 Monitoring/register: Add status summary to the top bar 2013-10-20 16:08:53 +02:00
Marius Hein 460e0fe242 Implement on-the-fly less compilation
refs #4892
2013-10-16 12:00:09 +02:00
Eric Lippmann b89d61add3 Monitoring: Refactor data views (WIP)
refs #4663
2013-10-09 09:20:16 +02:00
Eric Lippmann 24f64e6d30 Fix conflicts from rebase, using inet_aton with pgsql, PHP strict standards violations, CS compliance
refs #4255
2013-09-17 15:12:18 +02:00
Thomas Gelf 4237e3e53e modules/README triggers pointless warning 2013-09-16 16:38:51 +02:00
root 72df979791 Zend_Db::FETCH_MODE is not available before ZF 1.11 (ZF-6620)
* TODO: Check whether passing 'fetchMode' really works?!
2013-09-16 16:38:50 +02:00
Eric Lippmann 35fd9fd391 CS: Remove whitespaces at end of line
find application/ library/ test/ modules/ -name *.php | xargs sed -i 's/\s\+$//'
2013-09-04 18:27:16 +02:00
Jannis Moßhammer 57e66c247a Add sort widget, change js path from module to app, small style fixes
refs #4601
2013-09-04 15:22:00 +02:00
Eric Lippmann 6afeaac6b2 Make 'ini' in descriptions uppercase, add comment to index.php about date_default_timezone_set
refs #4529
2013-09-04 14:56:55 +02:00
Jannis Moßhammer c9673bfea3 Catch database errors, set fallback tz
The fallback timezone is set in case an error occurs
before setupTimezone() is entered. In this case the user
is presented with an warning about missing timezone settings
if the php.ini doesn't contain timezone information

refs #4529
2013-09-04 14:27:37 +02:00
Jannis Moßhammer 95bc8a2f4f Add NullStore as preference fallback
refs #4529
2013-09-04 14:27:37 +02:00
Eric Lippmann 03f081ce33 Module/Autoloader: Register Icinga\Module\<module> namespace
refs #4586
2013-09-04 11:21:11 +02:00
Marius Hein b99b9a7ca8 ModuleManager: Throw module dir exceptions later
This is important for bootstrap to detect configuration
errors.

refs #4604
2013-09-02 12:52:51 +02:00
Marius Hein b6eb19ce6a Module enable/disable: Better error messages
refs #4604
2013-09-02 12:52:51 +02:00
Marius Hein 439fade88d Simplify SystemPermissionException
refs #4606
2013-09-02 12:52:51 +02:00
Jannis Moßhammer 18d021d104 Fix logger not testing if it's disabled
refs #4595
2013-09-02 12:16:05 +02:00
Johannes Meyer 28bd27d904 Fix user preference access when not authenticated
refs #4609
2013-08-29 15:08:31 +02:00
Johannes Meyer f4272f482d Apply user defined timezone during bootstrap
refs #4609
refs #4552
2013-08-29 15:08:31 +02:00
Johannes Meyer a82abbe2f6 Fix misplaced/redundant imports
refs #4648
2013-08-29 14:45:02 +02:00
Marius Hein 7be7335bdd Preferences: Fix error messages and convenience configuration
refs #4648
2013-08-29 14:45:02 +02:00
Jannis Moßhammer 2c97ab26a4 Code style, Form tests and bugfixes
This commit summarizes the bugfixes made in this branch. As the frontend the fixes required a lot of stuff to be fixed afterwards and #4602 was used as a larger example regression test, this affects a few tickets:

- (Bug 4491) Frontend tests will hang randomly: CasperJS now operates on the installed version, so this shouldn't happen anymore
- (Bug 4602) Configuration Interface - Authentication: Backends moved when pushing enter: The authentication interface is reworked and does not persist a state over pages
- (Bug 4605) /tmp should not be the default log path: Now it is the application relative var/log path
- (Bug 4606) Configuration: Show message that changes were saved successfully: Implemented and tested with casperjs
- (Bug 4641) Installation/Testing fix configure/make: This has been reworked
- (Bug 4642) Allow Application placeholder in config: This was required for implementimg 4605
- (Bug 4643) Application doesn't work with older Zend Versions: A fallback __call has been implemented for this

refs #4491
refs #4602
refs #4605
refs #4606
refs #4641
refs #4642
refs #4643
2013-08-29 11:48:33 +02:00
Jannis Moßhammer ec359c76d8 Chmod after file creation
This allows the www-group to edit logs and preferences

refs #4491
2013-08-29 11:48:33 +02:00
Jannis Moßhammer 0b515e39ac Implement {app} placeholder and Icinga\Config::resolvePath()
refs #4642
2013-08-29 11:48:32 +02:00
Jannis Moßhammer d0ac97f335 Configure fixes, regression test for 4606
The configure routine still has to be improved, right now unused
authentication backends are commented out

refs #4491
refs #4606
refs #4640
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 17e6402aa9 Split up authentication form, logic connectivity check
refs #4606
refs #4622
refs #4602
refs #4546
2013-08-29 11:48:29 +02:00
Marius Hein 1130376ad6 BaseTest: Create class and tests
refs #4608
2013-08-26 11:15:27 +02:00
Marius Hein 0c69dbf482 CS: Fix for DbAdapter, Auth/Manager and Preferences/DbStore
refs #4596
2013-08-26 11:09:37 +02:00
Matthias Jentsch 49cf62a9dc Fix database related bugs
Fix coding standards in database schemes. Use DbAdapterFactory in all unit
tests instead of creating own adapters. Fix DbUserBackend and DbStore to use
FETCH_OBJ, instead of FETCH_ASSOC, to handle it consistently in the whole
application. Remove unnecessary table columns from the "account" scheme.

refs #4577
refs #4578
refs #4596
refs #4599
refs #4627
2013-08-26 11:09:37 +02:00
Marius Hein afc302d45c Bootstrap: Safe application start
Log exceptions and inform user if something goes wrong.

refs #4625
refs #4592
2013-08-23 17:28:13 +02:00
Marius Hein c65f9d51ee Fix static preferences path overwriting configuration path
refs #4598
2013-08-23 17:28:12 +02:00
Eric Lippmann d813ca62c5 Db: Set MySQL server SQL modes to behave closer to ANSI SQL
Was already implemented but someone dropped it accidentally
2013-08-21 14:40:37 +02:00
Eric Lippmann edb06ea8ea CS: Fix viloations for touched files in branch feature/backend-configuration-ui-3776
refs #3776
2013-08-21 14:22:31 +02:00
Jannis Moßhammer a6ff6ecadd Fix Codestyle/PHPDoc, fix configPath being Overwritten
Also removed possibility to disable debugging as there's no use case for this

refs #4525
refs #4598
2013-08-21 14:22:30 +02:00
Marius Hein 3a8a3b8f2c Monitoring backend: Change database objects to DbAdapterFactory
refs #4575
2013-08-19 18:29:26 +02:00
Matthias Jentsch e6c57f029d Fix code styling to comply with coding standard
refs #4503
2013-08-15 14:58:08 +02:00
Matthias Jentsch 7f30b587be Change the StoreFactory to work with the DbAdapterFactory and fix code styling
Change the StoreFactory configuration to reference to a resource instead of
defining the whole database. Additionally fix docstrings, fix imports and fix
function calls to comply to coding style standards.

refs #4503
2013-08-15 14:16:34 +02:00
Matthias Jentsch f1040aad60 Add additional functionality and documentation for easier use through developers
Add functions to get information about currently available resources and add
documentation about class usage for developers.
2013-08-14 16:22:58 +02:00
Matthias Jentsch 68deb735c0 Add the DbAdapterFactory to instanciate database adapters using resource names
Create the DbAdapterFactory to instanciate db adapters, add resources.ini to configure resources, change
the authentication Manager to fall back to backends with lower priority in case
of errors, update the current UserBackends to the changed environment. Also
adjust the documentation and existing unit tests.

resolves #4503
2013-08-14 16:22:58 +02:00
Eric Lippmann 6d98b923ca CS: Fix docstrings in Icinga/Application/Modules/Module.php and Manager.php
refs #4530
2013-08-14 16:08:15 +02:00
Jannis Moßhammer d604b01349 Fix missing Icinga\Application\Logger import in module manager
refs #4530
2013-08-14 16:08:15 +02:00
Jannis Moßhammer 392e568bf8 Code style fixes: License header, phpdoc tags, psr-2 compliance
refs #4530
2013-08-14 16:08:15 +02:00
Eric Lippmann 8c91410680 CS: Fix phpdoc tags indent in Icinga/Application/Modules/Module.php
refs #4530
2013-08-14 16:08:15 +02:00
Jannis Moßhammer be29b8ff8f Make ConfigController and PreferenceController extensible by convention
- Rename ConfigurationController to ConfigController
- ConfigController and PreferenceController are now subclasses of
  BaseConfigController and BasePreferenceController
- Module and Application Config/Preference Tabs are detected via
  the ControllerTabCollector
- Moved Controller classes to Icinga/Web/Controller (this is why
  so many files are modified)

refs #4530
2013-08-14 16:08:15 +02:00
Eric Lippmann bd140f2828 CC: Fix phpcs errors of files changed in feature/datetime-element-4440
refs #4440
2013-08-12 16:43:10 +02:00
Eric Lippmann e95c604084 Framework: Fix typo in DateTimeFactory::setConfig
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann b4b51b9d46 Framework: Implement time zone aware DateTimeFactory
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann 9170523afa Application/Bootstrap: Throw Exception if timezone isn't valid
refs #4440
2013-08-12 16:42:50 +02:00
Eric Lippmann 93ae6d6811 Framework: mv Icinga\Config\Config to Icinga\Application\Config
refs #4543
2013-08-12 15:02:25 +02:00
Matthias Jentsch 56e47fd084 Add an ini writer for configuration files
Add an ini writer that respects the file structure and the comments that may be
already present in the config file. Move Application/Config.php into
Config/Config.php.

refs #4352
2013-08-07 15:58:42 +02:00
Matthias Jentsch edebbf93ab Add an IniWriter that preserves the comments in already existing files
Add a function to create diffs between two object, add a
FileEditor to edit files line-by-line and add the class PropertyDiff to
describe a single property change.

refs #4352
2013-08-07 15:56:42 +02:00
Marius Hein 8f1a3b228b User preferences: remove test code
refs #4096
2013-08-05 16:56:03 +02:00
Marius Hein cc9b18376d User preferences: Add doc, fix initial session write
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 6112189b0c User preferences: Add database store
refs #4069
2013-08-05 16:56:03 +02:00