[TASK] Add indexed search icon to plugin wizard

Adds a small icon to the plugin wizard to avoid the hacky 2 click access.
The icon is added to the tab "Plug-Ins".

Change-Id: Ib0b9705acaf69c0c49de660174c536caedda9292
Resolves: #34298
Releases: 6.3, 6.2
Reviewed-on: http://review.typo3.org/9221
Reviewed-by: Kay Strobach <typo3@kay-strobach.de>
Tested-by: Kay Strobach <typo3@kay-strobach.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Xavier Perseguers <xavier@typo3.org>
Tested-by: Xavier Perseguers <xavier@typo3.org>
[TASK] Rewrite Backend Login JS to use jQuery

The backend login process uses various
JavaScript parts.

1) Some basic redirects on pure JavaScript
that is inline in the LoginController.

2) A flat and hardcoded JS file in the
login.html template which actually
uses ExtJS and Prototype for various
cookie checks and usability checks.

3) RSA Authentication with Backend Login
for doing an AJAX call. This is done in
ExtJS.

All of the parts above are rewritten
using the proper API calls based on
jQuery.

Resolves: #60576
Releases: 6.3
Change-Id: Ie64c4736c79327b816c39da5bba533bcc65cee45
Reviewed-on: http://review.typo3.org/31826
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Tested-by: Benjamin Mack <benni@typo3.org>
[FOLLOWUP] Typo in wizard's label

Relates: #34298
Releases: 6.3
Change-Id: I28a13bd05f027cca08238b47d2463cb54692edfc
Reviewed-on: http://review.typo3.org/32635
Reviewed-by: Xavier Perseguers <xavier@typo3.org>
Tested-by: Xavier Perseguers <xavier@typo3.org>
[BUGFIX] Fix clear_cache for XCache < 3.0

The XCache API changed with version 3.0. Ubuntu 12.04 uses XCache
version 1.3.2 so we need to support the old API.

Resolves: #61175
Releases: 6.3, 6.2
Change-Id: I76e975222747c965c5ef6e062231209d398a1c15
Reviewed-on: http://review.typo3.org/32441
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] RTE styling does not fit to TCEforms styling

The toolbar on top still has old background color and border.
Removing these options makes the toolbar better
natively integrated into the rest of the CMS.

Resolves: #57292
Releases: 6.3, 6.2
Change-Id: I51ed27bff09e6b0479aa0673c65497e08b52540c
Reviewed-on: http://review.typo3.org/28767
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[CLEANUP] ImportExport code needs some love

* Fix undefined variables
* Add missing return values
* Reduce indentation level by using guards
* Optimize readability
* CGL compliance

No functional changes.

Resolves: #61152
Releases: 6.3
Change-Id: Ifa2ed030d5fd721ef3ea2c4ef3a819b2d1f8762b
Reviewed-on: http://review.typo3.org/32324
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[BUGFIX] Add file existence check before processing it

This patch adds a check if a file exists before processing it.
If the file does not exist, all file functions will generate a warning.

Resolves: #61300
Releases: 6.3, 6.2
Change-Id: Ie829ec0ade8357b16f8a550d5f137593900720b9
Reviewed-on: http://review.typo3.org/32604
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
[TASK] Allow line breaks in ext_conf_template description

The description of configuration in the EM should allow
line breaks.

Resolves: #61323
Releases: 6.3
Change-Id: I7a1020e72d6385ba30b933ddde555092f5d2767f
Reviewed-on: http://review.typo3.org/32633
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Peter Kraume <peter.kraume@gmx.de>
Tested-by: Peter Kraume <peter.kraume@gmx.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
[!!!][TASK] Deprecate all client related condition matchers

Conditions that depend on client details are unlovely for a number
of reasons:

* Per condition or permutation of conditions that matches, the frontend
  creates a different cache entry. This can lead to a very high number
  of cache entrys per page
* Most usual conditions for specific browsers can nowadays turned into
  conditional CSS includes
* Conditions based on browser or clients on server side are
  bad practice.
* If conditions for specific clients or devices are still needed, they
  should be done with a userFunc condition and a project like WURFL
  that keep the device information more recent than the current core
  code like matching AMIGA
* Setups like reverse proxies give additional headaches with these
  types of conditions
* All client related condition types are deprecated with this patch.

Resolves: #60574
Releases: 6.3
Change-Id: Ib9e78748e87a2f7e04fa1b606415ad1d8d302374
Reviewed-on: http://review.typo3.org/31820
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
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>
[BUGFIX] Overriding TCA results in Exception

This problem only occours when using "tree" as
display mode for TCA-type "select".
FlexForm-API brings a special configuration to add,
edit and remove items from a selectbox, but in
case of a select-tree it does not make sense. A
completely different API was called to render this tree.
This patch prevents modifying the select-tree.

Releases: 6.3, 6.2
Resolves: #54490
Change-Id: I3ad3c5c608d7968ba90117aa048014b00cfd44af
Reviewed-on: http://review.typo3.org/31965
Reviewed-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Christoph Buchli <cbuchli@snowflake.ch>
Tested-by: Christoph Buchli <cbuchli@snowflake.ch>
Reviewed-by: Tomas Norre Mikkelsen <tomasnorre@gmail.com>
Tested-by: Tomas Norre Mikkelsen <tomasnorre@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Add unit tests for forceAbsoluteUrl()

ContentObjectRenderer::forceAbsoluteUrl() is not covered by unit tests
at all.
Add unit tests and improve mocking in other existing tests.

Resolves: #60629
Releases: 6.3, 6.2
Change-Id: Ie3c03b0cff2118bf7ef38ca03135f2a0a6f120cd
Reviewed-on: http://review.typo3.org/31874
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[BUGFIX] Line breaks in string in compile* methods of the SqlParser

There are lines-breaks inside the string which produces
'SELECT * \n\t\t\t\tFROM table_name\n\t\t\t\tWHERE'
queries while compile the sql query back from the array.

This breaks the test for EXT:dbal because debugAndCompare()
function will die.

Releases: 6.3, 6.2
Resolves: #55648
Change-Id: Iab6ad451d30bb94494ebbd3cb3b69e661ee55c00
Reviewed-on: http://review.typo3.org/27318
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Xavier Perseguers <xavier@typo3.org>
Tested-by: Xavier Perseguers <xavier@typo3.org>
[TASK] Upgrade ext:scheduler to a modern file structure

* Move images to Resources/Public/Images/
* Move language files to Resources/Private/Language/
* Migrate ExtJs to jQuery
* Move module template to Resources/Private/Template/
* Add strict comparison were possible

Resolves: #60630
Releases: 6.3
Change-Id: I7bae64263268562b158dccf9b9c8fa6d6726fe52
Reviewed-on: http://review.typo3.org/31875
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Fix Unit Tests for DBAL SqlParser

Resolves: #61449
Related: #55648
Releases: 6.3
Change-Id: I2aa05fa02626668b4d5c560a0f900d279256b52e
Reviewed-on: http://review.typo3.org/32649
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Replace usage of old logo

The old logo is used in a screenshot of the logo and needs to be updated.

Resolves: #54185
Releases: 6.3
Change-Id: Iac7f6d06cbf77a75855e780fa5653efb58febaad
Reviewed-on: http://review.typo3.org/32650
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[TASK] Sort and create page wizard cleanup

* Move ExtJs code to jQuery
* Remove unused method modMenu
* Use boolean values in functions if possible

Resolves: #61451
Releases: 6.3
Change-Id: Ibf00d23112ced8744dc356dcb11c1914deb3a91a
Reviewed-on: http://review.typo3.org/32626
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[BUGFIX] One func wizard installed shows "Select wizard" without selectbox

With one func wizard installed the text "Select wizard" is shown
without a selectbox. Hide the text if no func menu is available.

Resolves: #61452
Releases: 6.3
Change-Id: Iafb24bc2dcbf9b09b13939d7a8c5217ce94b43f0
Reviewed-on: http://review.typo3.org/32651
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[TASK] Remove unused property $fileProcessor

In PageFunctionsController a property $fileProcessor is
defined but unused.

Resolves: #61456
Releases: 6.3
Change-Id: I7f19c533ab3f906da414d184e6730d9eed836d49
Reviewed-on: http://review.typo3.org/32657
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
[TASK] Improve deprecation message in show_rechis.php

Use a more detailed message how to link to this script.

Resolves: #61458
Releases: 6.3, 6.2
Change-Id: Ifabac9033b72bea288b13a11d1e649f28b99f950
Reviewed-on: http://review.typo3.org/32659
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
[TASK] Rewrite Module Menu

Currently rendering of the module menu of the backend left side is
quite complex. This is because there are several parts introduced
in recent TYPO3 versions, that have only substituted parts of the
existing code. So the "old" code was still in use. To give a better
understanding I will first introduce all the parts relevant to the
rendering of the module menu.

PHP side
 * The mother of all classes is ModuleLoader.php, originally made by
   Kasper, which takes TBE_MODULES and compiles a long list of all
   modules into an array. (ModuleLoader->load()). Currently this class
   is kept as is for the time being.
 * For 4.1/4.2, the ModuleMenuView was introduced, a wrapper class to
   access the data of ModuleLoader and also does some other stuff like
   saving the Open/Collapsed state of the modules via AJAX (note: this
   will be handled browser-internally via LocalStorage from now on, as
   it saves HTTP requests).
   It does one other thing: Rendering of the Logout Button.
   This is completely in the wrong place right now, as the Logout
   button isn't within the module menu frame anymore since 4.x,
   but on the top right area of the backend.
 * The BackendController class is responsible for adding all HTML and
   JS code code to the backend.php page so it can be rendered. It
   instantiates the ModuleMenuView class to call the LogoutButton
   function.
 * As one of the first steps of rewriting the module menu a couple of
   versions ago, there was a ModuleController, which was again a
   wrapper for ModuleLoader while putting everything together in a
   ModuleRepository, along with Module objects and a singleton object
   ModuleStorage. This new version allows for nesting of up to three
   levels (incl. modfuncs), along with clear objects instead of arrays.

JS side
 * The module menu isn't output with a single line of PHP code, as it
   is defined as a ExtJS storage which fetches the module menu
   asynchronously. The HTML code is built in a ExtJS template, which
   leads to the funny effect that the raw backend.php only zero HTML
   code output for the module menu.
   An extra AJAX request is fired to load up the module, which then is
   prepared and templated by ExtJS.

The changes:
 * The logout button rendering is now done in the BackendController
   and not in the ModuleMenuView class.
 * The menu is now outputted in the BackendController at the same
   time as backend.php by a standalone Fluid template. The menu is
   built by a simple call to the ModuleRepository which returns a
   ModuleStorage.
 * ModuleMenuView, ModuleMenuController are not needed anymore, and
   are deprecated.
 * The JS is rewritten so that it works as before. These parts are filled
   up with jQuery code.
 * The collapsed/open state of the main modules is now done via the
   local storage JS functionality of the browsers to avoid further
   unnecessary HTTP loading operations.

Resolves: #60633
Releases: 6.3
Change-Id: I5402c1345a2931340d7ec9ef1881877b39d1bfc3
Reviewed-on: http://review.typo3.org/31876
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Tested-by: Benjamin Mack <benni@typo3.org>