Index: typo3/sysext/install/ext_localconf.php
===================================================================
--- typo3/sysext/install/ext_localconf.php (revision 4715)
+++ typo3/sysext/install/ext_localconf.php (working copy)
@@ -17,4 +17,6 @@
// change tt_content.imagecols=0 to 1 for proper display in TCEforms since TYPO3 4.3
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['update']['changeImagecolsValue'] = 'tx_coreupdates_imagecols';
+ // register eID script for ecryption key AJAX call
+$TYPO3_CONF_VARS['FE']['eID_include']['tx_install_eid'] = 'EXT:install/mod/class.tx_install_eid.php';
?>
Index: typo3/sysext/install/mod/class.tx_install.php
===================================================================
--- typo3/sysext/install/mod/class.tx_install.php (revision 4715)
+++ typo3/sysext/install/mod/class.tx_install.php (working copy)
@@ -2088,8 +2088,9 @@
if ($this->mode!='123') {
$out.=$this->wrapInCells('Site name:', '');
$out.=$this->wrapInCells('', '
');
- $out.='';
- $out.=$this->wrapInCells('Encryption key:', '
');
+ $out.='';
+ $out.='';
+ $out.=$this->wrapInCells('Encryption key:', '
');
$out.=$this->wrapInCells('', '
');
// Other
Index: typo3/sysext/install/mod/install.js
===================================================================
--- typo3/sysext/install/mod/install.js (revision 0)
+++ typo3/sysext/install/mod/install.js (revision 0)
@@ -0,0 +1,49 @@
+/***************************************************************
+*
+* javascript functions to get the TYPO3 encryption key by an
+* AJAX call and fill the form with it.
+*
+* Copyright notice
+*
+* (c) 2009 Marcus Krause, Helmut Hummel
+* All rights reserved
+*
+* This script is part of the TYPO3 backend provided by
+* Kasper Skaarhoj 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
+*
+***************************************************************/
+
+
+/**
+ *
+ * @author Marcus Krause
+ */
+var EncryptionKey = {
+ thisScript: '../../index.php',
+ eID: 'tx_install_eid',
+
+ // 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;
+ return;
+ }
+
+ new Ajax.Request(this.thisScript, {
+ method: 'get',
+ parameters: '?eID=' + this.eID,
+ onComplete: function(xhr) {
+ document.getElementsByName('TYPO3_INSTALL[localconf.php][encryptionKey]').item(0).value=xhr.responseText;
+ }.bind(this),
+ });
+ },
+};
\ No newline at end of file
Index: typo3/sysext/install/mod/class.tx_install_eid.php
===================================================================
--- typo3/sysext/install/mod/class.tx_install_eid.php (revision 0)
+++ typo3/sysext/install/mod/class.tx_install_eid.php (revision 0)
@@ -0,0 +1,111 @@
+
+ */
+class tx_install_eid {
+
+
+ /**
+ * Keeps content to be printed.
+ *
+ * @var string
+ */
+ var $content;
+
+
+ /**
+ * Main function which creates the ecryption key for the install tools AJAX call
+ * It stores the key in $this->content
+ *
+ * @return void
+ */
+ function main() {
+ // Create output:
+ $this->content = $this->createEncryptionKey();
+ }
+
+ /**
+ * Outputs the content from $this->content
+ *
+ * @return void
+ */
+ function printContent() {
+ echo $this->content;
+ }
+
+ /**
+ * Returns a newly created TYPO3 encryption key with a given length.
+ *
+ * @param integer $keyLength desired key length
+ * @return string
+ */
+ function createEncryptionKey($keyLength = 96) {
+
+ $bytes = t3lib_div::generateRandomBytes($keyLength);
+ return substr(bin2hex($bytes), -96);
+ }
+}
+
+// Make instance:
+$SOBE = t3lib_div::makeInstance('tx_install_eid');
+$SOBE->main();
+$SOBE->printContent();
+
+if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/sysext/install/mod/class.tx_install_eid.php']) {
+ include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/sysext/install/mod/class.tx_install_eid.php']);
+}
+
+?>
\ No newline at end of file