[TASK] Introduce jQuery in the Install Tool 48/19548/7
authorWouter Wolters <typo3@wouterwolters.nl>
Wed, 3 Apr 2013 18:44:22 +0000 (20:44 +0200)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Tue, 7 May 2013 19:47:21 +0000 (21:47 +0200)
Introduce jQuery in the Install Tool and remove all
prototype JavaScript.

Change-Id: I35f9ed136959c1bb523b6005fa8d8541181d09f9
Resolves: #46897
Releases: 6.2
Reviewed-on: https://review.typo3.org/19548
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
typo3/sysext/install/Classes/InstallBootstrap.php
typo3/sysext/install/Classes/Installer.php
typo3/sysext/install/Resources/Private/Templates/SetupGeneral.html
typo3/sysext/install/Resources/Public/Javascript/install.js

index dba0f32..8a35f54 100644 (file)
@@ -99,7 +99,7 @@ class InstallBootstrap {
                require_once PATH_site . 'typo3/sysext/core/Classes/Html/HtmlParser.php';
                // Define the stylesheet
                $stylesheet = '<link rel="stylesheet" type="text/css" href="' . '../stylesheets/install/install.css" />';
-               $javascript = '<script type="text/javascript" src="' . '../contrib/prototype/prototype.js"></script>';
+               $javascript = '<script type="text/javascript" src="' . '../contrib/jquery/jquery-1.9.1.min.js"></script>';
                $javascript .= '<script type="text/javascript" src="' . '../sysext/install/Resources/Public/Javascript/install.js"></script>';
                // Get the template file
                $template = @file_get_contents(PATH_site . 'typo3/sysext/install/Resources/Private/Templates/Notice.html');
index 56316ac..44967d7 100644 (file)
@@ -5997,8 +5997,8 @@ REMOTE_ADDR was \'' . GeneralUtility::getIndpEnv('REMOTE_ADDR') . '\' (' . Gener
                } else {
                        $this->template = @file_get_contents((PATH_site . $this->templateFilePath . 'Install.html'));
                }
-               // Add prototype to javascript array for output
-               $this->javascript[] = '<script type="text/javascript" src="' . GeneralUtility::createVersionNumberedFilename('../contrib/prototype/prototype.js') . '"></script>';
+               // Add jQuery to javascript array for output
+               $this->javascript[] = '<script type="text/javascript" src="' . GeneralUtility::createVersionNumberedFilename('../contrib/jquery/jquery-1.9.1.min.js') . '"></script>';
                // Add JS functions for output
                $this->javascript[] = '<script type="text/javascript" src="' . GeneralUtility::createVersionNumberedFilename('../sysext/install/Resources/Public/Javascript/install.js') . '"></script>';
                // Include the default stylesheets
@@ -6094,7 +6094,7 @@ REMOTE_ADDR was \'' . GeneralUtility::getIndpEnv('REMOTE_ADDR') . '\' (' . Gener
        protected function outputErrorAndExit($content, $title = 'Install Tool error') {
                // Define the stylesheet
                $stylesheet = '<link rel="stylesheet" type="text/css" href="' . '../stylesheets/install/install.css" />';
-               $javascript = '<script type="text/javascript" src="' . '../contrib/prototype/prototype.js"></script>' . LF;
+               $javascript = '<script type="text/javascript" src="' . '../contrib/jquery/jquery-1.9.1.min.js"></script>' . LF;
                $javascript .= '<script type="text/javascript" src="' . '../sysext/install/Resources/Public/Javascript/install.js"></script>';
                // Get the template file
                $template = @file_get_contents(PATH_site . 'typo3/sysext/install/Resources/Private/Templates/Notice.html');
@@ -6594,4 +6594,4 @@ REMOTE_ADDR was \'' . GeneralUtility::getIndpEnv('REMOTE_ADDR') . '\' (' . Gener
        }
 
 }
-?>
+?>
\ No newline at end of file
index 373f037..935122d 100644 (file)
@@ -87,7 +87,7 @@
                                                <span>
                                                        <input id="t3-install-form-encryptionkey" type="text" name="TYPO3_INSTALL[LocalConfiguration][encryptionKey]" value="###ENCRYPTIONKEY###" class="t3-install-form-input-text" />
                                                        <br />
-                                                       <button type="button" onclick="EncryptionKey.load(this)">###LABELGENERATERANDOMKEY###<span class="t3-install-form-button-icon-positive">&nbsp;</span></button>
+                                                       <button type="button" id="encryptionKey">###LABELGENERATERANDOMKEY###<span class="t3-install-form-button-icon-positive">&nbsp;</span></button>
                                                </span>
                                        </li>
                                </ol>
index fcbee5d..f01eeaa 100644 (file)
@@ -1,66 +1,44 @@
 /***************************************************************
-*
-*  Various JavaScript functions for the Install Tool
-*
-*  Copyright notice
-*
-*  (c) 2009-2010 Marcus Krause, Helmut Hummel, Lars Houmark
-*  All rights reserved
-*
-*  This script is part of the TYPO3 backend provided by
-*  Kasper Skaarhoj <kasper@typo3.com> together with TYPO3
-*
-*  Released under GNU/GPL (see license file in /typo3/)
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*
-*  This copyright notice MUST APPEAR in all copies of this script
-*
-***************************************************************/
-
-
-/**
- * Javascript class to provide AJAX calls for Install Tool
  *
- * @author Marcus Krause, Helmut Hummel <security@typo3.org>
- */
-var EncryptionKey = {
-       thisScript: '../../index.php',
-       eID: 'tx_install_ajax',
-       cmd: 'encryptionKey',
-
-               // loads the ecryption key by an AJAX call
-       load: function(obj) {
-                       // fallback if AJAX is not possible (e.g. IE < 6)
-               if (typeof Ajax.getTransport() != 'object') {
-                       window.location.href = this.thisScript + '?eID=' + this.eID + '&cmd=' + this.cmd;
-                       return;
-               }
-
-               new Ajax.Request(this.thisScript, {
-                       method: 'get',
-                       parameters: '?eID=' + this.eID + '&cmd=' + this.cmd,
-                       onComplete: function(xhr) {
-                               document.getElementsByName('TYPO3_INSTALL[LocalConfiguration][encryptionKey]').item(0).value=xhr.responseText;
-                       }.bind(this)
-               });
-       }
-};
+ *  Various JavaScript functions for the Install Tool
+ *
+ *  Copyright notice
+ *
+ *  (c) 2009-2010 Marcus Krause, Helmut Hummel, Lars Houmark
+ *  (c) 2013 Wouter Wolters <typo3@wouterwolters.nl>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 backend provided by
+ *  Kasper Skaarhoj <kasper@typo3.com> together with TYPO3
+ *
+ *  Released under GNU/GPL (see license file in /typo3/)
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  This copyright notice MUST APPEAR in all copies of this script
+ *
+ ***************************************************************/
 
 /**
- * Prototype method to detect if the Install Tool is loaded
- * in the backend or as a standalone.
+ * Method to detect if Install Tool is loaded as standalone
+ * If this is the case then an extra class will be added to the body tag
  *
- * If it standalone, a class is added to the body tag in order
- * to different the CSS style for that version.
- *
- * @author Lars Houmark <lars@houmark.com>
+ * @author Wouter Wolters <typo3@wouterwolters.nl>
  */
-document.observe("dom:loaded", function() {
+$(document).ready(function() {
        if (top.location === document.location) {
-                       // standalone-mode, add class to the body tag
-                       $(document.body).addClassName('standalone');
+               // standalone-mode, add class to the body tag
+               $('body').addClass('standalone');
        }
-});
+
+       $('#encryptionKey').click(function() {
+               $.ajax({
+                       url: '../../index.php?eID=tx_install_ajax&cmd=encryptionKey'
+               }).done(function(data) {
+                       $('#t3-install-form-encryptionkey').val(data);
+               });
+       });
+
+});
\ No newline at end of file