[+FEATURE] Added config option respectCase. You can now choose whether contagged...
authorjocrau <jocrau@735d13b6-9817-0410-8766-e36946ffe9aa>
Tue, 12 Jan 2010 10:54:01 +0000 (10:54 +0000)
committerBastian Bringenberg <spam@bastian-bringenberg.de>
Thu, 4 Dec 2014 23:56:07 +0000 (00:56 +0100)
git-svn-id: https://svn.typo3.org/TYPO3v4/Extensions/contagged/trunk@28745 735d13b6-9817-0410-8766-e36946ffe9aa

ChangeLog
class.tx_contagged.php
model/class.tx_contagged_model_terms.php
static/constants.txt
static/setup.txt

index dae2d9d..c4f44a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 v1.4.3 2010-01-08 Jochen Rau <jochen.rau@typoplanet.de>
 
+       [+FEATURE] Added config option "respectCase". You can now choose whether contagged should try to set the replacement in the same case as the original term (default respectCase = 1).
        [+BUGFIX] Replaced deprecated mysql_list_tables().
 
 v1.4.2 2009-12-08 Jochen Rau <jochen.rau@typoplanet.de>
index 9ba50f8..019bf88 100644 (file)
@@ -257,7 +257,7 @@ class tx_contagged extends tslib_pibase {
                        // (\p{Lu} stands for "unicode letter uppercase")
                        $GLOBALS['TSFE']->register['contagged_matchedTerm'] = $termArray['term_replace'];
                        $this->updateIndex($termKey, $termArray['term_replace']);
-                       if ( preg_match('/^\p{Lu}/u',$matchedTerm)>0 ) {
+                       if (preg_match('/^\p{Lu}/u', $matchedTerm) > 0 && ($this->checkLocalGlobal($typeConfigArray, 'respectCase') > 0)) {
                                $matchedTerm = $preMatch . ucfirst($termArray['term_replace']) . $postMatch;
                                // TODO ucfirst is not UTF8 safe; it depends on the locale settings (they could be ASCII)
                        } else {
@@ -296,7 +296,7 @@ class tx_contagged extends tslib_pibase {
 
 
        function updateIndex($termKey, $matchedTerm) {
-               $currentRecord = split(':',$this->cObj->currentRecord);
+               $currentRecord = t3lib_div::trimExplode(':', $this->cObj->currentRecord);
                $GLOBALS['T3_VAR']['ext']['contagged']['index'][$GLOBALS['TSFE']->id][$termKey] = array(
                        'matchedTerm' => $matchedTerm,
                        'termSourceName' => $this->termsArray[$termKey]['sourceName'],
index 7f41bcc..9fbfd9d 100644 (file)
@@ -48,12 +48,7 @@ class tx_contagged_model_terms {
                $this->mapper = new $mapperClassName($this->controller);
 
                // build an array of tables in the database
-               $tablesResult = $GLOBALS['TYPO3_DB']->admin_get_tables(TYPO3_db);
-               if (!mysql_error()) {
-                       while($table = mysql_fetch_assoc($tablesResult)) {
-                               $this->tablesArray[] = current($table);
-                       }
-               }
+               $this->tablesArray = $GLOBALS['TYPO3_DB']->admin_get_tables(TYPO3_db);
                
                if (is_array($this->conf['dataSources.'])) {
                        foreach ($this->conf['dataSources.'] as $dataSource => $sourceConfiguration) {
@@ -150,7 +145,7 @@ class tx_contagged_model_terms {
 
                // check if the table exists in the database
                if (is_array($this->tablesArray)) {
-                       if (t3lib_div::inArray($this->tablesArray,$sourceName) ) {
+                       if (array_key_exists($sourceName, $this->tablesArray) ) {
                                // Build WHERE-clause
                                $whereClause = '1=1';
                                $whereClause .= $storagePidsList ? ' AND pid IN (' . $storagePidsList . ')' : '';
index 3afde63..622b569 100644 (file)
@@ -23,6 +23,8 @@ contagged {
        maxRecurrences = 99999
        # cat=contagged (parser)/enable/50; type=boolean; label=Check for joined words: Take pre- and/or post-matches of joined words (with dash) into account (see documentation for examples).
        checkPreAndPostMatches = 1
+       # cat=contagged (parser)/enable/52; type=boolean; label=Respect case: Respect the case of the first letter. Contagged tries to determine the case of the first letter and sets the replacement to this case if enabled.
+       respectCase = 1
        # cat=contagged (parser)/enable/55; type=boolean; label=Add title attribute: Should the "title" attribute containing a short description of the term be added to the tag?
        addTitleAttribute = 1
        # cat=contagged (parser)/enable/60; type=boolean; label=Add language attribute: Should a "lang" attribute be added to the tag?
index 1ce1fad..b7dd49b 100644 (file)
@@ -24,6 +24,7 @@ plugin.tx_contagged {
        excludeTags = {$contagged.excludeTags}
        autoExcludeTags = {$contagged.autoExcludeTags}
        checkPreAndPostMatches = {$contagged.checkPreAndPostMatches}
+       respectCase = {$contagged.respectCase}
        addTitleAttribute = {$contagged.addTitleAttribute}
        addLangAttribute = {$contagged.addLangAttribute}
        addCssClassAttribute = {$contagged.addCssClassAttribute}