2010-11-29 Christian Futterlieb <develpment@agenturamwasser.ch>
authorchristian.futterlieb <christian.futterlieb@735d13b6-9817-0410-8766-e36946ffe9aa>
Mon, 29 Nov 2010 13:28:01 +0000 (13:28 +0000)
committerchristian.futterlieb <christian.futterlieb@735d13b6-9817-0410-8766-e36946ffe9aa>
Mon, 29 Nov 2010 13:28:01 +0000 (13:28 +0000)
    * Feature #11081: Make language parameter configurable

git-svn-id: https://svn.typo3.org/TYPO3v4/Extensions/pagenotfoundehandling/trunk@40646 735d13b6-9817-0410-8766-e36946ffe9aa

class.tx_pagenotfoundhandling.php
ext_conf_template.txt
ext_tables.php
ext_tables.sql
locallang_db.xml

index 7a5d0cd..3126c57 100644 (file)
@@ -62,6 +62,13 @@ class tx_pagenotfoundhandling
        protected $_ignoreLanguage = false;
 
        /**
+     * Default language parameter in _GET
+     *
+     * @var boolean
+     */
+    protected $_languageParam = 'L';
+
+       /**
         * Language uid to force using
         *
         * @var int
@@ -185,7 +192,8 @@ class tx_pagenotfoundhandling
      */
     protected function _setupLanguage()
     {
-        $language = (int) $this->_get['L'];
+        $language = (int) $this->_get[$this->_languageParam];
+
         if($language) {
             require_once t3lib_extMgm::extPath('pagenotfoundhandling') . 'class.tx_pagenotfoundhandling_LanguageSelect.php';
             if(array_key_exists($language, tx_pagenotfoundhandling_LanguageSelect::getLanguages(true))) {
@@ -211,6 +219,7 @@ class tx_pagenotfoundhandling
                     $this->_defaultTemplateFile = 'uploads/tx_pagenotfoundhandling/' . $row['tx_pagenotfoundhandling_defaultTemplateFile'];
                     $this->_ignoreLanguage = (bool) $row['tx_pagenotfoundhandling_ignoreLanguage'];
                     $this->_forceLanguage = (int) $row['tx_pagenotfoundhandling_forceLanguage'];
+                    $this->_languageParam = $row['tx_pagenotfoundhandling_languageParam'];
                 }
             }
         }
@@ -251,6 +260,10 @@ class tx_pagenotfoundhandling
         if(isset($conf['defaultLanguageKey'])) {
             $this->_defaultLanguageKey = (string) $conf['defaultLanguageKey'];
         }
+
+        if(isset($conf['languageParam'])) {
+            $this->_languageParam = $conf['languageParam'];
+        }
     }
 
     /**
index d821fc3..3492e92 100644 (file)
@@ -17,4 +17,7 @@ forceLanguage = 0
 locallangFile = 
 
 # cat=basic/language; type=small; label=LLL:EXT:pagenotfoundhandling/locallang_db.xml:pagenotfoundhandling.constants.defaultLanguageKey
-defaultLanguageKey = default
\ No newline at end of file
+defaultLanguageKey = default
+
+# cat=basic/language; type=small; label=LLL:EXT:pagenotfoundhandling/locallang_db.xml:pagenotfoundhandling.constants.languageParam
+languageParam = L
\ No newline at end of file
index 3583d28..97cd64c 100644 (file)
@@ -65,6 +65,16 @@ if(!isset($conf['disableDomainConfig']) || empty($conf['disableDomainConfig']))
                 'userFunc' => 'EXT:pagenotfoundhandling/class.tx_pagenotfoundhandling_LanguageSelect.php:tx_pagenotfoundhandling_LanguageSelect->tca',
             ),
         ),
+        'tx_pagenotfoundhandling_languageParam' => array(
+            'exclude' => 1,
+            'label' => 'LLL:EXT:pagenotfoundhandling/locallang_db.xml:pagenotfoundhandling.sys_domain.languageParam',
+            'displayCond' => 'FIELD:tx_pagenotfoundhandling_enable:REQ:true',
+            'config' => array (
+                'type' => 'input',
+                'size' => '5',
+                'default' => 'L',
+            )
+        ),
     );
 
     $GLOBALS['TCA']['sys_domain']['ctrl']['dividers2tabs'] = 1;
@@ -81,7 +91,8 @@ if(!isset($conf['disableDomainConfig']) || empty($conf['disableDomainConfig']))
         tx_pagenotfoundhandling_default404Page;;;;1-1-1,
         tx_pagenotfoundhandling_defaultTemplateFile;;;;1-1-1,
         tx_pagenotfoundhandling_ignoreLanguage;;;;1-1-1,
-        tx_pagenotfoundhandling_forceLanguage;;;;1-1-1');
+        tx_pagenotfoundhandling_forceLanguage;;;;1-1-1,
+        tx_pagenotfoundhandling_languageParam;;;;1-1-1');
 
 
 }
index 0de3b15..c117617 100644 (file)
@@ -6,5 +6,6 @@ CREATE TABLE sys_domain (
     tx_pagenotfoundhandling_default404Page int(11) DEFAULT '0' NOT NULL,
     tx_pagenotfoundhandling_defaultTemplateFile tinytext,
     tx_pagenotfoundhandling_ignoreLanguage tinyint(3) DEFAULT '0' NOT NULL,
-    tx_pagenotfoundhandling_forceLanguage int(11) DEFAULT '0' NOT NULL
+    tx_pagenotfoundhandling_forceLanguage int(11) DEFAULT '0' NOT NULL,
+    tx_pagenotfoundhandling_languageParam varchar(45) DEFAULT 'L' NOT NULL
 );
\ No newline at end of file
index 852535c..c7f40e0 100644 (file)
@@ -12,6 +12,7 @@
             <label index="pagenotfoundhandling.sys_domain.defaultTemplateFile">404 template file</label>
             <label index="pagenotfoundhandling.sys_domain.ignoreLanguage">Ignore requested language</label>
             <label index="pagenotfoundhandling.sys_domain.forceLanguage">Force language</label>
+            <label index="pagenotfoundhandling.sys_domain.languageParam">Language parameter</label>
             
             <label index="pagenotfoundhandling.constants.forceLanguage">Force language: This language is used to fetch default404Page and/or marker substitution in defaultTemplateFile. Default: ''</label>
             <label index="pagenotfoundhandling.constants.default404Page">Default 404 Page:An uid of a page out of the page tree that will be returned as 404 page. '0' disables this feature. Default: '0'.</label>
@@ -20,6 +21,7 @@
             <label index="pagenotfoundhandling.constants.ignoreLanguage">Ignore requested language: The language parameter in the request URL will be ignored, default language will be used. Default: '0'</label>
             <label index="pagenotfoundhandling.constants.locallangFile">Additional locallang file: This locallang file will be merged with the default one. Default: ''</label>
             <label index="pagenotfoundhandling.constants.defaultLanguageKey">Default language key: Use this if your default (or single) language is not TYPO3 default (english). Default: 'default'</label>
+            <label index="pagenotfoundhandling.constants.languageParam">Language parameter: This should be the same as config.linkVars. Default: 'L'</label>
         </languageKey>
         <languageKey index="de" type="array">
             <label index="pagenotfoundhandling.sys_domain.tcasheet.title">404 Behandlung</label>
@@ -28,6 +30,7 @@
             <label index="pagenotfoundhandling.sys_domain.defaultTemplateFile">404 Vorlage</label>
             <label index="pagenotfoundhandling.sys_domain.ignoreLanguage">Angefragte Sprache ignorieren</label>
             <label index="pagenotfoundhandling.sys_domain.forceLanguage">Sprache erzwingen</label>
+            <label index="pagenotfoundhandling.sys_domain.languageParam">Sprachparameter</label>
             
             <label index="pagenotfoundhandling.constants.forceLanguage">Sprache erzwingen: Diese Sprache wird für die Ersetzung der Marker verwendet. Standard: ''</label>
             <label index="pagenotfoundhandling.constants.default404Page">Standard 404 Seite:Die Uid einer Seite im TYPO3 Seitenbaum, die als 404 Seite ausgegeben werden soll. '0' deaktiviert diese Funktion. Standard: '0'.</label>
@@ -36,6 +39,7 @@
             <label index="pagenotfoundhandling.constants.ignoreLanguage">Angefragte Sprache ignorieren: Wenn in der Anfrage URL ein Sprachparameter übergeben wird, wird dieser bei der Sprachauswahl ignoriert. Standard: '0'</label>
             <label index="pagenotfoundhandling.constants.locallangFile">Zusätzliche locallang Datei: Die Inhalte dieser Datei werden mit der Standard Sprachdatei zusammengeführt. Standard: ''</label>
             <label index="pagenotfoundhandling.constants.defaultLanguageKey">Standard Sprache: Diese kann gesetzt werden, wenn die als Standard benutzte (oder einzige verwendete) Sprache nicht dem TYPO3 Standard (Englisch) entspricht. Standard: 'default'</label>
+            <label index="pagenotfoundhandling.constants.languageParam">Sprachparameter: Sollte dasselbe beinhalten, wie config.linkVars. Standard: 'L'</label>
         </languageKey>
     </data>
 </T3locallang>
\ No newline at end of file