See my changelog comment from 2004-06-28 + locallang-XML changes (done to german...
authorKasper Skårhøj <kasper@typo3.org>
Fri, 23 Jul 2004 12:48:01 +0000 (12:48 +0000)
committerKasper Skårhøj <kasper@typo3.org>
Fri, 23 Jul 2004 12:48:01 +0000 (12:48 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@415 709f56b5-9817-0410-a4d7-c38de5d9e867

38 files changed:
ChangeLog
TODO.txt
t3lib/class.t3lib_befunc.php
t3lib/class.t3lib_cs.php
t3lib/class.t3lib_db.php
t3lib/class.t3lib_div.php
t3lib/class.t3lib_parsehtml_proc.php
t3lib/class.t3lib_stdgraphic.php
t3lib/class.t3lib_tceforms.php
t3lib/class.t3lib_tcemain.php
t3lib/config_default.php
typo3/alt_db_navframe.php
typo3/alt_main.php
typo3/class.alt_menu_functions.inc
typo3/mod/tools/em/index.php
typo3/mod/web/info/index.php
typo3/sysext/cms/ext_tables.php
typo3/sysext/cms/ext_tables.sql
typo3/sysext/cms/locallang_csh_webinfo.xml
typo3/sysext/cms/locallang_tca.xml
typo3/sysext/cms/tbl_cms.php
typo3/sysext/cms/tbl_tt_content.php
typo3/sysext/cms/tslib/class.tslib_content.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_gifbuilder.php
typo3/sysext/cms/tslib/class.tslib_menu.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php
typo3/sysext/context_help/locallang_csh_pages.xml
typo3/sysext/install/mod/class.tx_install.php
typo3/sysext/lang/locallang_browse_links.xml
typo3/sysext/lang/locallang_core.xml
typo3/sysext/lang/locallang_general.xml
typo3/sysext/lang/locallang_misc.xml
typo3/sysext/lang/locallang_mod_help_cshmanual.xml
typo3/sysext/lang/locallang_view_help.xml
typo3/sysext/lang/locallang_wizards.xml
typo3/sysext/setup/mod/locallang.xml
typo3/template.php

index 615dd2c..d7de1e5 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
 
        * Fixed bug #0000191: Small typo in German translation
 
+2004-06-28  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Moved creation of menu graphics, scaled images, gifbuilder images and temporary image files into subfolders of typo3temp/
+       * Fixed case-folding-cache-file bug in t3lib_cs...
+       * select a filepath as a source of the items you can add to the box (single/multiple) without copying the files of course.
+
 2004-06-21  Michael Stucki  <mundaun@gmx.ch>
 
        * Fixed bug #0000119: Another fe_adminLib htmlspecialchars() issue
 
 2004-06-19  Kasper Skårhøj,,,  <kasper@typo3.com>
 
-       * Moved CSH locallang-XML labels into extensions prefixed "csh_". 
+       * Moved CSH locallang-XML labels into extensions prefixed "csh_".
 
 2004-06-18  Michael Stucki  <mundaun@gmx.ch>
 
 2004-05-18  Kasper Skårhøj,,,  <kasper@typo3.com>
        * Added t3lib_cs::specCharsToASCII() for converting special chars (like umlauts) to their double-byte alternatives in ASCII (like au, oe etc...). Function is NOT finished at all, only added so I could use it for the conversion of filenames in simulateStaticDocuments.
        * TypoScript charset compatibility extended: tslib_cObj::caseshift(), tslib_cObj::substring(), tslib_cObj::crop() uses functions in t3lib_cs now. Also stdWrap.strftime will automatically convert localized string from locale charset (guessed by t3lib_cs) to renderCharset.
-       * !!! website charset is now taken from "forceCharset" by default (if found) and in any case the http-header with text/html and charset is sent UNLESS you disable it with "config.disableCharsetHeader=1". You will probably have to disable this header if you are using TYPO3 for XML feeds or wap-pages. 
+       * !!! website charset is now taken from "forceCharset" by default (if found) and in any case the http-header with text/html and charset is sent UNLESS you disable it with "config.disableCharsetHeader=1". You will probably have to disable this header if you are using TYPO3 for XML feeds or wap-pages.
        * Added "config.renderCharset" option: This is the charset of the content while rendered in the frontend engine. If different from "metaCharset" a conversion must happen before output to browser. Both renderCharset and metaCharset takes their default values from TYPO3_CONF_VARS[BE][forceCharset] if found, otherwise they default to "iso-8859-1". Also "metaCharset" takes "renderCharset" as default - and if metaCharset is different from renderCharset a conversion will happen on output.
 
 2004-05-18  Kasper Skårhøj,,,  <kasper@typo3.com>
index f7e36b3..ffa7d8e 100755 (executable)
--- a/TODO.txt
+++ b/TODO.txt
@@ -34,7 +34,6 @@ TCEmain:
                - Could be solved by PRE-processing of content in user functions!
        - Implement "last_edited_by" field saving the BE-user UID just like tstamps are... (JH asked)
        - Transformation API: Implement the possibility of custom to/from transformations for the "user" type (or any field?)
-               - Custom transformations for RTE fields/API?
        - Selector box type:
                - MM support for strings
        - Support for MM-records which does NOT get deleted, but is kept... and then support for having data in those!!
@@ -101,7 +100,6 @@ TCEforms:
                - API for adding JS-functions to the onchange-event.
                - Make STORAGE_FOLDERs a LIST of pages - not just one page (still the first page could be the default while other pages will be where stuff is selected from).
        - SELECT type:
-               - select a filepath as a source of the items you can add to the box (single/multiple) without copying the files of course.
                - Ability to see icon/image from record of selected value in the selector box.
                - IFRAME alternative for the selectorboxes where a HTML view can be shown. Possibly having an external script show the content which would be useful for display of tree-tables.
                - Reflect possible tree-structure for records in Select/Items list
@@ -124,13 +122,11 @@ TCEforms:
                  - See JH mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F23E410@Soulman.hanno-kirchhoff.de>
                - IFRAME alternative for Element Browser.
                - set the width of the selector field(s)
-       - INPUT type:
-               - having a selectorbox from which a default value can be selected (which is just transferred to the input field). Of course the selectorbox can have its content added by a PHP script.
        - ? type:
                - "Inverse relations"/"Foreign relations": A "Pseudo field", which lists records REFERING TO this record (foreign relations, eg. many small price-records belonging to ONE shop-article). Possibly this could also EDIT those references (attaching/adding new, removing old, no manual ordering though! - This is what RENE is doing (Message-Id: <E17LO4D-0002hj-00@cube.colorcube>)
        - TRANSLATION:
                - Concept for translation of other language versions simultaneously? (Showing the default/any language side-by-side?)
-               - Would require UTF-8 display in backend.
+               - Would require UTF-8 display in backend! (or at least using forceCharset being set!)
                - Support for "original/translation" relationships:
                  - The idea is that a) one field from a record is configured in [ctrl] to hold the sys_language (0=default, x=translation of default) value AND b) another field is configured to keep a reference back to the original element (for the translated records)
                    - If the record is "default" then ALL fields are shown.
@@ -148,14 +144,6 @@ TCEforms:
 Charset:
 - checking (for XML) if there is "character data" in a string?
 
-TCEforms/RTE API:
-[Dominic Brander and Martin Schmidt has shown interest in the ekit Java RTE and may work on that.]
-- API for RTE's (plus converting current RTE to using that!)
-  - review of class.t3lib_parsehtml_proc.php
-- Make TYPO3 ready to accept alternative RTE made in Java. Needs data exchange to (config+data)/from (data) applet.
-- Implement Ekit as Proof-of-concept: http://www.hexidec.com/ekit.php
-- Implement another ActiveX editor as Proof-of-concept.
-
 Element Browser:
 - Support for DAM
 - Support for browsing custom category-trees (passed by some PHP script)
@@ -168,7 +156,7 @@ Element Browser:
 
 Wizards:
 - Add wizard icon to TSconfig and Setup/Constants fields for immediate syntax highlighting (in popup window)
-- Add wizard icon to see/clean up FlexForm data?
+- Add wizard icon to see/clean up FlexForm data? Convert language mode?
 
 Interface:
 - Showing in "frameset-modules" which submodule you are currently inside. And ability to change submodule in the rightmost frame anyways - maybe as a panel in top of the pages (must be cached so all submodules must not be loaded each time...)? (Message-ID: <3ADE655892793D499E2FBF623045AF4B54E9A4@dbwdfx2f.wdf.sap-ag.de>)
@@ -182,7 +170,6 @@ Context Sensitive Help (CSH):
 - Add multimedia?
 
 WEB main module/page tree:
-- The "Page Stop" flag, clicking the red "+" simply makes that point the NEW root in the tree frame (temporarily of course...), see JHs mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F1F660B@Soulman.hanno-kirchhoff.de>
 - Option: For a frameset module, register the ID per sub-module, not just globally (see JH mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F1F67AB@Soulman.hanno-kirchhoff.de>)
 
 Web>List:
@@ -238,6 +225,7 @@ EM:
 
 The REGEX-{} problem:
 - BUG: Regexs; "Warning: Unmatched \{ in /home/sites/site14/typo3_src-3.5b3/typo3/mod/tools/em/index.php on line 1983" which is a ereg with { WITHOUT preceeding slash! (Message-ID: <003c01c275aa$c0c60c10$e3a1a33e@pentiumriv4v9a>, Message-ID: <20030729082437.79900.qmail@web11305.mail.yahoo.com>)
+       - Should be fixed by "[{]..." instead!
 
 Install/Servers:
 - FIX: To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the php parser should be compiled with the --enable-discard-path configure option.
@@ -953,33 +941,3 @@ Innovation, brainstorming for future
 - Backend for PDAs/Lynx
 
 
-************************************
-Translation of Extensions
-************************************
-
-These [global] extensions has priority when translating extensions:
-
-lang
-cms
-extra_page_cm_options
-rte
-imagelist
-aboutmodules
-lowlevel
-beuser
-setup
-taskcenter
-sys_action
-sys_messages
-sys_notepad
-taskcenter_recent
-taskcenter_rootlist
-sys_todos
-sys_workflows
-func_wizards
-wizard_crpages
-wizard_sortpages
-info_pagetsconfig
-indexed_search
-tt_guest
-mininews
index 5a12471..4c39276 100755 (executable)
@@ -1989,9 +1989,10 @@ class t3lib_BEfunc       {
         * @param       array           If root line is supplied the function will look for the first found domain record and use that URL instead (if found)
         * @param       string          $anchor is optional anchor to the URL
         * @param       string          $altUrl is an alternative URL which - if set - will make all other parameters ignored: The function will just return the window.open command wrapped around this URL!
+        * @param       string          Additional GET variables.
         * @return      string
         */
-       function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='')       {
+       function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='',$addGetVars='')        {
                if ($altUrl)    {
                        $url = $altUrl;
                } else {
@@ -2002,7 +2003,7 @@ class t3lib_BEfunc        {
                                }
                        }
                        $preUrl = $preUrl_temp ? 'http://'.$preUrl_temp : $backPath.'..';
-                       $url = $preUrl.'/index.php?id='.$id.$anchor;
+                       $url = $preUrl.'/index.php?id='.$id.$addGetVars.$anchor;
                }
 
                return "previewWin=window.open('".$url."','newTypo3FrontendWindow','status=1,menubar=1,resizable=1,location=1,scrollbars=1,toolbar=1');previewWin.focus();";
@@ -2030,7 +2031,7 @@ class t3lib_BEfunc        {
         * See Inside TYPO3 for details about how to use / make Function menus
         * Usage: 50
         *
-        * @param       string          $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
+        * @param       mixed           $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
         * @param       string          $elementName it the form elements name, probably something like "SET[...]"
         * @param       string          $currentValue is the value to be selected currently.
         * @param       array           $menuItems is an array with the menu items for the selector box
@@ -2044,7 +2045,7 @@ class t3lib_BEfunc        {
                                $mainParams = array('id' => $mainParams);
                        }
                        $mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
-               
+
                        if (!$script) { $script=basename(PATH_thisScript); }
 
                        $options = array();
@@ -2072,7 +2073,7 @@ class t3lib_BEfunc        {
         * Works like ->getFuncMenu() but takes no $menuItem array since this is a simple checkbox.
         * Usage: 34
         *
-        * @param       string          $mainParams $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
+        * @param       mixed           $mainParams $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
         * @param       string          $elementName it the form elements name, probably something like "SET[...]"
         * @param       string          $currentValue is the value to be selected currently.
         * @param       string          $script is the script to send the &id to, if empty it's automatically found
@@ -2086,7 +2087,7 @@ class t3lib_BEfunc        {
                        $mainParams = array('id' => $mainParams);
                }
                $mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
-               
+
                if (!$script) {basename(PATH_thisScript);}
                $onClick = 'jumpToUrl(\''.$script.'?'.$mainParams.$addparams.'&'.$elementName.'=\'+(this.checked?1:0),this);';
                return '<input type="checkbox" name="'.$elementName.'"'.($currentValue?' checked="checked"':'').' onclick="'.htmlspecialchars($onClick).'"'.($tagParams?' '.$tagParams:'').' />';
@@ -2097,7 +2098,7 @@ class t3lib_BEfunc        {
         * Works like ->getFuncMenu() / ->getFuncCheck() but displays a input field instead which updates the script "onchange"
         * Usage: 1
         *
-        * @param       string          $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
+        * @param       mixed           $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
         * @param       string          $elementName it the form elements name, probably something like "SET[...]"
         * @param       string          $currentValue is the value to be selected currently.
         * @param       integer         Relative size of input field, max is 48
@@ -2111,7 +2112,7 @@ class t3lib_BEfunc        {
                        $mainParams = array('id' => $mainParams);
                }
                $mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
-               
+
                if (!$script) {basename(PATH_thisScript);}
                $onChange = 'jumpToUrl(\''.$script.'?'.$mainParams.$addparams.'&'.$elementName.'=\'+escape(this.value),this);';
                return '<input type="text"'.$GLOBALS['TBE_TEMPLATE']->formWidth($size).' name="'.$elementName.'" value="'.htmlspecialchars($currentValue).'" onchange="'.htmlspecialchars($onChange).'" />';
index a808e22..a2e328f 100755 (executable)
@@ -896,7 +896,7 @@ class t3lib_cs {
         *
         * PLEASE SEE: http://www.unicode.org/Public/UNIDATA/
         *
-        * @param       string          ???
+        * @param       string          Mode ("case", "ascii", ...)
         * @return      integer         Returns FALSE on error, a TRUE value on success: 1 table already loaded, 2, cached version, 3 table parsed (and cached).
         * @access private
         */
@@ -912,7 +912,7 @@ class t3lib_cs {
 
                                        // Use cached version if possible
                                if ($cacheFileCase && @is_file($cacheFileCase)) {
-                                       $this->caseFolding['utf-8'] = unserialize(t3lib_div::getUrl($cacheFile));
+                                       $this->caseFolding['utf-8'] = unserialize(t3lib_div::getUrl($cacheFileCase));
                                        return 2;
                                }
                                break;
@@ -1396,7 +1396,7 @@ class t3lib_cs {
         * Translates all characters of a string into their respective case values.
         * Unlike strtolower() and strtoupper() this method is locale independent.
         * Note that the string length may change!
-        * eg. lower case German ß (sharp S) becomes upper case "SS"
+        * eg. lower case German (sharp S) becomes upper case "SS"
         * Unit-tested by Kasper
         * Real case folding is language dependent, this method ignores this fact.
         *
@@ -1428,7 +1428,7 @@ class t3lib_cs {
        }
 
        /**
-        * Converts special chars (like æøåÆØÅ, umlauts etc) to ascii equivalents (usually double-bytes, like æ => ae etc.)
+        * Converts special chars (like ���, umlauts etc) to ascii equivalents (usually double-bytes, like �=> ae etc.)
         *
         * @param       string          Character set of string
         * @param       string          Input string to convert
index ddc855d..b478dfb 100755 (executable)
@@ -271,6 +271,29 @@ class t3lib_DB {
                                );
        }
 
+       /**
+        * Creates and executes a SELECT SQL-statement AND traverse result set and returns array with records in.
+        *
+        * @param       string          See exec_SELECTquery()
+        * @param       string          See exec_SELECTquery()
+        * @param       string          See exec_SELECTquery()
+        * @param       string          See exec_SELECTquery()
+        * @param       string          See exec_SELECTquery()
+        * @param       string          See exec_SELECTquery()
+        * @return      array           Array of rows.
+        */
+       function exec_SELECTgetRows($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') {
+               $res = mysql_query($this->SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit), $this->link);
+               if ($this->debugOutput) $this->debug('exec_SELECTquery');
+
+               unset($output);
+               if (!$this->sql_error())        {
+                       $output = array();
+                       while($output[] = $this->sql_fetch_assoc($res));
+                       array_pop($output);
+               }
+               return $output;
+       }
 
 
 
@@ -775,7 +798,11 @@ class t3lib_DB {
         * @return      pointer         Returns a positive MySQL persistent link identifier on success, or FALSE on error.
         */
        function sql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password)   {
-               $this->link = mysql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
+               if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['no_pconnect'])  {
+                       $this->link = mysql_connect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
+               } else {
+                       $this->link = mysql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
+               }
                return $this->link;
        }
 
index 53e8ae2..5fda441 100755 (executable)
@@ -1442,7 +1442,7 @@ class t3lib_div {
                                } else {
                                        if ($includeEmtpyValues OR $val) {
                                                $arr0[$key] = $val;
-                                       } 
+                                       }
                                }
                        }
                }
@@ -1574,17 +1574,7 @@ class t3lib_div {
                if (is_array($value))   reset($value);
                return $value;
        }
-       
-       /**
-        * Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
-        *
-        * @deprecated  Name was changed into implodeAttributes
-        * @see implodeAttributes()
-        */
-       function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE)       {
-               return t3lib_div::implodeAttributes($arr,$xhtmlSafe,$dontOmitBlankAttribs);
-       }
-       
+
        /**
         * Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
         * Usage: 14
@@ -1612,6 +1602,20 @@ class t3lib_div {
        }
 
        /**
+        * Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
+        *
+        * @param       array           See implodeAttributes()
+        * @param       boolean         See implodeAttributes()
+        * @param       boolean         See implodeAttributes()
+        * @return      string          See implodeAttributes()
+        * @deprecated  Name was changed into implodeAttributes
+        * @see implodeAttributes()
+        */
+       function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE)       {
+               return t3lib_div::implodeAttributes($arr,$xhtmlSafe,$dontOmitBlankAttribs);
+       }
+
+       /**
         * Wraps JavaScript code XHTML ready with <script>-tags
         * Automatic re-identing of the JS code is done by using the first line as ident reference.
         * This is nice for identing JS code with PHP code on the same level.
index ccc76a2..ade89b6 100755 (executable)
@@ -424,7 +424,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                        $absRef = $siteUrl.$this->rteImageStorageDir().'RTEmagicC_'.$filename.'.'.$pI['extension'];
 
                                                        $attribArray['src']=$absRef;
-                                                       $params = t3lib_div::implodeParams($attribArray,1);
+                                                       $params = t3lib_div::implodeAttributes($attribArray,1);
                                                        $imgSplit[$k] = '<img '.$params.' />';
                                                }
                                        }
@@ -466,7 +466,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                                                $attribArray['width']=$imgI[0];
                                                                                $attribArray['height']=$imgI[1];
                                                                                if (!$attribArray['border'])    $attribArray['border']=0;
-                                                                               $params = t3lib_div::implodeParams($attribArray,1);
+                                                                               $params = t3lib_div::implodeAttributes($attribArray,1);
                                                                                $imgSplit[$k]='<img '.$params.' />';
                                                                        }
                                                                }
@@ -502,7 +502,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                        }
 
                                                                // Compile the image tag again:
-                                                       $params = t3lib_div::implodeParams($attribArray,1);
+                                                       $params = t3lib_div::implodeAttributes($attribArray,1);
                                                        $imgSplit[$k]='<img '.$params.' />';
                                                }
                                        } else {        // Remove image if it was not found in a proper position on the server!
@@ -519,7 +519,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                        if (t3lib_div::isFirstPartOfStr($absRef,$siteUrl))      {
                                                $attribArray['src'] = $this->relBackPath.substr($absRef,strlen($siteUrl));
                                                if (!isset($attribArray['alt']))        $attribArray['alt']='';         // Must have alt-attribute for XHTML compliance.
-                                               $imgSplit[$k]='<img '.t3lib_div::implodeParams($attribArray,1,1).' />';
+                                               $imgSplit[$k]='<img '.t3lib_div::implodeAttributes($attribArray,1,1).' />';
                                        }
                                }
                        }
@@ -551,7 +551,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                if (strtolower(substr($absRef,0,4))!='http')    {
                                        $attribArray['src'] = $siteUrl.substr($attribArray['src'],strlen($this->relBackPath));
                                        if (!isset($attribArray['alt']))        $attribArray['alt']='';
-                                       $params = t3lib_div::implodeParams($attribArray);
+                                       $params = t3lib_div::implodeAttributes($attribArray);
                                        $imgSplit[$k]='<img '.$params.' />';
                                }
                        }
@@ -585,7 +585,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                if ($siteURL && substr($attribArray['href'],0,strlen($siteURL))==$siteURL)      {
                                                        $attribArray['href']=$this->relBackPath.substr($attribArray['href'],strlen($siteURL));
                                                }
-                                               $bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
+                                               $bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
                                                $eTag='</a>';
                                                $blockSplit[$k] = $bTag.$this->TS_reglinks($this->removeFirstAndLastTag($blockSplit[$k]),$direction).$eTag;
                                        }
@@ -634,7 +634,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                        if ($siteURL && substr($attribArray['href'],0,strlen($siteURL))==$siteURL)      {
                                                $attribArray['href']=$this->relBackPath.substr($attribArray['href'],strlen($siteURL));
                                        }
-                                       $bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
+                                       $bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
                                        $eTag='</a>';
                                        $blockSplit[$k] = $bTag.$this->TS_links_db($this->removeFirstAndLastTag($blockSplit[$k])).$eTag;
                                }
@@ -1499,7 +1499,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                }
                                if (!$dontSetRTEKEEP)   $attribArray['rtekeep'] = 1;
 
-                               $bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
+                               $bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
                                $eTag='</a>';
                                $blockSplit[$k] = $bTag.$this->TS_AtagToAbs($this->removeFirstAndLastTag($blockSplit[$k])).$eTag;
                        }
index 703c519..e6e58d2 100644 (file)
@@ -1032,7 +1032,7 @@ class t3lib_stdGraphic    {
                        } else {
                                        // Blurring of the mask
                                $times = ceil($blurRate/10);    // How many blur-commands that is executed. Min = 1;
-                               $newBlurRate = $blurRate*4;             // Her booster vi blur-rate, så at den allerede ved 25 er på 100. Resten op til 99 går på iterationer af blur-kommandoen
+                               $newBlurRate = $blurRate*4;             // Her booster vi blur-rate, s�at den allerede ved 25 er p�100. Resten op til 99 g� p�iterationer af blur-kommandoen
                                $newBlurRate = t3lib_div::intInRange($newBlurRate,1,99);
                                for ($a=0;$a<$times;$a++)       {               // Building blur-command
                                        $command.=' -blur '.$blurRate;
@@ -1556,7 +1556,8 @@ class t3lib_stdGraphic    {
         * @return      string
         */
        function randomName()   {
-               return $this->tempPath.'temp_'.md5(uniqid(''));
+               $this->createTempSubDir('temp/');
+               return $this->tempPath.'temp/'.md5(uniqid(''));
        }
 
        /**
@@ -1808,8 +1809,13 @@ class t3lib_stdGraphic   {
                                        $theOutputName = $this->imageMagickConvert_forceFileNameBody;
                                        $this->imageMagickConvert_forceFileNameBody='';
                                }
-                               $output = $this->tempPath.$this->filenamePrefix.$theOutputName.'.'.$newExt;
-                               $GLOBALS['TEMP_IMAGES_ON_PAGE'][]=$output;
+
+                                       // Making the temporary filename:
+                               $this->createTempSubDir('pics/');
+                               $output = $this->tempPath.'pics/'.$this->filenamePrefix.$theOutputName.'.'.$newExt;
+
+                                       // Register temporary filename:
+                               $GLOBALS['TEMP_IMAGES_ON_PAGE'][] = $output;
 
                                if (!$this->file_exists_typo3temp_file($output,$imagefile) || $this->dontCheckForExistingTempFile)      {
                                        $this->imageMagickExec($imagefile.$frame,$output,$command);
@@ -2196,6 +2202,16 @@ class t3lib_stdGraphic   {
        }
 
        /**
+        * Creates subdirectory in typo3temp/ if not already found.
+        */
+       function createTempSubDir($dirName)     {
+                       // Making the temporary filename:
+               if (!@is_dir(PATH_site.$this->tempPath.$dirName))        {
+                       return t3lib_div::mkdir(PATH_site.$this->tempPath.$dirName);
+               }
+       }
+
+       /**
         * Applies an ImageMagick parameter to a GDlib image pointer resource by writing the resource to file, performing an IM operation upon it and reading back the result into the ImagePointer.
         *
         * @param       pointer         The image pointer (reference)
index 56d1cb4..3a57039 100755 (executable)
@@ -2786,6 +2786,33 @@ class t3lib_TCEforms     {
                        }
                }
 
+                       // Values from a file folder:
+               if ($fieldValue['config']['fileFolder'])        {
+                       $fileFolder = t3lib_div::getFileAbsFileName($fieldValue['config']['fileFolder']);
+                       if (@is_dir($fileFolder))       {
+
+                                       // Configurations:
+                               $extList = $fieldValue['config']['fileFolder_extList'];
+                               $recursivityLevels = isset($fieldValue['config']['fileFolder_recursions']) ? t3lib_div::intInRange($fieldValue['config']['fileFolder_recursions'],0,99) : 99;
+
+                                       // Get files:
+                               $fileFolder = ereg_replace('\/$','',$fileFolder).'/';
+                               $fileArr = t3lib_div::getAllFilesAndFoldersInPath(array(),$fileFolder,$extList,0,$recursivityLevels);
+                               $fileArr = t3lib_div::removePrefixPathFromList($fileArr, $fileFolder);
+
+                               foreach($fileArr as $fileRef)   {
+                                       $fI = pathinfo($fileRef);
+                                       $icon = t3lib_div::inList('gif,png,jpeg,jpg', strtolower($fI['extension'])) ? '../'.substr($fileFolder,strlen(PATH_site)).$fileRef : '';
+                                       $items[] = array(
+                                               $fileRef,
+                                               $fileRef,
+                                               $icon
+                                       );
+                               }
+                       }
+               }
+
+
                        // If 'special' is configured:
                if ($fieldValue['config']['special'])   {
                        switch ($fieldValue['config']['special'])       {
@@ -3982,6 +4009,34 @@ class t3lib_TCEforms     {
                                                        $output = !$row[$parts[1]] ? TRUE : FALSE;
                                                }
                                        break;
+                                       case '>':
+                                               $output = $row[$parts[1]] > $parts[3];
+                                       break;
+                                       case '<':
+                                               $output = $row[$parts[1]] < $parts[3];
+                                       break;
+                                       case '>=':
+                                               $output = $row[$parts[1]] >= $parts[3];
+                                       break;
+                                       case '<=':
+                                               $output = $row[$parts[1]] <= $parts[3];
+                                       break;
+                                       case '-':
+                                       case '!-':
+                                               $cmpParts = explode('-',$parts[3]);
+                                               $output = $row[$parts[1]] >= $cmpParts[0] && $row[$parts[1]] <= $cmpParts[1];
+                                               if ($parts[2]{0}=='!')  $output = !$output;
+                                       break;
+                                       case 'IN':
+                                       case '!IN':
+                                               $output = t3lib_div::inList($parts[3],$row[$parts[1]]);
+                                               if ($parts[2]{0}=='!')  $output = !$output;
+                                       break;
+                                       case '=':
+                                       case '!=':
+                                               $output = t3lib_div::inList($parts[3],$row[$parts[1]]);
+                                               if ($parts[2]{0}=='!')  $output = !$output;
+                                       break;
                                }
                        break;
                        case 'EXT':
index e2a7d01..237b372 100755 (executable)
@@ -3091,7 +3091,7 @@ class t3lib_TCEmain       {
 
                        // Set title value to check for:
                if ($count)     {
-                       $checkTitle = $value.sprintf($this->prependLabel($table),$count);
+                       $checkTitle = $value.rtrim(' '.sprintf($this->prependLabel($table),$count));
                }       else {
                        $checkTitle = $value;
                }
index aac2903..bf94ee9 100755 (executable)
@@ -70,6 +70,7 @@ $TYPO3_CONF_VARS = Array(
                'binPath' => '',                                                // String, comma seperated list: list of absolute paths where external programs should be searched for
                't3lib_cs_convMethod' => '',                    // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset conversing functions in t3lib_cs. Will speed up charset conversion radically.
                't3lib_cs_utils' => '',                                 // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset processing functions in t3lib_cs. Will speed up charset functions radically.
+               'no_pconnect' => 0,                                             // Boolean: If true, "connect" is used instead of "pconnect" when connecting to the database!
        ),
        'EXT' => Array (        // Options related to the Extension Management
                'noEdit' => 1,                                                  // Boolean: If set, the Extension Manager does NOT allow extension files to be edited! (Otherwise both local and global extensions can be edited.)
index ba3c33d..ca89304 100755 (executable)
@@ -400,4 +400,4 @@ $SOBE->init();
 $SOBE->main();
 $SOBE->printContent();
 
-?>
+?>
\ No newline at end of file
index 25f278c..36d9abe 100755 (executable)
@@ -111,7 +111,7 @@ class SC_alt_main {
        function generateJScode()       {
                global $BE_USER,$LANG;
 
-               $pt3=t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')).'/';
+               $pt3 = t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')).'/';
                $goToModule_switch = $this->alt_menuObj->topMenu($this->loadModules->modules,0,"",4);
                $fsMod = implode(chr(10),$this->alt_menuObj->fsMod);
 
@@ -236,7 +236,7 @@ class SC_alt_main {
        /**
         * Loads a page id for editing in the page edit module:
         */
-       function loadEditId(id) {       //
+       function loadEditId(id,addGetVars)      {       //
                top.fsMod.recentIds["web"]=id;
                top.fsMod.navFrameHighlightedID["web"]="pages"+id+"_0";         // For highlighting
 
@@ -244,7 +244,7 @@ class SC_alt_main {
                        top.content.nav_frame.refresh_nav();
                }
 
-               top.goToModule("'.$pageModule.'");
+               top.goToModule("'.$pageModule.'", 0, addGetVars?addGetVars:"");
        }
 
        /**
@@ -318,7 +318,10 @@ class SC_alt_main {
         * Function used to switch switch module.
         */
        var currentModuleLoaded = "";
-       function goToModule(modName,cMR_flag)   {       //
+       function goToModule(modName,cMR_flag,addGetVars)        {       //
+               var additionalGetVariables = "";
+               if (addGetVars) additionalGetVariables = addGetVars;
+
                var cMR = 0;
                if (cMR_flag)   cMR = 1;
 
index a15feb0..1d1748a 100755 (executable)
@@ -162,7 +162,7 @@ class alt_menu_functions {
                                $mIcons[] = '<a href="#" onclick="top.goToModule(\''.$moduleName.'\');'.$onBlur.'return false;" class="c-mainitem" id="'.$moduleCSSId.'">'.$descr3_imageCode.'</a>';
 
                                $JScmd = '
-                                               top.content.location=top.getModuleUrl(top.TS.PATH_typo3+\''.$this->wrapLinkWithAB($link).'\');
+                                               top.content.location=top.getModuleUrl(top.TS.PATH_typo3+\''.$this->wrapLinkWithAB($link).'\'+additionalGetVariables);
                                                top.highlightModuleMenuItem("'.$moduleCSSId.'",1);';
                                $mJScmds[] = "case '".$moduleName."': \n ".$JScmd." \n break;";
                        }
@@ -238,7 +238,7 @@ class alt_menu_functions {
 
                                                        // Command for the selector box:
                                                $JScmd = "
-                                                               top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.');
+                                                               top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.'+additionalGetVariables);
                                                                top.fsMod.currentMainLoaded="'.$moduleName.'";
                                                                ';
 
@@ -254,7 +254,7 @@ class alt_menu_functions {
                                                        $JScmd = '
                                                                if (top.content.list_frame && top.fsMod.currentMainLoaded=="'.$moduleName.'") {
                                                                        top.currentSubScript="'.$origLink.'";
-                                                                       top.content.list_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($origLink).'"'.$addJS.');
+                                                                       top.content.list_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($origLink).'"'.$addJS.'+additionalGetVariables);
                                                                        if(top.currentSubNavScript!="'.$subNavFrameScript.'") {
                                                                                top.currentSubNavScript="'.$subNavFrameScript.'";
                                                                                top.content.nav_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$subNavFrameScript.'");
@@ -263,7 +263,7 @@ class alt_menu_functions {
                                                                        top.content.location=top.TS.PATH_typo3+(
                                                                                top.nextLoadModuleUrl?
                                                                                "'.($prefix?$this->wrapLinkWithAB($link).'&exScript=':'').'listframe_loader.php":
-                                                                               "'.$this->wrapLinkWithAB($link).'"'.$addJS.'
+                                                                               "'.$this->wrapLinkWithAB($link).'"'.$addJS.'+additionalGetVariables
                                                                        );
                                                                        top.fsMod.currentMainLoaded="'.$moduleName.'";
                                                                        top.currentSubScript="'.$origLink.'";
index 7fc0901..befda46 100755 (executable)
@@ -3326,7 +3326,7 @@ EXTENSION KEYS:
                                        if (!isset($instExtInfo[$depK]))        {
                                                $msg = 'Extension "'.$depK.'" was not available in the system. Please import it from the TYPO3 Extension Repository.';
                                        } else {
-                                               $msg = 'Extension "'.$depK.'" ('.$instExtInfo[$depK]['EM_CONF']['title'].') was not installed. Please installed it first.';
+                                               $msg = 'Extension "'.$depK.'" ('.$instExtInfo[$depK]['EM_CONF']['title'].') was not installed. Please install it first.';
                                        }
                                        $this->content.= $this->doc->section('Dependency Error',$msg,0,1,2);
                                        return -1;
index bda1f98..623eff1 100755 (executable)
@@ -131,7 +131,7 @@ class SC_mod_web_info_index extends t3lib_SCbase {
                                '<span title="'.htmlspecialchars($this->pageinfo['_thePathFull']).'">'.htmlspecialchars(t3lib_div::fixed_lgd_cs($this->pageinfo['_thePath'],-50)).'</span>';
 
                                // Draw the header.
-                       $this->doc->form='<form action="" method="post">';
+                       $this->doc->form = '<form action="index.php" method="post" name="webinfoForm">';
                        $this->content.=$this->doc->startPage($LANG->getLL('title'));
                        $this->content.=$this->doc->header($LANG->getLL('title'));
                        $this->content.=$this->doc->spacer(5);
index a251e7d..37e833a 100755 (executable)
@@ -13,6 +13,12 @@ if (TYPO3_MODE=='BE')        {
                t3lib_extMgm::extPath($_EXTKEY).'web_info/class.tx_cms_webinfo.php',
                'LLL:EXT:cms/locallang_tca.php:mod_tx_cms_webinfo_page'
        );
+       t3lib_extMgm::insertModuleFunction(
+               'web_info',
+               'tx_cms_webinfo_lang',
+               t3lib_extMgm::extPath($_EXTKEY).'web_info/class.tx_cms_webinfo_lang.php',
+               'LLL:EXT:cms/locallang_tca.php:mod_tx_cms_webinfo_lang'
+       );
 }
 
 
@@ -432,7 +438,18 @@ if (TYPO3_MODE=='BE')      {
                                ),
                                'default' => ''
                        )
-               )
+               ),
+               'l18n_cfg' => Array (
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg',
+                       'config' => Array (
+                               'type' => 'check',
+                               'items' => Array (
+                                       Array('LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg.I.1', ''),
+                                       Array('LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg.I.2', ''),
+                               ),
+                       )
+               ),
        ));
 
                // Add columns to info-display list.
@@ -443,12 +460,12 @@ if (TYPO3_MODE=='BE')     {
 
                // Totally overriding all type-settings:
        $TCA['pages']['types'] = Array (
-               '1' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, TSconfig;;6;nowrap;5-5-5, storage_pid;;7'),
-               '2' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, abstract;;5;;3-3-3, keywords, description, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, module, content_from_pid'),
-               '3' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;3;;2-2-2, nav_hide, url;;;;3-3-3, urltype, TSconfig;;6;nowrap;5-5-5, storage_pid;;7'),
-               '4' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;3;;2-2-2, nav_hide, shortcut;;;;3-3-3, shortcut_mode, TSconfig;;6;nowrap;5-5-5, storage_pid;;7'),
-               '5' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, module, content_from_pid'),
-               '7' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, mount_pid;;;;3-3-3, mount_pid_ol, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, module, content_from_pid'),
+               '1' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg'),
+               '2' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, abstract;;5;;3-3-3, keywords, description, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg, module, content_from_pid'),
+               '3' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;3;;2-2-2, nav_hide, url;;;;3-3-3, urltype, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg'),
+               '4' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;3;;2-2-2, nav_hide, shortcut;;;;3-3-3, shortcut_mode, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg'),
+               '5' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg, module, content_from_pid'),
+               '7' => Array('showitem' => 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, subtitle, nav_hide, nav_title, --div--, mount_pid;;;;3-3-3, mount_pid_ol, media;;;;4-4-4, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg, module, content_from_pid'),
                '199' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;;;2-2-2, TSconfig;;6;nowrap;5-5-5, storage_pid;;7'),
                '254' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;LLL:EXT:lang/locallang_general.php:LGL.title;;;2-2-2, --div--, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, module'),
                '255' => Array('showitem' => 'hidden;;;;1-1-1, doktype, title;;;;2-2-2')
@@ -482,6 +499,8 @@ $TCA['tt_content'] = Array (
                'prependAtCopy' => 'LLL:EXT:lang/locallang_general.php:LGL.prependAtCopy',
                'copyAfterDuplFields' => 'colPos,sys_language_uid',
                'useColumnsForDefaultValues' => 'colPos,sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'languageField' => 'sys_language_uid',
                'enablecolumns' => Array (
                        'disabled' => 'hidden',
                        'starttime' => 'starttime',
@@ -590,6 +609,7 @@ $TCA['pages_language_overlay'] = Array (
                        'starttime' => 'starttime',
                        'endtime' => 'endtime'
                ),
+               'languageField' => 'sys_language_uid',
                'mainpalette' => 1,
                'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tbl_cms.php'
        )
index 2e3a616..eefe8c9 100755 (executable)
@@ -235,6 +235,7 @@ CREATE TABLE sys_language (
   tstamp int(11) unsigned DEFAULT '0' NOT NULL,
   hidden tinyint(4) unsigned DEFAULT '0' NOT NULL,
   title varchar(80) DEFAULT '' NOT NULL,
+  flag varchar(20) DEFAULT '' NOT NULL,
   static_lang_isocode int(11) unsigned DEFAULT '0' NOT NULL,
   PRIMARY KEY (uid),
   KEY parent (pid)
@@ -343,6 +344,7 @@ CREATE TABLE tt_content (
   sys_language_uid int(11) DEFAULT '0' NOT NULL,
   tx_impexp_origuid int(11) DEFAULT '0' NOT NULL,
   pi_flexform mediumtext NOT NULL,
+  l18n_parent int(11) DEFAULT '0' NOT NULL,
 
   PRIMARY KEY (uid),
   KEY parent (pid)
@@ -384,5 +386,6 @@ CREATE TABLE pages (
   mount_pid int(10) unsigned DEFAULT '0' NOT NULL,
   mount_pid_ol tinyint(4) DEFAULT '0' NOT NULL,
   alias varchar(20) DEFAULT '' NOT NULL,
+  l18n_cfg tinyint(4) DEFAULT '0' NOT NULL,
   KEY alias (alias)
 );
\ No newline at end of file
index 7f41251..58c49e2 100755 (executable)
@@ -77,5 +77,89 @@ Will show the total number of page hits/sessions within main sections of a websi
                        <label index="_func_hits.image">EXT:cms/cshimages/pagetree_overview_2.png</label>
                </languageKey>
                <languageKey index="dk">EXT:csh_dk/cms/dk.locallang_csh_webinfo.xml</languageKey>
+               <languageKey index="de" type="array">
+                       <label index="pagetree_overview.alttitle">Seitenbaum Übersicht</label>
+                       <label index="pagetree_overview.description">Die Seitenbaum Übersicht liefert Informationen über Seiten eines Bereiches des Seitenbaums. Enthalten sind unter anderem die Anzahl von Datensätzen, Seiteneinstellungen (z.B. Alias), Start- und Ende-Zeiten für die Darstellung, Cache Einstellungen usw.</label>
+                       <label index="pagetree_overview.image_descr">Ein Beispiel für eine Funktion der Seitenbaum Übersicht ist die Möglichkeit, die Typen der Datensätze anzuzeigen, die auf bestimmten Seiten enthalten sind. In diesem Fall wird die Anzahl der Datensätze für den Teilbereich des Seitenbaumes in der 2. Ebene und tiefer angezeigt.</label>
+                       <label index="func_0.alttitle">Basiseinstellungen</label>
+                       <label index="func_0.description">Stellt eine Auswahl von Feldern bestimmter Seiten dar, die grundsätzliche Einstellungen für Seiten enthalten. Dazu gehören Aliase, Start- und Stopp-Zeiten, Zugrifssbeschränkungen usw.</label>
+                       <label index="func_0.details">Die Ansicht der Basiseinstellungen ähnelt stark der von Cache und Alter. Sie unterscheiden sich jediglich durch die Auswahl der Felder die sie anzeigen.
+
+&lt;b&gt;Bearbeitung mehrerer Felder gleichzeitig&lt;/b&gt;
+In dieser Ansicht finden Sie mehrfach Bearbeitungs Symbole. Die Symbole in den Zeilen der Überschriften bringen Sie in einen Bearbeitungsmodus, in dem Sie genau dieses Feld für alle aufgeführten Tabellen bearbeiten können! Dies ist sehr nützlich, um etwa alle Start-Zeiten der Seiten zu verändern.
+Wenn Sie auf das Bearbeitungs Symbol der ID Nummern klicken, landen Sie direkt in der normalen Ansicht zur Bearbeitung des gesamten Seiten-Datensatzes.</label>
+                       <label index="func_0.image_descr">Die Ansicht der Basiseinstellungen. Sehen Sie, wie einfach Sie einen Überblick über die Aliase, Start-Zeiten und Zugrifssbeschränkungen bekommen können?
+Wenn Sie auf ein Bearbeitungs-Symbol in der Überschrift klicken, können Sie das entsprechende Feld für alle aufgelisteten Seiten bearbeiten (in diesem Fall das &quot;Access&quot; Feld).
+So sieht das gleichzeige Bearbeiten mehrer Einträge aus; jeweils nur ein Feld je Datensatz!</label>
+                       <label index="func_1.alttitle">Datensatz-Übersicht</label>
+                       <label index="func_1.description">Die Datensatz-Übersicht gibt Ihnen einen guten Überblick über die Verteilung von bestimmten Datensätzen innerhalb des Seitenbaumes. Jede Datenbank Tabelle des Systems wird in einer eigenen Spalte dargestellt, jeweils mit der Anzahl der Datensätze dieser Tabelle, die auf der Seite enhalten sind.</label>
+                       <label index="func_1.details">&lt;b&gt;Hinweis:&lt;/b&gt; Seien Sie vorsichtig mit der Ebenen-Einstellung. Wenn Sie beispielsweise die Anzeige von &quot;3 Ebenen&quot; auswählen, kann das System eventuell sehr langsam reagieren falls viele Seiten und entsprechend viele Datensätze in der Datenbank enthalten sind!
+
+&lt;b&gt;Teilansicht&lt;/b&gt;
+Haben Sie das kleine rote &quot;+&quot; neben einigen Seiten im Seitenbaum bemerkt? Der Grund dafür ist eine Einstellung für bestimmte Seiten, die Sie daran hindern den Seitenbaum für ihre Unterseiten aufzuklappen. Normalerweise wird diese Einstellung als Schutzmaßnahme verwendet wenn sich unterhalb der Seiten sehr viele weitere Seiten befinden (normalerweise mehrere Hundert). Wenn Sie auf das Symbol / den Titel klicken, wird für die Übersicht diese Seite als neuer Ausgangspunkt verwendet.</label>
+                       <label index="func_1.image_descr">Beachten Sie, wie einfach Sie einen Überblick über die Verteilung der Inhaltselemente auf den Seiten bekommen. Sie können ebenfalls sehen wo sich Template Datensätze - grundsätzliche jede Art von Datensätzen - im Seitenbaum befinden.</label>
+                       <label index="func_2.alttitle">Cache und Alter</label>
+                       <label index="func_2.description">Zeigt eine Auswahl an Feldern aus Seiten Datensätzen, die Informationen zum Caching der Seite und dessen zeitlicher Steuerung enthalten.</label>
+                       <label index="func_2.image_descr">Die &quot;Cache und Alter&quot; Ansicht.
+Hier sehen Sie die &quot;TSconfig&quot; Spalte. Die Übersicht zeigt, dass diese beiden Seiten TSconfig Code enhalten!</label>
+                       <label index="stat.alttitle">Statistik der Seitenzugriffe</label>
+                       <label index="stat.description">Zeigt eine Zugriffsstatistik für einen bestimmten Teilbereich des Seitenbaumes. Basiert auf einer einfachen, internen Statistik Tabelle, die jediglich Seitenaufrufe und Sitzungen protokolliert.</label>
+                       <label index="stat.details">&lt;b&gt;Hinweis:&lt;/b&gt; Diese Funktion benötigt die Erweiterung &quot;Simple hit statistics&quot; (sys_stat). Sie müssen ausserdem über TypoScript das Protokollieren der Seitenaufrufe aktivieren.</label>
+                       <label index="func_hits.alttitle">Statistik Ansichten</label>
+               </languageKey>
        </data>
+       <orig_hash type="array">
+               <languageKey index="de" type="array">
+                       <label index="pagetree_overview.alttitle" type="integer">92312309</label>
+                       <label index="pagetree_overview.description" type="integer">194965389</label>
+                       <label index="pagetree_overview.image_descr" type="integer">102428178</label>
+                       <label index="func_0.alttitle" type="integer">44646530</label>
+                       <label index="func_0.description" type="integer">251798588</label>
+                       <label index="func_0.details" type="integer">218228585</label>
+                       <label index="func_0.image_descr" type="integer">230741364</label>
+                       <label index="func_1.alttitle" type="integer">188466761</label>
+                       <label index="func_1.description" type="integer">22684429</label>
+                       <label index="func_1.details" type="integer">207352220</label>
+                       <label index="func_1.image_descr" type="integer">18528422</label>
+                       <label index="func_2.alttitle" type="integer">198333821</label>
+                       <label index="func_2.description" type="integer">84825514</label>
+                       <label index="func_2.image_descr" type="integer">218934546</label>
+                       <label index="stat.alttitle" type="integer">172665738</label>
+                       <label index="stat.description" type="integer">51774969</label>
+                       <label index="stat.details" type="integer">220484491</label>
+                       <label index="func_hits.alttitle" type="integer">100802615</label>
+               </languageKey>
+       </orig_hash>
+       <orig_text type="array">
+               <languageKey index="de" type="array">
+                       <label index="pagetree_overview.alttitle">Pagetree Overview</label>
+                       <label index="pagetree_overview.description">The Pagetree Overview shows information related to pages for a branch of the page tree. This includes record counts, page settings like alias, start- and stop-times, cache settings etc.</label>
+                       <label index="pagetree_overview.image_descr">One of the features of the Pagetree Overview module is that you can see what types of records are found on pages in a branch. Here record counts are shown for a page tree branch 2 levels down.</label>
+                       <label index="func_0.alttitle">Basic Settings</label>
+                       <label index="func_0.description">Displays a selection of fields from page records which are regarded as foundational settings for pages. That includes aliases, start- and stop times, access restriction information etc.</label>
+                       <label index="func_0.details">The Basic Settings view resembles the Cache and Age view quite a lot. They are different only by the selection of fields they show.
+
+&lt;b&gt;Batch editing page fields&lt;/b&gt;
+You will find multiple edit-icons around the interface. All edit icons in head lines will bring you to an editing dialog where you can change exactly that field for all listed tables! Very useful for batch-editing of say all &quot;Start&quot; times.
+If you click the edit icon at the ID numbers of pages you will get straight to the regular editing of a whole page record.</label>
+                       <label index="func_0.image_descr">The Basic Settings view. Notice how this offers a very convenient overview of page aliases, start times and access restriction settings in the tree branch.
+If you click an edit-icon in the header you will be able to edit that field (here the &quot;Access&quot; field) for all listed pages.
+This is how batch-editing looks like; Only one field per record!</label>
+                       <label index="func_1.alttitle">Record Overview</label>
+                       <label index="func_1.description">Record overview gives you an indispensable overview of the distribution of records in the page tree. Each database table in the system is represented with a column and for each page you can see the number of records from that table located on the page.</label>
+                       <label index="func_1.details">&lt;b&gt;Notice:&lt;/b&gt; Be careful with the level-setting. Setting for instance &quot;3 levels&quot; might make the module respond very slowly if there are many pages and many records in the database as well!
+
+&lt;b&gt;Tree stop?&lt;/b&gt;
+Notice the red &quot;+&quot; next to a page in the page tree? This is due to a setting for that page record which means that the page tree will not expand for this page. Typically this is set for protection when there are a large amount of subpages underneath (hundreds of pages typically). If you click the icon/title the overview will jump to make this page the new root of the overview.</label>
+                       <label index="func_1.image_descr">Notice how you can easily see the distribution of Content Elements on a page. You can also see where Template Records - and basically any record! - are located in the page tree!</label>
+                       <label index="func_2.alttitle">Cache and Age</label>
+                       <label index="func_2.description">Displays a selection of fields from page records related to page caching and time settings.</label>
+                       <label index="func_2.image_descr">The &quot;Cache and Age&quot; view.
+Here you see the &quot;TSconfig&quot; column. The overview exposes that these two pages include some Page TSconfig code!</label>
+                       <label index="stat.alttitle">Page Hit statistics</label>
+                       <label index="stat.description">Displays website hit statistics for a branch of the page tree. Based on the simple, internal MySQL statistics table which records page impressions and sessions only.</label>
+                       <label index="stat.details">&lt;b&gt;Notice:&lt;/b&gt; This function requires the extension &quot;Simple hit statistics&quot; (sys_stat) to be installed. Also you must configure TypoScript to register page hits in the statistics database table.</label>
+                       <label index="func_hits.alttitle">Statistic Views</label>
+               </languageKey>
+       </orig_text>
 </T3locallang>
\ No newline at end of file
index 7e7e9f4..df3b10a 100755 (executable)
@@ -10,6 +10,7 @@
        <data type="array">
                <languageKey index="default" type="array">
                        <label index="mod_tx_cms_webinfo_page">Pagetree overview</label>
+                       <label index="mod_tx_cms_webinfo_lang">Localization overview</label>
                        <label index="pages.doktype.I.0">Advanced</label>
                        <label index="pages.doktype.I.2">Shortcut</label>
                        <label index="pages.doktype.I.3">Not in menu</label>
                        <label index="pages.module.I.4">Website users</label>
                        <label index="pages.module.I.5">Direct Mail</label>
                        <label index="pages.module.I.6">Approvals</label>
+                       <label index="pages.l18n_cfg">Localization settings:</label>
+                       <label index="pages.l18n_cfg.I.1">Hide default translation of page</label>
+                       <label index="pages.l18n_cfg.I.2">Hide page if no translation for current language exists</label>
+
                        <label index="tt_content">Pagecontent</label>
                        <label index="fe_users">Website user</label>
                        <label index="fe_users.username">Username:</label>
@@ -76,6 +81,7 @@
                        <label index="sys_template">Template</label>
                        <label index="static_template">Static templates</label>
                        <label index="sys_language.isocode">Select Official Language (ISO code):</label>
+                       <label index="sys_language.flag">Select flag icon:</label>
                </languageKey>
                <languageKey index="dk" type="array">
                        <label index="mod_tx_cms_webinfo_page">Overblik over sidetræ</label>
index 35edc4c..fe4460b 100755 (executable)
@@ -619,9 +619,25 @@ $TCA['sys_language'] = Array (
                                'maxitems' => 1,
                )
            ),
+               'flag' => array(
+               'label' => 'LLL:EXT:cms/locallang_tca.php:sys_language.flag',
+               'config' => Array (
+                               'type' => 'select',
+                               'items' => Array (
+                                       Array('',0),
+                               ),
+                               'fileFolder' => 'EXT:cms/tslib/media/flags/',
+                               'fileFolder_extList' => 'png,jpg,jpeg,gif',
+                               'fileFolder_recursions' => 0,
+                               'selicon_cols' => 8,
+                               'size' => 1,
+                               'minitems' => 0,
+                               'maxitems' => 1,
+               )
+               )
        ),
        'types' => Array (
-               '1' => Array('showitem' => 'hidden;;;;1-1-1,title;;;;2-2-2,static_lang_isocode')
+               '1' => Array('showitem' => 'hidden;;;;1-1-1,title;;;;2-2-2,static_lang_isocode,flag')
        )
 );
 
index 2d561b3..88b6075 100755 (executable)
@@ -126,10 +126,24 @@ $TCA['tt_content'] = Array (
                                'foreign_table' => 'sys_language',
                                'foreign_table_where' => 'ORDER BY sys_language.title',
                                'items' => Array(
+                                       Array('LLL:EXT:lang/locallang_general.php:LGL.allLanguages',-1),
                                        Array('LLL:EXT:lang/locallang_general.php:LGL.default_value',0)
                                )
                        )
                ),
+               'l18n_parent' => Array (
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.php:LGL.l18n_parent',
+                       'config' => Array (
+                               'type' => 'select',
+                               'items' => Array (
+                                       Array('', 0),
+                               ),
+                               'foreign_table' => 'tt_content',
+                               'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.sys_language_uid=0',
+                       )
+               ),
                'layout' => Array (
                        'exclude' => 1,
                        'label' => 'LLL:EXT:lang/locallang_general.php:LGL.layout',
@@ -955,7 +969,7 @@ $TCA['tt_content'] = Array (
                '1' => Array('showitem' => 'hidden, starttime, endtime, fe_group'),
                '2' => Array('showitem' => 'imagecols, image_noRows, imageborder'),
                '3' => Array('showitem' => 'header_position, header_layout, header_link, date'),
-               '4' => Array('showitem' => 'sys_language_uid, colPos, spaceBefore, spaceAfter, section_frame, sectionIndex, linkToTop'),
+               '4' => Array('showitem' => 'sys_language_uid, l18n_parent, colPos, spaceBefore, spaceAfter, section_frame, sectionIndex, linkToTop'),
                '5' => Array('showitem' => 'imagecaption_position'),
                '6' => Array('showitem' => 'imagewidth,image_link'),
                '7' => Array('showitem' => 'image_link, image_zoom'),
@@ -965,7 +979,7 @@ $TCA['tt_content'] = Array (
                '11' => Array('showitem' => 'image_compression, image_effects, image_frames'),
                '12' => Array('showitem' => 'recursive'),
                '13' => Array('showitem' => 'imageheight'),
-               '14' => Array('showitem' => 'sys_language_uid, colPos')
+               '14' => Array('showitem' => 'sys_language_uid, l18n_parent, colPos')
        )
 );
 
index a7ffb2e..ccb1c19 100755 (executable)
@@ -3610,7 +3610,7 @@ class tslib_cObj {
                        }
 
                                // Re-assembles the tag and content
-                       $subparts[0]=trim($tagName.' '.t3lib_div::implodeParams($attribs));
+                       $subparts[0]=trim($tagName.' '.t3lib_div::implodeAttributes($attribs));
                        $parts[$key] = implode('>',$subparts);
                        $content = implode('<',$parts);
                }
@@ -4201,7 +4201,7 @@ class tslib_cObj {
                                        // Default align
                                if (!$attrib['align'] && $defaultAlign) $attrib['align']=$defaultAlign;
 
-                               $params = t3lib_div::implodeParams($attrib,1);
+                               $params = t3lib_div::implodeAttributes($attrib,1);
                                if ($conf['removeWrapping'])    {
                                        $str_content=$str_content;
                                } else {
index d037a1a..731664b 100755 (executable)
        var $altPageTitle='';                           // Alternative page title (normally the title of the page record). Can be set from applications you make.
        var $pEncAllowedParamNames=array();     // An array that holds parameter names (keys) of GET parameters which MAY be MD5/base64 encoded with simulate_static_documents method.
        var $baseUrl='';                                        // The Base url set for the page header.
+       var $anchorPrefix='';                           // The proper anchor prefix needed when using speaking urls. (only set if baseUrl is set)
 
                // Page content render object
        var $cObj ='';                                          // is instantiated object of tslib_cObj
                        $GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'uid='.intval($this->fe_user->user['uid']), array('is_online' => $GLOBALS['EXEC_TIME']));
                }
        }
-       
+
        /**
         * Initializes the front-end user groups.
         *
         * @return      void
-        */             
+        */
        function initUserGroups() {
                        // Sets ->loginUser and ->gr_list based on front-end user status.
                $this->fe_user->showHiddenRecords = $this->showHiddenRecords;           // This affects the hidden-flag selecting the fe_groups for the user!
                sort($gr_array);        // sort
                if (count($gr_array))   {
                        $this->gr_list.=','.implode(',',$gr_array);
-               }       
-               
+               }
+
                if ($this->fe_user->writeDevLog)        t3lib_div::devLog('Valid usergroups for TSFE: '.$this->gr_list, 'tslib_fe');
        }
-       
-       
+
+
        /**
         * Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or virtual HTML-documents (using Apache mod_rewrite)
         *
 
                        // Sets sys_page where-clause
                $this->setSysPageWhereClause();
-               
+
                        // Splitting $this->id by a period (.). First part is 'id' and second part - if exists - will overrule the &type param if given
                $pParts = explode('.',$this->id);
                $this->id = $pParts[0]; // Set it.
        }
 
        /**
-        * Return where-clause for group access 
+        * Return where-clause for group access
         *
         * @return      string  Group where clause part
         * @access private
         function getPagesGroupClause() {
                return ' AND fe_group IN ('.$this->gr_list.')';
        }
-       
+
        /**
         * Looking up a domain record based on HTTP_HOST
         *
index 20e06e7..1985c6a 100755 (executable)
@@ -273,8 +273,13 @@ class tslib_gifBuilder extends t3lib_stdGraphic {
         */
        function gifBuild()     {
                if ($this->setup)       {
-                       $gifFileName = $this->fileName('GB_');
+                       $gifFileName = $this->fileName('GB/');  // Relative to PATH_site
                        if (!@file_exists($gifFileName))        {               // File exists
+
+                                       // Create temporary directory if not done:
+                               $this->createTempSubDir('GB/');
+
+                                       // Create file:
                                $this->make();
                                $this->output($gifFileName);
                                $this->destroy();
@@ -553,7 +558,7 @@ class tslib_gifBuilder extends t3lib_stdGraphic {
         * Calculates the GIFBUILDER output filename/path based on a serialized, hashed value of this->setup
         *
         * @param       string          Filename prefix, eg. "GB_"
-        * @return      string          The relative filepath
+        * @return      string          The relative filepath (relative to PATH_site)
         * @access private
         */
        function fileName($pre) {
index 04a5dec..9b0ea27 100755 (executable)
@@ -1235,7 +1235,7 @@ class tslib_menu {
         * @access private
         */
        function setATagParts() {
-               $this->I['A1'] = '<a '.t3lib_div::implodeParams($this->I['linkHREF'],1).$this->I['val']['ATagParams'].$this->I['addATagParams'].$this->I['accessKey']['code'].'>';
+               $this->I['A1'] = '<a '.t3lib_div::implodeAttributes($this->I['linkHREF'],1).$this->I['val']['ATagParams'].$this->I['addATagParams'].$this->I['accessKey']['code'].'>';
                $this->I['A2'] = '</a>';
        }
 
@@ -1821,11 +1821,13 @@ class tslib_gmenu extends tslib_menu {
                                $gifFileName=$altImgInfo[3];
                        }
 
-                               // If an alternative names was NOT given, find the GIFBUILDER name.
+                               // If an alternative name was NOT given, find the GIFBUILDER name.
                        if (!$gifFileName && $isGD)     {
-                               $gifFileName = $gifCreator->fileName('m_');
+                               $gifCreator->createTempSubDir('menu/');
+                               $gifFileName = $gifCreator->fileName('menu/');
                        }
-                       // generation
+
+                               // Generation of image file:
                        if (@file_exists($gifFileName)) {               // File exists
                                $info = @getimagesize($gifFileName);
                                $this->result[$resKey][$key]['output_w']=intval($info[0]);
@@ -2335,7 +2337,9 @@ class tslib_imgmenu extends tslib_menu {
 
                                if ($this->mconf['debugRenumberedObject'])      {echo '<h3>Renumbered GIFBUILDER object:</h3>'; debug($gifCreator->setup);}
 
-                               $gifFileName = $gifCreator->fileName('m_');
+                               $gifCreator->createTempSubDir('menu/');
+                               $gifFileName = $gifCreator->fileName('menu/');
+
                                        // Gets the ImageMap from the cache...
                                $imgHash = md5($gifFileName);
                                $imgMap = $this->sys_page->getHash($imgHash, 0);
index e49c487..a2ee5d6 100755 (executable)
@@ -124,6 +124,7 @@ class TSpagegen {
                        // Base url:
                if ($GLOBALS['TSFE']->config['config']['baseURL']) {
                        $GLOBALS['TSFE']->baseUrl = (intval($GLOBALS['TSFE']->config['config']['baseURL']) ? t3lib_div::getIndpEnv('TYPO3_SITE_URL') : $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
@@ -404,7 +405,7 @@ function linkTo_UnCryptMailto(s)    {       //
 
                        // Begin header section:
                if (strcmp($GLOBALS['TSFE']->config['config']['htmlTag_setParams'],'none'))     {
-                       $_attr = $GLOBALS['TSFE']->config['config']['htmlTag_setParams'] ? $GLOBALS['TSFE']->config['config']['htmlTag_setParams'] : t3lib_div::implodeParams($htmlTagAttributes);
+                       $_attr = $GLOBALS['TSFE']->config['config']['htmlTag_setParams'] ? $GLOBALS['TSFE']->config['config']['htmlTag_setParams'] : t3lib_div::implodeAttributes($htmlTagAttributes);
                } else {
                        $_attr = '';
                }
index 2bcebc1..b64d2a5 100755 (executable)
@@ -153,6 +153,7 @@ If you enter this string in the 'TSconfig' field, the 'Web&gt;Page' module will
 &lt;em&gt;mod.web_layout.tt_content.colPos_list = 0,3&lt;/em&gt;
 
 (Must be entered in a single line!)</label>
+                       <label index="l18n_cfg.description">...</label>
                </languageKey>
                <languageKey index="dk">EXT:csh_dk/context_help/dk.locallang_csh_pages.xml</languageKey>
                <languageKey index="nl">EXT:csh_nl/context_help/nl.locallang_csh_pages.xml</languageKey>
index bf235ca..8025f6d 100755 (executable)
@@ -1041,18 +1041,20 @@ th { font-family: verdana,arial, helvetica, sans-serif; font-size: 10pt; font-we
                }
 
                        // Run through files
-               $fileCounter=0;
-               $deleteCounter=0;
-               $criteriaMatch=0;
-               $tmap=array("day"=>1,"week"=>7,"month"=>30);
-               $tt=$this->INSTALL["typo3temp_delete"];
-               $action=$this->INSTALL["typo3temp_action"];
-               $d = @dir($this->typo3temp_path);
+               $fileCounter = 0;
+               $deleteCounter = 0;
+               $criteriaMatch = 0;
+               $tmap=array("day"=>1, "week"=>7, "month"=>30);
+               $tt = $this->INSTALL["typo3temp_delete"];
+               $subdir = $this->INSTALL["typo3temp_subdir"];
+               if (strlen($subdir) && !ereg('^[[:alnum:]_]+/$',$subdir))       die('subdir "'.$subdir.'" was not allowed!');
+               $action = $this->INSTALL["typo3temp_action"];
+               $d = @dir($this->typo3temp_path.$subdir);
                if (is_object($d))      {
                        while($entry=$d->read()) {
-                               $theFile = $this->typo3temp_path.$entry;
+                               $theFile = $this->typo3temp_path.$subdir.$entry;
                                if (@is_file($theFile)) {
-                                       $ok=0;
+                                       $ok = 0;
                                        $fileCounter++;
                                        if ($tt)        {
                                                if (t3lib_div::testInt($tt))    {
@@ -1061,7 +1063,7 @@ th { font-family: verdana,arial, helvetica, sans-serif; font-size: 10pt; font-we
                                                        if (fileatime($theFile) < time()-(intval($tmap[$tt])*60*60*24)) $ok=1;
                                                }
                                        } else {
-                                               $ok=1;
+                                               $ok = 1;
                                        }
                                        if ($ok)        {
                                                $hashPart=substr(basename($theFile),-14,10);
@@ -1079,6 +1081,17 @@ th { font-family: verdana,arial, helvetica, sans-serif; font-size: 10pt; font-we
                        $d->close();
                }
 
+                       // Find sub-dirs:
+               $subdirRegistry = array(''=>'');
+               $d = @dir($this->typo3temp_path);
+               if (is_object($d))      {
+                       while($entry=$d->read()) {
+                               $theFile = $entry;
+                               if (@is_dir($this->typo3temp_path.$theFile) && $theFile!='..' && $theFile!='.') {
+                                       $subdirRegistry[$theFile.'/'] = $theFile.'/ (Files: '.count(t3lib_div::getFilesInDir($this->typo3temp_path.$theFile)).')';
+                               }
+                       }
+               }
 
                $deleteType=array(
                        "0" => "All",
@@ -1089,16 +1102,22 @@ th { font-family: verdana,arial, helvetica, sans-serif; font-size: 10pt; font-we
                        "50" => "Filesize greater than 50 kb",
                        "100" => "Filesize greater than 100 kb"
                );
+
                $actionType=array(
                        "0" => "Don't delete, just display statistics",
                        "100" => "Delete 100",
                        "500" => "Delete 500",
                        "1000" => "Delete 1000"
                );
+
                $content='<select name="TYPO3_INSTALL[typo3temp_delete]">'.$this->getSelectorOptions($deleteType,$tt).'</select>
                <br>
 Number of files at a time:
-               <select name="TYPO3_INSTALL[typo3temp_action]">'.$this->getSelectorOptions($actionType).'</select>';
+               <select name="TYPO3_INSTALL[typo3temp_action]">'.$this->getSelectorOptions($actionType).'</select>
+
+From sub-directory:
+               <select name="TYPO3_INSTALL[typo3temp_subdir]">'.$this->getSelectorOptions($subdirRegistry, $this->INSTALL["typo3temp_subdir"]).'</select>
+               ';
 
                $form = '<form action="'.$this->action.'" method="POST">'.$content.'
 
index cb5aee9..f0dd6b9 100755 (executable)
@@ -34,7 +34,7 @@
                        <label index="info">Info</label>
                        <label index="emailAddress">Email address</label>
                        <label index="setLink">Set Link</label>
-                       <label index="clickToRedrawFullSize">Image is larger than shown here! Click to redraw with full size.</label>
+                       <label index="clickToRedrawFullSize">Image is larger than shown here! Click to redraw page with full sized images.</label>
                        <label index="findDragDrop">Find your image, then click on the image and drag it into the editor in the main window!</label>
                        <label index="noWebFolder">You cannot drag images from this folder (yellow) because it is internal on the server.</label>
                        <label index="currentLink">Current Link</label>
                        <label index="noWebFolder">Sie können Bilder aus diesem Verzeichnis nicht herüberziehen, da sie im internen Bereich des Servers liegen.</label>
                        <label index="currentLink">Aktueller Link</label>
                        <label index="invalidChar">FEHLER: Ungültiges Zeichen im Dateipfad gefunden (%s). Datei kann nicht hinzugefügt werden!</label>
+                       <label index="target_popUpWindow">In einem neuen Fenster öffnen</label>
+                       <label index="target_popUpWindow_width">Breite</label>
+                       <label index="target_popUpWindow_height">Höhe</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="removeLink">Fjern link</label>
                </languageKey>
        </data>
        <orig_hash type="array">
-               <languageKey index="default" type="array">
-                       <label index="removeLink" type="integer">127410368</label>
-                       <label index="uploadImage" type="integer">33130562</label>
-                       <label index="update" type="integer">6894342</label>
-                       <label index="path" type="integer">180814866</label>
-                       <label index="page" type="integer">26464201</label>
-                       <label index="file" type="integer">11696408</label>
-                       <label index="extUrl" type="integer">76246465</label>
-                       <label index="email" type="integer">216575645</label>
-                       <label index="special" type="integer">189541205</label>
-                       <label index="folderTree" type="integer">64613660</label>
-                       <label index="files" type="integer">153041452</label>
-                       <label index="target" type="integer">205628184</label>
-                       <label index="target_popUpWindow" type="integer">21986240</label>
-                       <label index="target_popUpWindow_width" type="integer">53040229</label>
-                       <label index="target_popUpWindow_height" type="integer">250375243</label>
-                       <label index="newWindow" type="integer">241027301</label>
-                       <label index="top" type="integer">173014479</label>
-                       <label index="none" type="integer">11678269</label>
-                       <label index="pageTree" type="integer">151051780</label>
-                       <label index="contentElements" type="integer">221138583</label>
-                       <label index="selectRecords" type="integer">189568969</label>
-                       <label index="addToList" type="integer">135970903</label>
-                       <label index="info" type="integer">67476226</label>
-                       <label index="emailAddress" type="integer">188054354</label>
-                       <label index="setLink" type="integer">126500206</label>
-                       <label index="clickToRedrawFullSize" type="integer">38116243</label>
-                       <label index="findDragDrop" type="integer">164239036</label>
-                       <label index="noWebFolder" type="integer">213382956</label>
-                       <label index="currentLink" type="integer">220492962</label>
-                       <label index="invalidChar" type="integer">103011900</label>
-               </languageKey>
                <languageKey index="dk" type="array">
                        <label index="removeLink" type="integer">127410368</label>
                        <label index="uploadImage" type="integer">33130562</label>
                        <label index="noWebFolder" type="integer">213382956</label>
                        <label index="currentLink" type="integer">220492962</label>
                        <label index="invalidChar" type="integer">103011900</label>
+                       <label index="target_popUpWindow" type="integer">21986240</label>
+                       <label index="target_popUpWindow_width" type="integer">53040229</label>
+                       <label index="target_popUpWindow_height" type="integer">250375243</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="removeLink" type="integer">127410368</label>
                <languageKey index="vn" type="array">
                </languageKey>
        </orig_hash>
-       <orig_text type="array">
-               <languageKey index="default" type="array">
-               </languageKey>
-               <languageKey index="dk" type="array">
-               </languageKey>
-               <languageKey index="de" type="array">
-               </languageKey>
-               <languageKey index="no" type="array">
-               </languageKey>
-               <languageKey index="it" type="array">
-               </languageKey>
-               <languageKey index="fr" type="array">
-               </languageKey>
-               <languageKey index="es" type="array">
-               </languageKey>
-               <languageKey index="nl" type="array">
-               </languageKey>
-               <languageKey index="cz" type="array">
-               </languageKey>
-               <languageKey index="pl" type="array">
-               </languageKey>
-               <languageKey index="si" type="array">
-               </languageKey>
-               <languageKey index="fi" type="array">
-               </languageKey>
-               <languageKey index="tr" type="array">
-               </languageKey>
-               <languageKey index="se" type="array">
-               </languageKey>
-               <languageKey index="pt" type="array">
-               </languageKey>
-               <languageKey index="ru" type="array">
-               </languageKey>
-               <languageKey index="ro" type="array">
-               </languageKey>
-               <languageKey index="ch" type="array">
-               </languageKey>
-               <languageKey index="sk" type="array">
-               </languageKey>
-               <languageKey index="lt" type="array">
-               </languageKey>
-               <languageKey index="is" type="array">
-               </languageKey>
-               <languageKey index="hr" type="array">
-               </languageKey>
-               <languageKey index="hu" type="array">
-               </languageKey>
-               <languageKey index="gl" type="array">
-               </languageKey>
-               <languageKey index="th" type="array">
-               </languageKey>
-               <languageKey index="gr" type="array">
-               </languageKey>
-               <languageKey index="hk" type="array">
-               </languageKey>
-               <languageKey index="eu" type="array">
-               </languageKey>
-               <languageKey index="bg" type="array">
-               </languageKey>
-               <languageKey index="br" type="array">
-               </languageKey>
-               <languageKey index="et" type="array">
-               </languageKey>
-               <languageKey index="ar" type="array">
-               </languageKey>
-               <languageKey index="he" type="array">
-               </languageKey>
-               <languageKey index="ua" type="array">
-               </languageKey>
-               <languageKey index="lv" type="array">
-               </languageKey>
-               <languageKey index="jp" type="array">
-               </languageKey>
-               <languageKey index="vn" type="array">
-               </languageKey>
-       </orig_text>
 </T3locallang>
\ No newline at end of file
index 56ca113..8eabbf0 100755 (executable)
@@ -392,7 +392,7 @@ Vil du forny det nu?</label>
                        <label index="file_newfolder.php.newfile_submit">Datei erzeugen</label>
                        <label index="file_newfolder.php.newfile">Textdatei erzeugen</label>
                        <label index="file_clipupload.php.warning_head">Upload Pfad Fehler</label>
-                       <label index="file_clipupload.php.warning">Kein Upload-Ordner gefunden. Sie sollten einen TEMP-Ordner in einem Ihrer Hauptverzeichnissen anlegen (&quot;_temp_&quot;)!</label>
+                       <label index="file_clipupload.php.warning">Kein Upload-Ordner gefunden. Sie sollten einen TEMP-Ordner in einem Ihrer Hauptverzeichnisse anlegen (&quot;_temp_&quot;)!</label>
                        <label index="mess.redraw">Durch das Neuzeichnen der Seite gehen die aktuellen Daten verloren. Wollen Sie den Vorgang fortführen?</label>
                        <label index="mess.delete">Soll &quot;%s&quot; wirklich gelöscht werden?</label>
                        <label index="mess.deleteClip">Sollen alle markierten Elemente (%s) vom Klemmbrett entfernt werden?</label>
@@ -449,6 +449,13 @@ Wollen Sie gemachten Änderungen sichern und die Anzeige aktualisieren?</label>
                        <label index="cm.unzip">Entzippen</label>
                        <label index="cm.info">Info</label>
                        <label index="cm.createnew">Neu anlegen</label>
+                       <label index="labels.table">Tabelle</label>
+                       <label index="labels.noRTEfound">Hinweis: Sie können dieses Feld nicht bearbeiten, weil es nur mit einem Rich Text Editor (RTE) bearbeitet werden kann. Ein solcher Editor ist jedoch nicht verfügbar oder der RTE wurde deaktiviert.</label>
+                       <label index="labels.temporaryDBmount">Temporären Einstiegspunkt aufheben</label>
+                       <label index="labels.refreshList">Liste neu laden</label>
+                       <label index="labels.clipInsert_file">%s Datei(en) aus dem Klemmbrett einfügen</label>
+                       <label index="labels.clipInsert_db">%s Datensätze aus dem Klemmbrett einfügen</label>
+                       <label index="cm.tempMountPoint">Als Startpunkt für den Seitenbaum festlegen</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="labels.openInNewWindow">Åpne i nytt vindu</label>
@@ -4403,6 +4410,13 @@ Kas soovite praegu salvestada, et uuendada kuvand?</label>
                        <label index="cm.unzip" type="integer">31401173</label>
                        <label index="cm.info" type="integer">67476226</label>
                        <label index="cm.createnew" type="integer">260012217</label>
+                       <label index="labels.table" type="integer">85738935</label>
+                       <label index="labels.noRTEfound" type="integer">160772255</label>
+                       <label index="labels.temporaryDBmount" type="integer">54643159</label>
+                       <label index="labels.refreshList" type="integer">267625353</label>
+                       <label index="labels.clipInsert_file" type="integer">72963835</label>
+                       <label index="labels.clipInsert_db" type="integer">123875466</label>
+                       <label index="cm.tempMountPoint" type="integer">10294929</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="labels.openInNewWindow" type="integer">43359464</label>
index dcfd94f..4fc64d7 100755 (executable)
@@ -52,6 +52,8 @@
                        <label index="LGL.disableRTE">Disable Rich Text Editor:</label>
                        <label index="LGL.external">External URL</label>
                        <label index="LGL.recursive">Recursive:</label>
+                       <label index="LGL.l18n_parent">Transl.Orig:</label>
+                       <label index="LGL.allLanguages">[All]</label>
                </languageKey>
                <languageKey index="dk" type="array">
                        <label index="LGL.endtime">Stop:</label>
                        <label index="LGL.usergroups">__Benutzergruppen:__</label>
                        <label index="LGL.type">Typ:</label>
                        <label index="LGL.description">Beschreibung:</label>
-                       <label index="LGL.prependAtCopy"> (kopiere %s)</label>
+                       <label index="LGL.prependAtCopy">(Kopie %s)</label>
                        <label index="LGL.layout">Layout:</label>
                        <label index="LGL.default_value">Standard</label>
                        <label index="LGL.normal">Normal</label>
                        <label index="LGL.usergroups" type="integer">157574305</label>
                        <label index="LGL.type" type="integer">241539922</label>
                        <label index="LGL.description" type="integer">218120871</label>
-                       <label index="LGL.prependAtCopy" type="integer">150009848</label>
+                       <label index="LGL.prependAtCopy" type="integer">255966033</label>
                        <label index="LGL.layout" type="integer">229574886</label>
                        <label index="LGL.default_value" type="integer">128029197</label>
                        <label index="LGL.normal" type="integer">157332556</label>
index 3bc2af4..92db336 100755 (executable)
                        <label index="CM_newWizard">'Neuerstellungs'-Assistent</label>
                        <label index="CM_editPageHeader">Bearbeite Seiten-Header</label>
                        <label index="CM_db_list">Web&gt;Listenmodul</label>
+                       <label index="noEditPage">Sie möchten die Seite &quot;%s&quot; bearbeiten, dies ist jedoch nicht möglich. Lade das Backend wie gewöhnlich.</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="shortcut_edit">Rediger</label>
                </languageKey>
        </data>
        <orig_hash type="array">
-               <languageKey index="default" type="array">
-                       <label index="shortcut_edit" type="integer">131916066</label>
-                       <label index="shortcut_editID" type="integer">7554086</label>
-                       <label index="shortcut_save" type="integer">182178946</label>
-                       <label index="shortcut_saveClose" type="integer">148652521</label>
-                       <label index="shortcut_close" type="integer">260242109</label>
-                       <label index="shortcut_delete" type="integer">11634947</label>
-                       <label index="shortcut_loadEdit" type="integer">252728275</label>
-                       <label index="shortcut_notEditable" type="integer">219401</label>
-                       <label index="shortcut_group" type="integer">3749651</label>
-                       <label index="shortcut_GLOBAL" type="integer">116314042</label>
-                       <label index="shortcut_ALL" type="integer">100343701</label>
-                       <label index="shortcut_onlyAdmin" type="integer">94674803</label>
-                       <label index="shortcut_selSC" type="integer">100691421</label>
-                       <label index="shortcut_delAllInCat" type="integer">259045376</label>
-                       <label index="overwriteExistingFiles" type="integer">187655043</label>
-                       <label index="selectPosition" type="integer">230626123</label>
-                       <label index="goBack" type="integer">36398395</label>
-                       <label index="createNewPage" type="integer">63624835</label>
-                       <label index="clickForWizard" type="integer">55242266</label>
-                       <label index="insertNewPageHere" type="integer">52089750</label>
-                       <label index="insertNewRecordHere" type="integer">119001632</label>
-                       <label index="movePageToHere" type="integer">190132261</label>
-                       <label index="moveElement" type="integer">134083817</label>
-                       <label index="selectPositionOfElement" type="integer">78349044</label>
-                       <label index="movingElement" type="integer">134083817</label>
-                       <label index="makeCopy" type="integer">238822983</label>
-                       <label index="newContentElement" type="integer">44759206</label>
-                       <label index="1_selectType" type="integer">99181978</label>
-                       <label index="2_selectPosition" type="integer">246921887</label>
-                       <label index="CM_editAccess" type="integer">104965876</label>
-                       <label index="CM_history" type="integer">40380000</label>
-                       <label index="CM_perms" type="integer">200750040</label>
-                       <label index="CM_moveWizard" type="integer">134083817</label>
-                       <label index="CM_moveWizard_page" type="integer">32081372</label>
-                       <label index="CM_newWizard" type="integer">181792680</label>
-                       <label index="CM_editPageHeader" type="integer">60384081</label>
-                       <label index="CM_db_list" type="integer">182815575</label>
-                       <label index="noEditPage" type="integer">249172510</label>
-               </languageKey>
                <languageKey index="dk" type="array">
                        <label index="shortcut_edit" type="integer">131916066</label>
                        <label index="shortcut_editID" type="integer">7554086</label>
                        <label index="CM_newWizard" type="integer">181792680</label>
                        <label index="CM_editPageHeader" type="integer">60384081</label>
                        <label index="CM_db_list" type="integer">182815575</label>
+                       <label index="noEditPage" type="integer">249172510</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="shortcut_edit" type="integer">131916066</label>
                <languageKey index="vn" type="array">
                </languageKey>
        </orig_hash>
-       <orig_text type="array">
-               <languageKey index="default" type="array">
-               </languageKey>
-               <languageKey index="dk" type="array">
-               </languageKey>
-               <languageKey index="de" type="array">
-               </languageKey>
-               <languageKey index="no" type="array">
-               </languageKey>
-               <languageKey index="it" type="array">
-               </languageKey>
-               <languageKey index="fr" type="array">
-               </languageKey>
-               <languageKey index="es" type="array">
-               </languageKey>
-               <languageKey index="nl" type="array">
-               </languageKey>
-               <languageKey index="cz" type="array">
-               </languageKey>
-               <languageKey index="pl" type="array">
-               </languageKey>
-               <languageKey index="si" type="array">
-               </languageKey>
-               <languageKey index="fi" type="array">
-               </languageKey>
-               <languageKey index="tr" type="array">
-               </languageKey>
-               <languageKey index="se" type="array">
-               </languageKey>
-               <languageKey index="pt" type="array">
-               </languageKey>
-               <languageKey index="ru" type="array">
-               </languageKey>
-               <languageKey index="ro" type="array">
-               </languageKey>
-               <languageKey index="ch" type="array">
-               </languageKey>
-               <languageKey index="sk" type="array">
-               </languageKey>
-               <languageKey index="lt" type="array">
-               </languageKey>
-               <languageKey index="is" type="array">
-               </languageKey>
-               <languageKey index="hr" type="array">
-               </languageKey>
-               <languageKey index="hu" type="array">
-               </languageKey>
-               <languageKey index="gl" type="array">
-               </languageKey>
-               <languageKey index="th" type="array">
-               </languageKey>
-               <languageKey index="gr" type="array">
-               </languageKey>
-               <languageKey index="hk" type="array">
-               </languageKey>
-               <languageKey index="eu" type="array">
-               </languageKey>
-               <languageKey index="bg" type="array">
-               </languageKey>
-               <languageKey index="br" type="array">
-               </languageKey>
-               <languageKey index="et" type="array">
-               </languageKey>
-               <languageKey index="ar" type="array">
-               </languageKey>
-               <languageKey index="he" type="array">
-               </languageKey>
-               <languageKey index="ua" type="array">
-               </languageKey>
-               <languageKey index="lv" type="array">
-               </languageKey>
-               <languageKey index="jp" type="array">
-               </languageKey>
-               <languageKey index="vn" type="array">
-               </languageKey>
-       </orig_text>
 </T3locallang>
\ No newline at end of file
index 945ddc4..bacc9dc 100755 (executable)
@@ -5,7 +5,7 @@
                <type>module</type>
                <fileId>EXT:lang/locallang_mod_help_cshmanual.xml</fileId>
                <labelContext type="array">
-                       <languageKey index="mlang_labels_tablabel">Module title (for alt-text in module menu)</languageKey>
+                       <label index="mlang_labels_tablabel">Module title (for alt-text in module menu)</label>
                </labelContext>
        </meta>
        <data type="array">
@@ -20,6 +20,9 @@
                        <label index="mlang_tabs_tab">Manual</label>
                </languageKey>
                <languageKey index="de" type="array">
+                       <label index="mlang_labels_tablabel">Lokales TYPO3 Handbuch</label>
+                       <label index="mlang_labels_tabdescr">Lokales Handbuch, basierend auf der Kontext-sensitiven Hilfe des Systems.</label>
+                       <label index="mlang_tabs_tab">Handbuch</label>
                </languageKey>
                <languageKey index="no" type="array">
                </languageKey>
                        <label index="mlang_tabs_tab" type="integer">236691797</label>
                </languageKey>
                <languageKey index="de" type="array">
+                       <label index="mlang_labels_tablabel" type="integer">182726937</label>
+                       <label index="mlang_labels_tabdescr" type="integer">207607230</label>
+                       <label index="mlang_tabs_tab" type="integer">236691797</label>
                </languageKey>
                <languageKey index="no" type="array">
                </languageKey>
                <languageKey index="vn" type="array">
                </languageKey>
        </orig_hash>
-       <orig_text type="array">
-               <languageKey index="default" type="array">
-               </languageKey>
-               <languageKey index="dk" type="array">
-               </languageKey>
-               <languageKey index="de" type="array">
-               </languageKey>
-               <languageKey index="no" type="array">
-               </languageKey>
-               <languageKey index="it" type="array">
-               </languageKey>
-               <languageKey index="fr" type="array">
-               </languageKey>
-               <languageKey index="es" type="array">
-               </languageKey>
-               <languageKey index="nl" type="array">
-               </languageKey>
-               <languageKey index="cz" type="array">
-               </languageKey>
-               <languageKey index="pl" type="array">
-               </languageKey>
-               <languageKey index="si" type="array">
-               </languageKey>
-               <languageKey index="fi" type="array">
-               </languageKey>
-               <languageKey index="tr" type="array">
-               </languageKey>
-               <languageKey index="se" type="array">
-               </languageKey>
-               <languageKey index="pt" type="array">
-               </languageKey>
-               <languageKey index="ru" type="array">
-               </languageKey>
-               <languageKey index="ro" type="array">
-               </languageKey>
-               <languageKey index="ch" type="array">
-               </languageKey>
-               <languageKey index="sk" type="array">
-               </languageKey>
-               <languageKey index="lt" type="array">
-               </languageKey>
-               <languageKey index="is" type="array">
-               </languageKey>
-               <languageKey index="hr" type="array">
-               </languageKey>
-               <languageKey index="hu" type="array">
-               </languageKey>
-               <languageKey index="gl" type="array">
-               </languageKey>
-               <languageKey index="th" type="array">
-               </languageKey>
-               <languageKey index="gr" type="array">
-               </languageKey>
-               <languageKey index="hk" type="array">
-               </languageKey>
-               <languageKey index="eu" type="array">
-               </languageKey>
-               <languageKey index="bg" type="array">
-               </languageKey>
-               <languageKey index="br" type="array">
-               </languageKey>
-               <languageKey index="et" type="array">
-               </languageKey>
-               <languageKey index="ar" type="array">
-               </languageKey>
-               <languageKey index="he" type="array">
-               </languageKey>
-               <languageKey index="ua" type="array">
-               </languageKey>
-               <languageKey index="lv" type="array">
-               </languageKey>
-               <languageKey index="jp" type="array">
-               </languageKey>
-               <languageKey index="vn" type="array">
-               </languageKey>
-       </orig_text>
 </T3locallang>
\ No newline at end of file
index 4f41c61..a64f3c9 100755 (executable)
                        <label index="goBack">Zurück</label>
                        <label index="fullDescription">Komplette Beschreibung der Tabelle ansehen</label>
                        <label index="close">Schliessen</label>
-                       <label index="title">TYPO3 Inline Hilfe</label>
+                       <label index="title">Lokale TYPO3 Hilfe</label>
+                       <label index="fullDescription_module">Komplette Beschreibung des Moduls ansehen</label>
+                       <label index="goToToc">Zum Inhaltsverzeichnis</label>
+                       <label index="to_top">Nach oben</label>
+                       <label index="TOC">Inhaltsverzeichnis</label>
+                       <label index="TOC_core">TYPO3 Kern Funktionen</label>
+                       <label index="TOC_modules">Backend Module</label>
+                       <label index="TOC_tables">Datenbank Tabellen</label>
+                       <label index="TOC_extensions">Erweiterungen</label>
+                       <label index="TOC_other">Sonstiges</label>
+                       <label index="manual_title">Lokales TYPO3 Handbuch</label>
+                       <label index="introduction">Einleitung</label>
+                       <label index="description">Das lokale TYPO3 Handbuch wird dynamisch aus den Hilfetexten dieser TYPO3 Installation erzeugt (Kontext-sensitive Hilfe). Sie enthält eine generelle Beschreibung der Kernmodule von TYPO3, Beschreibungen zur Installation bestimmter Backend Module und Datenbank Tabellen, die abhängig von Ihren Zugriffsrechten zur Verfügung stehen.</label>
+                       <label index="full_manual">Vollständiges Handbuch (auf einer Seite)</label>
+                       <label index="full_manual_chapters">Kapitel des Handbuches</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="details">Detaljer</label>
                        <label index="fullDescription" type="integer">233674735</label>
                        <label index="close" type="integer">222113377</label>
                        <label index="title" type="integer">184225760</label>
+                       <label index="fullDescription_module" type="integer">201003905</label>
+                       <label index="goToToc" type="integer">21517239</label>
+                       <label index="to_top" type="integer">256968027</label>
+                       <label index="TOC" type="integer">5416024</label>
+                       <label index="TOC_core" type="integer">164327555</label>
+                       <label index="TOC_modules" type="integer">39991288</label>
+                       <label index="TOC_tables" type="integer">247039840</label>
+                       <label index="TOC_extensions" type="integer">98760179</label>
+                       <label index="TOC_other" type="integer">103881441</label>
+                       <label index="manual_title" type="integer">89488469</label>
+                       <label index="introduction" type="integer">12031893</label>
+                       <label index="description" type="integer">54171837</label>
+                       <label index="full_manual" type="integer">68472336</label>
+                       <label index="full_manual_chapters" type="integer">161891675</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="details" type="integer">65812061</label>
index b49c5d9..3ab45b0 100755 (executable)
                        <label index="forms_eform_html_enabled">HTML-Modus aktiviert</label>
                        <label index="forms_eform_formtype_mail">Beschriftung des Absende-Buttons</label>
                        <label index="forms_special_eform">Spezielle Konfiguration für Mail-Formulare</label>
+                       <label index="forms_type_property">Eigenschaft</label>
+                       <label index="forms_type_label">Beschriftung</label>
+                       <label index="colorpicker_title">Farbauswahl</label>
+                       <label index="colorpicker_setClose">Speichern und Schließen</label>
+                       <label index="colorpicker_colorValue">Gewählte Farbe:</label>
+                       <label index="colorpicker_fromImage">Farbe aus dem Bild übernehmen (Klick auf das Bild):</label>
+                       <label index="colorpicker_fromMatrix">Farbe aus der Matrix auswählen (Web-sichere Farben):</label>
+                       <label index="colorpicker_fromList">HTML Farbbezeichnung auswählen:</label>
+                       <label index="colorpicker_black">SCHWARZ</label>
+                       <label index="colorpicker_white">WEISS</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="rte_undoLastChange">Angre/ Gjør om siste endring (%s siden)</label>
                        <label index="forms_eform_html_enabled" type="integer">15828015</label>
                        <label index="forms_eform_formtype_mail" type="integer">113492555</label>
                        <label index="forms_special_eform" type="integer">236376464</label>
+                       <label index="forms_type_property" type="integer">95232844</label>
+                       <label index="forms_type_label" type="integer">184688118</label>
+                       <label index="colorpicker_title" type="integer">90157489</label>
+                       <label index="colorpicker_setClose" type="integer">253538544</label>
+                       <label index="colorpicker_colorValue" type="integer">54418585</label>
+                       <label index="colorpicker_fromImage" type="integer">45057637</label>
+                       <label index="colorpicker_fromMatrix" type="integer">40876189</label>
+                       <label index="colorpicker_fromList" type="integer">120567904</label>
+                       <label index="colorpicker_black" type="integer">9240594</label>
+                       <label index="colorpicker_white" type="integer">190576167</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="rte_undoLastChange" type="integer">109787245</label>
                <languageKey index="vn" type="array">
                </languageKey>
        </orig_hash>
-       <orig_text type="array">
-               <languageKey index="default" type="array">
-               </languageKey>
-               <languageKey index="dk" type="array">
-               </languageKey>
-               <languageKey index="de" type="array">
-               </languageKey>
-               <languageKey index="no" type="array">
-               </languageKey>
-               <languageKey index="it" type="array">
-               </languageKey>
-               <languageKey index="fr" type="array">
-               </languageKey>
-               <languageKey index="es" type="array">
-               </languageKey>
-               <languageKey index="nl" type="array">
-               </languageKey>
-               <languageKey index="cz" type="array">
-               </languageKey>
-               <languageKey index="pl" type="array">
-               </languageKey>
-               <languageKey index="si" type="array">
-               </languageKey>
-               <languageKey index="fi" type="array">
-               </languageKey>
-               <languageKey index="tr" type="array">
-               </languageKey>
-               <languageKey index="se" type="array">
-               </languageKey>
-               <languageKey index="pt" type="array">
-               </languageKey>
-               <languageKey index="ru" type="array">
-               </languageKey>
-               <languageKey index="ro" type="array">
-               </languageKey>
-               <languageKey index="ch" type="array">
-               </languageKey>
-               <languageKey index="sk" type="array">
-               </languageKey>
-               <languageKey index="lt" type="array">
-               </languageKey>
-               <languageKey index="is" type="array">
-               </languageKey>
-               <languageKey index="hr" type="array">
-               </languageKey>
-               <languageKey index="hu" type="array">
-               </languageKey>
-               <languageKey index="gl" type="array">
-               </languageKey>
-               <languageKey index="th" type="array">
-               </languageKey>
-               <languageKey index="gr" type="array">
-               </languageKey>
-               <languageKey index="hk" type="array">
-               </languageKey>
-               <languageKey index="eu" type="array">
-               </languageKey>
-               <languageKey index="bg" type="array">
-               </languageKey>
-               <languageKey index="br" type="array">
-               </languageKey>
-               <languageKey index="et" type="array">
-               </languageKey>
-               <languageKey index="ar" type="array">
-               </languageKey>
-               <languageKey index="he" type="array">
-               </languageKey>
-               <languageKey index="ua" type="array">
-               </languageKey>
-               <languageKey index="lv" type="array">
-               </languageKey>
-               <languageKey index="jp" type="array">
-               </languageKey>
-               <languageKey index="vn" type="array">
-               </languageKey>
-       </orig_text>
 </T3locallang>
\ No newline at end of file
index fc5f681..1ed4820 100755 (executable)
                        <label index="simulate">Simuliere Backend Benutzer</label>
                        <label index="opening">Beim Start</label>
                        <label index="showThumbs">Zeige Thumbnails als Standard</label>
-                       <label index="noMenuMode_def">Menü im linken Frame (default)</label>
+                       <label index="noMenuMode_def">Menü im linken Frame (Standard)</label>
                        <label index="noMenuMode_sel">Auswahlbox im oberen Frame</label>
                        <label index="noMenuMode_icons">Symbole im oberen Frame</label>
                        <label index="startInTaskCenter">Beim Starten das Modul 'Aufgaben' aufrufen</label>
-                       <label index="emailMeAtLogin">Unterrichte mich per email wenn jemand sich &lt;br /&gt;mit meinem Account einlogt</label>
+                       <label index="emailMeAtLogin">Unterrichte mich per email wenn jemand sich &lt;br /&gt;mit meinem Account anmeldet</label>
                        <label index="helpText">Zeige Hilfetexte wenn möglich</label>
                        <label index="maxTitleLen">Max. Titel Länge</label>
-                       <label index="edit_showFieldHelp">Hilfemodus für Eingabefelder</label>
+                       <label index="edit_showFieldHelp">Kontext-sensitive Hilfe</label>
                        <label index="edit_showFieldHelp_icon">Nur Hilfesymbol anzeigen</label>
                        <label index="edit_showFieldHelp_message">Kompletten Text anzeigen</label>
                        <label index="edit_wideDocument">Breiten Hintergrund anzeigen</label>
-                       <label index="edit_RTE">Rich Text Editor aktivieren</label>
+                       <label index="edit_RTE">Rich Text Editor aktivieren (falls verfügbar)</label>
                        <label index="edit_docModuleUpload">Datei Upload direkt im Dok. Modul</label>
                        <label index="edit_functions">Bearbeiten</label>
                        <label index="disableCMlayers">Deaktiviere Inhalt-Kontextmenüs</label>
-                       <label index="setToStandard">Setze auf Standard zurück</label>
+                       <label index="setToStandard">Alle Werte auf Standard zurücksetzen</label>
                        <label index="functions">Erweiterte Funktionen</label>
                        <label index="copyLevels">&lt;b&gt;Rekursives Kopieren:&lt;/b&gt; Gebe die Anzahl der&lt;br /&gt;zu Kopierenden Sublevel an</label>
                        <label index="recursiveDelete">&lt;b&gt;Rekursives Löschen(!):&lt;/b&gt; Erlaube das Löschen ALLER&lt;br /&gt;Unterseiten, einer zu löschenden Seite</label>
                        <label index="activateChanges">Achtung! Die meisten Optionen werden erst beim nächsten Start aktiv. Bitte aus- und einloggen.</label>
-                       <label index="levels">Level</label>
+                       <label index="levels">Tiefe</label>
                        <label index="beUser_realName">Ihr Name</label>
                        <label index="beUser_email">Ihre Email Adresse</label>
                        <label index="save">Konfiguration sichern</label>
                        <label index="newPassword">Neues Passwort</label>
                        <label index="newPasswordAgain">Neues Passwort, Wdhl.</label>
-                       <label index="newPassword_ok">Passwort aktualisiert</label>
+                       <label index="newPassword_ok">Ihr Passwort wurde aktualisiert.</label>
                        <label index="newPassword_failed">Passwort wurde nicht aktualisiert, da die Bestätigung falsch eingegeben wurde.</label>
+                       <label index="lang_is">Isländisch</label>
+                       <label index="lang_hr">Kroatisch</label>
+                       <label index="lang_hu">Ungarisch</label>
+                       <label index="lang_gl">Grönländisch</label>
+                       <label index="lang_th">Thailändisch</label>
+                       <label index="lang_gr">Griechisch</label>
+                       <label index="lang_hk">Chinesisch (Trad.)</label>
+                       <label index="lang_eu">Baskisch</label>
+                       <label index="lang_bg">Bulgarisch</label>
+                       <label index="lang_br">Braz. Portugiesisch</label>
+                       <label index="lang_et">Estländisch</label>
+                       <label index="lang_ar">Arabisch</label>
+                       <label index="lang_he">Hebräisch</label>
+                       <label index="lang_ua">Ukrainisch</label>
+                       <label index="lang_lv">Lättisch</label>
+                       <label index="lang_jp">Japanisch</label>
+                       <label index="lang_vn">Vietnamesisch</label>
+                       <label index="personal_data">Persönliche Daten</label>
+                       <label index="condensedMode">Schmale Ansicht im Backen verwenden</label>
+                       <label index="noMenuMode">Art der Navigation auswählen</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="UserSettings">Personlige oppsett</label>
                        <label index="emailMeAtLogin" type="integer">242513283</label>
                        <label index="helpText" type="integer">40561585</label>
                        <label index="maxTitleLen" type="integer">197742795</label>
-                       <label index="edit_showFieldHelp" type="integer">208596502</label>
+                       <label index="edit_showFieldHelp" type="integer">156260410</label>
                        <label index="edit_showFieldHelp_icon" type="integer">174937206</label>
                        <label index="edit_showFieldHelp_message" type="integer">92057802</label>
                        <label index="edit_wideDocument" type="integer">47472072</label>
-                       <label index="edit_RTE" type="integer">175965839</label>
+                       <label index="edit_RTE" type="integer">16864569</label>
                        <label index="edit_docModuleUpload" type="integer">172878204</label>
                        <label index="edit_functions" type="integer">131916066</label>
                        <label index="disableCMlayers" type="integer">256285755</label>
                        <label index="newPasswordAgain" type="integer">985181</label>
                        <label index="newPassword_ok" type="integer">249160755</label>
                        <label index="newPassword_failed" type="integer">202693756</label>
+                       <label index="lang_is" type="integer">80037322</label>
+                       <label index="lang_hr" type="integer">12697097</label>
+                       <label index="lang_hu" type="integer">129523986</label>
+                       <label index="lang_gl" type="integer">24211126</label>
+                       <label index="lang_th" type="integer">71163000</label>
+                       <label index="lang_gr" type="integer">11205193</label>
+                       <label index="lang_hk" type="integer">31063215</label>
+                       <label index="lang_eu" type="integer">176851207</label>
+                       <label index="lang_bg" type="integer">101430204</label>
+                       <label index="lang_br" type="integer">102669697</label>
+                       <label index="lang_et" type="integer">42538748</label>
+                       <label index="lang_ar" type="integer">41077944</label>
+                       <label index="lang_he" type="integer">208412545</label>
+                       <label index="lang_ua" type="integer">242788092</label>
+                       <label index="lang_lv" type="integer">124440629</label>
+                       <label index="lang_jp" type="integer">254987990</label>
+                       <label index="lang_vn" type="integer">129503150</label>
+                       <label index="personal_data" type="integer">104270938</label>
+                       <label index="condensedMode" type="integer">240508039</label>
+                       <label index="noMenuMode" type="integer">20667488</label>
                </languageKey>
                <languageKey index="no" type="array">
                        <label index="UserSettings" type="integer">46681867</label>
index 19dc3ef..a1f18d5 100755 (executable)
@@ -1392,7 +1392,7 @@ $str.=$this->docBodyTagBegin().
         * Returns a tab menu for a module
         * Requires the JS function jumpToUrl() to be available
         *
-        * @param       string          $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
+        * @param       mixed           $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
         * @param       string          $elementName it the form elements name, probably something like "SET[...]"
         * @param       string          $currentValue is the value to be selected currently.
         * @param       array           $menuItems is an array with the menu items for the selector box
@@ -1409,7 +1409,7 @@ $str.=$this->docBodyTagBegin().
                                $mainParams = array('id' => $mainParams);
                        }
                        $mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
-               
+
                        if (!$script) {$script=basename(PATH_thisScript);}
 
                        $menuDef = array();