4097 Commits

Author SHA1 Message Date
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 #6419
2014-06-06 08:32:21 +00:00
Thomas Gelf
1e9bc6c7d4 Data\PivotTable: should work with new queries
There is still some work to do be done here. And we should/could
rethink columns() VS getColumns().
2014-06-06 06:47:49 +00:00
Thomas Gelf
db3accc704 Data\Db: rename Query and Connection to Db...
Class names in namespaces should not be chosen as once we didn't have
such. The fact that we already did "use Db\Connection as DbConnection"
is the best hint that naming was wrong.

So this patch renames Db\Connection to Db\DbConnection and does the
same with DbQuery. DbQuery has been adjusted to fit our new SimpleQuery
and to handle the new Filter implementation.
2014-06-06 06:43:13 +00: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
31047e8082 Data\SimpleQuery: concrete implementation
SimpleQuery is no longer abstract, implements the Filterable interface
and should now be usable as a basic Query implemenation as is.
2014-06-06 06:12:17 +00:00
Thomas Gelf
85605597cc Data/interfaces: add Filterable, extend Connection
New interface ConnectionInterface attempts to aggregate things.
Extended Filterable interface, added Filter-related functions. Please
note that apply will probably get dropped later on, I'll keep it for
compatibility reasons right now.

refs #6418
2014-06-06 06:07:33 +00:00
Thomas Gelf
f438cb30e1 Data\Filter: initial commit basic implementation
Basic operators are there, still missing: subclassed "where" to distinct
comparison operators like greater/less than on a class level.

refs #6418
2014-06-06 06:04:24 +00:00
Thomas Gelf
d44a87717d Data\SimpleQuery: implement column handling
We want SimpleQuery to be able to run standalone
2014-06-06 05:49:39 +00:00
Thomas Gelf
4b8e09b12a Data\SimpleQuery: get front controller without ZF 2014-06-06 05:48:29 +00:00
Thomas Gelf
bfe6a1593a Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-06-06 05:32:54 +00:00
Marius Hein
20b43a92f1 Dashboard: Better implementation of handling errors
refs #6412
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 #6412
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
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 #4075
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 #6411
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 #6411
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 #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
Eric Lippmann
cfcaf019bd User backends: Throw exception when authentication fails due to an exception
refs #5685
2014-06-02 15:52:58 +02:00
Eric Lippmann
2274b6e11e lib: Add phpdoc to class `AuthChain'
refs #5685
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 #5556
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 #4952
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 #4952
2014-06-02 12:09:16 +02:00
Gunnar Beutner
5cc69b53cf Remove superfluous space in prefixedTimeSince
refs #5981
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 #5981
2014-05-29 13:03:10 +02:00
Gunnar Beutner
7b0a48bef5 Rename timeUnless to timeUntil
refs #5981
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 #5981
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 #6303
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 #6348
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 #6338
2014-05-27 21:41:46 +00: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
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 #6280
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 #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