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