+ ' . implode('', $this->sections) . '
+
';
+
+ return $content;
+ }
+
+ /**
+ * Outputs 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 © ' . htmlspecialchars(TYPO3_copyright_year), 'Kasper Skårhøj');
- $content='
+ $content = '
-
-
+
-
+
-
' . $LANG->getLL('welcome', TRUE) . '
+
' . $GLOBALS['LANG']->getLL('welcome', TRUE) . '
-
'.$minorText.'
+
' . $minorText . '
-
+
';
-
+ $this->sections['about'] = $content;
+ }
+
+ /**
+ * Renders TYPO3 donation
+ *
+ * @return void
+ */
+ protected function renderDonation() {
+ $content =
+ '
-
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_header', TRUE) . '
-
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_message') . '
-
-
-
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_header', TRUE) . '
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:donation_message') . '
+
+
+
-
+
';
+ $this->sections['donation'] = $content;
+ }
+
+ /**
+ * Renders community credits
+ *
+ * @return void
+ */
+ protected function renderCommunityCredits() {
+ $content = '
-
+
-
'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:community_credits', true).'
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:community_credits', TRUE) . '
-
'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:information_detail').'
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:information_detail') . '
-
+
';
+ $this->sections['community'] = $content;
+ }
+
+ /**
+ * Renders community credits
+ *
+ * @return void
+ */
+ protected function render3rdPartyCredits() {
+ $content = '
-
+
-
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs', true) . '
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:external_libraries', true) . '
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:external_thanks', true) . '
+
+
+
';
+
+ $this->sections['3rdparty'] = $content;
+ }
+
+ /**
+ * Renders core team credits
+ *
+ * @return void
+ */
+ protected function renderCoreteamCredits() {
+ $content = '
+
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs', TRUE) . '
-
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs_detail') . '
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:coredevs_detail') . '
-
+
';
+ $this->sections['coreteam'] = $content;
+ }
+
+ /**
+ * Renders extension authors credits
+ *
+ * @return void
+ */
+ protected function renderExtensionAuthors() {
+ $content = '
-
+
-
'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_authors', true).'
-
'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_list_info', true).'
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_authors', TRUE) . '
+
' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_help_about.xml:extension_list_info', TRUE) . '
-
'.$this->getExtensionAuthors().'
+
' . $this->getExtensionAuthors() . '
-
-
- ';
+
';
- // 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
*/
- function getExtensionAuthors() {
+ protected function getExtensionAuthors() {
- $content = '