Allows getPieSlicePath to draw a full circle pie slice (100%) by slightly adjusting endpoint to have a valid arc. Also hides a central line as there will be no more pie slices.
Adding suffix "Hook" to every base class. This simplifies development
because you don't need to alias bases classes in your concrete
hook classes
refs #6928
How forms are being validated should not be a task that is part of the
controller action, but should be handled by the form base class as it is
most of the time the same procedure. Now a controller action just sets
up the form to use, calls handleRequest() and acts upon its return value.
(e.g. calling handleRequest() from another form or any redirection)
refs #5525
It is not sufficient to just check whether all required elements are being
submitted. We definetely need to check whether the submit button was
pressed. But doing this and providing a standard button with a static name
simultaneously will produce conflicts if forms are using the same action
urls. To fix this, we'll add an additional form-identification check by using
a form's name or class.
refs #5525
The redirectOnLogin function now doesn't have any predefined default.
This also leads to the behaviour that "Logout" will not redirect you
anywhere on a new login while "forcibly being logged out" (e.g. by
logging out in another browser tab) will bring you back to where you
came from.
...once you lost your session. That's the only way to do this in a
smooth way. When the server get's an unauthenticated request for a
single container, redirecting to auth/login?redir=<that-container>
was not what you expect.
Together with JS handling __SELF__ in redirection URLs this will
play fine.
refs #6935
One might not expect to get a URL with params separated by & while
this is the correct way of writing them to HTML attributes. So default
behaviour is right now that all functions return URL params separated
by &, but if you cast a URL (or it's params) to a string, & will be
used.
Additionally there are toString functions allowing you to choose the
separator "manually".
refs #6699
This function had an interesting history and seems to be a result of
missunderstanding of each others commits. Removed, as the fragment is
already there.
refs #6699
Setting an url with parameters named like form elements in a form with
method POST causes Zend to ignore any POST data because GET will be
processed with higher priority.
fixes#6806
This reverts commit 64954e9924.
If the strip_username_regex is configured on the autologin backend and applies on a user's name,
the authenticated user's username does never match the REMOTE_USER server variable.
Thus the application will logout/login on every request which results in a redirect loop.
refs #6462
Remove methods from manager because autologin
is now handled with special backends (AutoLoginBackend).
The session is used to store the status about a remote
user authentication to send a 401 header to the client
upon logout.
refs #6461
Since we are using mainly createElement and addElement is only an alias for
createElement if no object is passed our changes to addElement can safely
be moved to createElement.
refs #5525
The range between min and max should always be divisable by the amount of
ticks, to ensure that the vertical lines are always at a full discrete value.
fixes#6769
Form creation must not depend on specific function calls. If a forms' elements are required and missing, create them. Form::isValid() must be
able to determine whether a form can be processed or not without to rely
on a particular button value.
refs #5525
As the new auto-submission implementation does not depend on whether
a submit button was pressed or not we need another way to determine
whether a form should be processed.
refs #5525
We either demand the user to add a submit button or provide a implicit
function call to be implemented by him, adding additional elements once
the form gets rendered.
refs #5525
The calculation is still subject to the concrete writer implementation as its
parent Icinga\User\Preferences\PreferencesStore is only an abstraction
layer without any knowledge how the data is actually stored so it is not able
to determine how to handle differences.
fixes#6220
We eagerly waited badly for a new approach to build forms, so here it is.
Should be the best compromise between the Zend_Form functionality and
our requirements regarding automatic submits.
refs #5525
Use explizit number formatting instead of implicit type conversions when
rendering SVGs, to prevent a change of the locale from breaking the charts.
fixes#6585
This reverts commit 88d4262e7c, reversing
changes made to 6fae333048.
Conflicts:
application/controllers/InstallController.php
library/Icinga/Web/Controller/ActionController.php
The menu was being rendered through recursive partials before. The
overhead this fact implicates is not as efficient as standard recursion
so there is now a special renderer for Icinga\Web\Menu utilizing
the RecursiveIteratorIterator
refs #6153
We do not need an additional class for the menu's root item just to
encapsulate our config handling, so these two classes were now merged
into a single one. Icinga\Web\Menu now also extends from
RecursiveIterator to be able to render the menu more efficient to html.
refs #6153
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#6599fixes#6601fixes#6600fixes#6598fixes#6614
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.
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
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.
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.
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.
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.
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
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.
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.
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
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#6423fixes#5967
refs #6540
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
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
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.
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.
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
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.
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.
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.
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
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().
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.
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 [].
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.