[BUGFIX] Missing column in t3lib_TCEmain::getPreviousLocalizedRecordUid
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_befunc.php
index 4934308..5fc8797 100644 (file)
@@ -482,50 +482,52 @@ final class t3lib_BEfunc {
         * @return      array           Array of arrays with excludeFields (fieldname, table:fieldname) from all TCA entries and from FlexForms (fieldname, table:extkey;sheetname;fieldname)
         */
        public static function getExcludeFields() {
-                       // All TCA keys:
-               $theExcludeArray = Array();
+                       // All TCA keys
+               $theExcludeArray = array();
                $tc_keys = array_keys($GLOBALS['TCA']);
                foreach ($tc_keys as $table) {
                                // Load table
                        t3lib_div::loadTCA($table);
-                               // All field names configured:
-                       if (is_array($GLOBALS['TCA'][$table]['columns'])) {
+                               // All field names configured and not restricted to admins
+                       if (is_array($GLOBALS['TCA'][$table]['columns'])
+                                       && $GLOBALS['TCA'][$table]['ctrl']['adminOnly'] != 1
+                                       && $GLOBALS['TCA'][$table]['ctrl']['rootLevel'] != 1
+                                       ) {
                                $f_keys = array_keys($GLOBALS['TCA'][$table]['columns']);
                                foreach ($f_keys as $field) {
                                        if ($GLOBALS['TCA'][$table]['columns'][$field]['exclude']) {
-                                                       // Get Human Readable names of fields and table:
+                                                       // Get human readable names of fields and table
                                                $Fname = $GLOBALS['LANG']->sl($GLOBALS['TCA'][$table]['ctrl']['title']) . ': ' . $GLOBALS['LANG']->sl($GLOBALS['TCA'][$table]['columns'][$field]['label']);
-                                                       // add entry:
-                                               $theExcludeArray[] = Array($Fname, $table . ':' . $field);
+                                                       // Add entry
+                                               $theExcludeArray[] = array($Fname, $table . ':' . $field);
                                        }
                                }
                        }
-               }
                        // All FlexForm fields
-               $table = (!empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['contentTable']) ? $GLOBALS['TYPO3_CONF_VARS']['SYS']['contentTable'] : 'tt_content');
-               $flexFormArray = self::getRegisteredFlexForms($table);
-               foreach ($flexFormArray as $tableField => $flexForms) {
-                               // Prefix for field label, e.g. "Plugin Options:"
-                       $labelPrefix = '';
-                       if (!empty($GLOBALS['TCA'][$table]['columns'][$tableField]['label'])) {
-                               $labelPrefix = $GLOBALS['LANG']->sl($GLOBALS['TCA'][$table]['columns'][$tableField]['label']);
-                       }
-                               // Get all sheets and title
-                       foreach ($flexForms as $extIdent => $extConf) {
-                               $extTitle = $GLOBALS['LANG']->sl($extConf['title']);
-                                       // Get all fields in sheet
-                               foreach ($extConf['ds']['sheets'] as $sheetName => $sheet) {
-                                       if (empty($sheet['ROOT']['el']) || !is_array($sheet['ROOT']['el'])) {
-                                               continue;
-                                       }
-                                       foreach ($sheet['ROOT']['el'] as $fieldName => $field) {
-                                                       // Use only excludeable fields
-                                               if (empty($field['TCEforms']['exclude'])) {
+                       $flexFormArray = self::getRegisteredFlexForms($table);
+                       foreach ($flexFormArray as $tableField => $flexForms) {
+                                       // Prefix for field label, e.g. "Plugin Options:"
+                               $labelPrefix = '';
+                               if (!empty($GLOBALS['TCA'][$table]['columns'][$tableField]['label'])) {
+                                       $labelPrefix = $GLOBALS['LANG']->sl($GLOBALS['TCA'][$table]['columns'][$tableField]['label']);
+                               }
+                                       // Get all sheets and title
+                               foreach ($flexForms as $extIdent => $extConf) {
+                                       $extTitle = $GLOBALS['LANG']->sl($extConf['title']);
+                                               // Get all fields in sheet
+                                       foreach ($extConf['ds']['sheets'] as $sheetName => $sheet) {
+                                               if (empty($sheet['ROOT']['el']) || !is_array($sheet['ROOT']['el'])) {
                                                        continue;
                                                }
-                                               $fieldLabel = (!empty($field['TCEforms']['label']) ? $GLOBALS['LANG']->sl($field['TCEforms']['label']) : $fieldName);
-                                               $fieldIdent = $table . ':' . $tableField . ';' . $extIdent . ';' . $sheetName . ';' . $fieldName;
-                                               $theExcludeArray[] = array(trim($labelPrefix . ' ' . $extTitle, ': ') . ': ' . $fieldLabel, $fieldIdent);
+                                               foreach ($sheet['ROOT']['el'] as $fieldName => $field) {
+                                                               // Use only excludeable fields
+                                                       if (empty($field['TCEforms']['exclude'])) {
+                                                               continue;
+                                                       }
+                                                       $fieldLabel = (!empty($field['TCEforms']['label']) ? $GLOBALS['LANG']->sl($field['TCEforms']['label']) : $fieldName);
+                                                       $fieldIdent = $table . ':' . $tableField . ';' . $extIdent . ';' . $sheetName . ';' . $fieldName;
+                                                       $theExcludeArray[] = array(trim($labelPrefix . ' ' . $extTitle, ': ') . ': ' . $fieldLabel, $fieldIdent);
+                                               }
                                        }
                                }
                        }
@@ -1614,27 +1616,19 @@ final class t3lib_BEfunc {
                                        $check = basename($theFile_abs) . ':' . filemtime($theFile_abs) . ':' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'];
                                        $params = '&file=' . rawurlencode($theFile);
                                        $params .= $size ? '&size=' . $size : '';
-                                       $params .= '&md5sum=' . t3lib_div::shortMD5($check);
+                                       $params .= '&md5sum=' . md5($check);
 
-                                       $url = $thumbScript . '?&dummy=' . $GLOBALS['EXEC_TIME'] . $params;
+                                       $url = $thumbScript . '?' . $params;
                                        $onClick = 'top.launchView(\'' . $theFile . '\',\'\',\'' . $backPath . '\');return false;';
                                        $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '"><img src="' . htmlspecialchars($backPath . $url) . '" hspace="2" border="0" title="' . trim($theFile) . '"' . $tparams . ' alt="" /></a> ';
                                } else {
                                                // Icon
-                                       $theFile_abs = PATH_site . ($uploaddir ? $uploaddir . '/' : '') . trim($theFile);
                                        $theFile = ($abs ? '' : '../') . ($uploaddir ? $uploaddir . '/' : '') . trim($theFile);
-
                                        $fileIcon = t3lib_iconWorks::getSpriteIconForFile(
                                                strtolower($ext),
                                                array('title' => htmlspecialchars(trim($theFile)))
                                        );
 
-                                       $check = basename($theFile_abs) . ':' . filemtime($theFile_abs) . ':' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'];
-                                       $params = '&file=' . rawurlencode($theFile);
-                                       $params .= $size ? '&size=' . $size : '';
-                                       $params .= '&md5sum=' . t3lib_div::shortMD5($check);
-
-                                       $url = $thumbScript . '?&dummy=' . $GLOBALS['EXEC_TIME'] . $params;
                                        $onClick = 'top.launchView(\'' . $theFile . '\',\'\',\'' . $backPath . '\');return false;';
                                        $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $fileIcon . '</a> ';
                                }
@@ -1656,9 +1650,9 @@ final class t3lib_BEfunc {
                $check = basename($theFile) . ':' . filemtime($theFile) . ':' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'];
                $params = '&file=' . rawurlencode($theFile);
                $params .= trim($size) ? '&size=' . trim($size) : '';
-               $params .= '&md5sum=' . t3lib_div::shortMD5($check);
+               $params .= '&md5sum=' . md5($check);
 
-               $url = $thumbScript . '?&dummy=' . $GLOBALS['EXEC_TIME'] . $params;
+               $url = $thumbScript . '?' . $params;
                $th = '<img src="' . htmlspecialchars($url) . '" title="' . trim(basename($theFile)) . '"' . ($tparams ? " " . $tparams : "") . ' alt="" />';
                return $th;
        }
@@ -2669,11 +2663,14 @@ final class t3lib_BEfunc {
                        if ($page['url_scheme'] == t3lib_utility_Http::SCHEME_HTTPS || ($page['url_scheme'] == 0 && t3lib_div::getIndpEnv('TYPO3_SSL'))) {
                                $protocol = 'https';
                        }
-                       $domainRecord = self::getDomainStartPage($urlParts['host'], $urlParts['path']);
-                       if ($domainRecord && isset($domainRecord['domainName'])) {
-                               $domain = $domainRecord['domainName'];
+
+                       $domainName = self::firstDomainRecord($rootLine);
+
+                       if ($domainName) {
+                               $domain = $domainName;
                        } else {
-                               $domain = self::firstDomainRecord($rootLine);
+                               $domainRecord = self::getDomainStartPage($urlParts['host'], $urlParts['path']);
+                               $domain = $domainRecord['domainName'];
                        }
 
                        if ($domain) {
@@ -4122,7 +4119,7 @@ final class t3lib_BEfunc {
                                '<a href="' . TYPO3_URL_LICENSE . '" target="_blank">', '</a>'
                        );
                }
-               $cNotice = '<a href="http://typo3.com/" target="_blank">' .
+               $cNotice = '<a href="' . TYPO3_URL_GENERAL . '" target="_blank">' .
                                '<img' . t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'], 'gfx/loginlogo_transp.gif', 'width="75" height="19" vspace="2" hspace="4"') . ' alt="' .
                                $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_login.xml:typo3.logo') . '" align="left" />' .
                                $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_login.xml:typo3.cms') . ' ' .