Commit Graph

741 Commits

Author SHA1 Message Date
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
Eric Lippmann 6c8d35c667 lib: Add a not yet customizable node renderer 2014-06-06 13:58:40 +02:00
Eric Lippmann ce0aee5e41 lib: Add Data/Tree/Node.php 2014-06-06 13:58:14 +02:00
Eric Lippmann d84532d593 lib: Remove TreeIterator
Nodes implementing the NodeInterface (which extends the RecursiveIterator interface)
are already iterable.
2014-06-06 13:57:18 +02:00
Eric Lippmann 794ae141fa lib: Let NodeInterface extend RecursiveIterator
Since a node may have children and they should be iterable, the Nodefinterface
now extends RecursiveIterator.
2014-06-06 13:55:58 +02:00
Thomas Gelf e01629fe0b ActionController: fix initial redirect
refs 
2014-06-06 08:32:21 +00:00
Marius Hein 20b43a92f1 Dashboard: Better implementation of handling errors
refs 
2014-06-05 16:07:40 +02:00
Marius Hein 151f058286 Dashboard: Display error message on failure
When no (default) configuration is available for dashboards
application dies not very gracefully. Display error message
and guid the user to the solution is a better way.

fixes 
2014-06-05 15:20:54 +02:00
Thomas Gelf 1b3bb6cade Web\Url: add getQueryString() and without() 2014-06-05 03:44:12 +00:00
Thomas Gelf 99aae5a0d9 JS/XHR: get ready to get XHR redirect-aware
These are just the first steps, there is more to come
2014-06-05 03:37:36 +00:00
Thomas Gelf 1ebab3e5c1 vendor/lessphp: we don't need travis.yml right now 2014-06-05 00:15:31 +00:00
Thomas Gelf c592236258 vendorlibs: library/vendor to libary/IcingaVendor
This doesn't make it much better but allows to build a package
libicinga-vendor-php placing those files to /usr/share/php/IcingaVendor
or similar.

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

refs 
2014-06-04 23:39:12 +00:00
Thomas Gelf 4202e34d13 bootstrapping: play nice with duplicate modules
A module loaded manually could also exist in the list of enabled
modules if a configuration is given and a module with the same name
has been enabled. This used to confuse documentation.
2014-06-04 23:37:36 +00:00
Thomas Gelf bdcec5a253 Cli\Loader: allow injecting a module name
This helps those who prefer to create their own executables instead
of creating icingacli subcommands.

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

refs 
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 
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 
2014-06-04 22:52:38 +00:00
Thomas Gelf a221afd933 bootstrapping: autoloader exceptions should not...
...require to be autoloaded.

refs 
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 
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 
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 
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 
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 
2014-06-03 17:59:22 +02:00
Marius Hein a0459d0172 ExternalAuthentication: Move authenticationMode to config.ini
fixes 
2014-06-03 15:26:15 +02:00
Marius Hein 160a95e32d Bootstrap/Web: Only load authentication.ini if needed
fixes 
2014-06-03 14:16:01 +02:00
Eric Lippmann cfcaf019bd User backends: Throw exception when authentication fails due to an exception
refs 
2014-06-02 15:52:58 +02:00
Eric Lippmann 2274b6e11e lib: Add phpdoc to class `AuthChain'
refs 
2014-06-02 15:46:15 +02:00
Marius Hein 79fb8b1e0d Config: Remove base path subsitution
Test for leading slash and prepend base path to allow
absolute configuration files.

fixes 
2014-06-02 14:54:31 +02:00
Eric Lippmann 5559cf6c2b lib: Add AuthenticationException for exceptions thrown during authentication
Our user backends log exceptions thrown during authentication but they don't throw
a exception to inform the caller that an error occured. The new `AuthenticationException'
class should be thrown in that case.
2014-06-02 14:07:59 +02:00
Eric Lippmann a379502b15 Preferences: Rename `showBenchmark' to `show_benchmark'
We use underscore_case notation for all configuration keys.

refs 
2014-06-02 13:33:55 +02:00
Eric Lippmann 50e01d1284 Config: Rename `configPath' to `config_path'
We use underscore_case notation for all configuration keys.

refs 
2014-06-02 12:09:16 +02:00
Eric Lippmann 1619d682c7 vendor: Remove executeable bit from a read me file of HTMLPurifier
refs 
2014-06-02 10:45:30 +02:00
Gunnar Beutner 5cc69b53cf Remove superfluous space in prefixedTimeSince
refs 
2014-05-29 13:11:01 +02:00
Gunnar Beutner a66a1a4729 Refactor the timeSincePrefix and timeUntilPrefix functions
Instead of having two separate functions to get the prefix
and the formatted time interval the new functions return
both the prefix and the time interval.

refs 
2014-05-29 13:03:10 +02:00
Gunnar Beutner 7b0a48bef5 Rename timeUnless to timeUntil
refs 
2014-05-29 12:38:59 +02:00
Gunnar Beutner d01a98b7e6 Fix some of the time-related grammar mistakes
This updates some of the messages to use "For"
instead of "Since" where appropriate.

fixes 
2014-05-29 11:30:08 +02:00
Thomas Gelf 88460189cd Encoding: no ASCII chars > 127 in HTTP headers
Had quite some trouble with this, decided to URL-encode titles and
notifications.
2014-05-28 21:34:36 +00:00
Eric Lippmann 9edaaa82e8 lib: Add TreeIterator 2014-05-28 17:14:33 +02:00
Eric Lippmann 040473f986 lib: Add NodeInterface 2014-05-28 17:13:42 +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 
2014-05-28 13:29:02 +02:00
Thomas Gelf 92f454c36d Chart\InlinePie: locale-ignorant casts for floats
PHP respects locales (LC_NUMERIC) when casting floats to string. That
affected the generated HTML for our inline pie charts. This patch is
not that beautiful - but fixes this.

fixes 
2014-05-28 10:20:34 +00:00
Thomas Gelf 360ac87550 Translation: add a module-aware translation helper
With this fix $this->translate works in our view scripts

refs 
2014-05-27 21:41:46 +00:00
Eric Lippmann b58ec5f445 Add Module::addRoute() to add a route to the route chain
refs 
2014-05-27 15:11:33 +02:00
Thomas Gelf 70ba36aad6 notifications: improve client- and serverside
This is just a first step, trying to catch a few gotchas:

* it doesn't send notifications to the browser when issueing a redirect
  as redirects can currently not be catched in jQuery response handlers
* it tries to find a better notification handling place in the response
  handler (JS) - still imperfect
* it explicitely stores sessions once modified by notifications. Still
  need to crosscheck whether this is really needed and how we can get
  rid of this.

refs 
2014-05-26 14:41:47 +00: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 
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 
2014-05-26 14:11:43 +00:00
Eric Lippmann 6ff5a986dd Modules: Don't call `FrontController::getRoute()' twice
refs 
2014-05-26 13:08:47 +02:00
Thomas Gelf 6a33f4e5e0 vendor/dompdf: fix typo 2014-05-20 23:59:49 +00:00