Johannes Meyer
920c027990
Ensure that the ini writer deletes properties properly
...
The fix for #5958 introduced with commit 6aaff6b3
caused the property
deletion of the PreservingIniWriter be even more faulty than before. The
actual fix for this issue is an improved procedure for how properties are
deleted as the initial implementation suffered from a few
misunderstandings in how properties in Zend_Ini files need to be handled.
fixes #6599
fixes #6601
fixes #6600
fixes #6598
fixes #6614
2014-07-01 14:55:45 +02:00
Johannes Meyer
87e72961e8
Revert "Fix that the ini writer produces invalid configuration files"
...
This reverts commit 9bec8e3c27
.
2014-07-01 14:45:00 +02:00
Johannes Meyer
9bec8e3c27
Fix that the ini writer produces invalid configuration files
...
fixes #6614
2014-07-01 14:21:46 +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
Thomas Gelf
62928c48b0
helpers/timeSince: fix c&p error
2014-06-27 23:37:39 +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
Alexander Klimov
4b72e1b54f
Revert "Fix PHP Fatal error "Method Icinga\File\Csv::__toString() must not throw an exception in /vagrant/test/php/library/Icinga/File/CsvTest.php on line 35""
...
This reverts commit f2fdd7f39df759ff27c9c133f40bbcae14820708.
2014-06-27 14:30:57 +02:00
Alexander Klimov
22e13ce282
Replace DatasourceInterface with Selectable in Icinga/Protocol/Statusdat/Reader
...
refs #6542
2014-06-27 14:30:57 +02:00
Alexander Klimov
c0b44c3248
Revert "Fix PHP Fatal error "Interface Icinga\Data\DatasourceInterface not found in /vagrant/library/Icinga/Protocol/Statusdat/Reader.php on line 41""
...
This reverts commit 35e12c2053685a6951765a007a0e3f8c7999734f.
2014-06-27 14:30:57 +02:00
Alexander Klimov
b04f9b91be
Fix PHP Fatal error "Interface Icinga\Data\DatasourceInterface not found in /vagrant/library/Icinga/Protocol/Statusdat/Reader.php on line 41"
2014-06-27 14:30:57 +02:00
Alexander Klimov
0065cbe998
Fix PHP Fatal error "Method Icinga\File\Csv::__toString() must not throw an exception in /vagrant/test/php/library/Icinga/File/CsvTest.php on line 35"
2014-06-27 14:30:57 +02:00
Johannes Meyer
9c1ee57628
Icinga\Util\File: throw an ErrorException with file and linenumber details
2014-06-27 09:54:17 +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
3b191d36c4
Let Icinga\Util\File extend from SplFileObject
...
We should extend SplFileObject as it provides already some of the
functionality Icinga\Util\File had and adds even more on top of that.
2014-06-26 15:57:14 +02:00
Thomas Gelf
7112ed23f4
Chart\InlinePie: locale-ignorant cast for floats
...
This has already been fixed with 92f454c3
and got broken again with be0c5d4b
.
Time for a regression test I guess.
refs #6348
2014-06-25 22:13:19 +02:00
Thomas Gelf
10d1520711
Widget\Limiter: show "all"
...
In case we pass limit=0 we show this, still unsure whether we should
provide a link for "showing all" - might really hurt with millions of
history rows.
2014-06-25 20:39:10 +02:00
Thomas Gelf
59dd80ed32
ActionController: benchmark should measure rendering
...
We have been cheating a little bit, now the measurement should be more
precise.
2014-06-25 20:37:17 +02:00
Matthias Jentsch
d49f30ff77
Improve InlinePie performance
...
Use str_replace instead of preg_replace
2014-06-25 15:24:53 +02:00
Matthias Jentsch
7b19bd1d99
Improve interface of InlinePie
...
Method setLabel can also accept a simple string and title is mandatory in constructor
2014-06-25 15:21:12 +02:00
Matthias Jentsch
8839166090
Add number format 'none' to InlinePie
2014-06-25 14:53:39 +02:00
Matthias Jentsch
35a5431512
Revert "Refractor InlinePie and Perfdata helper"
...
This reverts commit f003c38abd
.
2014-06-25 14:29:17 +02:00
Matthias Jentsch
c18b6f26f0
Throw Ldap\Exception when something goes wrong in a Ldap connection
2014-06-25 12:41:17 +02:00
Matthias Jentsch
e7548b6fc7
Return null for empty DNS query results
2014-06-25 12:41:17 +02:00
Matthias Jentsch
f003c38abd
Refractor InlinePie and Perfdata helper
...
Refractor InlinePie methods for better usability, fix several coding guideline
issues and fix some typos
2014-06-25 12:41:17 +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
Johannes Meyer
461b050718
Add locale negotiation to Icinga\Util\Translator
...
Translator::getPreferredLocaleCode($header) can now be used with the
HTTP "Accept-Language" header to return the best matching locale using
the user's preferations reported by the browser and our available locale
stack. Additionally Translator::getLocale and Translator::getLanguage were
replaced by Translator::splitLocaleCode to provide a more flexible
implemenation in order to identify specific parts of a particular locale or
the current 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
ab1d8655f9
Config: Hard-code path to preferences INI files
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
fac3c9f3a6
Util\Translator: fix language list
...
Reverted former redundant patch, got confused by legacy web modules
been translated with earlier versions. They had a different directory
structure and registered erraneous domain directories.
This patch fixes the list, does an additional safety check (dirname must
end with .UTF-8) and strips .UTF-8 from the locale name. Former regex
matched always and therefore blacklisted every translation.
2014-06-25 11:43:15 +02:00
Thomas Gelf
20cdb6e0b8
Revert "Util\Translator: show correct language list"
...
This reverts commit b7521f48b9
.
2014-06-25 11:37:37 +02:00
Thomas Gelf
4591297e56
SortBox: use POST instead of GET
...
This avoids trouble with complex filter URLs
fixes #6556
2014-06-25 11:00:10 +02:00
Thomas Gelf
7ebdb2d378
FilterQueryString: add hidden debug feature
...
Might help to track down potential problems in the future, should
not be enabled by default
2014-06-25 10:47:03 +02:00
Thomas Gelf
9359f527db
FilterQueryString: fix issues with not
...
NOT is a "chain" with just one subfilter and therefore behaves a little
bit different. Should work fine now.
fixes #6554
2014-06-25 10:39:48 +02:00
Thomas Gelf
1dcf44b9cd
FilterEditor: fix buggy dropdown boxes
...
There were some issues with option names. Also cleaned up HTML a
little bit and added autosubmission.
2014-06-25 10:37:06 +02:00
Thomas Gelf
b40d0f6a1e
FilterWidget: POST instead of GET
...
Might have been a JS issue, but instead of messing with the URL just
POSTing is easier here - and works. Filters from the search box are
now added flawlessly to the filter tree.
2014-06-25 10:34:09 +02:00
Thomas Gelf
b7521f48b9
Util\Translator: show correct language list
...
List was showing useless stuff such as LC_MESSAGES and no language
but the default one. We should have a look whether LC_MESSAGES is
really needed, it looks so ugly.
2014-06-25 10:31:03 +02:00
Thomas Gelf
2746b5ff9f
ConfigController: switch over to new config tabs
...
Module configuration now takes place in module detail view and does no
longer pollute our config tabs. Modules are now able to provide a bunch
of own config tabs, we don't really care what they use them for.
2014-06-24 21:31:59 +02:00
Thomas Gelf
b38bcfc19b
Widget\FilterEditor: correct expression output
...
Filter expressions should be filled into form fields exactly as we
expect them at parse time.
fixes #6568
2014-06-24 21:00:01 +02:00
Thomas Gelf
47b893e1ea
Widget\FilterEditor: handle custom vars
...
There was an issue with custom vars as they made only partially part
of the column dropdown. Sorted columns and tried to beautify column
names.
fixes #6569
2014-06-24 20:57:41 +02:00
Thomas Gelf
3f9f4bb9e1
ModuleActionController: module object shortcut
...
This helps modules with the need to know more about themselves. No
more App -> Module Manager -> Module voodoo.
2014-06-24 20:54:39 +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
Thomas Gelf
b7b99cfd67
Widget\AlertMessageBox: fix broken widget
...
This widget is pretty useless as the error view script can to it's
job. Interestingly nobody missed it, even the render() call was wrong.
I guess we will remove this soon, but for now it's fixed. Looks ugly,
but works.
2014-06-24 20:30:41 +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
Johannes Meyer
9066a0c2fa
Fix deadlock when writing to the command pipe while noone is listening
2014-06-23 15:02:06 +02:00
Johannes Meyer
2862c5667c
Make Icinga\Util\File an object
...
Was a class with just one static function beforehand and is now a fully
object oriented alternative for how files and pipes can be handled.
PHP warnings emitted by fopen, fwrite, fread and chmod are catched
and thrown as exceptions.
2014-06-23 15:02:06 +02:00
Matthias Jentsch
010466f8f9
Replace sizeof with count
...
Do not use sizeof to get the length of an array, as the function name 'sizeof'
is misleading
2014-06-23 14:19:55 +02:00
Matthias Jentsch
77a9dd1e6e
Throw exception on fetchDN, when no row exists
...
Instead of fetchDN, authentication now uses hasUser to check if the user
exists before querying the password, to prevent the exception from messing
up the whole authentication process
2014-06-23 14:02:45 +02:00
Thomas Gelf
ba9a633b73
Web\Form: relax form submission check
...
We have to live with some badly designed forms right now. Some have
submit buttons but don't know about, others don't have such but link
to foreign controllers fiddling with the form and adding different
button AFTER the form got submitted - it's a mess.
Relaxing the submission check to "just check whether btn_submit has
a value" fixes most of this. However I do not consider this being a
solution for the long run.
fixes #6423
fixes #5967
refs #6540
2014-06-23 13:31:34 +02:00
Thomas Gelf
ea44de8698
ActionController/translate: detect domain only once
2014-06-22 20:09:23 +02:00
Thomas Gelf
23ed744747
params/_render: replace it everywhere
...
Cleaning up controllers and JS, using headers only and respecting
history.
2014-06-22 20:07:44 +02:00
Thomas Gelf
61600ae2d4
ModuleActionController: fix typo
2014-06-22 19:39:54 +02:00
Thomas Gelf
997587d729
Chart\InlinePie: remove ugly default border
2014-06-22 16:38:12 +02:00
Thomas Gelf
216f0f3f55
isIframe: clean up, load less html and js
...
We use isIframe only when we have no JS, therefore it makes no sense
to load JS files in an iFrame. Also removed sidebar.
2014-06-22 16:30:06 +02:00
Thomas Gelf
3b84078b2f
Params/_render: get rid of it, start with iframe
2014-06-22 16:18:23 +02:00
Thomas Gelf
bb23d0636c
ModuleActionController: use isXhr()
2014-06-22 16:04:55 +02:00
Thomas Gelf
3774eb6889
ActionController: add isXhr() method
...
Makes things easier as we use this a lot
2014-06-22 15:36:41 +02:00
Thomas Gelf
331d756a2a
ActionController: isolate ignoreXhrBody
...
This function is only a workaround for broken forms not redirecting
after submission. Will hopefully be removed soon.
2014-06-22 15:33:38 +02:00
Thomas Gelf
b4f8ef74fa
ActionController: remove obsolete code
2014-06-22 15:20:55 +02:00
Thomas Gelf
631603aba3
ActionController: create postDispatchXhr
...
Moved XHR-specific stuff to a dedicated post-dispatch function
2014-06-22 15:17:28 +02:00
Thomas Gelf
cf995b366b
ActionController: cleanup postDispatch
...
Make XHR handling more readable, move module-related stuff to the
module controller
2014-06-22 15:11:08 +02:00
Thomas Gelf
7d6fd45466
Application\Web: use same request everywhere
2014-06-22 14:13:00 +02:00
Thomas Gelf
de19745eb2
ActionController: move moduleInit to Module controller
2014-06-22 13:54:02 +02:00
Thomas Gelf
2cd25b7376
ActionController: if/else should be easy to read
2014-06-22 13:52:40 +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
ef5e1b54fd
Web\Window: fix it's usage, add helper function
...
Improved window handling, fixed controllers using it.
2014-06-22 13:21:21 +02:00
Thomas Gelf
b350e3640d
Web\Window: move window handle to dedicated class
...
One more step in cleaning up our ActionController
2014-06-22 13:01:48 +02:00
Thomas Gelf
d69a6d1640
ActionController: remove getRequestUrl
...
Thie removes complexity and makes redirection to login less error-
prone.
2014-06-22 12:23:34 +02:00
Thomas Gelf
9608d8254d
ActionController: remove addModuleContainer
...
This method was obsolete
2014-06-22 12:09:07 +02:00
Thomas Gelf
4980b700da
ActionController: __construct() as first function
2014-06-22 12:07:50 +02:00
Thomas Gelf
a4955df1a9
controller->Auth(): one more lazy-loading helper
...
Not sure about the capital A, but doesn't look so bad - and similar
to Config().
2014-06-22 12:06:09 +02:00
Thomas Gelf
373e1c5ecb
Web\Controller: re-introduce ModuleActionController
...
This will help getting rid of a couple of if/else constructs
2014-06-22 12:03:37 +02:00
Thomas Gelf
469eb3dc98
Web\Url: remove forgotten "debug" line
2014-06-22 11:59:24 +02:00
Thomas Gelf
b3cdeee35d
monitoring/timeline: should benefit from new filter
...
Different changes have been applied:
* Allow integer unix timestamps as parameters for timestamp columns
* Remove alias-rewriting from Url class
* Remove all traces of raw_timestamp
* Use new filters
2014-06-21 03:09:40 +02:00
Thomas Gelf
78193137f0
config/modules: show metadata, improve usability
...
Well... I didn't want to commit this before creating single-button
forms for enabling/disabling modules. However part of this accidentally
made it through, so let's finish it.
Still some work to do, but it already looks far better like this.
refs #4095
2014-06-21 02:27:27 +02:00
Thomas Gelf
216c2ca770
Autorefresh: should work also on initial page load
...
fixes #6296
2014-06-21 01:54:32 +02:00
Thomas Gelf
e2f7a1054e
CSV/JSON export: work with new query interfaces
...
NB: I do not like the fact that we have to do as follows:
DataView->getQuery()->fetchWhatever();
Guess this is worth a few more proxy functions.
2014-06-21 00:09:11 +02:00
Thomas Gelf
c0c7a815f8
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
2014-06-20 19:18:38 +02:00
Thomas Gelf
a904ff51aa
monitoring/eventhistory: improve query performance
...
This takes care of timestamp columns, modifies queries in a way not
depending on db functions, filters are passed through to subqueries
for better performance.
2014-06-20 19:14:34 +02:00
Thomas Gelf
3e24a2cbe4
Paginator/SlidingWithBorder: use less space
...
Showing less items right now. It would be great if we could steer
this by parameter. IMO we should also think about dropping ZF
pagination and use a custom tiny widget.
2014-06-20 17:31:32 +02:00
Thomas Gelf
afd6b11b7b
Web\Url: add set/mergeValues support
2014-06-20 15:50:55 +02:00
Thomas Gelf
2cf79fe9a7
Widget\SortBox: hardcode some styles
...
This is a quickfix, should be moved to CSS once we know how our HTML
elements will definitively look like
2014-06-20 14:55:43 +02:00
Thomas Gelf
916c9c027e
forms: fix isSubmitted
...
Implementation made wrong assumptions. A form is submitted when the
submit button has been pressed. It's value is then filled, it also
is when you're just pressing "RETURN". RETURN triggers the FIRST
submit button in a form. This way we are also able to find out which
form button has been pressed.
Current implementation is still poor, however isSubmitted works as
expected right now - and so does autosubmission.
fixes #5967
2014-06-20 14:32:22 +02:00
Thomas Gelf
01631720cc
Dashboard\Component: don't pass on limit
...
Dashlets might be limited to just a few line, we shoultn't pass on
this parameters when showing the "large" variant
2014-06-20 14:29:45 +02:00
Thomas Gelf
ac7354295a
Accessibiltiy: add alt tag for icons
...
Screen readers to not read title tags per default
2014-06-20 14:28:19 +02:00
Thomas Gelf
27e7839d1b
Widget\Limiter: initial commit
...
This allows one to easily switch row count shown on a single page
2014-06-20 13:48:17 +02:00
Thomas Gelf
07134cf931
JS/XHR: handle multiple notifications
...
As there seems to be problems with sending the same header multiple
times we put multiple notifications in one header.
2014-06-20 13:20:20 +02:00
Thomas Gelf
617741c62f
helpers/widget: options are opional
2014-06-20 13:18:52 +02:00
Thomas Gelf
dbf03ee647
ActionController: refine url handling on redirect
2014-06-20 13:18:03 +02:00
Thomas Gelf
7cad4de3be
ActionController: allow to disable autorefresh
2014-06-20 13:17:11 +02:00
Thomas Gelf
262dcff3a5
Util\Translator: tell us current locale and lang
2014-06-20 13:12:23 +02:00
Thomas Gelf
ecbdb07bea
FilterQueryString: fix handling encoded <> signs
...
Those signs are URL-encoded and therefore not "seen" before decoding
the "key" part when the sit in front of the = sign. Same goes for
standalone ones. Fixed.
2014-06-20 13:06:07 +02:00
Thomas Gelf
f2605b89ff
FilterQueryString: fix parsing expression lists
...
The parser sometimes failed when reaching a=b&b=(c|d|e) - fixed.
2014-06-20 13:04:53 +02:00
Thomas Gelf
1ea15e1f66
FilterQueryString: fix sub-expression parsing
...
In a string like !(b=c)&a=d the parser used to fail once it reached
the &, fixed now.
2014-06-20 13:02:02 +02:00
Thomas Gelf
a3a2e97f18
FilterQueryString: just cleaning up a little bit
2014-06-20 13:01:10 +02:00
Thomas Gelf
4bada86731
Authentication\Manager: fix fromRemoteUser boolean
...
This used to be always true in case an autologin backend was enabled.
We only have a REMOTE_USER if there is such.
2014-06-20 12:58:17 +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
f498cd0c81
Web\Url: small fixes, allow override queryString
2014-06-20 12:41:16 +02:00
Thomas Gelf
d504c27641
timeUntil/timeSince: add timestamp hover title
...
It's sometimes easier to read "full" timestamps.
2014-06-20 12:28:55 +02:00
Thomas Gelf
317094aed3
Widget\FilterWidget: ui cleanup
2014-06-20 12:16:33 +02:00
Thomas Gelf
644dd5e33e
Widget\FilterEditor: improve the filter editor
...
This adds quite a bunch of changes. Part of the filter-modifying
complexity has been moved to the filter, the editor widget itself
now makes use of new filter capabilities such as changing operator
or expression type.
2014-06-20 12:03:22 +02:00
Thomas Gelf
1bfc4058f2
Data\Filter: automagically handle hierarchy
...
This adds a few more functions assisting filters in replacing
themselves or subnodes. Introducing Filter::chain().
2014-06-20 12:00:29 +02:00
Thomas Gelf
18e49f6b9a
Data\Filter: add setters for all properties
...
To keep our filter editor simple we want our filters to handle also
operations replacing themselves.
2014-06-20 11:57:31 +02:00
Thomas Gelf
97f88bf636
Data\Filter: clean up a few things
...
* throw useful exceptions
* our "id" should always be treated as a string
2014-06-20 11:55:27 +02:00
Matthias Jentsch
aae49ce0c0
Do not show tooltips for piechart areas that indicate empty or free areas
...
refs #6117
2014-06-18 17:38:25 +02:00
Matthias Jentsch
6555d347a7
Escape InlinePie html and adjust chart size
...
fixes #6117
2014-06-18 14:43:14 +02:00
Matthias Jentsch
be0c5d4b23
Add more meaningful tooltip labels to InlinePies
...
Show current title, a well-formated value and a label for each area in a
tooltip and add the ability to customize tooltip labels of InlinePies
refs #6117
2014-06-18 14:43:14 +02:00
Matthias Jentsch
521cc0cac4
Refactor Ldap and Dns utility functions and conform to coding guidelines
...
refs #6507
2014-06-18 14:38:44 +02:00
Thomas Gelf
21febddad2
Widget\Filter*: rudimentary filter widgets
...
Initial implementation, more to come
2014-06-17 14:00:38 +00:00
Thomas Gelf
54e97f114d
Widget\SortBox: hardcode element width
...
Temporarily added inline CSS, shall be removed soon
2014-06-17 13:54:32 +00:00
Thomas Gelf
d63d8fe451
view/helpers: add $this->widget()
2014-06-17 13:53:05 +00:00
Thomas Gelf
e3e6826d9d
Icinga\Filter: remove
2014-06-17 13:26:57 +00:00
Thomas Gelf
992a8a276b
Web/ActionController: provide $this->params
...
We always need params, this are our new URL params made accessible
this way. This is just for our query string, not for POST body params.
2014-06-17 12:58:04 +00:00
Thomas Gelf
468b290277
Monitoring\Controller: provide $this->backend
...
Every monitoring controller needs $backend, so why declaring it over
and over again. Created "moduleInit" dummy function in our base action
controller to allow such implementations without polluting init().
2014-06-17 12:55:43 +00:00
Thomas Gelf
7cd696b31b
Data/queries: adjust to fit new filters
...
Slight changes to get our queries working with new filter implementation.
2014-06-17 12:34:02 +00:00
Thomas Gelf
d1b2d47fed
Data\Filter: rework fitting new URLs
...
A bunch of things happened here. We distinct FilterChains (or, and,
not) from FilterExpressions (less, greater, equal...). We make use of
our new URL-Parser. We can directly address anonymous filter components
for editing filters. Too much things to explain them in detail, a filter
documentation will follow.
2014-06-17 12:28:28 +00:00
Thomas Gelf
5ea9b2be84
Web\Url: make use of the new UrlParams class
...
This makes a lot of things easier while trying to preserve compatibililty.
However, a few things like aliases are marked for removal (TODO).
2014-06-17 10:07:19 +00:00
Thomas Gelf
de5bb56fb3
Web\UrlParams: new implementation
...
The URL query string parsing done by PHP/ZF doesn't suffice our needs.
This is an implementation preserving filter-related "strange" query
string components while still offering legacy behaviour.
Missing right now: support for [].
2014-06-17 10:00:49 +00:00
Thomas Gelf
7b77083c89
Data\Db\DbConnection: relax timeout, persistance
...
Raised connection timeout, helps when talking to DB servers behind
weak links. Please note that I'm not sure whether this really is a
better default.
While it doesn't matter with local sockets, connection overhead will
have an impact with remote database servers. We have to reconnect with
every single request. Persistent connections seem to be no longer as
errorprone as they used to be, but I'd still refuse to switch them on
by default.
What we need is a config setting for connection persistancy and wizards
strongly suggesting to use this when working with remote db servers.
2014-06-17 09:53:59 +00:00
Thomas Gelf
e056310378
Data\Db\DbConnection: one more legacy class name
...
Fixed, Query is now DbQuery
2014-06-17 09:52:32 +00:00
Thomas Gelf
9e1e502fc8
Data\Db\DbConnection: implement fromResourceName
...
This allows to instantiate DB connections with less code in our
controllers.
2014-06-17 09:51:37 +00: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
Eric Lippmann
7f6010e1f8
lib/tree: Add PHPDoc to Node's methods
2014-06-13 17:22:43 +02:00
Johannes Meyer
405266e000
Drop Icinga\Util\Process in favour of an upcoming stronger implementation
2014-06-13 11:59:13 +02:00
Johannes Meyer
561616dca0
Add support for multi-value options
...
Makes it possible to supply options multiple times and to supply the
"--" flag to indicate that there are no options anymore to parse
refs #6092
2014-06-13 09:58:50 +02:00
Johannes Meyer
b935cb34fb
Add clicommands to run unit- and style-tests
...
refs #6092
2014-06-13 09:27:27 +02:00
Johannes Meyer
851977cbeb
Revert "Add clicommands to run unit- and style-tests"
...
This reverts commit 0805d73e34
.
2014-06-13 09:14:22 +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
Eric Lippmann
db73d324de
Autologin: Fix that the backend name must have been `autologin'
...
Before, the code validated the name of the backend instead of the `backend' directive against `autologin'.
2014-06-12 17:05:54 +02:00
Johannes Meyer
0805d73e34
Add clicommands to run unit- and style-tests
...
refs #6092
2014-06-12 16:29:07 +02:00
Eric Lippmann
7d2ee41f42
Autologin: Fix PHPDoc
2014-06-11 15:46:59 +02:00
Eric Lippmann
992ccf4f6d
Autologin: Actually set the username upon authentication
...
Before, when using autologin the username of the authenticated user always was the empty string.
2014-06-11 15:46:59 +02:00
Eric Lippmann
65a2bd41bc
Autologin: Do not use absolute `use'
2014-06-11 15:46:58 +02:00
Eric Lippmann
7215ba4f59
Autologin: Do not require a bogus password in the source code
2014-06-11 15:46:58 +02:00
Eric Lippmann
63fc8eb27e
Autologin: Use REMOTE_USER for authentication
...
It's not safe to rely on PHP_AUTH_USER and PHP_AUTH_TYPE because
PHP cgi handlers (fgcid for example) only set the REMOTE_USER environment variable
and the authentication type for negogiation methods (Kerberos for example) is neither
Basic nor Digest.
We may have to add REDIRECT_REMOTE_USER for authentication for proxy setups.
2014-06-11 15:46:58 +02:00
Eric Lippmann
c09341d77e
Autologin: Do NOT sanitize username
...
I don't know the reason why this was done initially but a username must not be changed.
2014-06-11 15:46:58 +02:00
Matthias Jentsch
c42c7977be
Call extended backend health checks when creating ldap authentication backends
...
fixes #6457
2014-06-11 15:09:36 +02:00
Matthias Jentsch
6c82cb8988
Check ldap backend health during Authentication
...
Check if authentication is possible during authentication, to generate more
useful error and log messages, in case the backend configuration is wrong
ref #6457
2014-06-11 15:08:05 +02:00
Matthias Jentsch
bca166c644
Do not throw an exception when the username does not exist
...
refs #6457
2014-06-11 15:08:05 +02: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
Matthias Jentsch
305a025e7a
Detect ldap default naming context
...
Read the entries in the RootDTS of the given ldap server, to discover
its default naming context and capabilities
refs #6097
refs #6096
2014-06-06 18:18:58 +02:00
Matthias Jentsch
efe67377a8
Move dns discovery functions into separate class
...
Add functions to lookup and reverse-lookup domain names and move the ldap
discovery function into a separate class
refs #6093
2014-06-06 17:49:55 +02:00
Matthias Jentsch
953d22244a
Add host discovery to authentication page
...
Find all domains for a given hostname.
refs #6093
Conflicts:
application/forms/Install/AuthenticationPage.php
2014-06-06 17:49:55 +02:00
Marius Hein
06296f29d8
UI/Sparklines: Change sparkline code to serverside only
...
fixes #6124
2014-06-06 16:35:33 +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
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 #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
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 #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
Eric Lippmann
1619d682c7
vendor: Remove executeable bit from a read me file of HTMLPurifier
...
refs #5982
2014-06-02 10:45:30 +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
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
6a33f4e5e0
vendor/dompdf: fix typo
2014-05-20 23:59:49 +00:00
Thomas Gelf
8ff757f6df
Inline\PieChart: code style
2014-05-20 23:29:13 +00:00
Thomas Gelf
12b57c6d95
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
modules/monitoring/library/Monitoring/Controller.php
2014-05-20 23:15:11 +00:00
Thomas Gelf
cf42ffbafa
Parsedown: version 1.0 released
2014-05-20 22:56:01 +00: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
Thomas Gelf
51c3fed743
File\Pdf: remove obsolete code
2014-05-20 22:39:03 +00:00
Thomas Gelf
4e88a4e008
Web\Url: add a shift() method
...
This methods allows to retrieve an URL param while removing it from the
URL object
2014-05-20 13:49:35 +00:00
Thomas Gelf
e6d80ae1f6
IDO Queries: performance quickfixes
...
Will be obsoleted by the new filter implementation, but for now it
helps a little bit
2014-05-20 13:27:58 +00:00
Thomas Gelf
b447225512
Web\Form: Revert "Fix subForm functionality"
...
This reverts commit 51bac035ac
.
The div element introduced by this commit breaks inline form layout
2014-05-20 13:10:18 +00:00
Johannes Meyer
ef7bb0e794
It is a multistep page's responsibility whether it is shown to the user
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
754f854dd0
Multistep pages should know about their multistep form
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
1f942acd38
Fix multistep page creation
...
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer
33d4142664
Make it possible to recreate a form
2014-05-14 12:53:44 +02:00
Johannes Meyer
1637a19c23
Fix multistep form creation
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
429e09aae2
Multistep pages should not have random generated names
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
51bac035ac
Fix subForm functionality
2014-05-14 12:53:44 +02:00
Johannes Meyer
de169c7bf5
Make it possible to disable form submit buttons forcefully
2014-05-14 12:53:44 +02:00
Johannes Meyer
88e451402f
Redirect to /install when the setup.token exists but no config.ini
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
4cf5fe6fdd
Add multistep form
...
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer
e1230eb8ae
Add style and view scripts for first prototype
...
refs #6136
2014-05-14 12:53:44 +02:00
Thomas Gelf
339460fee4
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
2014-05-09 16:29:54 +00:00
Thomas Gelf
1190a8959f
Upgrade Parsedown to 1.0.0-rc.4
...
Please note that this invalidates my img size patch, I forgot to bring
it upstream. Still TBD.
refs #6165
2014-05-09 15:36:46 +00:00
Thomas Gelf
dcf6b998bf
Upgrade lessphp
...
* Upgrade from 0.3.9 to 0.4.0
* Document package source
* Remove overhead
refs #6165
refs #6166
2014-05-09 10:53:54 +00:00
Thomas Gelf
d93c060e6a
Upgrade htmlpurifier to 4.6.0
...
refs #6165
2014-05-09 10:41:20 +00:00
Thomas Gelf
64dd91e457
Upgrade JShrink to 1.0
...
refs #6165
2014-05-09 10:37:38 +00:00
Thomas Gelf
e04ca8c29a
Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
2014-05-07 15:53:48 +00:00
Matthias Jentsch
d0c56126b8
Fix inline pie reload.
...
refs #6124
2014-05-07 17:03:27 +02:00
Thomas Gelf
820b6b7a8d
Data\BaseQuery: rename to Data\SimpleQuery
...
BaseQuery should no longer be abstract but be usable as is as soon as
we stripped ResultSet-specific tasks. As "Base" suggests something that
must be extended, the name no longer fits. So this is SimpleQuery right
now.
2014-05-07 11:55:35 +00:00
Thomas Gelf
ab32a91a6e
File\Csv: use Fetchable instead of BaseQuery
2014-05-07 11:33:48 +00:00
Eric Lippmann
ecbd9b8616
Sortable: Fix PHPDoc for parameter `$direction'
...
`$direction' must be a string instead of an integer because
the direction constants `SORT_ASC' and `SORT_DESC' are strings.
2014-05-07 10:00:41 +02:00
Eric Lippmann
d87788b9c1
Merge branch 'master' into feature/query-interfaces-6018
...
Conflicts:
modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
2014-05-06 18:45:12 +02:00
Johannes Meyer
2f911f75a1
Fix division by zero in Icinga\Util\Format
...
refs #6125
2014-05-06 08:32:42 +02:00
Johannes Meyer
c711e3405d
Fix cli default log configuration and js-loader debug message
2014-05-05 16:17:21 +02:00
Johannes Meyer
0627d954ac
Fix usages of Icinga\Module\Monitoring\Plugin\*
...
refs #5973
2014-05-05 16:16:45 +02:00
Thomas Gelf
6a1602a499
Exception messages should be single-line strings
...
fixes #6095
2014-05-02 11:19:35 +02:00
Marius Hein
6c698c1543
Tests: Remove Zend Controller Test from base test
...
fixes #6106
2014-05-02 09:46:01 +02:00
Marius Hein
6aaff6b399
IniWriter: Delete nested properties
...
fixes #5958
2014-05-02 09:26:17 +02:00
Johannes Meyer
4cf3044a53
Rename Icinga\Logger\Writer\StreamWriter to FileWriter
...
refs #6038
2014-04-30 11:59:22 +02:00
Thomas Gelf
270181885c
Fix Url error for emty baseUrl, less function calls
2014-04-29 12:27:19 +00:00
Johannes Meyer
e2ba172a8e
Make dashboard components using the ini writer class
...
fixes #5524
2014-04-29 11:30:53 +02:00
Matthias Jentsch
085025ba7d
Icingaweb shoul work without optional extensions when they are not used
...
When optional classes and php extensions like pgsql and additonal Zend-Pdos are
actually required by creating a new resource or authentication backend,
perform a check and display a warning instead of just throwing an exception.
refs #4788
2014-04-28 17:13:40 +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
07da92ee42
Rewrite test for Icinga\Web\Url and fix some bugs
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
729c33c3cf
Add helpful documentation to Icinga\Web\ViewStream
2014-04-28 14:06:40 +02:00
Johannes Meyer
c5c375e72d
Add test for Icinga\Web\MenuItem
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
290fe9eeb5
Rewrite test for Icinga\Web\Hook
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
2b15d35dec
Rewrite test for Icinga\Web\Form
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
87863d3212
Add test for Icinga\File\Csv
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
e8ed7c7166
Rewrite test for Icinga\Config\PreservingIniWriter
...
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer
fe44f8ed7c
Remove empty file library/Icinga/File/Csv/Query.php
2014-04-28 14:06:40 +02:00
Johannes Meyer
54a5e996bb
Add test for Icinga/Logger/Writer/StreamWriter
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
45d7864198
Refactor test for Icinga\Test\BaseTestCase
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
c93159d287
Add test for Icinga\User\Preferences\Store\IniStore
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
9efe71441a
Add test for Icinga\User\Preferences\Store\DbStore
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
d44aaeb8d7
Add test for Icinga\User\Preferences
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
be410a685b
Add test for Icinga\User
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
e10193f570
Add test for Icinga\Util\DateTimeFactory
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
891d36dbd7
Make DateTimeFactory expecting a string instead of a DateTimeZone
2014-04-28 14:06:39 +02:00
Johannes Meyer
1db9b1ede4
Move non-factory functions from DateTimeFactory to Icinga\Util\Format
2014-04-28 14:06:39 +02:00
Johannes Meyer
e27e538bd9
Add test for Icinga\Util\Translator
...
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer
21b949758f
Refactor ResourceForm tests
...
refs #6011
2014-04-28 14:06:38 +02:00
Johannes Meyer
aaa6a56146
Refactor authentication config form tests and fix auth backend validation
...
refs #6011
fixes #5712
2014-04-28 14:06:38 +02:00
Matthias Jentsch
b16c6efa05
Add PieChart to display hosts and services, improve layout and fix flag
...
checkboxes
refs #5765
2014-04-28 09:48:06 +02:00
Matthias Jentsch
081b5072a6
Fix layout of MultiController views
...
refs #5765
2014-04-28 09:48:06 +02:00
Alexander Klimov
6973b04211
Don't throw exception if logfile is not found
...
fixes #6035
2014-04-23 12:21:42 +02:00
Michael Friedrich
f510130797
Look for ICINGAWEB_CONFIGDIR in $_ENV too.
...
Refs #5638
2014-04-23 11:23:29 +02:00
Thomas Gelf
a7b5893918
Detect TTY support and avoid ANSI colors if none
...
fixes #5992
2014-04-18 14:36:46 +00: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
d939e12ef9
Only XHR requests use the "inline" layout
2014-04-17 17:03:35 +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
Thomas Gelf
83b26bc595
JS-less iFrame rendering improvements
2014-04-17 16:20:03 +00:00
Alexander Klimov
070e608236
Read log file chunkwise
...
resolves #6021
2014-04-17 18:01:24 +02:00
Eric Lippmann
026145356b
Add interface "QueryInterface" implementing Browsable, Fetchable, Filterable, Limitable, Sortable, Countable (WIP)
...
This interface is intended to be used within the data views and monitoring controllers. The monitoring list
and show controllers should only query data views instead of the actual query. Thus a data view is required to
implement the QueryInterface, which will be changed later.
The name is not final because it somehow conflicts with the Queryable interface which is also marked as work in progress.
2014-04-17 14:21:01 +02:00
Eric Lippmann
8532622fab
Db: Implement missing fetch*() functions on connection level
...
The BaseQuery forwards fetch*() function calls to its datasource with the
query as first parameter since the datasource implements the actual fetching functionality.
There's no interface for fetch*() functions on the datasource level yet.
2014-04-15 17:44:34 +02:00
Eric Lippmann
e525688383
Replace DatasourceInterface with Selectable
2014-04-15 17:43:45 +02:00
Eric Lippmann
1a2577dd47
Db/Connection: Replace getConnection() with getDpAdapter()
...
For readability getConnection() is deprecated in favor of getDpAdapter()
since Db/Connection is already the connection.
2014-04-15 17:37:44 +02:00
Eric Lippmann
c85ade39c0
Create count and select database queries separately
...
The previous implementation always created both the count
and the select query.
For readability the property baseQuery has been renamed to select which the
IDO queries must take into account.
2014-04-15 17:21:10 +02:00
Eric Lippmann
d94170372d
Let the BaseQuery implement the query interfaces and remove filter functionality
...
This commit breaks the application as it introduces incompatible changes which
will be adopted bit by bit.
Since the filter functionality is subject to change it's removed from the BaseQuery.
The functions setOrderColumns() and getOrderColumns() are deprecated because they're
replaced by functions in the Sortable interface.
Further the Sortable interface now defines the sort constants ASC and DESC and are
thus removed from the BaseQuery. In addition the sort constants are no longer integers
but strings.
The distinct() and isDistinct() functions are removed because they're database specific.
They have been introduced with changes in the PivotTable implementation which should
actually not call distinct blindly anyway.
2014-04-15 16:40:25 +02:00
Eric Lippmann
659e6f774e
Add interface "Queryable" (WIP)
...
Interface for classes which act as a data source and thus return or are a Fetchable.
The name of the interface is not yet final though.
2014-04-15 16:23:17 +02:00
Eric Lippmann
0f3d70c437
Add interface "Filterable" (WIP)
...
This interface is empty yet. It's meant to define how to filter a result set.
2014-04-15 16:20:11 +02:00
Eric Lippmann
e5e3dc9c43
Add interface "Sortable" defining how a result set can be sorted
...
This interface should be used to ensure that sorting a result set
is standardized among the different query implementations.
2014-04-15 16:07:27 +02:00
Eric Lippmann
3e0d254dfd
Implement "Limitable" interface for retrieving just a portion of a result set
...
Defines how to set a limit count and offset and should be used everywhere
where setting limit and offset is supported.
2014-04-15 15:48:51 +02:00
Eric Lippmann
c083747f67
Add "Fetchable" interface for classes providing data retrieval
...
Classes for retrieving data must implement the Fetchable interface
which defines the usual fetch*() functions.
2014-04-15 15:40:07 +02:00
Eric Lippmann
2cc3823a95
Implement interface "Browsable" for classes providing page turning
...
This interface is intended to be used everywhere a Zend_Paginator
is returned within our code.
2014-04-15 15:36:13 +02:00
Johannes Meyer
1ed1c0bc3c
Remove user auth and backend tests
...
refs #4639
2014-04-14 11:44:02 +02: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
4c8428423e
Convert existing mocks to Mockery-mocks (Part 1)
...
refs #4639
2014-04-11 17:03:45 +02:00
Johannes Meyer
927772578d
We do not want to use "@backupStaticAttributes enabled"
...
refs #4639
2014-04-11 15:31:29 +02:00
Johannes Meyer
1e69169bab
Fix database tests
...
refs #4639
2014-04-10 11:33:24 +02:00
Johannes Meyer
ccae70bc80
Make all tests inherit from BaseTestCase and fix license headers and style
...
refs #4639
2014-04-10 10:32:50 +02:00
Johannes Meyer
6056327c6d
Fix that it's not possible to set non-existing values in a session with setAll()
...
refs #4639
2014-04-09 16:18:51 +02:00
Johannes Meyer
f9324032cb
Fix autoloader not ignoring vendor prefixed class names
...
refs #4639
2014-04-09 14:20:05 +02:00
Marius Hein
7708b9901f
Drop BaseTestCase static class loader
...
refs #4639
2014-04-09 09:27:01 +02:00
Marius Hein
746cc4b5d9
Drop obsolete test cases
...
refs #4639
2014-04-09 09:26:11 +02:00
Johannes Meyer
3195e6a897
Rewrite preference DbStore
...
refs #5682
2014-04-08 13:28:45 +02:00
Johannes Meyer
a1649a1f22
Refactor PreferencesStore and IniStore
...
refs #5682
2014-04-07 15:13:28 +02:00
Thomas Gelf
a857af60be
Intendation
2014-04-07 12:03:53 +00:00
Thomas Gelf
88cdf99934
More code style
2014-04-07 12:03:53 +00:00
Johannes Meyer
d109046bc0
Fix that the general and logging form cannot write configuration changes
...
fixes #5952
2014-04-07 09:27:37 +02:00
Johannes Meyer
ea44ae3693
Improve failure handling when setting the locale
2014-04-04 15:34:46 +02:00
Johannes Meyer
8be3ccc527
Make it possible to save the session by its associated session namespaces
2014-04-04 11:13:07 +02:00
Johannes Meyer
98b640f1e0
Fix that removed values/namespaces remain in the session storage
...
fixes #5934
2014-04-04 11:10:45 +02:00
Alexander Klimov
cdf1a0b683
Write more class documentation
2014-04-02 13:47:02 +02:00
Alexander Klimov
241fda1196
Small cleanup
2014-04-02 13:47:02 +02:00
Alexander Klimov
2a10f6184a
Write class documentation
2014-04-02 13:47:02 +02:00
Alexander Klimov
7c599e206e
Make it working
...
refs #4514
2014-04-02 13:47:01 +02:00
Alexander Klimov
933a851f65
Initial commit
...
refs #4514
2014-04-02 13:47:01 +02:00
Johannes Meyer
ae2d61682f
Fix how the timeline processes dates
...
refs #4190
2014-04-02 10:53:39 +02:00
Johannes Meyer
21b9c1f4af
Fix that filters are not preserved on timeline element urls
...
refs #4190
2014-04-01 14:26:10 +02:00
Johannes Meyer
c19791fdd7
Fix brightness calculation in Icinga\Utils\Color
2014-04-01 11:46:44 +02:00
Johannes Meyer
3d658a664c
Do not use logarithm base from session if the timeline is not being extended
...
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer
f5e4331d71
Add timeline view script and styles
...
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer
b0709d8cba
Revert postDispatch -> preDispatch change in ActionController
...
refs #4190
2014-04-01 11:44:25 +02:00
Johannes Meyer
862b50264a
Fix that the queryfilter parser cannot handle integer values
2014-04-01 11:44:24 +02:00
Johannes Meyer
aade2ab7f6
Move timeline classes into the monitoring module
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
0a146b4bb4
Clientside scrolling implementation [WIP]
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
fd07393e44
Fix event interpolation
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
9d3935f15b
Improve timeline layout
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
25f4b50ce7
Implement timeline rendering
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
103d43ea77
Implicitly add an TimeEntry's weight when calling getValue()
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
34f25c6009
Return timeframes when iterating over TimeRange objects
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
40f70eb572
Fix license header
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
86839e757d
Add interval selectbox and group legend
...
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer
a589460de3
Make TimeEntry creation more flexible
...
TimeEntry objects are now created with the fromArray
constructor instead of the default one.
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer
b168cf878d
Fix type specification in DowntimestarthistoryQuery
...
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer
ba541b402d
Add timeline helper classes
...
#refs 4190
2014-04-01 11:44:23 +02:00
Thomas Gelf
1beb837783
A few little code cleanups
2014-03-31 16:35:28 +00:00
Thomas Gelf
056b8d5395
Coding style
2014-03-31 16:30:27 +00:00
Matthias Jentsch
d3c4660c2d
Fix colors of svg charts in Firefox
2014-03-31 12:35:39 +02:00
Thomas Gelf
947ad34153
Get web router ready for .htaccess removal
2014-03-28 19:46:58 +00:00
Johannes Meyer
bafa8cc032
Fix authentication error handling
2014-03-28 14:45:03 +01: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
5c89512e05
New router needs JavaScript and Stylesheet handlers fitting it's needs
2014-03-27 07:32:02 +00:00
Thomas Gelf
cb5d90ad41
Simplify pre-bootstrapping web routing
2014-03-27 07:25:53 +00:00
Matthias Jentsch
2360f21b09
Fix InlinePie boundaries and use floats for the PieSlice path coordinates
...
Use floats as path coordinates in PieSlices, to
avoid that the start and ending position of the arc are at the exact same
position. This would cause buggy behavior, when displaying values like "99,999%".
refs #5863
2014-03-26 17:06:21 +01:00
Matthias Jentsch
15723f088b
Include SVG piecharts in perfData helpers
...
When no JavaScript is available, SVG piecharts will be shown instead of the
jQuery sparklines.
fixes #5865
2014-03-26 14:56:35 +01:00
Thomas Gelf
faec625912
Ship module JS files even with minified JS
2014-03-26 09:24:27 +00:00
Thomas Gelf
eeaec20873
Add support for server-side triggered CSS reload
2014-03-26 07:58:00 +00:00
Thomas Gelf
87f90b6bdd
Replace escaped ampersands in URLs with & for redirects
...
* NB: Icinga\Web\Url could provide a method for this
2014-03-26 07:56:30 +00:00
Johannes Meyer
18b825a24b
Add missing keyword "new" in class SessionNamespace
2014-03-25 13:24:06 +01:00
Johannes Meyer
f802b36ca9
Move session class files
2014-03-25 11:13:10 +01:00
Johannes Meyer
9ab53558f0
Add helper to get window-aware session namespaces
2014-03-25 11:13:10 +01:00
Thomas Gelf
9c5eb19af6
Re-add potentially obsolete dynamic Widget properties
2014-03-25 07:23:14 +00:00
Thomas Gelf
01f94c574d
Handle window-id requests, allowing us to identify distinct windows
2014-03-21 13:27:44 +00:00
Thomas Gelf
fea7e8993b
Allow LDAP queries without objectClass filter
2014-03-21 10:31:12 +00:00
Thomas Gelf
aed6d74ecd
Add recursive delete support to LDAP Connection
2014-03-20 15:46:10 +00:00
Thomas Gelf
12933ee706
Add children count to LDAP root node
2014-03-20 15:45:36 +00:00
Thomas Gelf
292ce6e12b
Fix SSH CommandPipe transport. Did anyone ever test this?
2014-03-20 14:05:57 +00:00
Johannes Meyer
ea473cf08a
Fix sorting of pivot tables
2014-03-20 13:21:28 +01:00
Johannes Meyer
bf717654f0
Add more consistency to the servicematrix when switching pages
2014-03-20 11:30:55 +01:00
Thomas Gelf
3059228378
Fix JS support for modules
2014-03-20 09:55:29 +00:00
Michael Friedrich
4ce7ea503f
Rename help and documentation to icingacli.
...
Refs #5802
2014-03-19 17:25:53 +01:00
Johannes Meyer
1604f4728b
Fix that the TreeToSqlParser cannot handle partial conjunction nodes
2014-03-19 09:11:25 +01:00
Johannes Meyer
e355415164
Fix that queryfilters are being ignored by the parser
2014-03-19 09:11:25 +01:00
Johannes Meyer
617b6822d7
Add pagination support to the servicematrix
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
dbab546f0a
Make page/limit params work if either of those is hardcoded
2014-03-19 09:11:24 +01:00
Johannes Meyer
eae4cd3b2a
Add support for distinct database queries
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
13b509bf4b
Do not display hosts without any services in the servicematrix
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
0a5c2c5bd7
Make filtering/sorting of the servicematrix work
...
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer
71f4b6960b
Add servicematrix view
...
refs #4180
2014-03-19 09:11:24 +01:00
Thomas Gelf
58248c34a9
Remove width & height settings from dashboard components
2014-03-17 17:43:45 +00:00
Thomas Gelf
462bb2e4d5
Fix obsolete Logger::warn in Ldap\Connection
2014-03-17 16:18:33 +00:00
Thomas Gelf
7fc47ef961
Increase DB-Connection default timeout, 2 secs are sometimes too harsh
2014-03-17 16:17:55 +00:00
Thomas Gelf
ebbd4119c2
New approach for view helpers - register anonymous functions
...
* May be subject to change
* TODO: Find out how to phpDoc them
* Removed a bunch of "old-style" view helpers
* more to come
2014-03-17 17:14:16 +01:00
Thomas Gelf
757570cdc2
Improve Action Controller postDispatch readability
2014-03-17 17:11:08 +01:00
Thomas Gelf
4466053679
Widgets should inherit common base class
...
* Get rid of the pass-view-object-around approach
* Remove <i> tags
* Remove PHP_EOL where it doesn't make sense
* Fix small HTML issues
2014-03-17 17:04:09 +01:00
Thomas Gelf
e964da9579
URL default encoding should match rules for href's. VS &
2014-03-17 16:59:22 +01: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
11c44af35e
Remove obsolete requestId
2014-03-09 23:21:27 +01:00
Thomas Gelf
ee01b28646
Replace tabs with whitespaces
2014-03-09 21:16:56 +01:00
Thomas Gelf
7449f2565a
Make timeUntil behave like timeSince
2014-03-09 21:12:24 +01:00
Michael Friedrich
df0dbaad5c
Fix null value in timestamp format.
2014-03-09 20:53:38 +01:00
Thomas Gelf
93dc45241a
Fix missplaced autosubmit in sort box
2014-03-09 18:02:12 +01:00
Thomas Gelf
4d48f4fb0e
Filter form restyle dirty preview
2014-03-09 02:03:06 +01:00
Thomas Gelf
e480ed7aad
We have no data-icinga-component
2014-03-09 01:59:27 +01:00