Index: typo3/sysext/about/interfaces/interface.tx_about_customsections.php
===================================================================
--- typo3/sysext/about/interfaces/interface.tx_about_customsections.php	(revision )
+++ typo3/sysext/about/interfaces/interface.tx_about_customsections.php	(revision )
@@ -0,0 +1,39 @@
+<?php
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2010 Steffen Kamper <steffen@typo3.org>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  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.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+
+interface tx_about_customSections {
+
+	/**
+	 * @abstract
+	 * @param  array $sections
+	 * @return void
+	 */
+	public function addSection(&$sections);
+}
+
+?>
\ No newline at end of file
Index: typo3/sysext/t3skin/stylesheets/structure/module_help_about.css
===================================================================
--- typo3/sysext/t3skin/stylesheets/structure/module_help_about.css	(revision 7974)
+++ typo3/sysext/t3skin/stylesheets/structure/module_help_about.css	(revision )
@@ -9,6 +9,15 @@
 	width: 500px;
 }
 
+#typo3-mod-help-about-index-php-outer #donation-description {
+	padding-left: 60px;
+	margin: 10px 0;
+}
+
+#typo3-mod-help-about-index-php-outer .donation-button input {
+	padding-left: 20px;
+}
+
 #typo3-mod-help-about-index-php-outer .typo3-mod-help-about-index-php-inner {
 	margin: 10px auto 20px;
 	padding: 10px;
Index: typo3/sysext/lang/locallang_mod_help_about.xml
===================================================================
--- typo3/sysext/lang/locallang_mod_help_about.xml	(revision 5376)
+++ typo3/sysext/lang/locallang_mod_help_about.xml	(revision )
@@ -6,6 +6,7 @@
 	</meta>
 	<data type="array">
 		<languageKey index="default" type="array">
+			<label index="title">About TYPO3</label>
 			<label index="typo3_logo">TYPO3 logo</label>
 			<label index="information">TYPO3 Information</label>
 			<label index="welcome">TYPO3 Professional Web Content Management System</label>
@@ -21,6 +22,9 @@
 			<label index="mlang_labels_tablabel">About TYPO3</label>
 			<label index="mlang_labels_tabdescr">Displays the basic facts about the TYPO3 application, version and licensing terms.</label>
 			<label index="mlang_tabs_tab">About TYPO3</label>
+			<label index="donation_header">TYPO3 Donation</label>
+			<label index="donation_message">It would be great if you could donate. TYPO3 is Open Source and relies heavily on donations from its users and supporters.&lt;br/&gt; &lt;b&gt;Thank you&lt;/b&gt; for making this great Content Management System even better with your help!</label>
+			<label index="donation_button">Donate now</label>
 		</languageKey>
 	</data>
 </T3locallang>
Index: typo3/sysext/t3skin/extjs/xtheme-t3skin.css
===================================================================
--- typo3/sysext/t3skin/extjs/xtheme-t3skin.css	(revision 10400)
+++ typo3/sysext/t3skin/extjs/xtheme-t3skin.css	(revision )
@@ -2357,10 +2357,6 @@
 	padding-right: 3px;
 }
 
-#donateWindow.t3-window .x-window-body.x-window-body-noborder {
-	padding-left: 100px;
-	background: url(../images/general/donate_teaser.png) no-repeat 25px 10px !important;
-}
 
 .icon-collapse-all {
 	background-image: url("images/tree/collapse-all.gif") !important;
Index: typo3/sysext/about/mod/index.php
===================================================================
--- typo3/sysext/about/mod/index.php	(revision 10120)
+++ typo3/sysext/about/mod/index.php	(revision )
@@ -1,29 +1,29 @@
 <?php
 /***************************************************************
-*  Copyright notice
-*
-*  (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  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.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
+ *  Copyright notice
+ *
+ *  (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  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.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
 /**
  * Module: About
  * This document shows some standard-information for TYPO3 CMS: About-text, version number and so on.
@@ -32,8 +32,8 @@
  * Revised for TYPO3 3.6 November/2003 by Kasper Skårhøj
  * XHTML compliant
  *
- * @todo	This module could use a major overhaul in general.
+ * @todo    This module could use a major overhaul in general.
- * @author	Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author    Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 /**
  * [CLASS/FUNCTION INDEX of SCRIPT]
@@ -51,143 +51,220 @@
 
 unset($MCONF);
 require ('conf.php');
-require ($BACK_PATH.'init.php');
+require ($BACK_PATH . 'init.php');
-require ($BACK_PATH.'template.php');
+require ($BACK_PATH . 'template.php');
 $LANG->includeLLFile('EXT:lang/locallang_mod_help_about.xml');
-$BE_USER->modAccess($MCONF,1);
+$BE_USER->modAccess($MCONF, 1);
 
 
-
-
-
-
-
-
 /**
  * Script Class for the Help > About module
  *
- * @author	Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author    Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage core
  */
 class SC_mod_help_about_index {
 
-		// Internal, dynamic:
+    // Internal, dynamic:
-	var $MCONF=array();
-	var $MOD_MENU=array();
-	var $MOD_SETTINGS=array();
-	var $content;
+    public $MCONF = array();
+    public $MOD_MENU = array();
+    public $MOD_SETTINGS = array();
 
+    protected $content = '';
+    protected $sections = array();
 
 
-
-	/**
-	 * Main function, producing the module output.
-	 * In this case, the module output is a very simple screen telling the version of TYPO3 and that's basically it...
-	 * The content is set in the internal variable $this->content
-	 *
+    /**
+     * Main function, producing the module output.
+     * In this case, the module output is a very simple screen telling the version of TYPO3 and that's basically it...
+     * The content is set in the internal variable $this->content
+     *
-	 * @return	void
+     * @return    void
-	 */
+     */
-	function main()	{
+    public function main() {
-		global $TBE_TEMPLATE,$LANG,$BACK_PATH;
+        global $TBE_TEMPLATE, $LANG, $BACK_PATH;
 
-		$this->MCONF = $GLOBALS['MCONF'];
+        $this->MCONF = $GLOBALS['MCONF'];
 
-		// **************************
-		// Main
-		// **************************
+        // **************************
+        // Main
+        // **************************
-		#$TBE_TEMPLATE->bgColor = '#cccccc';
+
-		$TBE_TEMPLATE->backPath = $GLOBALS['BACK_PATH'];
+        $TBE_TEMPLATE->backPath = $GLOBALS['BACK_PATH'];
 
-		$minorText = sprintf($LANG->getLL('minor'), 'TYPO3 Ver. '.htmlspecialchars(TYPO3_version).', Copyright &copy; '.htmlspecialchars(TYPO3_copyright_year), 'Kasper Sk&aring;rh&oslash;j');
+        $content = $this->renderSections();
 
+        // Renders the module page
+        $this->content = $TBE_TEMPLATE->render(
+            $GLOBALS['LANG']->getLL('title', TRUE),
+            $content
+        );
+    }
+
+    /**
+     * Render main sections
+     * @return string $content
+     */
+    public function renderSections() {
+        $this->sections = array();
+
+        $this->renderAboutTypo3();
+        $this->renderDonation();
+        $this->renderCommunityCredits();
+        $this->renderCoreteamCredits();
+        $this->renderExtensionAuthors();
+        $this->renderCustomSections();
+
+        // compile content
+        $content = '<div id="typo3-mod-help-about-index-php-outer">
+            ' . implode('', $this->sections) . '
+        </div>';
+
+        return $content;
+    }
+
+    /**
+     * Outputting the accumulated content to screen
+     *
+     * @return    void
+     */
+    public function printContent() {
+        echo $this->content;
+    }
+
+    /**
+     * Renders TYPO3 logo and TYPO3 description
+     *
+     * @return void
+     */
+    protected function renderAboutTypo3() {
+        $minorText = sprintf($GLOBALS['LANG']->getLL('minor'), 'TYPO3 Ver. ' . htmlspecialchars(TYPO3_version) . ', Copyright &copy; ' . htmlspecialchars(TYPO3_copyright_year), 'Kasper Sk&aring;rh&oslash;j');
-		$content='
+        $content = '
-			<div id="typo3-mod-help-about-index-php-outer">
-				<img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/typo3logo.gif', 'width="123" height="34"') . ' alt="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:typo3_logo', true) . '" />
+                <img' . t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'], 'gfx/typo3logo.gif', 'width="123" height="34"') . ' alt="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:typo3_logo', true) . '" />
-				<div class="typo3-mod-help-about-index-php-inner">
+                <div class="typo3-mod-help-about-index-php-inner">
-					<h2>' . $LANG->getLL('welcome', TRUE) . '</h2>
+                    <h2>' . $GLOBALS['LANG']->getLL('welcome', TRUE) . '</h2>
-					<p>'.$minorText.'</p>
+                    <p>' . $minorText . '</p>
+                </div>';
+
+        $this->sections['about'] = $content;
+    }
+
+    /**
+     * Renders TYPO3 donation
+     *
+     * @return void
+     */
+    protected function renderDonation() {
+        $content = '<div class="typo3-mod-help-about-index-php-inner">
+                    <h2>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_header', TRUE) . '</h2>
+                    <p id="donation-description">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_message') . '</p>
+                    <div class="donation-button">
+                        <input type="button" id="donation-button" value="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_button') . '"
+                        onclick="window.open(\'' . TYPO3_URL_DONATE . '\');" />
-				</div>
+                    </div>
+                </div>';
 
-				<div class="typo3-mod-help-about-index-php-inner">
-					<h2>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:community_credits', true).'</h2>
+        $this->sections['donation'] = $content;
+    }
+
+    /**
+     * Renders community credits
+     *
+     * @return void
+     */
+    protected function renderCommunityCredits() {
+        $content = '<div class="typo3-mod-help-about-index-php-inner">
+                    <h2>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:community_credits', TRUE) . '</h2>
-					<p>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:information_detail').'</p>
+                    <p>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:information_detail') . '</p>
-				</div>
+                </div>';
 
-				<div class="typo3-mod-help-about-index-php-inner">
-					<h2>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs', true) . '</h2>
+        $this->sections['community'] = $content;
+    }
+
+    /**
+     * Renders core team credits
+     *
+     * @return void
+     */
+    protected function renderCoreteamCredits() {
+        $content = '<div class="typo3-mod-help-about-index-php-inner">
+                    <h2>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs', TRUE) . '</h2>
-					<p>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs_detail') . '</p>
+                    <p>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs_detail') . '</p>
-				</div>
+                </div>';
 
-				<div class="typo3-mod-help-about-index-php-inner">
-					<h2>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_authors', true).'</h2>
-					<p>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_list_info', true).'</p>
+        $this->sections['coreteam'] = $content;
+    }
+
+    /**
+     * Renders extension authors credits
+     *
+     * @return void
+     */
+    protected function renderExtensionAuthors() {
+        $content = '<div class="typo3-mod-help-about-index-php-inner">
+                    <h2>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_authors', TRUE) . '</h2>
+                    <p>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_list_info', TRUE) . '</p>
-					<br />'.$this->getExtensionAuthors().'
+                    <br />' . $this->getExtensionAuthors() . '
-				</div>
-			</div>
-		';
+                </div>';
 
-			// Renders the module page
-		$this->content = $TBE_TEMPLATE->render(
-			'About',
-			$content
-		);
+        $this->sections['authors'] = $content;
-	}
+    }
 
-	/**
+    /**
-	 * Outputting the accumulated content to screen
+     * Renders custom sections
-	 *
+     *
-	 * @return	void
+     * @return void
-	 */
+     */
-	function printContent()	{
-		echo $this->content;
+    protected function renderCustomSections() {
+            //hook for custom sections
+        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['about/index.php']['addSection'])) {
+            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['about/index.php']['addSection'] as $classRef) {
+                $hookObject = t3lib_div::getUserObj($classRef);
+                if(!($hookObject instanceof tx_about_customSections)) {
+                    throw new UnexpectedValueException('$hookObject must implement interface tx_about_customSections', 1298121573);
-	}
+                }
+                $hookObject->addSection($this->sections);
+            }
+        }
+    }
 
+
-	/**
+    /**
-	 * gets the author names from the installed extensions
+     * Gets the author names from the installed extensions
-	 *
+     *
-	 * @return	string	list of extensions authors and their e-mail
+     * @return    string    list of extensions authors and their e-mail
-	 */
+     */
-	function getExtensionAuthors() {
+    protected function getExtensionAuthors() {
-		$content = '<table border="0" cellspacing="2" cellpadding="1"><tr><th>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension', true).'</th><th>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_author', true).'</th></tr>';
+        $content = '<table border="0" cellspacing="2" cellpadding="1"><tr><th>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension', true) . '</th><th>' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_author', true) . '</th></tr>';
 
-		$loadedExtensions = $GLOBALS['TYPO3_LOADED_EXT'];
-		foreach ($loadedExtensions as $extensionKey => $extension) {
-			if (is_array($extension) && $extension['type'] != 'S') {
+        $loadedExtensions = $GLOBALS['TYPO3_LOADED_EXT'];
+        foreach ($loadedExtensions as $extensionKey => $extension) {
+            if (is_array($extension) && $extension['type'] != 'S') {
-				$emconfPath = PATH_site.$extension['siteRelPath'].'ext_emconf.php';
+                $emconfPath = PATH_site . $extension['siteRelPath'] . 'ext_emconf.php';
-				include($emconfPath);
+                include($emconfPath);
 
-				$emconf = $EM_CONF['']; // ext key is not set when loading the ext_emconf.php directly
+                $emconf = $EM_CONF['']; // ext key is not set when loading the ext_emconf.php directly
 
-				$content.= '<tr><td>'.$emconf['title'].' ('.$extensionKey.')</td>'.
+                $content .= '<tr><td>' . $emconf['title'] . ' (' . $extensionKey . ')</td>' .
-								'<td><a href="mailto:'.$emconf['author_email'].'?subject='.rawurlencode('Thanks for your '.$emconf['title'].' extension').'">'.$emconf['author'].'</a></td></tr>';
+                        '<td><a href="mailto:' . $emconf['author_email'] . '?subject=' . rawurlencode('Thanks for your ' . $emconf['title'] . ' extension') . '">' . $emconf['author'] . '</a></td></tr>';
-			}
-		}
+            }
+        }
 
-		$content.= '</table>';
+        $content .= '</table>';
 
-		return $content;
-	}
+        return $content;
+    }
 }
 
 // Include extension?
 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/mod/help/about/index.php'])) {
-	include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/mod/help/about/index.php']);
+    include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/mod/help/about/index.php']);
 }
 
 
-
-
-
-
-
-
-
-
-
-
 // Make instance:
 $SOBE = t3lib_div::makeInstance('SC_mod_help_about_index');
 $SOBE->main();
 $SOBE->printContent();
-?>
+?>
\ No newline at end of file
Index: typo3/backend.php
===================================================================
--- typo3/backend.php	(revision 10511)
+++ typo3/backend.php	(revision )
@@ -31,7 +31,6 @@
 
 require('classes/class.typo3logo.php');
 require('classes/class.modulemenu.php');
-require_once('classes/class.donatewindow.php');
 
 	// core toolbar items
 require('classes/class.clearcachemenu.php');
@@ -192,10 +191,6 @@
 	public function render()	{
 		$this->executeHook('renderPreProcess');
 
-		if (t3lib_div::makeInstance('DonateWindow')->isDonateWindowAllowed()) {
-			$this->pageRenderer->addJsFile('js/donate.js');
-		}
-
 			// prepare the scaffolding, at this point extension may still add javascript and css
 		$logo         = t3lib_div::makeInstance('TYPO3Logo');
 		$logo->setLogo('gfx/typo3logo_mini.png');
@@ -445,11 +440,6 @@
 			'tabs_closeOther' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:tabs.closeOther'),
 			'tabs_close' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:tabs.close'),
 			'tabs_openInBrowserWindow' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:tabs.openInBrowserWindow'),
-			'donateWindow_title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:donateWindow.title'),
-			'donateWindow_message' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:donateWindow.message'),
-			'donateWindow_button_donate' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:donateWindow.button_donate'),
-			'donateWindow_button_disable' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:donateWindow.button_disable'),
-			'donateWindow_button_postpone' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:donateWindow.button_postpone'),
 			'csh_tooltip_loading' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:csh_tooltip_loading'),
 		);
 
Index: typo3/sysext/t3skin/stylesheets/visual/module_help_about.css
===================================================================
--- typo3/sysext/t3skin/stylesheets/visual/module_help_about.css	(revision 7974)
+++ typo3/sysext/t3skin/stylesheets/visual/module_help_about.css	(revision )
@@ -8,6 +8,21 @@
 	text-align: center;
 }
 
+#typo3-mod-help-about-index-php-outer #donation-description {
+	background-image: url("../../images/general/donate_teaser.png");
+	background-repeat: no-repeat;
+}
+
+#typo3-mod-help-about-index-php-outer .donation-button {
+	overflow: auto;
+}
+#typo3-mod-help-about-index-php-outer .donation-button input {
+	float: right;
+	background-image: url("../../images/icons/status/dialog-ok.png");
+	background-repeat: no-repeat;
+	background-position: 2px;
+}
+
 #typo3-mod-help-about-index-php-outer .typo3-mod-help-about-index-php-inner {
 	background: #ffffff;
 	border: 1px solid #adadad;
Index: t3lib/config_default.php
===================================================================
--- t3lib/config_default.php	(revision 10520)
+++ t3lib/config_default.php	(revision )
@@ -487,7 +487,6 @@
 		'elementVersioningOnly' => TRUE,		// If true, only element versioning is allowed in the backend (see option newPagesVersioningType). Setting this flag is recommended for new installations of TYPO3 4.2+ since "page" and "branch" versioning types are known for the drawbacks of loosing ids and "element" type versions supports moving now. Please note that "page" and "branch" types are deprecated since TYPO3 4.2 and will be unsupported in TYPO3 4.6. Thus, this option will be removed in TYPO3 4.6.
 		'versionNumberInFilename' => FALSE,	// <p>Boolean: If true, included CSS and JS files will have the timestamp embedded in the filename, ie. filename.1269312081.js. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). IMPORTANT: this feature requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)</p><p>If false the filemtime will be appended as a query-string.</p>
 		'spriteIconGenerator_handler' => '',	// String: Used to register own/other spriteGenerating Handler, they have to implement the interface t3lib_spritemanager_SpriteIconGenerator. If set to "t3lib_spritemanager_SpriteBuildingHandler" icons from extensions will automatically merged into sprites.
-		'allowDonateWindow' => TRUE,			// Boolean: Defines whether to display a TYPO3 donate window to admin users that have been working with the system for more than three months.
 		'debug' => FALSE,			// Boolean: If set, the loginrefresh is disabled and pageRenderer is set to debug mode. Use this to debug the backend only!
 		'AJAX' => array(				// array of key-value pairs for a unified use of AJAX calls in the TYPO3 backend. Keys are the unique ajaxIDs where the value will be resolved to call a method in an object. See ajax.php and the classes/class.typo3ajax.php for more information.
 			'SC_alt_db_navframe::expandCollapse'                => 'typo3/alt_db_navframe.php:SC_alt_db_navframe->ajaxExpandCollapse',
@@ -511,8 +510,6 @@
 			'BackendLogin::isTimedOut'		 	=> 'typo3/classes/class.ajaxlogin.php:AjaxLogin->isTimedOut',
 			'BackendLogin::getChallenge'	 	=> 'typo3/classes/class.ajaxlogin.php:AjaxLogin->getChallenge',
 			'BackendLogin::refreshTokens'	 	=> 'typo3/classes/class.ajaxlogin.php:AjaxLogin->refreshTokens',
-			'DonateWindow::disable'				=> 'typo3/classes/class.donatewindow.php:DonateWindow->disable',
-			'DonateWindow::postpone'			=> 'typo3/classes/class.donatewindow.php:DonateWindow->postpone',
 			'ExtDirect::getAPI' => 't3lib/extjs/class.t3lib_extjs_extdirectapi.php:t3lib_extjs_ExtDirectApi->getAPI',
 			'ExtDirect::route' => 't3lib/extjs/class.t3lib_extjs_extdirectrouter.php:t3lib_extjs_ExtDirectRouter->route',
 		),
@@ -664,6 +661,7 @@
 define('TYPO3_URL_SECURITY', 'http://typo3.org/teams/security/');
 define('TYPO3_URL_DOWNLOAD', 'http://typo3.org/download/packages/');
 define('TYPO3_URL_SYSTEMREQUIREMENTS', 'http://typo3.org/1275.0.html');
+define('TYPO3_URL_DONATE', 'http://typo3.org/donate/');
 
 	// Include localconf.php. Use this file to configure TYPO3 for your needs and database
 if (!@is_file(PATH_typo3conf . 'localconf.php')) {
Index: typo3/sysext/about/ext_autoload.php
===================================================================
--- typo3/sysext/about/ext_autoload.php	(revision )
+++ typo3/sysext/about/ext_autoload.php	(revision )
@@ -0,0 +1,13 @@
+<?php
+/*
+ * Register necessary class names with autoloader
+ *
+ */
+
+$extensionPath = dirname(__FILE__);
+
+return array(
+	'interface.tx_about_customsections' => $extensionPath . '/interfaces/interface.tx_about_customsections.php',
+);
+
+?>
\ No newline at end of file
