Added an is_array() check in t3lib_div::resolveSheetDefInDS() to prevent a fatal...
authorRobert Lemke <robert.lemke@typo3.org>
Tue, 1 Nov 2005 14:06:05 +0000 (14:06 +0000)
committerRobert Lemke <robert.lemke@typo3.org>
Tue, 1 Nov 2005 14:06:05 +0000 (14:06 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@836 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_div.php

index b23c9c1..ad20c4b 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-11-01     Robert Lemke    <robert@typo3.org>
+
+       * Added an is_array() check in t3lib_div::resolveSheetDefInDS() to prevent a fatal error in certain circumstances
+
 2005-10-26  Kasper Skaarhoj  <kasper2005@typo3.com>
 
        * Implemented additional, simple API for logging to sys_log plus extended the sys-log with workspace awareness.
 2005-10-26  Kasper Skaarhoj  <kasper2005@typo3.com>
 
        * Implemented additional, simple API for logging to sys_log plus extended the sys-log with workspace awareness.
index 297ee71..17cc875 100755 (executable)
@@ -896,7 +896,7 @@ class t3lib_div {
         */
        function danish_strtoupper($string)     {
                $value = strtoupper($string);
         */
        function danish_strtoupper($string)     {
                $value = strtoupper($string);
-               return strtr($value, 'áéúíâêûôîæøåäöü', 'ÁÉÚÍÄËÜÖÏÆØÅÄÖÜ');
+               return strtr($value, '���������������', '���������������');
        }
 
        /**
        }
 
        /**
@@ -904,13 +904,13 @@ class t3lib_div {
         * Only known characters will be converted, so don't expect a result for any character.
         * (DEPRECIATED: Works only for western europe single-byte charsets! Use t3lib_cs::specCharsToASCII() instead!)
         *
         * Only known characters will be converted, so don't expect a result for any character.
         * (DEPRECIATED: Works only for western europe single-byte charsets! Use t3lib_cs::specCharsToASCII() instead!)
         *
-        * ä => ae, Ö => Oe
+        * � => ae, � => Oe
         *
         * @param       string          String to convert.
         * @return      string
         */
        function convUmlauts($str)      {
         *
         * @param       string          String to convert.
         * @return      string
         */
        function convUmlauts($str)      {
-               $pat  = array ( '/ä/',  '/Ä/',  '/ö/',  '/Ö/',  '/ü/',  '/Ü/',  '/ß/',  '/å/',  '/Å/',  '/ø/',  '/Ø/',  '/æ/',  '/Æ/'   );
+               $pat  = array ( '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/',        '/�/' );
                $repl = array ( 'ae',   'Ae',   'oe',   'Oe',   'ue',   'Ue',   'ss',   'aa',   'AA',   'oe',   'OE',   'ae',   'AE'    );
                return preg_replace($pat,$repl,$str);
        }
                $repl = array ( 'ae',   'Ae',   'oe',   'Oe',   'ue',   'Ue',   'ss',   'aa',   'AA',   'oe',   'OE',   'ae',   'AE'    );
                return preg_replace($pat,$repl,$str);
        }
@@ -1653,7 +1653,7 @@ class t3lib_div {
         * @param       boolean         Wrap script element in linebreaks? Default is TRUE.
         * @return      string          The wrapped JS code, ready to put into a XHTML page
         * @author      Ingmar Schlecht <ingmars@web.de>
         * @param       boolean         Wrap script element in linebreaks? Default is TRUE.
         * @return      string          The wrapped JS code, ready to put into a XHTML page
         * @author      Ingmar Schlecht <ingmars@web.de>
-        * @author      René Fritz <r.fritz@colorcube.de>
+        * @author      Ren Fritz <r.fritz@colorcube.de>
         */
        function wrapJS($string, $linebreak=TRUE) {
                if(trim($string)) {
         */
        function wrapJS($string, $linebreak=TRUE) {
                if(trim($string)) {
@@ -3297,6 +3297,8 @@ class t3lib_div {
         * @return      array           An array with two num. keys: key0: The data structure is returned in this key (array) UNLESS an error happend in which case an error string is returned (string). key1: The used sheet key value!
         */
        function resolveSheetDefInDS($dataStructArray,$sheet='sDEF')    {
         * @return      array           An array with two num. keys: key0: The data structure is returned in this key (array) UNLESS an error happend in which case an error string is returned (string). key1: The used sheet key value!
         */
        function resolveSheetDefInDS($dataStructArray,$sheet='sDEF')    {
+               if (!is_array ($dataStructArray)) return 'Data structure must be an array'; 
+               
                if (is_array($dataStructArray['sheets']))       {
                        $singleSheet = FALSE;
                        if (!isset($dataStructArray['sheets'][$sheet])) {
                if (is_array($dataStructArray['sheets']))       {
                        $singleSheet = FALSE;
                        if (!isset($dataStructArray['sheets'][$sheet])) {
@@ -3537,7 +3539,7 @@ class t3lib_div {
         * @param       string          Sub type like file extensions or similar. Defined by the service.
         * @param       mixed           List of service keys which should be exluded in the search for a service. Array or comma list.
         * @return      object          The service object or an array with error info's.
         * @param       string          Sub type like file extensions or similar. Defined by the service.
         * @param       mixed           List of service keys which should be exluded in the search for a service. Array or comma list.
         * @return      object          The service object or an array with error info's.
-        * @author      René Fritz <r.fritz@colorcube.de>
+        * @author      Ren Fritz <r.fritz@colorcube.de>
         */
        function &makeInstanceService($serviceType, $serviceSubType='', $excludeServiceKeys=array())    {
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
         */
        function &makeInstanceService($serviceType, $serviceSubType='', $excludeServiceKeys=array())    {
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;