[BUGFIX] Only reload pagetree if pages are changed

When using the click menu to hide, unhide or delete
a record, previously the page tree was refreshed,
although those changes are only reflected in the
pagetree if page properties are changed.

Adapt the click menu to only refresh the tree
if a page record is changed or deleted.

Resolves: #40687
Releases: 6.2, master
Change-Id: I32844b359abd790f1dbd6839eec6feeb6e62bd02
Reviewed-on: http://review.typo3.org/33573
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
[BUGFIX] Declare statically called method static

InlineElement::updateInlineView() is only used once throughout the core
and called statically, although the method is not declared to be static.

Fix this by declaring it static.

Resolves: #62501
Releases: 6.2, master
Change-Id: Ifeb8551899ccf285d87a66767bf7de4e8e98b32f
Reviewed-on: http://review.typo3.org/33582
Reviewed-by: Cedric Ziel <cedric@cedric-ziel.com>
Tested-by: Cedric Ziel <cedric@cedric-ziel.com>
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
[TASK] Add icon for collapsed table in list module

The icon for collapsed table must be also styled with a
font awesome icon as the expand icon.

Resolves: #62439
Releases: master
Change-Id: I908bffadcfa05def7633002bfccdce5afe5ed4ae
Reviewed-on: http://review.typo3.org/33585
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[TASK] Use HTML5 input type "email" in user settings

The field "email" should use the input type "email".

Resolves: #62504
Releases: master
Change-Id: I1f443eac86508dd914a75c4a1ab7d0454c043f66
Reviewed-on: http://review.typo3.org/33587
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[BUGFIX] Let save and preview button behave as user initiated

Browsers started to distinguish how opening a new window
from JavaScript happens. They track "user initiated"
opening and not user initiated opening and behave differently.

A request to open a window by JavaScript which is not
user initiated is caught by a pop up blocker most of the time nowadays.
This means a user must explicitly allow the current page to
open new windows by JavaScript.

Additionally some browsers (e.g. Chrome) always open a new window
instead of a new tab if the request is not user initiated, regardless
of browser settings, which nowadays default to open a new tab.

The "save and preview" button currently initiates a page reload
which saves the document and add some JavaScript to to open a preview
window in the HTML response of this action.
This JavaScript action is then not considered to be user initiated any more
as opening the new window does not follow a direct user click action.

The result is, that if a preview window/tab was opened previously, then
the preview/window tab is just reloaded with the new preview URL.
If it is the first time the window/tab should be opened this request
is caught by the popup blocker.

Other preview buttons in the backend (from Click Menu or action toolbar)
behave differently (correctly) as they are always identified as user initiated.

For that reasons, change the "save and preview" button to directly
open a new window on click (without URL) and let the HTML/ JavaScript response
set the correct preview URL after that.

By doing so we gain a consistent behavior no matter what preview button a user
clicks first.
The only downside is, that in case the preview window is opened
the first time, it remains empty until the page is saved and then reloaded
through the JavaScript code that is already present.

Resolves: #62503
Releases: 6.2, master
Change-Id: I7a96c347453b1ccdeaf0d8d1bd5b080f905563ca
Reviewed-on: http://review.typo3.org/33576
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Broken icon on lowlevel > DB Check

Resolves: #61443
Releases: master
Change-Id: I2a524b3b066712a614534acb14eaef28c4fce86e
Reviewed-on: http://review.typo3.org/33589
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[CLEANUP] Remove unnecessary fully qualified names

Remove unnecessary fully qualified names from Utility classes.

Resolves: #62505
Releases: master
Change-Id: I3d4af98670911b3b49bd8043136c92422925cd2a
Reviewed-on: http://review.typo3.org/33588
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Cleanup phpDoc to match CGL

* Use bool in @return
* Use int in @return
* Use bool in @param
* Use int in @param
* Remove extra tabs and spaces in @param

Resolves: #62506
Releases: master
Change-Id: I673888aa08855a1364150d0060d0f205fc1f83a2
Reviewed-on: http://review.typo3.org/33577
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
[CLEANUP] BackendUtility

Fix various code issues like missing return values, wrong phpdoc, unused
variables, etc.

Resolves: #62414
Releases: master
Change-Id: I1769e9c365b96d70cde426a3d079acf8abbfc724
Reviewed-on: http://review.typo3.org/33480
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Remove wrong escaping of email sender

Remove a wrong escaping method from sysext form which causes email
problems.

Resolves: #60437
Releases: master, 6.2
Change-Id: I3a5447b55f4f0723637c04929de0412a4a3b67a7
Reviewed-on: http://review.typo3.org/33499
Reviewed-by: Ayke Halder <mail@ayke-halder.de>
Tested-by: Ayke Halder <mail@ayke-halder.de>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Fix active page calculation in indexed_search

Because of introducing a strict comparion in #60346, the active page is
not highlighted anymore as a float and an int value are compared.

Change-Id: Id66c77e64fb4824f5b254240b1774f77adfa6ab9
Resolves: #62532
Releases: master, 6.2
Reviewed-on: http://review.typo3.org/33605
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
[FEATURE] Add possibility to catch exception during rendering

Currently exceptions throw when rendering single
content objects bubble up to the default exception
handler and break the complete frontend.

This change adds the possibility to register an exception handler
for a content object which can render an appropriate
message instead if wanted (e.g. in production context).

Releases: master
Resolves: #47919
Change-Id: I9e3697401432b043e164fa84340739a525f80264
Reviewed-on: http://review.typo3.org/31123
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[BUGFIX] ReflectionService must recognize short data types

Since the Core uses and embraces the usage of short data type names
like "bool" or "int", internal type checks must ensure these are
recognized as well.

This patch takes the load off the checks and implements type conversion
for these short names right into the ReflectionService, so the checks
are still done against the full names like "boolean" or "integer".

Resolves: #62547
Releases: master
Change-Id: I0d391f04f91c40035d0ff9ae314f8f5bc4d0454c
Reviewed-on: http://review.typo3.org/33611
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
[BUGFIX] Add check if $fileObject is a correct instance

In some cases the $fileObject is null and getName() is called on
a null object which results in a fatal error.

This patch add a check if $fileObject is an instance of
FileInterface before call getName().
Also correct the wrong doc comment.

Resolves: #60773
Releases: 6.2, master
Change-Id: I6f3f817a089c665d8cc9e0b3369d6d690ffaf620
Reviewed-on: http://review.typo3.org/32713
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>