[!!!][TASK][CONF] Remove deprecated code for 4.7
authorMarkus Klein <klein.t3@mfc-linz.at>
Sun, 27 Nov 2011 04:33:34 +0000 (22:33 -0600)
committerSteffen Ritter <info@rs-websystems.de>
Mon, 28 Nov 2011 16:58:03 +0000 (17:58 +0100)
Removes all deprecated code marked for deletion in 4.7.

Change-Id: Ice9c95b62d08cc6e6f3c0854f9cf12837f8df7aa
Resolves: #32108
Releases: 4.7
Reviewed-on: http://review.typo3.org/6943
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
47 files changed:
t3lib/class.t3lib_arraybrowser.php
t3lib/class.t3lib_befunc.php
t3lib/class.t3lib_div.php
t3lib/class.t3lib_flexformtools.php
t3lib/class.t3lib_htmlmail.php [deleted file]
t3lib/class.t3lib_iconworks.php
t3lib/class.t3lib_spritemanager.php
t3lib/class.t3lib_tceforms.php
t3lib/class.t3lib_tcemain.php
t3lib/class.t3lib_timetrack.php
t3lib/class.t3lib_userauthgroup.php
t3lib/config_default.php
t3lib/core_autoload.php
t3lib/formprotection/class.t3lib_formprotection_backendformprotection.php
t3lib/formprotection/class.t3lib_formprotection_disabledformprotection.php
t3lib/formprotection/class.t3lib_formprotection_installtoolformprotection.php
t3lib/stddb/tables.php
t3lib/utility/class.t3lib_utility_debug.php
t3lib/utility/class.t3lib_utility_mail.php
tests/t3lib/class.t3lib_htmlmailTest.php [deleted file]
tests/t3lib/utility/class.t3lib_utility_clientTest.php
typo3/alt_shortcut.php
typo3/backend.php
typo3/classes/class.shortcutmenu.php
typo3/db_list.php
typo3/file_list.php
typo3/index.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php
typo3/sysext/cms/tslib/content/class.tslib_content_abstract.php
typo3/sysext/cms/tslib/content/class.tslib_content_phpscript.php
typo3/sysext/em/classes/extensions/class.tx_em_extensions_details.php
typo3/sysext/em/classes/index.php
typo3/sysext/em/classes/tools/class.tx_em_tools.php
typo3/sysext/form/Classes/System/Postprocessor/Mail.php
typo3/sysext/indexed_search/class.indexer.php
typo3/sysext/indexed_search/modfunc1/class.tx_indexedsearch_modfunc1.php
typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php
typo3/sysext/install/Classes/Updates/Base.php
typo3/sysext/install/mod/class.tx_install.php
typo3/sysext/install/updates/class.tx_coreupdates_installnewsysexts.php
typo3/sysext/install/updates/class.tx_coreupdates_installsysexts.php
typo3/sysext/install/updates/class.tx_coreupdates_t3skin.php
typo3/sysext/scheduler/class.tx_scheduler_croncmd.php
typo3/sysext/setup/mod/index.php
typo3/template.php
typo3/view_help.php

index 7d231dd..e138d71 100644 (file)
@@ -104,7 +104,6 @@ class t3lib_arrayBrowser {
                                $theValue = $arr[$key];
                                if ($this->fixedLgd) {
                                        $imgBlocks = ceil(1 + strlen($depthData) / 77);
-                                               //                                      debug($imgBlocks);
                                        $lgdChars = 68 - ceil(strlen('[' . $key . ']') * 0.8) - $imgBlocks * 3;
                                        $theValue = $this->fixed_lgd($theValue, $lgdChars);
                                }
index 3690b47..fe93995 100644 (file)
@@ -2296,7 +2296,6 @@ final class t3lib_BEfunc {
 
        /**
         * Returns CSH help text (description), if configured for, as an array (title, description)
-        * Will automatically call t3lib_BEfunc::helpTextIcon() to get the icon for the text.
         *
         * @param       string  Table name
         * @param       string  Field name
@@ -2335,16 +2334,13 @@ final class t3lib_BEfunc {
        /**
         * Returns CSH help text (description), if configured for.
         * $GLOBALS['TCA_DESCR'] must be loaded prior to this function and $GLOBALS['BE_USER'] must have "edit_showFieldHelp" set to "text",
-        * otherwise nothing is returned
-        * Will automatically call t3lib_BEfunc::helpTextIcon() to get the icon for the text.
+        * otherwise nothing is returned.
         *
         * @param       string          Table name
         * @param       string          Field name
-        * @param       string          Back path, deprecated since TYPO3 4.5, will be removed in TYPO3 4.7, because not used at all
-        * @param       string          DEPRECATED: Additional style-attribute content for wrapping table (now: only in function cshItem needed)
         * @return      string          HTML content for help text
         */
-       public static function helpText($table, $field, $BACK_PATH = '', $styleAttrib = '') {
+       public static function helpText($table, $field) {
                $helpTextArray = self::helpTextArray($table, $field);
 
                $output = '';
@@ -2439,7 +2435,7 @@ final class t3lib_BEfunc {
 
                        if (is_array($GLOBALS['TCA_DESCR'][$table])) {
                                        // Creating CSH icon and short description:
-                               $fullText = self::helpText($table, $field, $BACK_PATH, '');
+                               $fullText = self::helpText($table, $field);
                                $icon = self::helpTextIcon($table, $field, $BACK_PATH);
 
                                if ($fullText && !$onlyIconMode && $GLOBALS['BE_USER']->uc['edit_showFieldHelp'] == 'text') {
@@ -4013,28 +4009,6 @@ final class t3lib_BEfunc {
         *******************************************/
 
        /**
-        * Print error message with header, text etc.
-        *
-        * @param       string          Header string
-        * @param       string          Content string
-        * @param       boolean         Will return an alert() with the content of header and text.
-        * @param       boolean         Print header.
-        * @return      void
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - use RuntimeException from now on
-        */
-       public static function typo3PrintError($header, $text, $js = '', $head = 1) {
-                       // This prints out a TYPO3 error message.
-                       // If $js is set the message will be output in JavaScript
-               if ($js) {
-                       echo "alert('" . t3lib_div::slashJS($header . '\n' . $text) . "');";
-               } else {
-                       t3lib_div::logDeprecatedFunction();
-                       $messageObj = t3lib_div::makeInstance('t3lib_message_ErrorPageMessage', $text, $header);
-                       $messageObj->output();
-               }
-       }
-
-       /**
         * Prints TYPO3 Copyright notice for About Modules etc. modules.
         *
         * @return      void
index aa2d477..2440682 100644 (file)
@@ -1067,19 +1067,6 @@ final class t3lib_div {
        }
 
        /**
-        * Removes comma (if present) in the end of string
-        *
-        * @param string $string String from which the comma in the end (if any) will be removed.
-        * @return string
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - Use rtrim() directly
-        */
-       public static function rm_endcomma($string) {
-               self::logDeprecatedFunction();
-
-               return rtrim($string, ',');
-       }
-
-       /**
         * Tests if the input can be interpreted as integer.
         *
         * @param mixed $var Any input variable to test
@@ -3326,99 +3313,6 @@ final class t3lib_div {
                return $fullName;
        }
 
-
-       /*************************
-        *
-        * DEBUG helper FUNCTIONS
-        *
-        *************************/
-
-       /* Deprecated since 4.5, use t3lib_utility_Debug */
-
-
-       /**
-        * Returns a string with a list of ascii-values for the first $characters characters in $string
-        *
-        * @param string $string String to show ASCII value for
-        * @param integer $characters Number of characters to show
-        * @return string The string with ASCII values in separated by a space char.
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::ordinalValue instead
-        */
-       public static function debug_ordvalue($string, $characters = 100) {
-               self::logDeprecatedFunction();
-               return t3lib_utility_Debug::ordinalValue($string, $characters);
-       }
-
-       /**
-        * Returns HTML-code, which is a visual representation of a multidimensional array
-        * use t3lib_div::print_array() in order to print an array
-        * Returns FALSE if $array_in is not an array
-        *
-        * @param mixed $array_in Array to view
-        * @return string HTML output
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::viewArray instead
-        */
-       public static function view_array($array_in) {
-               self::logDeprecatedFunction();
-               return t3lib_utility_Debug::viewArray($array_in);
-       }
-
-       /**
-        * Prints an array
-        *
-        * @param mixed $array_in Array to print visually (in a table).
-        * @return void
-        * @see view_array()
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::printArray instead
-        */
-       public static function print_array($array_in) {
-               self::logDeprecatedFunction();
-               t3lib_utility_Debug::printArray($array_in);
-       }
-
-       /**
-        * Makes debug output
-        * Prints $var in bold between two vertical lines
-        * If not $var the word 'debug' is printed
-        * If $var is an array, the array is printed by t3lib_div::print_array()
-        *
-        * @param mixed $var Variable to print
-        * @param string $header The header.
-        * @param string $group Group for the debug console
-        * @return void
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::debug instead
-        */
-       public static function debug($var = '', $header = '', $group = 'Debug') {
-               self::logDeprecatedFunction();
-               t3lib_utility_Debug::debug($var, $header, $group);
-       }
-
-       /**
-        * Displays the "path" of the function call stack in a string, using debug_backtrace
-        *
-        * @return string
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::debugTrail instead
-        */
-       public static function debug_trail() {
-               self::logDeprecatedFunction();
-               return t3lib_utility_Debug::debugTrail();
-       }
-
-       /**
-        * Displays an array as rows in a table. Useful to debug output like an array of database records.
-        *
-        * @param mixed $rows Array of arrays with similar keys
-        * @param string $header Table header
-        * @param boolean $returnHTML If TRUE, will return content instead of echo'ing out.
-        * @return mixed Outputs to browser or returns an HTML string if $returnHTML is TRUE
-        * @deprecated since TYPO3 4.5 - Use t3lib_utility_Debug::debugRows instead
-        */
-       public static function debugRows($rows, $header = '', $returnHTML = FALSE) {
-               self::logDeprecatedFunction();
-               return t3lib_utility_Debug::debugRows($rows, $header, $returnHTML);
-       }
-
-
        /*************************
         *
         * SYSTEM INFORMATION
index c12d231..598d3ca 100644 (file)
@@ -332,7 +332,6 @@ class t3lib_flexformtools {
         * @return      void
         */
        function cleanFlexFormXML_callBackFunction($dsArr, $data, $PA, $path, $pObj) {
-               #debug(array($dsArr, $data, $PA),$path);
                        // Just setting value in our own result array, basically replicating the structure:
                $pObj->setArrayValueByPath($path, $this->cleanFlexFormXML, $data);
 
diff --git a/t3lib/class.t3lib_htmlmail.php b/t3lib/class.t3lib_htmlmail.php
deleted file mode 100644 (file)
index 9765677..0000000
+++ /dev/null
@@ -1,1419 +0,0 @@
-<?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!
- ***************************************************************/
-/**
- * HTML mail class
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-/**
- * NOTES on MIME mail structures:
- *
- * Plain + HTML
- *      multipart/alternative  (text, html)
- *      multipart/alternative  (text, html)
- *
- * Plain + HTML + image
- *      multipart/related (m/a, cids)
- *              multipart/alternative (text, html)
- *
- *      multipart/related  (m/a, cids)
- *              multipart/alternative  (text, html)
- *
- * plain + attachment
- *      multipart/mixed
- *
- * HTML + Attachment:
- *      multipart/mixed                (text/html , attachments)
- *
- * Plain + HTML + Attachments:
- *      multipart/mixed                (m/a, attachments)
- *              multipart/alternative  (text, html)
- *
- * Plain + HTML + image + attachment
- *
- *              Outlook expr.
- *      multipart/mixed (m/r, attachments)
- *              multipart/related  (m/a, cids)
- *                      multipart/alternative  (text, html)
- *
- *
- *
- * FROM RFC 1521:
- *
- * 5.1 Quoted-Printable Content-Transfer-Encoding
- * The Quoted-Printable encoding is intended to represent data that largely consists of octets that correspond to printable characters in the ASCII character set. It encodes the data in such a way that the resulting octets are unlikely to be modified by mail transport. If the data being encoded are mostly ASCII text, the encoded form of the data remains largely recognizable by humans. A body which is entirely ASCII may also be encoded in Quoted-Printable to ensure the integrity of the data should the message pass through a character- translating, and/or line-wrapping gateway.
- *
- * In this encoding, octets are to be represented as determined by the following rules:
- * Rule #1: (General 8-bit representation) Any octet, except those indicating a line break according to the newline convention of the canonical (standard) form of the data being encoded, may be represented by an "=" followed by a two digit hexadecimal representation of the octet's value. The digits of the hexadecimal alphabet, for this purpose, are "0123456789ABCDEF". Uppercase letters must be used when sending hexadecimal data, though a robust implementation may choose to recognize lowercase letters on receipt. Thus, for example, the value 12 (ASCII form feed) can be represented by "=0C", and the value 61 (ASCII EQUAL SIGN) can be represented by "=3D". Except when the following rules allow an alternative encoding, this rule is mandatory.
- * Rule #2: (Literal representation) Octets with decimal values of 33 through 60 inclusive, and 62 through 126, inclusive, MAY be represented as the ASCII characters which correspond to those octets (EXCLAMATION POINT through LESS THAN, and GREATER THAN through TILDE, respectively).
- * Rule #3: (White Space): Octets with values of 9 and 32 MAY be represented as ASCII TAB (HT) and SPACE characters, respectively, but MUST NOT be so represented at the end of an encoded line. Any TAB (HT) or SPACE characters on an encoded line MUST thus be followed on that line by a printable character. In particular, an
- * "=" at the end of an encoded line, indicating a soft line break (see rule #5) may follow one or more TAB (HT) or SPACE characters. It follows that an octet with value 9 or 32 appearing at the end of an encoded line must be represented according to Rule #1. This rule is necessary because some MTAs (Message Transport Agents, programs which transport messages from one user to another, or perform a part of such transfers) are known to pad lines of text with SPACEs, and others are known to remove "white space" characters from the end of a line. Therefore, when decoding a Quoted-Printable body, any trailing white space on a line must be deleted, as it will necessarily have been added by intermediate transport agents.
- * Rule #4 (Line Breaks): A line break in a text body, independent of what its representation is following the canonical representation of the data being encoded, must be represented by a (RFC 822) line break, which is a CRLF sequence, in the Quoted-Printable encoding. Since the canonical representation of types other than text do not generally include the representation of line breaks, no hard line breaks (i.e. line breaks that are intended to be meaningful and to be displayed to the user) should occur in the quoted-printable encoding of such types. Of course, occurrences of "=0D", "=0A", "0A=0D" and "=0D=0A" will eventually be encountered. In general, however, base64 is preferred over quoted-printable for binary data.
- * Note that many implementations may elect to encode the local representation of various content types directly, as described in Appendix G. In particular, this may apply to plain text material on systems that use newline conventions other than CRLF delimiters. Such an implementation is permissible, but the generation of line breaks must be generalized to account for the case where alternate representations of newline sequences are used.
- * Rule #5 (Soft Line Breaks): The Quoted-Printable encoding REQUIRES that encoded lines be no more than 76 characters long. If longer lines are to be encoded with the Quoted-Printable encoding, 'soft' line breaks must be used. An equal sign as the last character on a encoded line indicates such a non-significant ('soft') line break in the encoded text. Thus if the "raw" form of the line is a single unencoded line that says:
- * Now's the time for all folk to come to the aid of their country.
- *
- * This can be represented, in the Quoted-Printable encoding, as
- *
- * Now's the time =
- * for all folk to come=
- * to the aid of their country.
- *
- * This provides a mechanism with which long lines are encoded in such a way as to be restored by the user agent. The 76 character limit does not count the trailing CRLF, but counts all other characters, including any equal signs.
- * Since the hyphen character ("-") is represented as itself in the Quoted-Printable encoding, care must be taken, when encapsulating a quoted-printable encoded body in a multipart entity, to ensure that the encapsulation boundary does not appear anywhere in the encoded body. (A good strategy is to choose a boundary that includes a character sequence such as "=_" which can never appear in a quoted- printable body. See the definition of multipart messages later in this document.)
- * NOTE: The quoted-printable encoding represents something of a compromise between readability and reliability in transport. Bodies encoded with the quoted-printable encoding will work reliably over most mail gateways, but may not work perfectly over a few gateways, notably those involving translation into EBCDIC. (In theory, an EBCDIC gateway could decode a quoted-printable body and re-encode it using base64, but such gateways do not yet exist.) A higher level of confidence is offered by the base64 Content-Transfer-Encoding. A way to get reasonably reliable transport through EBCDIC gateways is to also quote the ASCII characters
- * !"#$@[\]^`{|}~
- * according to rule #1. See Appendix B for more information.
- * Because quoted-printable data is generally assumed to be line- oriented, it is to be expected that the representation of the breaks between the lines of quoted printable data may be altered in transport, in the same manner that plain text mail has always been altered in Internet mail when passing between systems with differing newline conventions. If such alterations are likely to constitute a corruption of the data, it is probably more sensible to use the base64 encoding rather than the quoted-printable encoding.
- * WARNING TO IMPLEMENTORS: If binary data are encoded in quoted- printable, care must be taken to encode CR and LF characters as "=0D" and "=0A", respectively. In particular, a CRLF sequence in binary data should be encoded as "=0D=0A". Otherwise, if CRLF were represented as a hard line break, it might be incorrectly decoded on
- * platforms with different line break conventions.
- * For formalists, the syntax of quoted-printable data is described by the following grammar:
- *
- *     quoted-printable := ([*(ptext / SPACE / TAB) ptext] ["="] CRLF)
- *              ; Maximum line length of 76 characters excluding CRLF
- *
- *     ptext := octet /<any ASCII character except "=", SPACE, or TAB>
- *              ; characters not listed as "mail-safe" in Appendix B
- *              ; are also not recommended.
- *
- *     octet := "=" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")
- *              ; octet must be used for characters > 127, =, SPACE, or TAB,
- *              ; and is recommended for any characters not listed in
- *              ; Appendix B as "mail-safe".
- */
-/**
- * HTML mail class
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package    TYPO3
- * @subpackage t3lib
- *
- * @deprecated since TYPO3 4.5, this file will be removed in TYPO3 4.7. Please use t3lib_mail instead (SwiftMail based).
- */
-class t3lib_htmlmail {
-               // Headerinfo:
-       var $recipient = '';
-       var $recipient_copy = ''; // This recipient (or list of...) will also receive the mail. Regard it as a copy.
-       var $recipient_blindcopy = ''; // This recipient (or list of...) will also receive the mail as a blind copy. Regard it as a copy.
-       var $subject = '';
-       var $from_email = '';
-       var $from_name = '';
-       var $replyto_email = '';
-       var $replyto_name = '';
-       var $organisation = '';
-       var $priority = 3; // 1 = highest, 5 = lowest, 3 = normal
-       var $mailer = ''; // X-mailer, set to TYPO3 Major.Minor in constructor
-       var $alt_base64 = 0;
-       var $alt_8bit = 0;
-       var $jumperURL_prefix = ''; // This is a prefix that will be added to all links in the mail. Example: 'http://www.mydomain.com/jump?userid=###FIELD_uid###&url='. if used, anything after url= is urlencoded.
-       var $jumperURL_useId = 0; // If set, then the array-key of the urls are inserted instead of the url itself. Smart in order to reduce link-length
-       var $mediaList = ''; // If set, this is a list of the media-files (index-keys to the array) that should be represented in the html-mail
-       var $http_password = '';
-       var $http_username = '';
-       var $postfix_version1 = FALSE;
-
-               // Internal
-       /*
-       This is how the $theParts-array is normally looking
-       var $theParts = array(
-               'plain' => array(
-                       'content' => ''
-               ),
-               'html' => array(
-                       'content' => '',
-                       'path' => '',
-                       'media' => array(),
-                       'hrefs' => array()
-               ),
-               'attach' => array()
-       );
-       */
-       var $theParts = array();
-
-       var $messageid = '';
-       var $returnPath = '';
-       var $Xid = '';
-       var $dontEncodeHeader = FALSE; // If set, the header will not be encoded
-
-       var $headers = '';
-       var $message = '';
-       var $part = 0;
-       var $image_fullpath_list = '';
-       var $href_fullpath_list = '';
-
-       var $plain_text_header = '';
-       var $html_text_header = '';
-       var $charset = '';
-       var $defaultCharset = 'iso-8859-1';
-
-
-       /**
-        * Constructor. If the configuration variable forceReturnPath is set,
-        * calls to mail will be called with a 5th parameter.
-        * See function sendTheMail for more info
-        *
-        * @return      void
-        * @deprecated since TYPO3 4.5, this method will be removed in TYPO3 4.7. Use t3lib_mail instead.
-        */
-       public function __construct() {
-               t3lib_div::logDeprecatedFunction();
-               $this->forceReturnPath = $GLOBALS['TYPO3_CONF_VARS']['SYS']['forceReturnPath'];
-
-               $this->mailer = 'TYPO3';
-       }
-
-       /**
-        * Compatibility constructor.
-        *
-        * @deprecated since TYPO3 4.5 and will be removed in TYPO3 4.7. Use __construct() instead.
-        */
-       public function t3lib_htmlmail() {
-               t3lib_div::logDeprecatedFunction();
-                       // Note: we cannot call $this->__construct() here because it would call the derived class constructor and cause recursion
-                       // This code uses official PHP behavior (http://www.php.net/manual/en/language.oop5.basic.php) when $this in the
-                       // statically called non-static method inherits $this from the caller's scope.
-               t3lib_htmlmail::__construct();
-       }
-
-       /**
-        * start action that sets the message ID and the charset
-        *
-        * @return      void
-        */
-       public function start() {
-                       // Sets the message id
-               $host = t3lib_div::getHostname();
-               if (!$host || $host == '127.0.0.1' || $host == 'localhost' || $host == 'localhost.localdomain') {
-                       $host = ($GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'] ? preg_replace('/[^A-Za-z0-9_\-]/', '_', $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']) : 'localhost') . '.TYPO3';
-               }
-
-               $idLeft = time() . '.' . uniqid();
-               $idRight = !empty($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'swift.generated';
-               $this->messageid = $idLeft . '@' . $idRight;
-
-                       // Default line break for Unix systems.
-               $this->linebreak = LF;
-                       // Line break for Windows. This is needed because PHP on Windows systems
-                       // send mails via SMTP instead of using sendmail, and thus the linebreak needs to be \r\n.
-               if (TYPO3_OS == 'WIN') {
-                       $this->linebreak = CRLF;
-               }
-
-                       // Sets the Charset
-               if (!$this->charset) {
-                       if (is_object($GLOBALS['TSFE']) && $GLOBALS['TSFE']->renderCharset) {
-                               $this->charset = $GLOBALS['TSFE']->renderCharset;
-                       } elseif (is_object($GLOBALS['LANG']) && $GLOBALS['LANG']->charSet) {
-                               $this->charset = $GLOBALS['LANG']->charSet;
-                       } elseif ($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset']) {
-                               $this->charset = $GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'];
-                       } else {
-                               $this->charset = $this->defaultCharset;
-                       }
-               }
-
-                       // Use quoted-printable headers by default
-               $this->useQuotedPrintable();
-       }
-
-
-       /**
-        * sets the header of both Plain Text and HTML mails to quoted printable
-        *
-        * @return      void
-        */
-       public function useQuotedPrintable() {
-               $this->plain_text_header = 'Content-Type: text/plain; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: quoted-printable';
-               $this->html_text_header = 'Content-Type: text/html; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: quoted-printable';
-       }
-
-       /**
-        * sets the encoding headers to base64 for both the Plain Text and HTML mail
-        *
-        * @return      void
-        */
-       public function useBase64() {
-               $this->plain_text_header = 'Content-Type: text/plain; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: base64';
-               $this->html_text_header = 'Content-Type: text/html; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: base64';
-               $this->alt_base64 = 1;
-       }
-
-
-       /**
-        * sets the encoding to 8bit and the current charset of both the Plain Text and the HTML mail
-        *
-        * @return      void
-        */
-       public function use8Bit() {
-               $this->plain_text_header = 'Content-Type: text/plain; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: 8bit';
-               $this->html_text_header = 'Content-Type: text/html; charset=' . $this->charset . $this->linebreak . 'Content-Transfer-Encoding: 8bit';
-               $this->alt_8bit = 1;
-       }
-
-
-       /**
-        * Encodes the message content according to the options "alt_base64" and "alt_8bit" (no need to encode here)
-        * or to "quoted_printable" if no option is set.
-        *
-        * @param       string          $content the content that will be encoded
-        * @return      string          the encoded content
-        */
-       public function encodeMsg($content) {
-               if ($this->alt_base64) {
-                       return $this->makeBase64($content);
-               } elseif ($this->alt_8bit) {
-                       return $content;
-               } else {
-                       return t3lib_div::quoted_printable($content);
-               }
-       }
-
-
-       /**
-        * Adds plain-text, replaces the HTTP urls in the plain text and then encodes it
-        *
-        * @param       string          $content that will be added
-        * @return      void
-        */
-       public function addPlain($content) {
-               $content = $this->substHTTPurlsInPlainText($content);
-               $this->setPlain($this->encodeMsg($content));
-       }
-
-
-       /**
-        * Adds an attachment to the mail
-        *
-        * @param       string          $file: the filename to add
-        * @return      boolean         whether the attachment was added or not
-        */
-       public function addAttachment($file) {
-                       // Fetching the content and the mime-type
-               $fileInfo = $this->getExtendedURL($file);
-               if ($fileInfo) {
-                       if (!$fileInfo['content_type']) {
-                               $fileInfo['content_type'] = 'application/octet-stream';
-                       }
-                       $temp = $this->split_fileref($file);
-                       if ($temp['file']) {
-                               $fileInfo['filename'] = $temp['file'];
-                       } elseif (strpos(' ' . $fileInfo['content_type'], 'htm')) {
-                               $fileInfo['filename'] = 'index.html';
-                       } else {
-                               $fileInfo['filename'] = 'unknown';
-                       }
-                       $this->theParts['attach'][] = $fileInfo;
-                       return TRUE;
-               }
-               return FALSE;
-       }
-
-
-       /**
-        * Adds HTML and media, encodes it from a URL or file
-        *
-        * @param       string          $file: the filename to add
-        * @return      boolean         whether the attachment was added or not
-        */
-       public function addHTML($file) {
-               $status = $this->fetchHTML($file);
-               if (!$status) {
-                       return FALSE;
-               }
-               if ($this->extractFramesInfo()) {
-                       return 'Document was a frameset. Stopped';
-               }
-               $this->extractMediaLinks();
-               $this->extractHyperLinks();
-               $this->fetchHTMLMedia();
-               $this->substMediaNamesInHTML(0); // 0 = relative
-               $this->substHREFsInHTML();
-               $this->setHtml($this->encodeMsg($this->theParts['html']['content']));
-       }
-
-
-       /**
-        * Extract HTML-parts, used externally
-        *
-        * @param       string          $html: will be added to the html "content" part
-        * @param       string          $url: will be added to the html "path" part
-        * @return      void
-        */
-       public function extractHtmlInit($html, $url) {
-               $this->theParts['html']['content'] = $html;
-               $this->theParts['html']['path'] = $url;
-       }
-
-
-       /**
-        * Assembles the message by headers and content and finally send it to the provided recipient.
-        *
-        * @param       string          $recipient: The recipient the message should be delivered to (if blank, $this->recipient will be used instead)
-        * @return      boolean         Returns whether the mail was sent (successfully accepted for delivery)
-        */
-       public function send($recipient) {
-               if ($recipient) {
-                       $this->recipient = $recipient;
-               }
-               $this->setHeaders();
-               $this->setContent();
-               $mailWasSent = $this->sendTheMail();
-               return $mailWasSent;
-       }
-
-
-       /*****************************************
-        *
-        * Main functions
-        *
-        *****************************************/
-
-       /**
-        * Clears the header-string and sets the headers based on object-vars.
-        *
-        * @return      void
-        */
-       public function setHeaders() {
-               $this->headers = '';
-                       // Message_id
-               $this->add_header('Message-ID: <' . $this->messageid . '>');
-                       // Return path
-               if ($this->returnPath) {
-                       $this->add_header('Return-Path: ' . $this->returnPath);
-                       $this->add_header('Errors-To: ' . $this->returnPath);
-               }
-                       // X-id
-               if ($this->Xid) {
-                       $this->add_header('X-Typo3MID: ' . $this->Xid);
-               }
-
-                       // From
-               if ($this->from_email) {
-                       if ($this->from_name && !t3lib_div::isBrokenEmailEnvironment()) {
-                               $this->add_header('From: ' . $this->from_name . ' <' . $this->from_email . '>');
-                       } else {
-                               $this->add_header('From: ' . $this->from_email);
-                       }
-               }
-
-                       // Cc
-               if ($this->recipient_copy) {
-                       $this->add_header('Cc: ' . $this->recipient_copy);
-               }
-
-                       // Bcc
-               if ($this->recipient_blindcopy) {
-                       $this->add_header('Bcc: ' . $this->recipient_blindcopy);
-               }
-
-                       // Reply
-               if ($this->replyto_email) {
-                       if ($this->replyto_name) {
-                               $this->add_header('Reply-To: ' . $this->replyto_name . ' <' . $this->replyto_email . '>');
-                       } else {
-                               $this->add_header('Reply-To: ' . $this->replyto_email);
-                       }
-               }
-                       // Organization, using american english spelling (organization / organisation) as defined in RFC 1036 / 2076
-               if ($this->organisation) {
-                       $this->add_header('Organization: ' . $this->organisation);
-               }
-                       // mailer
-               if ($this->mailer) {
-                       $this->add_header('X-Mailer: ' . $this->mailer);
-               }
-                       // priority
-               if ($this->priority) {
-                       $this->add_header('X-Priority: ' . $this->priority);
-               }
-               $this->add_header('Mime-Version: 1.0');
-
-               if (!$this->dontEncodeHeader) {
-                       $enc = $this->alt_base64 ? 'base64' : 'quoted_printable'; // Header must be ASCII, therefore only base64 or quoted_printable are allowed!
-                               // Quote recipient and subject
-                       $this->recipient = t3lib_div::encodeHeader($this->recipient, $enc, $this->charset);
-                       $this->subject = t3lib_div::encodeHeader($this->subject, $enc, $this->charset);
-               }
-       }
-
-
-       /**
-        * Sets the recipient(s). If you supply a string, you set one recipient.
-        * If you supply an array, every value is added as a recipient.
-        *
-        * @param       mixed           $recipient: the recipient(s) to set
-        * @return      void
-        */
-       public function setRecipient($recipient) {
-               $this->recipient = (is_array($recipient) ? implode(',', $recipient) : $recipient);
-       }
-
-
-       /**
-        * Returns the content type based on whether the mail has media / attachments or no
-        *
-        * @return      string          the content type
-        */
-       public function getHTMLContentType() {
-               return (count($this->theParts['html']['media']) ? 'multipart/related' : 'multipart/alternative');
-       }
-
-
-       /**
-        * Begins building the message-body
-        *
-        * @return      void
-        */
-       public function setContent() {
-               $this->message = '';
-               $boundary = $this->getBoundary();
-
-                       // Setting up headers
-               if (count($this->theParts['attach'])) {
-                               // Generate (plain/HTML) / attachments
-                       $this->add_header('Content-Type: multipart/mixed;');
-                       $this->add_header(' boundary="' . $boundary . '"');
-                       $this->add_message('This is a multi-part message in MIME format.' . LF);
-                       $this->constructMixed($boundary);
-               } elseif ($this->theParts['html']['content']) {
-                               // Generate plain/HTML mail
-                       $this->add_header('Content-Type: ' . $this->getHTMLContentType() . ';');
-                       $this->add_header(' boundary="' . $boundary . '"');
-                       $this->add_message('This is a multi-part message in MIME format.' . LF);
-                       $this->constructHTML($boundary);
-               } else {
-                               // Generate plain only
-                       $this->add_header($this->plain_text_header);
-                       $this->add_message($this->getContent('plain'));
-               }
-       }
-
-
-       /**
-        * This functions combines the plain / HTML content with the attachments
-        *
-        * @param       string          $boundary: the mail boundary
-        * @return      void
-        */
-       public function constructMixed($boundary) {
-               $this->add_message('--' . $boundary);
-
-               if ($this->theParts['html']['content']) {
-                               // HTML and plain is added
-                       $newBoundary = $this->getBoundary();
-                       $this->add_message('Content-Type: ' . $this->getHTMLContentType() . ';');
-                       $this->add_message(' boundary="' . $newBoundary . '"');
-                       $this->add_message('');
-                       $this->constructHTML($newBoundary);
-               } else {
-                               // Purely plain
-                       $this->add_message($this->plain_text_header);
-                       $this->add_message('');
-                       $this->add_message($this->getContent('plain'));
-               }
-                       // attachments are added
-               if (is_array($this->theParts['attach'])) {
-                       foreach ($this->theParts['attach'] as $media) {
-                               $this->add_message('--' . $boundary);
-                               $this->add_message('Content-Type: ' . $media['content_type'] . ';');
-                               $this->add_message(' name="' . $media['filename'] . '"');
-                               $this->add_message('Content-Transfer-Encoding: base64');
-                               $this->add_message('Content-Disposition: attachment;');
-                               $this->add_message(' filename="' . $media['filename'] . '"');
-                               $this->add_message('');
-                               $this->add_message($this->makeBase64($media['content']));
-                       }
-               }
-               $this->add_message('--' . $boundary . '--' . LF);
-       }
-
-
-       /**
-        * this function creates the HTML part of the mail
-        *
-        * @param       string          $boundary: the boundary to use
-        * @return      void
-        */
-       public function constructHTML($boundary) {
-                       // If media, then we know, the multipart/related content-type has been set before this function call
-               if (count($this->theParts['html']['media'])) {
-                       $this->add_message('--' . $boundary);
-                               // HTML has media
-                       $newBoundary = $this->getBoundary();
-                       $this->add_message('Content-Type: multipart/alternative;');
-                       $this->add_message(' boundary="' . $newBoundary . '"');
-                       $this->add_message('Content-Transfer-Encoding: 7bit');
-                       $this->add_message('');
-
-                               // Adding the plaintext/html mix, and use $newBoundary
-                       $this->constructAlternative($newBoundary);
-                       $this->constructHTML_media($boundary);
-               } else {
-                               // if no media, just use the $boundary for adding plaintext/html mix
-                       $this->constructAlternative($boundary);
-               }
-       }
-
-
-       /**
-        * Here plain is combined with HTML
-        *
-        * @param       string          $boundary: the boundary to use
-        * @return      void
-        */
-       public function constructAlternative($boundary) {
-               $this->add_message('--' . $boundary);
-
-                       // plain is added
-               $this->add_message($this->plain_text_header);
-               $this->add_message('');
-               $this->add_message($this->getContent('plain'));
-               $this->add_message('--' . $boundary);
-
-                       // html is added
-               $this->add_message($this->html_text_header);
-               $this->add_message('');
-               $this->add_message($this->getContent('html'));
-               $this->add_message('--' . $boundary . '--' . LF);
-       }
-
-
-       /**
-        * Constructs the HTML-part of message if the HTML contains media
-        *
-        * @param       string          $boundary: the boundary to use
-        * @return      void
-        */
-       public function constructHTML_media($boundary) {
-                       // media is added
-               if (is_array($this->theParts['html']['media'])) {
-                       foreach ($this->theParts['html']['media'] as $key => $media) {
-                               if (!$this->mediaList || t3lib_div::inList($this->mediaList, $key)) {
-                                       $this->add_message('--' . $boundary);
-                                       $this->add_message('Content-Type: ' . $media['ctype']);
-                                       $this->add_message('Content-ID: <part' . $key . '.' . $this->messageid . '>');
-                                       $this->add_message('Content-Transfer-Encoding: base64');
-                                       $this->add_message('');
-                                       $this->add_message($this->makeBase64($media['content']));
-                               }
-                       }
-               }
-               $this->add_message('--' . $boundary . '--' . LF);
-       }
-
-
-       /**
-        * Sends the mail by calling the mail() function in php. On Linux systems this will invoke the MTA
-        * defined in php.ini (sendmail -t -i by default), on Windows a SMTP must be specified in the sys.ini.
-        * Most common MTA's on Linux has a Sendmail interface, including Postfix and Exim.
-        * For setting the return-path correctly, the parameter -f has to be added to the system call to sendmail.
-        * This obviously does not have any effect on Windows, but on Sendmail compliant systems this works. If safe mode
-        * is enabled, then extra parameters is not allowed, so a safe mode check is made before the mail() command is
-        * invoked. When using the -f parameter, some MTA's will put an X-AUTHENTICATION-WARNING saying that
-        * the return path was modified manually with the -f flag. To disable this warning make sure that the user running
-        * Apache is in the /etc/mail/trusted-users table.
-        *
-        * POSTFIX: With postfix version below 2.0 there is a problem that the -f parameter can not be used in conjunction
-        * with -t. Postfix will give an error in the maillog:
-        *
-        *  cannot handle command-line recipients with -t
-        *
-        * The -f parameter is only enabled if the parameter forceReturnPath is enabled in the install tool.
-        *
-        * This whole problem of return-path turns out to be quite tricky. If you have a solution that works better, on all
-        * standard MTA's then we are very open for suggestions.
-        *
-        * With time this function should be made such that several ways of sending the mail is possible (local MTA, smtp other).
-        *
-        * @return      boolean         Returns whether the mail was sent (successfully accepted for delivery)
-        */
-       public function sendTheMail() {
-               $mailWasSent = FALSE;
-
-                       // Sending the mail requires the recipient and message to be set.
-               if (!trim($this->recipient) || !trim($this->message)) {
-                       return FALSE;
-               }
-
-                       // On windows the -f flag is not used (specific for Sendmail and Postfix),
-                       // but instead the php.ini parameter sendmail_from is used.
-               $returnPath = ($this->forceReturnPath && strlen($this->returnPath) > 0) ? '-f ' . escapeshellarg($this->returnPath) : '';
-               if (TYPO3_OS == 'WIN' && $this->returnPath) {
-                       @ini_set('sendmail_from', t3lib_div::normalizeMailAddress($this->returnPath));
-               }
-               $recipient = t3lib_div::normalizeMailAddress($this->recipient);
-
-               if ($this->forceReturnPath) {
-                       $mailWasSent = t3lib_utility_Mail::mail(
-                               $recipient,
-                               $this->subject,
-                               $this->message,
-                               $this->headers,
-                               $returnPath
-                       );
-               } else {
-                       $mailWasSent = t3lib_utility_Mail::mail(
-                               $recipient,
-                               $this->subject,
-                               $this->message,
-                               $this->headers
-                       );
-               }
-
-                       // Auto response
-               if ($this->auto_respond_msg) {
-                       $theParts = explode('/', $this->auto_respond_msg, 2);
-                       $theParts[0] = str_replace('###SUBJECT###', $this->subject, $theParts[0]);
-                       $theParts[1] = str_replace("/", LF, $theParts[1]);
-                       $theParts[1] = str_replace("###MESSAGE###", $this->getContent('plain'), $theParts[1]);
-                       if ($this->forceReturnPath) {
-                               $mailWasSent = t3lib_utility_Mail::mail(
-                                       $this->from_email,
-                                       $theParts[0],
-                                       $theParts[1],
-                                       'From: ' . $recipient . $this->linebreak . $this->plain_text_header,
-                                       $returnPath
-                               );
-                       } else {
-                               $mailWasSent = t3lib_utility_Mail::mail(
-                                       $this->from_email,
-                                       $theParts[0],
-                                       $theParts[1],
-                                       'From: ' . $recipient . $this->linebreak . $this->plain_text_header
-                               );
-                       }
-               }
-               if ($this->returnPath) {
-                       ini_restore('sendmail_from');
-               }
-               return $mailWasSent;
-       }
-
-
-       /**
-        * Returns boundaries
-        *
-        * @return      string  the boundary
-        */
-       public function getBoundary() {
-               $this->part++;
-               return "----------" . uniqid("part_" . $this->part . "_");
-       }
-
-
-       /**
-        * Sets the plain-text part. No processing done.
-        *
-        * @param       string          $content: the plain content
-        * @return      void
-        */
-       public function setPlain($content) {
-               $this->theParts['plain']['content'] = $content;
-       }
-
-
-       /**
-        * Sets the HTML-part. No processing done.
-        *
-        * @param       string          $content: the HTML content
-        * @return      void
-        */
-       public function setHtml($content) {
-               $this->theParts['html']['content'] = $content;
-       }
-
-
-       /**
-        * Adds a header to the mail. Use this AFTER the setHeaders()-function
-        *
-        * @param       string          $header: the header in form of "key: value"
-        * @return      void
-        */
-       public function add_header($header) {
-                       // Mail headers must be ASCII, therefore we convert the whole header to either base64 or quoted_printable
-               if (!$this->dontEncodeHeader && !stristr($header, 'Content-Type') && !stristr($header, 'Content-Transfer-Encoding')) {
-                               // Field tags must not be encoded
-                       $parts = explode(': ', $header, 2);
-                       if (count($parts) == 2) {
-                               $enc = $this->alt_base64 ? 'base64' : 'quoted_printable';
-                               $parts[1] = t3lib_div::encodeHeader($parts[1], $enc, $this->charset);
-                               $header = implode(': ', $parts);
-                       }
-               }
-
-               $this->headers .= $header . LF;
-       }
-
-
-       /**
-        * Adds a line of text to the mail-body. Is normally used internally
-        *
-        * @param       string          $msg: the message to add
-        * @return      void
-        */
-       public function add_message($msg) {
-               $this->message .= $msg . LF;
-       }
-
-
-       /**
-        * returns the content specified by the type (plain, html etc.)
-        *
-        * @param       string          $type: the content type, can either plain or html
-        * @return      void
-        */
-       public function getContent($type) {
-               return $this->theParts[$type]['content'];
-       }
-
-
-       /**
-        * shows a preview of the email of the headers and the message
-        *
-        * @return      void
-        */
-       public function preview() {
-               echo nl2br(htmlspecialchars($this->headers));
-               echo "<BR>";
-               echo nl2br(htmlspecialchars($this->message));
-       }
-
-
-       /****************************************************
-        *
-        * Functions for acquiring attachments, HTML, analyzing and so on  **
-        *
-        ***************************************************/
-
-       /**
-        * Fetches the HTML-content from either url og local serverfile
-        *
-        * @param       string          $file: the file to load
-        * @return      boolean         whether the data was fetched or not
-        */
-       public function fetchHTML($file) {
-                       // Fetches the content of the page
-               $this->theParts['html']['content'] = $this->getUrl($file);
-               if ($this->theParts['html']['content']) {
-                       $addr = $this->extParseUrl($file);
-                       $path = ($addr['scheme']) ? $addr['scheme'] . '://' . $addr['host'] . (($addr['port']) ? ':' . $addr['port'] : '') . (($addr['filepath']) ? $addr['filepath'] : '/') : $addr['filepath'];
-                       $this->theParts['html']['path'] = $path;
-                       return TRUE;
-               } else {
-                       return FALSE;
-               }
-       }
-
-
-       /**
-        * Fetches the mediafiles which are found by extractMediaLinks()
-        *
-        * @return      void
-        */
-       public function fetchHTMLMedia() {
-               if (!is_array($this->theParts['html']['media']) || !count($this->theParts['html']['media'])) {
-                       return;
-               }
-               foreach ($this->theParts['html']['media'] as $key => $media) {
-                               // fetching the content and the mime-type
-                       $picdata = $this->getExtendedURL($this->theParts['html']['media'][$key]['absRef']);
-                       if (is_array($picdata)) {
-                               $this->theParts['html']['media'][$key]['content'] = $picdata['content'];
-                               $this->theParts['html']['media'][$key]['ctype'] = $picdata['content_type'];
-                       }
-               }
-       }
-
-
-       /**
-        * extracts all media-links from $this->theParts['html']['content']
-        *
-        * @return      void
-        */
-       public function extractMediaLinks() {
-               $html_code = $this->theParts['html']['content'];
-               $attribRegex = $this->tag_regex(array('img', 'table', 'td', 'tr', 'body', 'iframe', 'script', 'input', 'embed'));
-
-                       // split the document by the beginning of the above tags
-               $codepieces = preg_split($attribRegex, $html_code);
-               $len = strlen($codepieces[0]);
-               $pieces = count($codepieces);
-               $reg = array();
-               for ($i = 1; $i < $pieces; $i++) {
-                       $tag = strtolower(strtok(substr($html_code, $len + 1, 10), ' '));
-                       $len += strlen($tag) + strlen($codepieces[$i]) + 2;
-                       $dummy = preg_match('/[^>]*/', $codepieces[$i], $reg);
-                       $attributes = $this->get_tag_attributes($reg[0]); // Fetches the attributes for the tag
-                       $imageData = array();
-
-                               // Finds the src or background attribute
-                       $imageData['ref'] = ($attributes['src'] ? $attributes['src'] : $attributes['background']);
-                       if ($imageData['ref']) {
-                                       // find out if the value had quotes around it
-                               $imageData['quotes'] = (substr($codepieces[$i], strpos($codepieces[$i], $imageData['ref']) - 1, 1) == '"') ? '"' : '';
-                                       // subst_str is the string to look for, when substituting lateron
-                               $imageData['subst_str'] = $imageData['quotes'] . $imageData['ref'] . $imageData['quotes'];
-                               if ($imageData['ref'] && !strstr($this->image_fullpath_list, "|" . $imageData["subst_str"] . "|")) {
-                                       $this->image_fullpath_list .= "|" . $imageData['subst_str'] . "|";
-                                       $imageData['absRef'] = $this->absRef($imageData['ref']);
-                                       $imageData['tag'] = $tag;
-                                       $imageData['use_jumpurl'] = $attributes['dmailerping'] ? 1 : 0;
-                                       $this->theParts['html']['media'][] = $imageData;
-                               }
-                       }
-               }
-
-                       // Extracting stylesheets
-               $attribRegex = $this->tag_regex(array('link'));
-                       // Split the document by the beginning of the above tags
-               $codepieces = preg_split($attribRegex, $html_code);
-               $pieces = count($codepieces);
-               for ($i = 1; $i < $pieces; $i++) {
-                       $dummy = preg_match('/[^>]*/', $codepieces[$i], $reg);
-                               // fetches the attributes for the tag
-                       $attributes = $this->get_tag_attributes($reg[0]);
-                       $imageData = array();
-                       if (strtolower($attributes['rel']) == 'stylesheet' && $attributes['href']) {
-                                       // Finds the src or background attribute
-                               $imageData['ref'] = $attributes['href'];
-                                       // Finds out if the value had quotes around it
-                               $imageData['quotes'] = (substr($codepieces[$i], strpos($codepieces[$i], $imageData['ref']) - 1, 1) == '"') ? '"' : '';
-                                       // subst_str is the string to look for, when substituting lateron
-                               $imageData['subst_str'] = $imageData['quotes'] . $imageData['ref'] . $imageData['quotes'];
-                               if ($imageData['ref'] && !strstr($this->image_fullpath_list, "|" . $imageData["subst_str"] . "|")) {
-                                       $this->image_fullpath_list .= "|" . $imageData["subst_str"] . "|";
-                                       $imageData['absRef'] = $this->absRef($imageData["ref"]);
-                                       $this->theParts['html']['media'][] = $imageData;
-                               }
-                       }
-               }
-
-                       // fixes javascript rollovers
-               $codepieces = explode('.src', $html_code);
-               $pieces = count($codepieces);
-               $expr = '/^[^' . quotemeta('"') . quotemeta("'") . ']*/';
-               for ($i = 1; $i < $pieces; $i++) {
-                       $temp = $codepieces[$i];
-                       $temp = trim(str_replace('=', '', trim($temp)));
-                       preg_match($expr, substr($temp, 1, strlen($temp)), $reg);
-                       $imageData['ref'] = $reg[0];
-                       $imageData['quotes'] = substr($temp, 0, 1);
-                               // subst_str is the string to look for, when substituting lateron
-                       $imageData['subst_str'] = $imageData['quotes'] . $imageData['ref'] . $imageData['quotes'];
-                       $theInfo = $this->split_fileref($imageData['ref']);
-
-                       switch ($theInfo['fileext']) {
-                               case 'gif':
-                               case 'jpeg':
-                               case 'jpg':
-                                       if ($imageData['ref'] && !strstr($this->image_fullpath_list, "|" . $imageData["subst_str"] . "|")) {
-                                               $this->image_fullpath_list .= "|" . $imageData['subst_str'] . "|";
-                                               $imageData['absRef'] = $this->absRef($imageData['ref']);
-                                               $this->theParts['html']['media'][] = $imageData;
-                                       }
-                                       break;
-                       }
-               }
-       }
-
-
-       /**
-        * extracts all hyper-links from $this->theParts["html"]["content"]
-        *
-        * @return      void
-        */
-       public function extractHyperLinks() {
-               $html_code = $this->theParts['html']['content'];
-               $attribRegex = $this->tag_regex(array('a', 'form', 'area'));
-               $codepieces = preg_split($attribRegex, $html_code); // Splits the document by the beginning of the above tags
-               $len = strlen($codepieces[0]);
-               $pieces = count($codepieces);
-               for ($i = 1; $i < $pieces; $i++) {
-                       $tag = strtolower(strtok(substr($html_code, $len + 1, 10), " "));
-                       $len += strlen($tag) + strlen($codepieces[$i]) + 2;
-
-                       $dummy = preg_match('/[^>]*/', $codepieces[$i], $reg);
-                               // Fetches the attributes for the tag
-                       $attributes = $this->get_tag_attributes($reg[0]);
-                       $hrefData = array();
-                       $hrefData['ref'] = ($attributes['href'] ? $attributes['href'] : $hrefData['ref'] = $attributes['action']);
-                       if ($hrefData['ref']) {
-                                       // Finds out if the value had quotes around it
-                               $hrefData['quotes'] = (substr($codepieces[$i], strpos($codepieces[$i], $hrefData["ref"]) - 1, 1) == '"') ? '"' : '';
-                                       // subst_str is the string to look for, when substituting lateron
-                               $hrefData['subst_str'] = $hrefData['quotes'] . $hrefData['ref'] . $hrefData['quotes'];
-                               if ($hrefData['ref'] && substr(trim($hrefData['ref']), 0, 1) != "#" && !strstr($this->href_fullpath_list, "|" . $hrefData['subst_str'] . "|")) {
-                                       $this->href_fullpath_list .= "|" . $hrefData['subst_str'] . "|";
-                                       $hrefData['absRef'] = $this->absRef($hrefData['ref']);
-                                       $hrefData['tag'] = $tag;
-                                       $this->theParts['html']['hrefs'][] = $hrefData;
-                               }
-                       }
-               }
-                       // Extracts TYPO3 specific links made by the openPic() JS function
-               $codepieces = explode("onClick=\"openPic('", $html_code);
-               $pieces = count($codepieces);
-               for ($i = 1; $i < $pieces; $i++) {
-                       $showpic_linkArr = explode("'", $codepieces[$i]);
-                       $hrefData['ref'] = $showpic_linkArr[0];
-                       if ($hrefData['ref']) {
-                               $hrefData['quotes'] = "'";
-                                       // subst_str is the string to look for, when substituting lateron
-                               $hrefData['subst_str'] = $hrefData['quotes'] . $hrefData['ref'] . $hrefData['quotes'];
-                               if ($hrefData['ref'] && !strstr($this->href_fullpath_list, "|" . $hrefData['subst_str'] . "|")) {
-                                       $this->href_fullpath_list .= "|" . $hrefData['subst_str'] . "|";
-                                       $hrefData['absRef'] = $this->absRef($hrefData['ref']);
-                                       $this->theParts['html']['hrefs'][] = $hrefData;
-                               }
-                       }
-               }
-       }
-
-
-       /**
-        * extracts all media-links from $this->theParts["html"]["content"]
-        *
-        * @return      array   two-dimensional array with information about each frame
-        */
-       public function extractFramesInfo() {
-               $htmlCode = $this->theParts['html']['content'];
-               $info = array();
-               if (strpos(' ' . $htmlCode, '<frame ')) {
-                       $attribRegex = $this->tag_regex('frame');
-                               // Splits the document by the beginning of the above tags
-                       $codepieces = preg_split($attribRegex, $htmlCode, 1000000);
-                       $pieces = count($codepieces);
-                       for ($i = 1; $i < $pieces; $i++) {
-                               $dummy = preg_match('/[^>]*/', $codepieces[$i], $reg);
-                                       // Fetches the attributes for the tag
-                               $attributes = $this->get_tag_attributes($reg[0]);
-                               $frame = array();
-                               $frame['src'] = $attributes['src'];
-                               $frame['name'] = $attributes['name'];
-                               $frame['absRef'] = $this->absRef($frame['src']);
-                               $info[] = $frame;
-                       }
-                       return $info;
-               }
-       }
-
-
-       /**
-        * This function substitutes the media-references in $this->theParts["html"]["content"]
-        *
-        * @param       boolean         $absolute: If TRUE, then the refs are substituted with http:// ref's indstead of Content-ID's (cid).
-        * @return      void
-        */
-       public function substMediaNamesInHTML($absolute) {
-               if (is_array($this->theParts['html']['media'])) {
-                       foreach ($this->theParts['html']['media'] as $key => $val) {
-                               if ($val['use_jumpurl'] && $this->jumperURL_prefix) {
-                                       $subst = $this->jumperURL_prefix . t3lib_div::rawUrlEncodeFP($val['absRef']);
-                               } else {
-                                       $subst = ($absolute) ? $val['absRef'] : 'cid:part' . $key . '.' . $this->messageid;
-                               }
-                               $this->theParts['html']['content'] = str_replace(
-                                       $val['subst_str'],
-                                       $val['quotes'] . $subst . $val['quotes'],
-                                       $this->theParts['html']['content']);
-                       }
-               }
-               if (!$absolute) {
-                       $this->fixRollOvers();
-               }
-       }
-
-
-       /**
-        * This function substitutes the hrefs in $this->theParts["html"]["content"]
-        *
-        * @return      void
-        */
-       public function substHREFsInHTML() {
-               if (!is_array($this->theParts['html']['hrefs'])) {
-                       return;
-               }
-               foreach ($this->theParts['html']['hrefs'] as $key => $val) {
-                               // Form elements cannot use jumpurl!
-                       if ($this->jumperURL_prefix && $val['tag'] != 'form') {
-                               if ($this->jumperURL_useId) {
-                                       $substVal = $this->jumperURL_prefix . $key;
-                               } else {
-                                       $substVal = $this->jumperURL_prefix . t3lib_div::rawUrlEncodeFP($val['absRef']);
-                               }
-                       } else {
-                               $substVal = $val['absRef'];
-                       }
-                       $this->theParts['html']['content'] = str_replace(
-                               $val['subst_str'],
-                               $val['quotes'] . $substVal . $val['quotes'],
-                               $this->theParts['html']['content']);
-               }
-       }
-
-
-       /**
-        *  This substitutes the http:// urls in plain text with links
-        *
-        * @param       string          $content: the content to use to substitute
-        * @return      string          the changed content
-        */
-       public function substHTTPurlsInPlainText($content) {
-               if (!$this->jumperURL_prefix) {
-                       return $content;
-               }
-
-               $textpieces = explode("http://", $content);
-               $pieces = count($textpieces);
-               $textstr = $textpieces[0];
-               for ($i = 1; $i < $pieces; $i++) {
-                       $len = strcspn($textpieces[$i], chr(32) . TAB . CRLF);
-                       if (trim(substr($textstr, -1)) == '' && $len) {
-                               $lastChar = substr($textpieces[$i], $len - 1, 1);
-                               if (!preg_match('/[A-Za-z0-9\/#]/', $lastChar)) {
-                                       $len--;
-                               }
-
-                               $parts = array();
-                               $parts[0] = "http://" . substr($textpieces[$i], 0, $len);
-                               $parts[1] = substr($textpieces[$i], $len);
-
-                               if ($this->jumperURL_useId) {
-                                       $this->theParts['plain']['link_ids'][$i] = $parts[0];
-                                       $parts[0] = $this->jumperURL_prefix . '-' . $i;
-                               } else {
-                                       $parts[0] = $this->jumperURL_prefix . t3lib_div::rawUrlEncodeFP($parts[0]);
-                               }
-                               $textstr .= $parts[0] . $parts[1];
-                       } else {
-                               $textstr .= 'http://' . $textpieces[$i];
-                       }
-               }
-               return $textstr;
-       }
-
-
-       /**
-        * JavaScript rollOvers cannot support graphics inside of mail.
-        * If these exists we must let them refer to the absolute url. By the way:
-        * Roll-overs seems to work only on some mail-readers and so far I've seen it
-        * work on Netscape 4 message-center (but not 4.5!!)
-        *
-        * @return      void
-        */
-       public function fixRollOvers() {
-               $newContent = '';
-               $items = explode('.src', $this->theParts['html']['content']);
-               if (count($items) <= 1) {
-                       return;
-               }
-
-               foreach ($items as $key => $part) {
-                       $sub = substr($part, 0, 200);
-                       if (preg_match('/cid:part[^ "\']*/', $sub, $reg)) {
-                                       // The position of the string
-                               $thePos = strpos($part, $reg[0]);
-                                       // Finds the id of the media...
-                               preg_match('/cid:part([^\.]*).*/', $sub, $reg2);
-                               $theSubStr = $this->theParts['html']['media'][intval($reg2[1])]['absRef'];
-                               if ($thePos && $theSubStr) {
-                                               // ... and substitutes the javaScript rollover image with this instead
-                                               // If the path is NOT and url, the reference is set to nothing
-                                       if (!strpos(' ' . $theSubStr, 'http://')) {
-                                               $theSubStr = 'http://';
-                                       }
-                                       $part = substr($part, 0, $thePos) . $theSubStr . substr($part, $thePos + strlen($reg[0]), strlen($part));
-                               }
-                       }
-                       $newContent .= $part . ((($key + 1) != count($items)) ? '.src' : '');
-               }
-               $this->theParts['html']['content'] = $newContent;
-       }
-
-
-       /*******************************************
-        *
-        * File and URL-functions
-        *
-        *******************************************/
-
-       /**
-        * Returns base64-encoded content, which is broken every 76 character
-        *
-        * @param       string          $inputstr: the string to encode
-        * @return      string          the encoded string
-        */
-       public function makeBase64($inputstr) {
-               return chunk_split(base64_encode($inputstr));
-       }
-
-
-       /**
-        * reads the URL or file and determines the Content-type by either guessing or opening a connection to the host
-        *
-        * @param       string          $url: the URL to get information of
-        * @return      mixed           either FALSE or the array with information
-        */
-       public function getExtendedURL($url) {
-               $res = array();
-               $res['content'] = $this->getUrl($url);
-               if (!$res['content']) {
-                       return FALSE;
-               }
-               $pathInfo = parse_url($url);
-               $fileInfo = $this->split_fileref($pathInfo['path']);
-               switch ($fileInfo['fileext']) {
-                       case 'gif':
-                       case 'png':
-                               $res['content_type'] = 'image/' . $fileInfo['fileext'];
-                               break;
-                       case 'jpg':
-                       case 'jpeg':
-                               $res['content_type'] = 'image/jpeg';
-                               break;
-                       case 'html':
-                       case 'htm':
-                               $res['content_type'] = 'text/html';
-                               break;
-                       case 'css':
-                               $res['content_type'] = 'text/css';
-                               break;
-                       case 'swf':
-                               $res['content_type'] = 'application/x-shockwave-flash';
-                               break;
-                       default:
-                               $res['content_type'] = $this->getMimeType($url);
-               }
-               return $res;
-       }
-
-
-       /**
-        * Adds HTTP user and password (from $this->http_username) to a URL
-        *
-        * @param       string          $url: the URL
-        * @return      string          the URL with the added values
-        */
-       public function addUserPass($url) {
-               $user = $this->http_username;
-               $pass = $this->http_password;
-               $matches = array();
-               if ($user && $pass && preg_match('/^(https?:\/\/)/', $url, $matches)) {
-                       return $matches[1] . $user . ':' . $pass . '@' . substr($url, strlen($matches[1]));
-               }
-               return $url;
-       }
-
-
-       /**
-        * reads a url or file
-        *
-        * @param       string          $url: the URL to fetch
-        * @return      string          the content of the URL
-        */
-       public function getUrl($url) {
-               $url = $this->addUserPass($url);
-               return t3lib_div::getUrl($url);
-       }
-
-
-       /**
-        * reads a url or file and strips the HTML-tags AND removes all
-        * empty lines. This is used to read plain-text out of a HTML-page
-        *
-        * @param       string          $url: the URL to load
-        * @return      the content
-        */
-       public function getStrippedURL($url) {
-               $content = '';
-               if ($fd = fopen($url, "rb")) {
-                       while (!feof($fd)) {
-                               $line = fgetss($fd, 5000);
-                               if (trim($line)) {
-                                       $content .= trim($line) . LF;
-                               }
-                       }
-                       fclose($fd);
-               }
-               return $content;
-       }
-
-
-       /**
-        * This function returns the mime type of the file specified by the url
-        *
-        * @param       string          $url: the url
-        * @return      string          $mimeType: the mime type found in the header
-        */
-       public function getMimeType($url) {
-               $mimeType = '';
-               $headers = trim(t3lib_div::getUrl($url, 2));
-               if ($headers) {
-                       $matches = array();
-                       if (preg_match('/(Content-Type:[\s]*)([a-zA-Z_0-9\/\-\.\+]*)([\s]|$)/', $headers, $matches)) {
-                               $mimeType = trim($matches[2]);
-                       }
-               }
-               return $mimeType;
-       }
-
-
-       /**
-        * Returns the absolute address of a link. This is based on
-        * $this->theParts["html"]["path"] being the root-address
-        *
-        * @param       string          $ref: address to use
-        * @return      string          the absolute address
-        */
-       public function absRef($ref) {
-               $ref = trim($ref);
-               $info = parse_url($ref);
-               if ($info['scheme']) {
-                       return $ref;
-               } elseif (preg_match('/^\//', $ref)) {
-                       $addr = parse_url($this->theParts['html']['path']);
-                       return $addr['scheme'] . '://' . $addr['host'] . ($addr['port'] ? ':' . $addr['port'] : '') . $ref;
-               } else {
-                               // If the reference is relative, the path is added, in order for us to fetch the content
-                       return $this->theParts['html']['path'] . $ref;
-               }
-       }
-
-
-       /**
-        * Returns information about a file reference
-        *
-        * @param       string          $fileref: the file to use
-        * @return      array           path, filename, filebody, fileext
-        */
-       public function split_fileref($fileref) {
-               $info = array();
-               if (preg_match('/(.*\/)(.*)$/', $fileref, $reg)) {
-                       $info['path'] = $reg[1];
-                       $info['file'] = $reg[2];
-               } else {
-                       $info['path'] = '';
-                       $info['file'] = $fileref;
-               }
-               $reg = '';
-               if (preg_match('/(.*)\.([^\.]*$)/', $info['file'], $reg)) {
-                       $info['filebody'] = $reg[1];
-                       $info['fileext'] = strtolower($reg[2]);
-                       $info['realFileext'] = $reg[2];
-               } else {
-                       $info['filebody'] = $info['file'];
-                       $info['fileext'] = '';
-               }
-               return $info;
-       }
-
-
-       /**
-        * Returns an array with file or url-information
-        *
-        * @param       string          $path: url to check
-        * @return      array           information about the path / URL
-        */
-       public function extParseUrl($path) {
-               $res = parse_url($path);
-               preg_match('/(.*\/)([^\/]*)$/', $res['path'], $reg);
-               $res['filepath'] = $reg[1];
-               $res['filename'] = $reg[2];
-               return $res;
-       }
-
-
-       /**
-        * Creates a regular expression out of a list of tags
-        *
-        * @param       mixed           $tagArray: the list of tags (either as array or string if it is one tag)
-        * @return      string          the regular expression
-        */
-       public function tag_regex($tags) {
-               $tags = (!is_array($tags) ? array($tags) : $tags);
-               $regexp = '/';
-               $c = count($tags);
-               foreach ($tags as $tag) {
-                       $c--;
-                       $regexp .= '<' . $tag . '[[:space:]]' . (($c) ? '|' : '');
-               }
-               return $regexp . '/i';
-       }
-
-
-       /**
-        * This function analyzes a HTML tag
-        * If an attribute is empty (like OPTION) the value of that key is just empty. Check it with is_set();
-        *
-        * @param       string          $tag: is either like this "<TAG OPTION ATTRIB=VALUE>" or
-        *                               this " OPTION ATTRIB=VALUE>" which means you can omit the tag-name
-        * @return      array           array with attributes as keys in lower-case
-        */
-       public function get_tag_attributes($tag) {
-               $attributes = array();
-               $tag = ltrim(preg_replace('/^<[^ ]*/', '', trim($tag)));
-               $tagLen = strlen($tag);
-               $safetyCounter = 100;
-                       // Find attribute
-               while ($tag) {
-                       $value = '';
-                       $reg = preg_split('/[[:space:]=>]/', $tag, 2);
-                       $attrib = $reg[0];
-
-                       $tag = ltrim(substr($tag, strlen($attrib), $tagLen));
-                       if (substr($tag, 0, 1) == '=') {
-                               $tag = ltrim(substr($tag, 1, $tagLen));
-                               if (substr($tag, 0, 1) == '"') {
-                                               // Quotes around the value
-                                       $reg = explode('"', substr($tag, 1, $tagLen), 2);
-                                       $tag = ltrim($reg[1]);
-                                       $value = $reg[0];
-                               } else {
-                                               // No quotes around value
-                                       preg_match('/^([^[:space:]>]*)(.*)/', $tag, $reg);
-                                       $value = trim($reg[1]);
-                                       $tag = ltrim($reg[2]);
-                                       if (substr($tag, 0, 1) == '>') {
-                                               $tag = '';
-                                       }
-                               }
-                       }
-                       $attributes[strtolower($attrib)] = $value;
-                       $safetyCounter--;
-                       if ($safetyCounter < 0) {
-                               break;
-                       }
-               }
-               return $attributes;
-       }
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_htmlmail.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_htmlmail.php']);
-}
-
-?>
\ No newline at end of file
index 2641b16..eccf39a 100644 (file)
@@ -169,12 +169,10 @@ final class t3lib_iconWorks {
 
                        // First, find the icon file name. This can depend on configuration in TCA, field values and more:
                if ($table == 'pages') {
-                       if (!$iconfile = $GLOBALS['PAGES_TYPES'][$row['doktype']]['icon']) {
+                       $iconfile = $GLOBALS['PAGES_TYPES'][$row['doktype']]['icon'];
+                       if (!$iconfile) {
                                $iconfile = $GLOBALS['PAGES_TYPES']['default']['icon'];
                        }
-                       if ($row['module'] && $GLOBALS['ICON_TYPES'][$row['module']]['icon']) {
-                               $iconfile = $GLOBALS['ICON_TYPES'][$row['module']]['icon'];
-                       }
                } else {
                        if (!$iconfile = $GLOBALS['TCA'][$table]['ctrl']['typeicons'][$row[$GLOBALS['TCA'][$table]['ctrl']['typeicon_column']]]) {
                                $iconfile = (($GLOBALS['TCA'][$table]['ctrl']['iconfile']) ? $GLOBALS['TCA'][$table]['ctrl']['iconfile'] : $table . '.gif');
index fa2e83b..35a16aa 100644 (file)
@@ -71,9 +71,6 @@ class t3lib_SpriteManager {
                        t3lib_div::mkdir(PATH_site . self::$tempPath);
                }
 
-                       // Backwards compatibility handling for API calls <= 4.3, will be removed in 4.7
-               $this->compatibilityCalls();
-
                        // Create cache filename, the hash includes all icons, registered CSS styles registered and the extension list
                $this->tempFileName = PATH_site . self::$tempPath .
                                                          md5(serialize($GLOBALS['TBE_STYLES']['spritemanager']) .
@@ -146,38 +143,6 @@ class t3lib_SpriteManager {
        }
 
        /**
-        * Backwards compatibility methods, log usage to deprecation log.
-        *
-        * @return void
-        * @deprecated since TYPO3 4.4: Will be removed in 4.7
-        */
-       private function compatibilityCalls() {
-                       // Fallback for $TYPE_ICONS "contains-module" icons
-               foreach ((array) $GLOBALS['ICON_TYPES'] as $module => $icon) {
-                       $iconFile = $icon['icon'];
-                       t3lib_div::deprecationLog('Usage of $ICON_TYPES is deprecated since 4.4.' . LF .
-                                                                         'The extTables.php entry $ICON_TYPES[\'' . $module . '\'] = \'' . $iconFile . '\'; should be replaced with' . LF .
-                                                                         't3lib_SpriteManager::addTcaTypeIcon(\'pages\', \'contains-' . $module . '\', \'' . $iconFile . '\');' . LF .
-                                                                         'instead.'
-                       );
-                       t3lib_SpriteManager::addTcaTypeIcon('pages', 'contains-' . $module, $iconFile);
-               }
-
-                       // Fallback for $PAGE_TYPES icons
-               foreach ((array) $GLOBALS['PAGES_TYPES'] as $type => $icon) {
-                       if (isset($icon['icon'])) {
-                               $iconFile = $icon['icon'];
-                               t3lib_div::deprecationLog('Usage of $PAGES_TYPES[\'icon\'] is deprecated since 4.4.' . LF .
-                                                                                 'The extTables.php entry $PAGE_TYPES[\'' . $type . '\'][\'icon\'] = \'' . $iconFile . '\'; should be replaced with' . LF .
-                                                                                 't3lib_SpriteManager::addTcaTypeIcon(\'pages\', \'' . $type . '\', \'' . $iconFile . '\');' . LF .
-                                                                                 'instead.'
-                               );
-                               t3lib_SpriteManager::addTcaTypeIcon('pages', $module, $iconFile);
-                       }
-               }
-       }
-
-       /**
         * Include cache file if exists
         *
         * @return void
index 1b02645..2f14826 100644 (file)
@@ -4404,7 +4404,7 @@ class t3lib_TCEforms {
        function getDynTabMenu($parts, $idString, $dividersToTabsBehaviour = 1) {
                if (is_object($GLOBALS['TBE_TEMPLATE'])) {
                        $GLOBALS['TBE_TEMPLATE']->backPath = $this->backPath;
-                       return $GLOBALS['TBE_TEMPLATE']->getDynTabMenu($parts, $idString, 0, FALSE, 0, 1, FALSE, 1, $dividersToTabsBehaviour);
+                       return $GLOBALS['TBE_TEMPLATE']->getDynTabMenu($parts, $idString, 0, FALSE, 1, FALSE, 1, $dividersToTabsBehaviour);
                } else {
                        $output = '';
                        foreach ($parts as $singlePad) {
@@ -5110,124 +5110,6 @@ class t3lib_TCEforms {
                return $out;
        }
 
-
-       /**
-        * Returns help-text ICON if configured for.
-        *
-        * @param       string          The table name
-        * @param       string          The field name
-        * @param       boolean         Force the return of the help-text icon.
-        * @return      string          HTML, <a>-tag with
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function helpTextIcon($table, $field, $force = 0) {
-               t3lib_div::logDeprecatedFunction();
-               if ($this->globalShowHelp && $GLOBALS['TCA_DESCR'][$table]['columns'][$field] && (($this->edit_showFieldHelp == 'icon' && !$this->doLoadTableDescr($table)) || $force)) {
-                       return t3lib_BEfunc::helpTextIcon($table, $field, $this->backPath, $force);
-               } else {
-                               // Detects fields with no CSH and outputs dummy line to insert into CSH locallang file:
-                       return '<span class="nbsp">&nbsp;</span>';
-               }
-       }
-
-       /**
-        * Returns help text DESCRIPTION, if configured for.
-        *
-        * @param       string          The table name
-        * @param       string          The field name
-        * @return      string
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function helpText($table, $field) {
-               t3lib_div::logDeprecatedFunction();
-               if ($this->globalShowHelp && $GLOBALS['TCA_DESCR'][$table]['columns'][$field] && ($this->edit_showFieldHelp == 'text' || $this->doLoadTableDescr($table))) {
-                       $fDat = $GLOBALS['TCA_DESCR'][$table]['columns'][$field];
-                       return '<table border="0" cellpadding="2" cellspacing="0" width="90%"><tr><td valign="top" width="14">' .
-                                  $this->helpTextIcon(
-                                          $table,
-                                          $field,
-                                          $fDat['details'] || $fDat['syntax'] || $fDat['image_descr'] || $fDat['image'] || $fDat['seeAlso']
-                                  ) .
-                                  '</td><td valign="top"><span class="typo3-TCEforms-helpText">' .
-                                  htmlspecialchars(strip_tags($fDat['description'])) .
-                                  '</span></td></tr></table>';
-               }
-       }
-
-       /**
-        * Returns help-text ICON if configured for.
-        *
-        * @param       string          Field name
-        * @param       string          Field title
-        * @param       string          File name with CSH labels
-        * @return      string          HTML, <a>-tag with
-        * @deprecated since TYPO3 4.5, this function will be removed in TYPO3 4.7. Use t3lib_BEfunc::wrapInHelp() instead.
-        */
-       function helpTextIcon_typeFlex($field, $fieldTitle, $cshFile) {
-               t3lib_div::logDeprecatedFunction();
-               if ($this->globalShowHelp && $cshFile) {
-                       $value = $GLOBALS['LANG']->sL($cshFile . ':' . $field . '.description');
-                       if (trim($value)) {
-                               if (substr($fieldTitle, -1, 1) == ':') {
-                                       $fieldTitle = substr($fieldTitle, 0, strlen($fieldTitle) - 1);
-                               }
-
-                                       // Hover popup textbox with alttitle and description
-                               if ($this->edit_showFieldHelp == 'icon') {
-                                       $arrow = t3lib_iconWorks::getSpriteIcon('actions-view-go-forward');
-                                               // add description text
-                                       $hoverText = '<span class="paragraph">' . nl2br(htmlspecialchars($value)) . $arrow . '</span>';
-                                               // put header before the rest of the text
-                                       $alttitle = $GLOBALS['LANG']->sL($cshFile . ':' . $field . '.alttitle');
-                                       if ($alttitle) {
-                                               $hoverText = '<span class="header">' . $alttitle . '</span><br />' . $hoverText;
-                                       }
-                                       $hoverText = '<span class="typo3-csh-inline">' . $hoverText . '</span>';
-                               }
-
-                                       // CSH exists
-                               $params = base64_encode(serialize(array(
-                                                                                                          'cshFile' => $cshFile,
-                                                                                                          'field' => $field,
-                                                                                                          'title' => $fieldTitle
-                                                                                                 )));
-                               $aOnClick = 'vHWin=window.open(\'' . $this->backPath . 'view_help.php?ffID=' . $params . '\',\'viewFieldHelp\',\'height=400,width=600,status=0,menubar=0,scrollbars=1\');vHWin.focus();return false;';
-                               return '<a href="#" class="typo3-csh-link" onclick="' . htmlspecialchars($aOnClick) . '">' .
-                                          t3lib_iconWorks::getSpriteIcon('actions-system-help-open') . $hoverText .
-                                          '</a>';
-                       }
-               }
-               return '';
-       }
-
-       /**
-        * Returns help text DESCRIPTION, if configured for.
-        *
-        * @param       string          Field name
-        * @param       string          CSH file name
-        * @return      string          Description for the field with cion or empty string
-        * @deprecated since TYPO3 4.5, this function will be removed in TYPO3 4.7. Use t3lib_BEfunc::wrapInHelp() instead.
-        */
-       function helpText_typeFlex($field, $fieldTitle, $cshFile) {
-               t3lib_div::logDeprecatedFunction();
-               if ($this->globalShowHelp && $cshFile && $this->edit_showFieldHelp == 'text') {
-                       $value = $GLOBALS['LANG']->sL($cshFile . ':' . $field . '.description');
-                       if (trim($value)) {
-                               return '<table border="0" cellpadding="2" cellspacing="0" width="90%"><tr><td valign="top" width="14">' .
-                                          $this->helpTextIcon_typeFlex(
-                                                  $field,
-                                                  $fieldTitle,
-                                                  $cshFile
-                                          ) .
-                                          '</td><td valign="top"><span class="typo3-TCEforms-helpText-flexform">' .
-                                          htmlspecialchars(strip_tags($value)) .
-                                          '</span></td></tr></table>';
-                       }
-               }
-               return '';
-       }
-
-
        /**
         * Setting the current color scheme ($this->colorScheme) based on $this->defColorScheme plus input string.
         *
index 2367eef..3a9bdd1 100644 (file)
@@ -711,8 +711,7 @@ class t3lib_TCEmain {
                                                                if ($status == 'new') {
                                                                        if ($createNewVersion) { // This creates a new version of the record with online placeholder and offline version
                                                                                $versioningType = ($table === 'pages'
-                                                                                       ? $this->BE_USER->workspaceVersioningTypeGetClosest(
-                                                                                               t3lib_utility_Math::forceIntegerInRange($GLOBALS['TYPO3_CONF_VARS']['BE']['newPagesVersioningType'], -1, 1))
+                                                                                       ? $this->BE_USER->workspaceVersioningTypeGetClosest(-1)
                                                                                        : -1);
                                                                                if ($this->BE_USER->workspaceVersioningTypeAccess($versioningType)) {
                                                                                        $newVersion_placeholderFieldArray['t3ver_label'] = 'INITIAL PLACEHOLDER';
index 66b00c1..6b34fef 100644 (file)
@@ -493,43 +493,6 @@ class t3lib_timeTrack {
                        $arr[] = $uniqueId;
                }
        }
-
-       /**
-        * This prints out a TYPO3 error message.
-        *
-        * @param       string          Header string
-        * @param       string          Message string
-        * @param       boolean         If set, then this will produce a alert() line for inclusion in JavaScript.
-        * @param       string          URL for the <base> tag (if you want it)
-        * @return      string
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - use RuntimeException from now on
-        */
-       public function debug_typo3PrintError($header, $text, $js, $baseUrl = '') {
-               if ($js) {
-                       $errorMessage = 'alert(\'' . t3lib_div::slashJS($header . '\n' . $text) . '\');';
-               } else {
-                       t3lib_div::logDeprecatedFunction();
-                       $messageObj = t3lib_div::makeInstance('t3lib_message_ErrorPageMessage', $text, $header);
-                       $errorMessage = $messageObj->render();
-               }
-
-                       // Hook to modify error message
-               if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_timetrack.php']['debug_typo3PrintError'])) {
-                       $params = array(
-                               'header' => $header,
-                               'text' => $text,
-                               'js' => $js,
-                               'baseUrl' => $baseUrl,
-                               'errorMessage' => &$errorMessage
-                       );
-                       $null = NULL;
-                       foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_timetrack.php']['debug_typo3PrintError'] as $hookMethod) {
-                               t3lib_div::callUserFunction($hookMethod, $params, $null);
-                       }
-               }
-
-               echo $errorMessage;
-       }
 }
 
 // XCLASSing is not possible for this class
index d552388..bc31a5c 100644 (file)
@@ -650,12 +650,7 @@ abstract class t3lib_userAuthGroup extends t3lib_userAuth {
         * @return      boolean
         */
        function mayMakeShortcut() {
-                       // "Shortcuts" have been renamed to "Bookmarks"
-                       // @deprecated remove shortcuts code in TYPO3 4.7
-               return ($this->getTSConfigVal('options.enableShortcuts')
-                               || $this->getTSConfigVal('options.enableBookmarks'))
-                          && (!$this->getTSConfigVal('options.mayNotCreateEditShortcuts')
-                                  && !$this->getTSConfigVal('options.mayNotCreateEditBookmarks'));
+               return $this->getTSConfigVal('options.enableBookmarks') && !$this->getTSConfigVal('options.mayNotCreateEditBookmarks');
        }
 
        /**
@@ -913,7 +908,7 @@ abstract class t3lib_userAuthGroup extends t3lib_userAuth {
                $type = t3lib_utility_Math::forceIntegerInRange($type, -1);
 
                        // Check if only element versioning is allowed:
-               if ($GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'] && $type != -1) {
+               if ($type != -1) {
                        return FALSE;
                }
 
index 22ab30f..79e6e41 100644 (file)
@@ -109,7 +109,6 @@ $TYPO3_CONF_VARS = array(
                'setDBinit' => '-1',                                            // String (textarea): Commands to send to database right after connecting, separated by newline. Ignored by the DBAL extension except for the 'native' type!
                'dbClientCompress' => FALSE,                    // Boolean: if TRUE, data exchange between TYPO3 and database server will be compressed. This may improve performance if (1) database serever is on the different server and (2) network connection speed to database server is 100mbps or less. CPU usage will be higher if this option is used but database operations will be executed faster due to much less (up to 3 times) database network traffic. This option has no effect if MySQL server is localhost.
                'setMemoryLimit' => 0,                                  // Integer: memory_limit in MB: If more than 16, TYPO3 will try to use ini_set() to set the memory limit of PHP to the value. This works only if the function ini_set() is not disabled by your sysadmin.
-               'forceReturnPath' => FALSE,                             // Boolean: <em>Note: This option is deprecated as of TYPO3 4.5 together with t3lib_htmlmail. This behaviour is the default using the new t3lib_mail methods.</em> Force return path to be applied in mail() calls. If this is set, all calls to mail() done by t3lib_htmlmail will be called with '-f&lt;return_path&gt; as the 5th parameter. This will make the return path correct on almost all Unix systems. There is a known problem with Postfix below version 2: Mails are not sent if this option is set and Postfix is used. On Windows platforms, the return path is set via a call to ini_set.
                'serverTimeZone' => 1,                                  // Integer: GMT offset of servers time (from time()). Default is "1" which is "GMT+1" (central european time). This value can be used in extensions that are GMT aware and wants to convert times to/from other timezones.
                'phpTimeZone' => '',                                    // String: timezone to force for all date() and mktime() functions. A list of supported values can be found at <a href="http://php.net/manual/en/timezones.php" target="_blank">php.net</a>. If this is not set, a valid fallback will be searched for by PHP (php.ini's <a href="http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone" target="_blank">date.timezone</a> setting, server defaults, etc); and if no fallback is found, the value of "UTC" is used instead.
                'systemLog' => '',                                              // <p>String: semi-colon separated list. Defines one or more logging methods. Possible methods:</p><dl><dt>file,&lt;abs-path-to-file&gt;[,&lt;level&gt;]</dt><dd>logs to a file</dd><dt>mail,&lt;to&gt;[/&lt;from&gt;][,&lt;level&gt;]</dt><dd>sends the log entries via mail</dd><dt>syslog,&lt;facility&gt;,[,&lt;level&gt;]</dt><dd>uses the operating system's log. Facility may be one of LOCAL0..LOCAL7, USER (on Windows USER is the only valid type).</dd><dt>error_log[,,&lt;level&gt;]</dt><dd>uses the PHP error log</dd></dl><p>The &lt;level&gt; is the individual logging level (see <a href="#SYS-systemLogLevel">[SYS][systemLogLevel]</a>).</p>
@@ -468,7 +467,6 @@ $TYPO3_CONF_VARS = array(
 //                     'group' => '',                                          // default in tce_main is 'show,edit,new,editcontent'. If this is set (uncomment), this value is used instead.
 //                     'everybody' => ''                                       // default in tce_main is ''. If this is set (uncomment), this value is used instead.
                ),
-               'newPagesVersioningType' => -1,                 // Integer: Default versioning type for new pages create as versions. -1 means "element", 0 means "page", 1 means "branch". If using enything else than -1 ("element") here you also have to set "elementVersioningOnly=FALSE" . 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.
                'defaultUC' => array (                                  // Override default settings for BE-users. See class.t3lib_beuserauth.php, array $uc_default
                ),
                        // The control of fileextensions goes in two catagories. Webspace and Ftpspace. Webspace is folders accessible from a webbrowser (below TYPO3_DOCUMENT_ROOT) and ftpspace is everything else.
@@ -494,7 +492,6 @@ $TYPO3_CONF_VARS = array(
                'compactFlexFormXML' => 0,                              // If set, the flexform XML will not contain indentation spaces making XML more compact
                'flexformForceCDATA' => 0,                              // Boolean:  If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.
                'explicitConfirmationOfTranslation' => FALSE,   // If set, then the diff-data of localized records is not saved automatically when updated but requires that a translator clicks the special finish_translation/save/close button that becomes available.
-               '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.
                'debug' => FALSE,                       // Boolean: If set, the loginrefresh is disabled and pageRenderer is set to debug mode. Use this to debug the backend only!
@@ -588,7 +585,6 @@ $TYPO3_CONF_VARS = array(
                'transport_smtp_password' => '',                // String: <em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your password here.
                'transport_sendmail_command' => '/usr/sbin/sendmail -bs',       // String: <em>only with transport=sendmail</em>: The command to call to send a mail locally. The default works on most modern UNIX based mail server (sendmail, postfix, exim)
                'transport_mbox_file' => '',    // String: <em>only with transport=mbox</em>: The file where to write the mails into. This file will be conforming the mbox format described in RFC 4155. It is a simple text file with a concatenation of all mails. Path must be absolute.
-               'substituteOldMailAPI' => 1,    // Boolean: If this is set, old calls to t3lib_utility_mail::Mail() will be translated to new t3lib_mail calls. This should work on most cases and thus respect the above transport settings. If you get garbled emails (or no attachments), consider setting this off. Ask the extension author to upgrade their code to make use of t3lib_mail (instead of the deprecated t3lib_htmlmail).
                'defaultMailFromAddress' => '',                 // String: This default email address is used when no other "from" address is set for a TYPO3-generated email. You can specify an email address only (ex. info@example.org).
                'defaultMailFromName' => '',                    // String: This default name is used when no other "from" name is set for a TYPO3-generated email.
        ),
@@ -1005,9 +1001,7 @@ $TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler'] = $TYPO3_CONF_VARS[
 $TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors'] = $TYPO3_CONF_VARS['SYS']['exceptionalErrors'];
 
        // Mail sending via Swift Mailer
-if ($TYPO3_CONF_VARS['MAIL']['substituteOldMailAPI']) {
-       $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery'][] = 't3lib_mail_SwiftMailerAdapter';
-}
+$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery'][] = 't3lib_mail_SwiftMailerAdapter';
 
        // Turn error logging on/off.
 if (($displayErrors = intval($TYPO3_CONF_VARS['SYS']['displayErrors'])) != '-1')       {
@@ -1089,7 +1083,6 @@ define('TYPO3_EXCEPTION_DLOG', $GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_except
        // Unsetting other reserved global variables:
        // Those which are/can be set in "stddb/tables.php" files:
 unset($PAGES_TYPES);
-unset($ICON_TYPES);
 unset($TCA);
 unset($TBE_MODULES);
 unset($TBE_STYLES);
index af317bf..4b44887 100644 (file)
@@ -34,7 +34,6 @@ $t3libClasses = array(
        't3lib_formmail' => PATH_t3lib . 'class.t3lib_formmail.php',
        't3lib_frontendedit' => PATH_t3lib . 'class.t3lib_frontendedit.php',
        't3lib_fullsearch' => PATH_t3lib . 'class.t3lib_fullsearch.php',
-       't3lib_htmlmail' => PATH_t3lib . 'class.t3lib_htmlmail.php',
        't3lib_iconworks' => PATH_t3lib . 'class.t3lib_iconworks.php',
        't3lib_install' => PATH_t3lib . 'class.t3lib_install.php',
        't3lib_install_sql' => PATH_t3lib . 'class.t3lib_install_sql.php',
index 315598b..622747c 100644 (file)
@@ -161,16 +161,6 @@ class t3lib_formprotection_BackendFormProtection extends t3lib_formprotection_Ab
        }
 
        /**
-        * This method was once used for persisting all tokens.
-        *
-        * @deprecated since TYPO3 4.5.3, will be removed in TYPO3 4.7
-        * @return void
-        */
-       public function persistTokens() {
-               t3lib_div::logDeprecatedFunction();
-       }
-
-       /**
         * Sets the session token for the user from the registry
         * and returns it additionally.
         *
index 9412bae..dff5a89 100644 (file)
@@ -83,16 +83,6 @@ class t3lib_formprotection_DisabledFormProtection extends t3lib_formprotection_A
        public function persistSessionToken() {
                // Do nothing.
        }
-
-       /**
-        * This method was once used for persisting all tokens.
-        *
-        * @deprecated since TYPO3 4.5.3, will be removed in TYPO3 4.7
-        * @return void
-        */
-       public function persistTokens() {
-               t3lib_div::logDeprecatedFunction();
-       }
 }
 
 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/formprotection/class.t3lib_formprotection_backendformprotection.php'])) {
index b3c4169..0921633 100644 (file)
@@ -136,16 +136,6 @@ class t3lib_formprotection_InstallToolFormProtection extends t3lib_formProtectio
        public function persistSessionToken() {
                $_SESSION['installToolFormToken'] = $this->sessionToken;
        }
-
-       /**
-        * This method was once used for persisting all tokens.
-        *
-        * @deprecated since TYPO3 4.5.3, will be removed in TYPO3 4.7
-        * @return void
-        */
-       public function persistTokens() {
-               t3lib_div::logDeprecatedFunction();
-       }
 }
 
 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/install/mod/class.tx_install_formprotection.php'])) {
index e10eded..8ce3122 100644 (file)
@@ -27,7 +27,7 @@
 /**
  * Contains the initialization of global TYPO3 variables among which $TCA is the most significant.
  *
- * The list in order of appearance is: $PAGES_TYPES, $ICON_TYPES, $TCA, $TBE_MODULES, $TBE_STYLES, $FILEICONS
+ * The list in order of appearance is: $PAGES_TYPES, $TCA, $TBE_MODULES, $TBE_STYLES, $FILEICONS
  * These variables are first of all used in the backend but to some degree in the frontend as well. (See references)
  * See the document "Inside TYPO3" for a description of each variable in addition to the comment associated with each.
  *
@@ -82,17 +82,6 @@ $PAGES_TYPES = array(
        )
 );
 
-
-/**
- * With $ICON_TYPES you can assign alternative icons to pages records based on another field than 'doktype'
- * Each key is a value from the "module" field of page records and the value is an array with a key/value pair, eg. "icon" => "modules_shop.gif"
- *
- * @see t3lib_iconWorks::getIcon(), typo3/sysext/cms/ext_tables.php
- * @deprecated since TYPO3 4.4, use t3lib_SpriteManager::addTcaTypeIcon instead, will be removed in TYPO3 4.7
- */
-$ICON_TYPES = array();
-
-
 /**
  * $TCA:
  * This array configures TYPO3 to work with the tables from the database by assigning meta information about data types, relations etc.
index d819f66..06b1e69 100644 (file)
@@ -372,7 +372,7 @@ final class t3lib_utility_Debug {
         *
         * @param       mixed           Array to print visually (in a table).
         * @return      void
-        * @see view_array()
+        * @see viewArray()
         */
        public static function printArray($array_in) {
                echo self::viewArray($array_in);
index fd64100..1567134 100644 (file)
@@ -78,12 +78,10 @@ final class t3lib_utility_Mail {
                                $hookSubscriberContainsArrow = strpos($hookSubscriber, '->');
 
                                if ($hookSubscriberContainsArrow !== FALSE) {
-                                               // @deprecated: remove in TYPO3 4.7
-                                       t3lib_div::deprecationLog(
-                                               'The usage of user function notation for the substituteMailDelivery hook is deprecated,
-                                               use the t3lib_mail_MailerAdapter interface instead.'
+                                       throw new RuntimeException(
+                                               $hookSubscriber . ' is an invalid hook implementation. Please consider using an implementation of t3lib_mail_MailerAdapter.',
+                                               1322287600
                                        );
-                                       $success = $success && t3lib_div::callUserFunction($hookSubscriber, $parameters, $fakeThis);
                                } else {
                                        $mailerAdapter = t3lib_div::makeInstance($hookSubscriber);
                                        if ($mailerAdapter instanceof t3lib_mail_MailerAdapter) {
diff --git a/tests/t3lib/class.t3lib_htmlmailTest.php b/tests/t3lib/class.t3lib_htmlmailTest.php
deleted file mode 100644 (file)
index 3978eab..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2010-2011 Christian Kuhn <lolli@schwarzbu.ch>
-*  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.
-*
-*  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!
-***************************************************************/
-
-/**
- * Testcase for class t3lib_htmlmail
- *
- * @author Christian Kuhn <lolli@schwarzbu.ch>
- * @package TYPO3
- * @subpackage t3lib
- */
-class t3lib_htmlmailTest extends tx_phpunit_testcase {
-       /**
-        * Data provider for regexCreatedWithTagRegexSplitsString
-        */
-       public static function regexCreatedWithTagRegexSplitsStringDataProvider() {
-               return array(
-                       'single split without whitespace' => array(
-                               'p',
-                               '<p>foo</p>',
-                               array('<p>foo</p>')
-                       ),
-                       'single split' => array(
-                               'p',
-                               '<p class="1">foo</p>',
-                               array('', 'class="1">foo</p>')
-                       ),
-                       'multiple splits' => array(
-                               'p',
-                               '<p class="1">foo</p><p class="2">bar</p>',
-                               array('','class="1">foo</p>','class="2">bar</p>')
-                       ),
-                       'multiple splits with multiple tags' => array(
-                               array('div', 'p'),
-                               '<b><div class="div"><p class="p1">foo</p><p class="p2">bar</p></div></b>',
-                               array('<b>', 'class="div">', 'class="p1">foo</p>', 'class="p2">bar</p></div></b>'),
-                       ),
-                       'case insenitive split' => array(
-                               array('p', 'div'),
-                               '<b><DiV class="div"><P class="p1">foo</P></div></b>',
-                               array('<b>', 'class="div">', 'class="p1">foo</P></div></b>'),
-                       ),
-               );
-       }
-
-       /**
-        * @test
-        * @dataProvider regexCreatedWithTagRegexSplitsStringDataProvider
-        */
-       public function regexCreatedWithTagRegexSplitsString($tag, $testString, $expectedResult) {
-               $regex = t3lib_htmlmail::tag_regex($tag);
-               $this->assertSame($expectedResult, preg_split($regex, $testString));
-       }
-}
-?>
\ No newline at end of file
index 062d827..9863068 100644 (file)
@@ -213,11 +213,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'win7',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertEquals(
-                       'winNT',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -231,11 +226,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'winVista',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'winNT',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -249,11 +239,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'winXP',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'winNT',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -267,11 +252,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'win2k',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'winNT',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -285,11 +265,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'win2k',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'winNT',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -329,11 +304,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'iOS',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'mac',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -347,11 +317,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'iOS',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'mac',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -365,11 +330,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'iOS',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'mac',
-                       $infoArray['system']
-               );
        }
 
        /**
@@ -440,11 +400,6 @@ class t3lib_utility_clientTest extends tx_phpunit_testcase {
                        'android',
                        $infoArray['all_systems']
                );
-                       // Check for backwards compatibility (deprecated since 4.5)
-               $this->assertSame(
-                       'linux',
-                       $infoArray['system']
-               );
        }
 
        /**
index 162a73c..809c1a5 100644 (file)
@@ -265,18 +265,10 @@ class SC_alt_shortcut {
                        5 => 1,
                );
 
-                       // "Shortcuts" have been renamed to "Bookmarks"
-                       // @deprecated remove shortcuts code in TYPO3 4.7
-               $shortCutGroups = $GLOBALS['BE_USER']->getTSConfigProp('options.shortcutGroups');
-               if ($shortCutGroups !== NULL) {
-                       t3lib_div::deprecationLog('options.shortcutGroups - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmarkGroups instead');
-               }
+
                $bookmarkGroups = $GLOBALS['BE_USER']->getTSConfigProp('options.bookmarkGroups');
-               if ($bookmarkGroups !== NULL) {
-                       $shortCutGroups = $bookmarkGroups;
-               }
-               if (is_array($shortCutGroups) && count($shortCutGroups)) {
-                       foreach ($shortCutGroups as $k=>$v)     {
+               if (is_array($bookmarkGroups) && count($bookmarkGroups)) {
+                       foreach ($bookmarkGroups as $k=>$v)     {
                                if (strcmp('',$v) && strcmp('0',$v))    {
                                        $this->groupLabels[$k] = (string)$v;
                                } elseif ($GLOBALS['BE_USER']->isAdmin()) {
@@ -404,17 +396,9 @@ class SC_alt_shortcut {
                                                <table border="0" cellpadding="0" cellspacing="2" id="typo3-shortcuts">
                                                        <tr>
                                                        ';
-                                                               // "Shortcuts" have been renamed to "Bookmarks"
-                                                               // @deprecated remove shortcuts code in TYPO3 4.7
-                                                       $useShortcuts = $GLOBALS['BE_USER']->getTSConfigVal('options.enableShortcuts');
-                                                       $useBookmarks = $GLOBALS['BE_USER']->getTSConfigVal('options.enableBookmarks');
-                                                       if ($useShortcuts || $useBookmarks) {
+                                                       if ($GLOBALS['BE_USER']->getTSConfigVal('options.enableBookmarks')) {
                                                                $this->content .= implode('
                                                                ', $this->lines);
-
-                                                               if ($useShortcuts) {
-                                                                       t3lib_div::deprecationLog('options.enableShortcuts - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.enableBookmarks instead');
-                                                               }
                                                        }
                                                        $this->content .= $editIdCode . '
                                                        </tr>
@@ -524,20 +508,14 @@ class SC_alt_shortcut {
                $this->lines = array_merge($this->linesPre,$this->lines);
 
                if (count($this->lines)) {
-                               // "Shortcuts" have been renamed to "Bookmarks"
-                               // @deprecated remove shortcuts code in TYPO3 4.7
-                       $createShortcuts = !$GLOBALS['BE_USER']->getTSConfigVal('options.mayNotCreateEditShortcuts');
-                       $createBookmarks = !$GLOBALS['BE_USER']->getTSConfigVal('options.mayNotCreateEditBookmarks');
-
-                       if ($createShortcuts || $createBookmarks) {
-                               $this->lines=array_merge(array('<td><input type="checkbox" id="editShortcut_check" name="editShortcut_check" value="1"'.($this->editSC?' checked="checked"':'').' /> <label for="editShortcut_check">'.$GLOBALS['LANG']->getLL('bookmark_edit',1).'</label>&nbsp;</td>'),$this->lines);
-                               $this->lines[]='<td>'.$manageForm.'</td>';
-
-                               if ($createShortcuts) {
-                                       t3lib_div::deprecationLog('options.mayNotCreateEditShortcuts - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.mayNotCreateEditBookmarks instead');
-                               }
+                       if (!$GLOBALS['BE_USER']->getTSConfigVal('options.mayNotCreateEditBookmarks')) {
+                               $this->lines = array_merge(array(
+                                               '<td><input type="checkbox" id="editShortcut_check" name="editShortcut_check" value="1"' . ($this->editSC ? ' checked="checked"' : '') . ' />'
+                                               . ' <label for="editShortcut_check">' . $GLOBALS['LANG']->getLL('bookmark_edit', 1) . '</label>&nbsp;</td>'
+                                       ), $this->lines);
+                               $this->lines[] = '<td>' . $manageForm . '</td>';
                        }
-                       $this->lines[]='<td><img src="clear.gif" width="10" height="1" alt="" /></td>';
+                       $this->lines[] = '<td><img src="clear.gif" width="10" height="1" alt="" /></td>';
                }
        }
 
@@ -583,25 +561,11 @@ class SC_alt_shortcut {
                                        $perms_clause = $GLOBALS['BE_USER']->getPagePermsClause(1);
                                        $this->editPath = t3lib_BEfunc::getRecordPath($this->theEditRec['pid'], $perms_clause, 30);
 
-                                               // "Shortcuts" have been renamed to "Bookmarks"
-                                               // @deprecated remove shortcuts code in TYPO3 4.7
-                                       $shortcutSetPageTree = !$GLOBALS['BE_USER']->getTSConfigVal('options.shortcut_onEditId_dontSetPageTree');
-                                       $bookmarkSetPageTree = !$GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_dontSetPageTree');
-
-                                       if ($shortcutSetPageTree && $bookmarkSetPageTree) {
-                                               $shortcutKeepExpanded = $GLOBALS['BE_USER']->getTSConfigVal('options.shortcut_onEditId_keepExistingExpanded');
+                                       if (!$GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_dontSetPageTree')) {
                                                $bookmarkKeepExpanded = $GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_keepExistingExpanded');
-                                               $keepNotExpanded = (!$shortcutKeepExpanded || !$bookmarkKeepExpanded);
 
                                                        // Expanding page tree:
-                                               t3lib_BEfunc::openPageTree($this->theEditRec['pid'], $keepNotExpanded);
-
-                                               if ($shortcutSetPageTree) {
-                                                       t3lib_div::deprecationLog('options.shortcut_onEditId_dontSetPageTree - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmark_onEditId_dontSetPageTree instead');
-                                               }
-                                               if ($shortcutKeepExpanded) {
-                                                       t3lib_div::deprecationLog('options.shortcut_onEditId_keepExistingExpanded - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmark_onEditId_keepExistingExpanded instead');
-                                               }
+                                               t3lib_BEfunc::openPageTree($this->theEditRec['pid'], !$bookmarkKeepExpanded);
                                        }
                                }
                        }
index de181c1..213e2b0 100644 (file)
@@ -656,27 +656,12 @@ class TYPO3backend {
        window.setTimeout("top.loadEditId('.intval($editRecord['uid']).');", 500);
                        ';
 
-                                       // "Shortcuts" have been renamed to "Bookmarks"
-                                       // @deprecated remove shortcuts code in TYPO3 4.7
-                               $shortcutSetPageTree = $GLOBALS['BE_USER']->getTSConfigVal('options.shortcut_onEditId_dontSetPageTree');
-                               $bookmarkSetPageTree = $GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_dontSetPageTree');
-                               if (!is_null($shortcutSetPageTree) && $shortcutSetPageTree !== '') {
-                                       t3lib_div::deprecationLog('options.shortcut_onEditId_dontSetPageTree - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmark_onEditId_dontSetPageTree instead');
-                               }
-
                                        // Checking page edit parameter:
-                               if (!$shortcutSetPageTree && !$bookmarkSetPageTree) {
-
-                                       $shortcutKeepExpanded = $GLOBALS['BE_USER']->getTSConfigVal('options.shortcut_onEditId_keepExistingExpanded');
+                               if (!$GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_dontSetPageTree')) {
                                        $bookmarkKeepExpanded = $GLOBALS['BE_USER']->getTSConfigVal('options.bookmark_onEditId_keepExistingExpanded');
-                                       $keepExpanded = ($shortcutKeepExpanded || $bookmarkKeepExpanded);
 
                                                // Expanding page tree:
-                                       t3lib_BEfunc::openPageTree(intval($editRecord['pid']), !$keepExpanded);
-
-                                       if ($shortcutKeepExpanded) {
-                                               t3lib_div::deprecationLog('options.shortcut_onEditId_keepExistingExpanded - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmark_onEditId_keepExistingExpanded instead');
-                                       }
+                                       t3lib_BEfunc::openPageTree(intval($editRecord['pid']), !$bookmarkKeepExpanded);
                                }
                        } else {
                                $this->js .= '
index 9e2bb74..a023307 100644 (file)
@@ -94,17 +94,9 @@ class ShortcutMenu implements backend_toolbarItem {
        /**
         * checks whether the user has access to this toolbar item
         *
-        * @return  boolean  TRUE if user has access, FALSE if not
+        * @return boolean TRUE if user has access, FALSE if not
         */
        public function checkAccess() {
-                       // "Shortcuts" have been renamed to "Bookmarks"
-                       // @deprecated remove shortcuts code in TYPO3 4.7
-               $useShortcuts = $GLOBALS['BE_USER']->getTSConfigVal('options.enableShortcuts');
-               if ($useShortcuts !== NULL) {
-                       t3lib_div::deprecationLog('options.enableShortcuts - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.enableBookmarks instead');
-                       return (bool) $useShortcuts;
-               }
-
                return (bool) $GLOBALS['BE_USER']->getTSConfigVal('options.enableBookmarks');
        }
 
@@ -386,19 +378,10 @@ class ShortcutMenu implements backend_toolbarItem {
         */
        protected function initShortcutGroups($params = array(), TYPO3AJAX &$ajaxObj = NULL) {
                        // groups from TSConfig
-                       // "Shortcuts" have been renamed to "Bookmarks"
-                       // @deprecated remove shortcuts code in TYPO3 4.7
-               $userShortcutGroups = $GLOBALS['BE_USER']->getTSConfigProp('options.shortcutGroups');
-               if ($userShortcutGroups) {
-                       t3lib_div::deprecationLog('options.shortcutGroups - since TYPO3 4.5, will be removed in TYPO3 4.7 - use options.bookmarkGroups instead');
-               }
                $bookmarkGroups = $GLOBALS['BE_USER']->getTSConfigProp('options.bookmarkGroups');
-               if ($bookmarkGroups !== NULL) {
-                       $userShortcutGroups = $bookmarkGroups;
-               }
 
-               if(is_array($userShortcutGroups) && count($userShortcutGroups)) {
-                       foreach($userShortcutGroups as $groupId => $label) {
+               if(is_array($bookmarkGroups) && count($bookmarkGroups)) {
+                       foreach($bookmarkGroups as $groupId => $label) {
                                if(strcmp('', $label) && strcmp('0', $label)) {
                                        $this->shortcutGroups[$groupId] = (string) $label;
                                } elseif($GLOBALS['BE_USER']->isAdmin()) {
index 4daeabb..81c36d3 100644 (file)
@@ -29,7 +29,7 @@
  * It's deprecated since 4.5, use proper link generation.
  *
  * @author     Steffen Kamper <steffen@typo3.com>
- * @deprecated
+ * @deprecated since 4.5 will be removed in 4.8.
  *
  */
 
index 75bb21a..806a6a8 100644 (file)
@@ -29,7 +29,7 @@
  * It's deprecated since 4.5, use proper link generation.
  *
  * @author     Steffen Kamper <steffen@typo3.com>
- * @deprecated
+ * @deprecated since 4.5, will be removed in 4.8.
  *
  */
 
index 8b7173d..12499fc 100644 (file)
@@ -536,27 +536,16 @@ class SC_index {
         * Make login news - renders the HTML content for a list of news shown under
         * the login form. News data is added through $GLOBALS['TYPO3_CONF_VARS']
         *
-        * @return      string          HTML content
-        * @credits                     Idea by Jan-Hendrik Heuing
-        * @deprecated $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'] is deprecated since 4.5. Use system news records instead.
+        * @return string HTML content
+        * @credits Idea by Jan-Hendrik Heuing
         */
        function makeLoginNews() {
                $newsContent = '';
 
                $systemNews = $this->getSystemNews();
-               if (count($GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'])) {
-                       t3lib_div::logDeprecatedFunction();
-
-                       $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'] = array_merge(
-                               $systemNews,
-                               $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews']
-                       );
-               } else {
-                       $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'] = $systemNews;
-               }
 
                        // Traverse news array IF there are records in it:
-               if (is_array($GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews']) && count($GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews']) && !t3lib_div::_GP('loginRefresh')) {
+               if (is_array($systemNews) && count($systemNews) && !t3lib_div::_GP('loginRefresh')) {
                        $htmlParser = t3lib_div::makeInstance('t3lib_parsehtml_proc');
                                // get the main news template, and replace the subpart after looped through
                        $newsContent      = t3lib_parsehtml::getSubpart($GLOBALS['TBE_TEMPLATE']->moduleTemplate, '###LOGIN_NEWS###');
@@ -564,11 +553,11 @@ class SC_index {
 
                        $newsItem = '';
                        $count = 1;
-                       foreach ($GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'] as $newsItemData) {
+                       foreach ($systemNews as $newsItemData) {
                                $additionalClass = '';
                                if ($count == 1) {
                                        $additionalClass = ' first-item';
-                               } elseif($count == count($GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'])) {
+                               } elseif($count == count($systemNews)) {
                                        $additionalClass = ' last-item';
                                }
 
index a5e60da..769576c 100644 (file)
 
                        if ($this->tmpl->loaded)        {
                                $GLOBALS['TT']->push('Setting the config-array','');
-                       //      t3lib_div::print_array($this->tmpl->setup);
                                $this->sPre = $this->tmpl->setup['types.'][$this->type];        // toplevel - objArrayName
                                $this->pSetup = $this->tmpl->setup[$this->sPre.'.'];
 
@@ -4073,22 +4072,6 @@ if (version == "n3") {
        }
 
        /**
-        * Prints error msg/header.
-        * Echoes out the HTML content
-        *
-        * @param       string          Message string
-        * @param       string          Header string
-        * @return      void
-        * @see t3lib_timeTrack::debug_typo3PrintError()
-        * @see t3lib_message_ErrorPageMessage
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function printError($label,$header='Error!') {
-               t3lib_div::logDeprecatedFunction();
-               t3lib_timeTrack::debug_typo3PrintError($header, $label, 0, t3lib_div::getIndpEnv('TYPO3_SITE_URL'));
-       }
-
-       /**
         * Logs access to deprecated TypoScript objects and properties.
         *
         * Dumps message to the TypoScript message log (admin panel) and the TYPO3 deprecation log.
index 3a3fae7..93ec274 100644 (file)
@@ -93,20 +93,9 @@ class TSpagegen {
                $GLOBALS['TSFE']->debug = ''.$GLOBALS['TSFE']->config['config']['debug'];
 
                        // Base url:
-               if ($GLOBALS['TSFE']->config['config']['baseURL'])      {
-                       if ($GLOBALS['TSFE']->config['config']['baseURL']==='1')        {
-                                       // @deprecated: Deprecated property, going to be dropped in TYPO3 4.7.
-                               $error = 'Unsupported TypoScript property was found in this template: "config.baseURL="1"
-
-This setting has been deprecated in TYPO 3.8.1 due to security concerns.
-You need to change this value to the URL of your website root, otherwise TYPO3 will not work!
-
-See <a href="http://wiki.typo3.org/index.php/TYPO3_3.8.1" target="_blank">wiki.typo3.org/index.php/TYPO3_3.8.1</a> for more information.';
-                               throw new RuntimeException(nl2br($error), 1294587219);
-                       } else {
-                               $GLOBALS['TSFE']->baseUrl = $GLOBALS['TSFE']->config['config']['baseURL'];
-                       }
-                       $GLOBALS['TSFE']->anchorPrefix = substr(t3lib_div::getIndpEnv('TYPO3_REQUEST_URL'),strlen(t3lib_div::getIndpEnv('TYPO3_SITE_URL')));
+               if (isset($GLOBALS['TSFE']->config['config']['baseURL'])) {
+                       $GLOBALS['TSFE']->baseUrl = $GLOBALS['TSFE']->config['config']['baseURL'];
+                       $GLOBALS['TSFE']->anchorPrefix = substr(t3lib_div::getIndpEnv('TYPO3_REQUEST_URL'), strlen(t3lib_div::getIndpEnv('TYPO3_SITE_URL')));
                }
 
                        // Internal and External target defaults
@@ -188,11 +177,6 @@ See <a href="http://wiki.typo3.org/index.php/TYPO3_3.8.1" target="_blank">wiki.t
                        $GLOBALS['TSFE']->linkVars='';
                }
 
-               if($GLOBALS['TSFE']->config['config']['doctype'] == 'html_5') {
-                       $GLOBALS['TSFE']->logDeprecatedTyposcript('config.doctype = html_5', 'It will be removed in TYPO3 4.7. Use html5 instead.');
-                       $GLOBALS['TSFE']->config['config']['doctype'] = 'html5';
-               }
-
                        // Setting XHTML-doctype from doctype
                if (!$GLOBALS['TSFE']->config['config']['xhtmlDoctype'])        {
                        $GLOBALS['TSFE']->config['config']['xhtmlDoctype'] = $GLOBALS['TSFE']->config['config']['doctype'];
@@ -260,11 +244,6 @@ See <a href="http://wiki.typo3.org/index.php/TYPO3_3.8.1" target="_blank">wiki.t
                                }
                        }
                }
-                       // Include HTML mail library?
-               if ($GLOBALS['TSFE']->config['config']['incT3Lib_htmlmail'])    {
-                       $GLOBALS['TSFE']->logDeprecatedTyposcript('config.incT3Lib_htmlmail');
-                       $incFilesArray[] = 't3lib/class.t3lib_htmlmail.php';
-               }
                return $incFilesArray;
        }
 
index 97571e9..215ff18 100644 (file)
@@ -64,20 +64,6 @@ abstract class tslib_content_Abstract {
        public function getContentObject() {
                return $this->cObj;
        }
-
-       /**
-        * Compatibility stdWrap wrapper.
-        *
-        * @param       string          $content The content to manipulate using stdWrap functions.
-        * @param       array           $conf stdWrap configuration.
-        * @deprecated since TYPO3 4.5, this function will be removed in TYPO3 4.7, use $this->cObj->stdWrap() instead.
-        */
-       public function stdWrap($content = '', $conf = array()) {
-               t3lib_div::logDeprecatedFunction();
-
-               return $this->cObj->stdWrap($content, $conf);
-       }
-
 }
 
 ?>
index 3678848..ffe0d1c 100644 (file)
@@ -71,58 +71,6 @@ class tslib_content_PhpScript extends tslib_content_Abstract {
 
                return $content;
        }
-
-       /**
-        * Allow access to other tslib_content methods.
-        *
-        * Provides backwards compatibility for older included PHP_SCRIPT which simply
-        * call methods like $this->typoLink (e.g. the old "languageMenu.php" sample).
-        *
-        * @deprecated since 4.5, will be removed in 4.7. Use $this->cObj-><method>() instead
-        *
-        * @param string $method The called method
-        * @param array $arguments The original arguments
-        * @return mixed
-        */
-       public function __call($method, $arguments) {
-               if (method_exists($this->cObj, $method)) {
-                       $trail = debug_backtrace();
-                       $location = $trail[1]['file'] . '#' . $trail[1]['line'];
-                       t3lib_div::deprecationLog(
-                               sprintf('%s: PHP_SCRIPT called $this->%s. Modify it to call $this->cObj->%s instead. Will be removed in 4.7.',
-                                       $location, $method, $method
-                               )
-                       );
-                       return call_user_func_array(array($this->cObj, $method), $arguments);
-               } else {
-                       trigger_error(sprintf('Call to undefined function: %s::%s().', get_class($this), $name), E_USER_ERROR);
-               }
-       }
-
-       /**
-        * Allow access to other tslib_content variables.
-        *
-        * Provides backwards compatibility for PHP_SCRIPT which simply
-        * accesses properties like $this->parameters.
-        *
-        * @deprecated since 4.5, will be removed in 4.7. Use $this->cObj-><property> instead.
-        *
-        * @param string $name The name of the property
-        * @return mixed
-        */
-       public function __get($name) {
-               if (array_key_exists($name, get_object_vars($this->cObj))) {
-                       $trail = debug_backtrace();
-                       $location = $trail[1]['file'] . '#' . $trail[1]['line'];
-                       t3lib_div::deprecationLog(
-                               sprintf('%s: PHP_SCRIPT accessed $this->%s. Modify it to access $this->cObj->%s instead. Will be removed in 4.7.',
-                                       $location, $name, $name
-                               )
-                       );
-                       return $this->cObj->$name;
-               }
-       }
-
 }
 
 
index 8e9c4ec..576fe07 100644 (file)
@@ -753,28 +753,6 @@ $EM_CONF[$_EXTKEY] = ' . tx_em_Tools::arrayToCode($EM_CONF, 0) . ';
                }
        }
 
-
-       /**
-        * Returns help text if applicable.
-        *
-        * @param       string          Help text key
-        * @return      string          HTML table cell
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function helpCol($key) {
-               if ($GLOBALS['BE_USER']->uc['edit_showFieldHelp']) {
-                       if (empty($key)) {
-                               return '<td>&nbsp;</td>';
-                       }
-                       else {
-                               return t3lib_BEfunc::cshItem($this->descrTable, 'emconf_' . $key, $GLOBALS['BACK_PATH'], '<td>|</td>');
-                       }
-               }
-               else {
-                       return '';
-               }
-       }
-
        /**
         * Returns the header column (for the extension details item), and applies help text if available
         *
index c7b67fa..92fc52f 100644 (file)
@@ -382,22 +382,14 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                        $globalSettings['displayMyExtensions'] = 0;
                }
 
-               // @deprecated Old Extension Manager is officially not supported anymore and may be removed anytime
-               $globalSettings['showOldModules'] = isset($GLOBALS['TYPO3_CONF_VARS']['EXT']['showOldModules']) ? (bool)$GLOBALS['TYPO3_CONF_VARS']['EXT']['showOldModules'] : FALSE;
-               if ($globalSettings['showOldModules']) {
-                       t3lib_div::deprecationLog(
-                               'Use of the old Extension Manager is obsolete since TYPO3 4.6 and is as such no longer supported.'
-                       );
-               } else {
-                       unset(
-                               $this->MOD_MENU['function']['loaded_list'],
-                               $this->MOD_MENU['function']['installed_list'],
-                               $this->MOD_MENU['function']['import'],
-                               $this->MOD_MENU['function']['translations'],
-                               $this->MOD_MENU['function']['settings'],
-                               $this->MOD_MENU['function']['updates']
-                       );
-               }
+               unset(
+                       $this->MOD_MENU['function']['loaded_list'],
+                       $this->MOD_MENU['function']['installed_list'],
+                       $this->MOD_MENU['function']['import'],
+                       $this->MOD_MENU['function']['translations'],
+                       $this->MOD_MENU['function']['settings'],
+                       $this->MOD_MENU['function']['updates']
+               );
                $this->MOD_MENU['singleDetails'] = $this->mergeExternalItems($this->MCONF['name'], 'singleDetails', $this->MOD_MENU['singleDetails']);
                $this->MOD_MENU['extensionInfo'] = $this->mergeExternalItems($this->MCONF['name'], 'singleDetails', array());
 
index 4618a8c..27a5f2c 100644 (file)
@@ -623,20 +623,6 @@ final class tx_em_Tools {
        }
 
        /**
-        * Reads locallang file into array (for possible include in header)
-        *
-        * @param $file
-        * @return array
-        * @deprecated  since TYPO3 4.5.1, will be removed in TYPO3 4.7 - use pageRenderer->addInlineLanguageLabelFile() instead
-        */
-       public static function getArrayFromLocallang($file, $key = 'default') {
-               $content = t3lib_div::getUrl($file);
-               $array = t3lib_div::xml2array($content);
-
-               return $array['data'][$key];
-       }
-
-       /**
         * Include a locallang file and return the $LOCAL_LANG array serialized.
         *
         * @param       string          Absolute path to locallang file to include.
index f660720..024546c 100644 (file)
@@ -77,7 +77,6 @@ class tx_form_System_Postprocessor_Mail {
         * @return string HTML message from this processor
         */
        public function process() {
-               $this->setReturnPath();
                $this->setSubject();
                $this->setFrom();
                $this->setTo();
@@ -96,18 +95,6 @@ class tx_form_System_Postprocessor_Mail {
        }
 
        /**
-        * Set the return-path (the bounce address) of the mail message
-        *
-        * @return void
-        */
-       protected function setReturnPath() {
-               if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['forceReturnPath']) {
-                       $returnPath = $GLOBALS['TYPO3_CONF_VARS']['SYS']['forceReturnPath'];
-                       $this->mailMessage->setReturnPath($returnPath);
-               }
-       }
-
-       /**
         * Sets the subject of the mail message
         *
         * If not configured, it will use a default setting
index c460756..1ed139f 100755 (executable)
@@ -2141,7 +2141,7 @@ class tx_indexedsearch_indexer {
         *
         * @param string $stringToHash String to hash
         * @return int Integer intepretation of the md5 hash of input string.
-        * @deprecated
+        * @deprecated will be removed in 4.8.
         */
        function md5inthash($stringToHash) {
                t3lib_div::logDeprecatedFunction();
index 2bb060b..2833793 100755 (executable)
@@ -587,7 +587,7 @@ class tx_indexedsearch_modfunc1 extends t3lib_extobjbase {
                        // If found, display:
                if (is_array($phashRecord))     {
                        $content.= '<h4>phash row content:</h4>'.
-                                               $this->utf8_to_currentCharset(t3lib_div::view_array($phashRecord));
+                                               $this->utf8_to_currentCharset(t3lib_utility_Debug::viewArray($phashRecord));
 
                                // Getting debug information if any:
                        $ftrows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
@@ -601,7 +601,7 @@ class tx_indexedsearch_modfunc1 extends t3lib_extobjbase {
                                unset($debugInfo['lexer']);
 
                                $content.= '<h3>Debug information:</h3>'.
-                                               $this->utf8_to_currentCharset(t3lib_div::view_array($debugInfo));
+                                               $this->utf8_to_currentCharset(t3lib_utility_Debug::viewArray($debugInfo));
 
                                $content.= '<h4>Debug information / lexer splitting:</h4>'.
                                                '<hr/><strong>'.
@@ -674,7 +674,7 @@ class tx_indexedsearch_modfunc1 extends t3lib_extobjbase {
                                                '',
                                                ''
                                        );
-                       $content.= t3lib_div::view_array($ftrows);
+                       $content .= t3lib_utility_Debug::viewArray($ftrows);
 
                                // Add go-back link:
                        $content = $this->linkList().$content.$this->linkList();
@@ -1159,13 +1159,13 @@ class tx_indexedsearch_modfunc1 extends t3lib_extobjbase {
                                }
 
                                $content.='<h4>Log for re-indexing of "'.htmlspecialchars($resultRow['data_filename']).'":</h4>';
-                               $content.=t3lib_div::view_array($indexerObj->internal_log);
+                               $content.=t3lib_utility_Debug::viewArray($indexerObj->internal_log);
 
                                $content.='<h4>Hash-array, page:</h4>';
-                               $content.=t3lib_div::view_array($indexerObj->hash);
+                               $content.=t3lib_utility_Debug::viewArray($indexerObj->hash);
 
                                $content.='<h4>Hash-array, file:</h4>';
-                               $content.=t3lib_div::view_array($indexerObj->file_phash_arr);
+                               $content.=t3lib_utility_Debug::viewArray($indexerObj->file_phash_arr);
                        }
                }
 
index d19a244..f6ca719 100755 (executable)
@@ -1315,7 +1315,7 @@ class tx_indexedsearch extends tslib_pibase {
         *
         * @param string $stringToHash
         * @return int Integer intepretation of the md5 hash of input string.
-        * @deprecated
+        * @deprecated will be removed in 4.8
         * @see tx_indexedsearch_util::md5inthash
         */
        function md5inthash($stringToHash) {
index 23eb331..d27bdce 100644 (file)
@@ -65,20 +65,6 @@ abstract class Tx_Install_Updates_Base {
         **/
 
        /**
-        * The first function in the update wizard steps
-        *
-        * it works like this:
-        * @param       $explanation    string  HTML that is outputted on the first
-        * @param       $showUpdate             int     that informs you whether to show this update wizard or not. Possible values that checkForUpdate() should set:
-        *                      0 = don't show this update wizard at all (because it's not needed)
-        *                      1 = show the update wizard (explanation + next step button)
-        *                      2 = show the update wizard (explanation but not the "next step" button), useful for showing a status of a wizard
-        * @return      deprecated since TYPO3 4.5, in previous versions it was used to determine whether the update wizards should be shown, now, the $showUpdate parameter is used for that
-        */
-       // public abstract function checkForUpdate(&$explanation, &$showUpdate);
-
-
-       /**
         * second step: get user input if needed
         *
         * @param       string  input prefix, all names of form fields have to start with this. Append custom name in [ ... ]
index 9f3eeb2..407c850 100644 (file)
@@ -482,7 +482,7 @@ REMOTE_ADDR was '".t3lib_div::getIndpEnv('REMOTE_ADDR')."' (".t3lib_div::getIndp
                $this->setupGeneral();
                $this->generateConfigForm();
                if (count($this->messages)) {
-                       t3lib_div::debug($this->messages);
+                       t3lib_utility_Debug::debug($this->messages);
                }
 
                if ($this->step) {
index f6b64bd..9c4d6dc 100644 (file)
@@ -150,54 +150,5 @@ class tx_coreupdates_installnewsysexts extends Tx_Install_Updates_Base {
 
                return TRUE;
        }
-
-
-       /**
-        * Adds extension to extension list and returns new list. If -1 is returned, an error happend.
-        * Does NOT check dependencies yet.
-        *
-        * @param       array           Extension keys to add
-        * @return      string          New list of installed extensions or -1 if error
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - Should not be needed anymore. Extensions should be installed directly by calling Tx_Install_Updates_Base::installExtensions()
-        */
-       function addExtToList(array $extKeys) {
-               t3lib_div::logDeprecatedFunction();
-                       // Get list of installed extensions and add this one.
-               $tmpLoadedExt = $GLOBALS['TYPO3_LOADED_EXT'];
-               if (isset($tmpLoadedExt['_CACHEFILE'])) {
-                       unset($tmpLoadedExt['_CACHEFILE']);
-               }
-
-               $listArr = array_keys($tmpLoadedExt);
-               $listArr = array_merge($listArr, $extKeys);
-
-                       // Implode unique list of extensions to load and return:
-               return implode(',', array_unique($listArr));
-       }
-
-
-       /**
-        * Writes the extension list to "localconf.php" file
-        * Removes the temp_CACHED* files before return.
-        *
-        * @param       string          List of extensions
-        * @return      void
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - Use Tx_Install_Updates_Base::installExtensions() instead
-        */
-       protected function writeNewExtensionList($newExtList) {
-               t3lib_div::logDeprecatedFunction();
-                       // Instance of install tool
-               $instObj = new t3lib_install;
-               $instObj->allowUpdateLocalConf = 1;
-               $instObj->updateIdentity = 'TYPO3 Core Update Manager';
-
-                       // Get lines from localconf file
-               $lines = $instObj->writeToLocalconf_control();
-               $instObj->setValueInLocalconfFile($lines, '$TYPO3_CONF_VARS[\'EXT\'][\'extList\']', $newExtList);
-               $instObj->writeToLocalconf_control($lines);
-
-               $GLOBALS['TYPO3_CONF_VARS']['EXT']['extList'] = $newExtList;
-               t3lib_extMgm::removeCacheFiles();
-       }
 }
 ?>
\ No newline at end of file
index a4e07de..95fcdbc 100644 (file)
@@ -143,52 +143,5 @@ class tx_coreupdates_installsysexts extends Tx_Install_Updates_Base {
 
                return TRUE;
        }
-
-       /**
-        * Adds extension to extension list and returns new list. If -1 is returned, an error happend.
-        * Does NOT check dependencies yet.
-        *
-        * @param array $extKeys Extension keys to add
-        * @return string New list of installed extensions or -1 if error
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - Should not be needed anymore. Extensions should be installed directly by calling Tx_Install_Updates_Base::installExtensions()
-        */
-       function addExtToList(array $extKeys) {
-               t3lib_div::logDeprecatedFunction();
-                       // Get list of installed extensions and add this one.
-               $tmpLoadedExt = $GLOBALS['TYPO3_LOADED_EXT'];
-               if (isset($tmpLoadedExt['_CACHEFILE'])) {
-                       unset($tmpLoadedExt['_CACHEFILE']);
-               }
-
-               $listArr = array_keys($tmpLoadedExt);
-               $listArr = array_merge($listArr, $extKeys);
-
-                       // Implode unique list of extensions to load and return:
-               return implode(',', array_unique($listArr));
-       }
-
-       /**
-        * Writes the extension list to "localconf.php" file
-        * Removes the temp_CACHED* files before return.
-        *
-        * @param string $newExtList List of extensions
-        * @return void
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - Use Tx_Install_Updates_Base::installExtensions() instead
-        */
-       protected function writeNewExtensionList($newExtList) {
-               t3lib_div::logDeprecatedFunction();
-                       // Instance of install tool
-               $instObj = new t3lib_install;
-               $instObj->allowUpdateLocalConf = 1;
-               $instObj->updateIdentity = 'TYPO3 Core Update Manager';
-
-                       // Get lines from localconf file
-               $lines = $instObj->writeToLocalconf_control();
-               $instObj->setValueInLocalconfFile($lines, '$TYPO3_CONF_VARS[\'EXT\'][\'extList\']', $newExtList);
-               $instObj->writeToLocalconf_control($lines);
-
-               $GLOBALS['TYPO3_CONF_VARS']['EXT']['extList'] = $newExtList;
-               t3lib_extMgm::removeCacheFiles();
-       }
 }
 ?>
\ No newline at end of file
index 1d39477..5e2d337 100644 (file)
@@ -107,7 +107,7 @@ class tx_coreupdates_t3skin extends Tx_Install_Updates_Base {
 
                        // Implode unique list of extensions to load and return:
                return implode(',', array_unique($listArr));
-               }
+       }
 
 
        /**
index ff5f89f..f96f0fc 100644 (file)
@@ -87,14 +87,9 @@ class tx_scheduler_CronCmd {
         * Calculates the date of the next execution.
         *
         * @api
-        * @param integer $level (Deprecated) Number of the current level, e.g. 2 is the day level
         * @return void
         */
-       public function calculateNextValue($level = NULL) {
-               if (!is_null($level)) {
-                       t3lib_div::deprecationLog('The parameter $level is deprecated since TYPO3 version 4.5.');
-               }
-
+       public function calculateNextValue() {
                $newTimestamp = $this->getTimestamp();
 
                        // Calculate next minute and hour field
@@ -270,42 +265,6 @@ class tx_scheduler_CronCmd {
        protected function roundTimestamp($timestamp) {
                return mktime(date('H', $timestamp), date('i', $timestamp), 0, date('n', $timestamp), date('j', $timestamp), date('Y', $timestamp));
        }
-
-       /**
-        * Returns the first value that is higher than the current value
-        * from a list of possible values.
-        *
-        * @deprecated since 4.5
-        * @param       mixed   $currentValue: the value to be searched in the list
-        * @param       array   $listArray: the list of values
-        * @return      mixed   The value from the list right after the current value
-        */
-       public function getNextValue($currentValue, array $listArray) {
-               t3lib_div::deprecationLog('The method is deprecated since TYPO3 version 4.5.');
-
-               $next_value = FALSE;
-
-               $numValues = count($listArray);
-               for ($i = 0; $i < $numValues; $i++) {
-                       if ($listArray[$i] > $currentValue) {
-                               $next_value = $listArray[$i];
-                               break;
-                       }
-               }
-
-               return $next_value;
-       }
-
-       /**
-        * Returns the timestamp for the value parts in $this->values.
-        *
-        * @deprecated since 4.5
-        * @return integer unix timestamp
-        */
-       public function getTstamp() {
-               t3lib_div::deprecationLog('The method is deprecated since TYPO3 version 4.5.');
-               return $this->getTimestamp();
-       }
 }
 
 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/scheduler/class.tx_scheduler_croncmd.php'])) {
index 8555ea0..d0d935b 100755 (executable)
@@ -425,7 +425,7 @@ class SC_mod_user_setup_index {
                        // render the menu items
                $menuItems = $this->renderUserSetup();
 
-               $this->content .= $this->doc->spacer(20) . $this->doc->getDynTabMenu($menuItems, 'user-setup', FALSE, FALSE, 0, 1, FALSE, 1, $this->dividers2tabs);
+               $this->content .= $this->doc->spacer(20) . $this->doc->getDynTabMenu($menuItems, 'user-setup', FALSE, FALSE, 1, FALSE, 1, $this->dividers2tabs);
 
                $formToken = $this->formProtection->generateToken('BE user setup', 'edit');
 
index 8809070..42116aa 100644 (file)
@@ -354,30 +354,6 @@ class template {
        }
 
        /**
-        * Returns 'this.blur();' if the client supports CSS styles
-        * Use this in links to remove the underlining after being clicked
-        *
-        * @return      string
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function thisBlur()     {
-               t3lib_div::logDeprecatedFunction();
-               return ($GLOBALS['CLIENT']['FORMSTYLE']?'this.blur();':'');
-       }
-
-       /**
-        * Returns ' style='cursor:help;'' if the client supports CSS styles
-        * Use for <a>-links to help texts
-        *
-        * @return      string
-        * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7
-        */
-       function helpStyle()    {
-               t3lib_div::logDeprecatedFunction();
-               return $GLOBALS['CLIENT']['FORMSTYLE'] ? ' style="cursor:help;"':'';
-       }
-
-       /**
         * Makes the header (icon+title) for a page (or other record). Used in most modules under Web>*
         * $table and $row must be a tablename/record from that table
         * $path will be shown as alt-text for the icon.
@@ -1638,14 +1614,13 @@ $str.=$this->docBodyTagBegin().
         * @param       string          Identification string. This should be unique for every instance of a dynamic menu!
         * @param       integer         If "1", then enabling one tab does not hide the others - they simply toggles each sheet on/off. This makes most sense together with the $foldout option. If "-1" then it acts normally where only one tab can be active at a time BUT you can click a tab and it will close so you have no active tabs.
         * @param       boolean         If set, the tabs are rendered as headers instead over each sheet. Effectively this means there is no tab menu, but rather a foldout/foldin menu. Make sure to set $toggle as well for this option.
-        * @param       integer         Character limit for a new row, 0 by default, because this parameter is deprecated since TYPO3 4.5
         * @param       boolean         If set, tab table cells are not allowed to wrap their content
         * @param       boolean         If set, the tabs will span the full width of their position
         * @param       integer         Default tab to open (for toggle <=0). Value corresponds to integer-array index + 1 (index zero is "1", index "1" is 2 etc.). A value of zero (or something non-existing) will result in no default tab open.
         * @param       integer         If set to '1' empty tabs will be remove, If set to '2' empty tabs will be disabled
         * @return      string          JavaScript section for the HTML header.
         */
-       public function getDynTabMenu($menuItems, $identString, $toggle = 0, $foldout = FALSE, $newRowCharLimit = 0, $noWrap = 1, $fullWidth = FALSE, $defaultTabIndex = 1, $dividers2tabs = 2) {
+       public function getDynTabMenu($menuItems, $identString, $toggle = 0, $foldout = FALSE, $noWrap = 1, $fullWidth = FALSE, $defaultTabIndex = 1, $dividers2tabs = 2) {
                        // load the static code, if not already done with the function below
                $this->loadJavascriptLib('js/tabmenu.js');
 
@@ -1670,7 +1645,7 @@ $str.=$this->docBodyTagBegin().
                                $index += 1;
 
                                        // Switch to next tab row if needed
-                               if (!$foldout && (($newRowCharLimit > 0 && $titleLenCount > $newRowCharLimit) | ($def['newline'] === TRUE && $titleLenCount > 0))) {
+                               if (!$foldout && ($def['newline'] === TRUE && $titleLenCount > 0)) {
                                        $titleLenCount=0;
                                        $tabRows++;
                                        $options[$tabRows] = array();
@@ -1789,20 +1764,6 @@ $str.=$this->docBodyTagBegin().
        }
 
        /**
-        * Returns dynamic tab menu header JS code.
-        * This is now incorporated automatically when the function template::getDynTabMenu is called
-        * (as long as it is called before $this->startPage())
-        * The return value is not needed anymore
-        *
-        * @deprecated since TYPO3 4.5, as the getDynTabMenu() function includes the function automatically since TYPO3 4.3
-        * @return      void
-        */
-       function getDynTabMenuJScode() {
-               t3lib_div::logDeprecatedFunction();
-               $this->loadJavascriptLib('js/tabmenu.js');
-       }
-
-       /**
         * Creates the version selector for the page id inputted.
         * Requires the core version management extension, "version" to be loaded.
         *
index 11dd045..777cb57 100644 (file)
@@ -182,7 +182,7 @@ class SC_view_help {
                        $this->content .= $this->render_Single($this->mainKey, $this->field);
 
                } elseif (is_array($this->ffID)) {
-                       $this->content .= $this->render_SingleFlex();
+                       $this->content .= $this->render_Single($this->mainKey, $this->field);
 
                } else {
                                // Render Table Of Contents if nothing else:
@@ -494,27 +494,6 @@ class SC_view_help {
                return $output;
        }
 
-
-       /**
-        * Renders CSH for a single field.
-        *
-        * @param       string          CSH key / table name
-        * @param       string          Sub key / field name
-        * @return      string          HTML output
-        * @deprecated since TYPO3 4.5, this function will be removed in TYPO3 4.7. Use render_Single() instead.
-        */
-       function render_SingleFlex() {
-               t3lib_div::logDeprecatedFunction();
-               $output = '';
-
-                       // Render
-               $output.= $this->printItemFlex();
-
-                       // Substitute glossary words:
-               return $this->substituteGlossaryWords($output);
-       }
-
-
        /************************************
         *
         * Rendering CSH items
@@ -670,37 +649,6 @@ class SC_view_help {
        }
 
        /**
-        * Prints a single $table/$field information piece
-        * If $anchors is set, then seeAlso references to the same table will be page-anchors, not links.
-        *
-        * @param       string          Table name
-        * @param       string          Field name
-        * @param       boolean         If anchors is to be shown.
-        * @return      string          HTML content
-        * @deprecated since TYPO3 4.5, this function will be removed in TYPO3 4.7. Use printItem() instead.
-        */
-       function printItemFlex() {
-               t3lib_div::logDeprecatedFunction();
-               // Get all texts
-               foreach (explode(',', 'description,details,syntax,image,image_descr,seeAlso') as $var) {
-                       // Double $ below is not a error!
-                       $$var = $GLOBALS['LANG']->sL($this->ffID['cshFile'] . ':' . $this->ffID['field'] . '.' . $var);
-               }
-               // Make seeAlso references.
-               $seeAlsoRes = $this->make_seeAlso($seeAlso);
-
-                       // Making item:
-               $out= $this->headerLine($this->ffID['title'], 1) .
-                               $this->prepareContent($description) .
-                               ($details ? $this->headerLine($GLOBALS['LANG']->getLL('details').':') . $this->prepareContent($details) : '') .
-                               ($syntax ? $this->headerLine($GLOBALS['LANG']->getLL('syntax').':') . $this->prepareContent($syntax) : '') .
-                               ($image ? $this->printImage($image, $image_descr) : '') .
-                               ($seeAlso && $seeAlsoRes ? $this->headerLine($GLOBALS['LANG']->getLL('seeAlso').':').'<p>'.$seeAlsoRes.'</p>' : '') .
-               '<br />';
-               return $out;
-       }
-
-       /**
         * Returns labels for a given field in a given structure
         *
         * @param string $key CSH key / table name