Project

General

Profile

Actions

Bug #63959

closed

t3lib_div->trimExplode fills database table sys_log

Added by Christian Finkemeier almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2014-12-17
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
5.3
Tags:
Complexity:
easy
Is Regression:
No
Sprint Focus:

Description

There are several more bugs that are related to issue #50913 in TYPO3 4.5 which will fill the sys_log database.

In the official php documentation explode must have at least two parameters that must be of type string.
I found this issues in the TYPO3 4.5 Project that does return php errors because of giving NULL or integer values to the trimExplode method of the t3lib_div class.

Perhaps there could be even more bugs, i did not found yet. Therefore i fixed the trimExplode method as well.

File: t3lib/class.t3lib_befunc.php:

line 2161-2166
    public static function getLabelsFromItemsList($table, $column, $key) {
        $labels = array();
-        $values = t3lib_div::trimExplode(',', $key, TRUE);
+        $values = $key
+            ? t3lib_div::trimExplode(',', $key, TRUE)
+            : array();
        if (count($values) > 0) {
                // Load full TCA for $table
            t3lib_div::loadTCA($table);

line 2404-2409
    if ($noRecordLookup) {
        $l = $value;
    } else {
-        $rParts = t3lib_div::trimExplode(',', $value, 1);
+        $rParts = $value
+            ? t3lib_div::trimExplode(',', $value, 1)
+            : array();
        $lA = array();
        foreach ($rParts as $rVal) {

line 2427-2429
    case 'group':
-        $l = implode(', ', t3lib_div::trimExplode(',', $value, 1));
+        $l = $value
+            ? implode(', ', t3lib_div::trimExplode(',', $value, 1))
+            : '';
        break;

File: t3lib/class.t3lib_db.php:

line 855-857
    function cleanIntList($list) {
-        return implode(',', t3lib_div::intExplode(',', $list));
+        return $list
            ? implode(',', t3lib_div::intExplode(',', $list))
            : '';
    }

File: t3lib/class.t3lib_div.php:

line 1961-1964
    public static function trimExplode($delim, $string, $removeEmptyValues = FALSE, $limit = 0) {
        if (empty($string)) {
            return array();
        }
-        $explodedValues = explode($delim, $string);
+        $explodedValues = explode($delim, (string)$string);

        $result = array_map('trim', $explodedValues);

File: t3lib/class.t3lib_parsehtml_proc.php:

line 208-213
    function RTE_transform($value, $specConf, $direction = 'rte', $thisConfig = array()) {

            // Init:
        $this->tsConfig = $thisConfig;
        $this->procOptions = (array) $thisConfig['proc.'];
-        $this->preserveTags = strtoupper(implode(',', t3lib_div::trimExplode(',', $this->procOptions['preserveTags'])));
+        if ($this->procOptions['preserveTags']) {
+            $this->preserveTags = strtoupper(implode(',', t3lib_div::trimExplode(',', $this->procOptions['preserveTags'])));
+        }

line 1116-1120
        // For tags to deny, remove them from $keepTags array:
-    $denyTags = t3lib_div::trimExplode(',', $this->procOptions['denyTags'], 1);
+    $denyTags = $this->procOptions['denyTags']
+        ? t3lib_div::trimExplode(',', $this->procOptions['denyTags'], 1)
+        : array();
    foreach ($denyTags as $dKe) {
        unset($keepTags[$dKe]);
    }

line 1174-1777
        // Setting up font tags if they are allowed:
    if (isset($keepTags['font'])) {
-        $colors = array_merge(array(''), t3lib_div::trimExplode(',', $this->procOptions['allowedFontColors'], 1));
+        $colors = $this->procOptions['allowedFontColor']
+            ? array_merge(array(''), t3lib_div::trimExplode(',', $this->procOptions['allowedFontColors'], 1))
+            : array('');
        $keepTags['font'] = array(

File: t3lib/class.t3lib_tceforms.php:

line 515-519
    // Exploding subparts of the field configuration:
-    $parts = explode(';', $fieldInfo);
+    $parts = explode(';', $fieldInfo.';;;;');

        // Getting the style information out:
    $color_style_parts = t3lib_div::trimExplode('-', $parts[4]);

line 609-611
        // Rendering Main palettes, if any
-    $mParr = t3lib_div::trimExplode(',', $TCA[$table]['ctrl']['mainpalette']);
+    $mParr = $TCA[$table]['ctrl']['mainpalette']
        ? t3lib_div::trimExplode(',', $TCA[$table]['ctrl']['mainpalette'])
        : array();
    $i = 0;

line 1049-1052
    $specConf = $this->getSpecConfFromString($PA['extra'], $PA['fieldConf']['defaultExtras']);
    $size = t3lib_div::intInRange($config['size'] ? $config['size'] : 30, 5, $this->maxInputWidth);
-    $evalList = t3lib_div::trimExplode(',', $config['eval'], 1);
+    $evalList = $config['eval']
+        ? t3lib_div::trimExplode(',', $config['eval'], 1)
+        : array();
    $classAndStyleAttributes = $this->formWidthAsArray($size);

line 1224-1226
        // Init config:
    $config = $PA['fieldConf']['config'];
-    $evalList = t3lib_div::trimExplode(',', $config['eval'], 1);
+    $evalList = $config['eval']
+        ? t3lib_div::trimExplode(',', $config['eval'], 1)
+        : array();

line 1342-1343
-    $evalList = t3lib_div::trimExplode(',', $config['eval'], 1);
+    $evalList = $config['eval']
+        ? t3lib_div::trimExplode(',', $config['eval'], 1)
+        : array();
    foreach ($evalList as $func) {

line 1533-1535
        // Possibly remove some items:
-    $removeItems = t3lib_div::trimExplode(',', $PA['fieldTSConfig']['removeItems'], 1);
+    $removeItems = $PA['fieldTSConfig']['removeItems']
+        ? t3lib_div::trimExplode(',', $PA['fieldTSConfig']['removeItems'], 1)
+        : array();
    foreach ($selItems as $tk => $p) {

line 2079-2083
        // Get "removeItems":
-    $removeItems = t3lib_div::trimExplode(',', $PA['fieldTSConfig']['removeItems'], 1);
+    $removeItems = $PA['fieldTSConfig']['removeItems']
+        ? t3lib_div::trimExplode(',', $PA['fieldTSConfig']['removeItems'], 1)
+        : array();

        // Get the array with selected items:
-    $itemArray = t3lib_div::trimExplode(',', $PA['itemFormElValue'], 1);
+    $itemArray = $PA['itemFormElValue']
+        ? t3lib_div::trimExplode(',', $PA['itemFormElValue'], 1)
+        : array();

File: t3lib/class.t3lib_tcemain.php:

line 1358-1362
function checkValue_text($res, $value, $tcaFieldConf, $PP, $field = '') {
-    $evalCodesArray = t3lib_div::trimExplode(',', $tcaFieldConf['eval'], 1);
+    $evalCodesArray = $tcaFieldConf['eval']
+        ? t3lib_div::trimExplode(',', $tcaFieldConf['eval'], 1)
+        : array();
    $res = $this->checkValue_text_Eval($value, $evalCodesArray, $tcaFieldConf['is_in']);
    return $res;
}

line 1392-1394
        // Process evaluation settings:
-    $evalCodesArray = t3lib_div::trimExplode(',', $tcaFieldConf['eval'], 1);
+    $evalCodesArray = $tcaFieldConf['eval']
+        ? t3lib_div::trimExplode(',', $tcaFieldConf['eval'], 1)
+        : array();
    $res = $this->checkValue_input_Eval($value, $evalCodesArray, $tcaFieldConf['is_in']);

line 1642-1653
    if ($tcaFieldConf['MM']) { // If MM relations for the files also!
        $dbAnalysis = t3lib_div::makeInstance('t3lib_loadDBGroup');
        /* @var $dbAnalysis t3lib_loadDBGroup */
        $dbAnalysis->start('', 'files', $tcaFieldConf['MM'], $id);
        foreach ($dbAnalysis->itemArray as $item) {
            if ($item['id']) {
                $theFileValues[] = $item['id'];
            }
        }
-    } else {
+    } elseif ($curValue) {
        $theFileValues = t3lib_div::trimExplode(',', $curValue, 1);
    }

line 3308-3310
    } else {
-        $theFileValues = t3lib_div::trimExplode(',', $value, 1);
+        $theFileValues = $value
+            ? t3lib_div::trimExplode(',', $value, 1)
+            : array();
    }

File: t3lib/class.t3lib_transferdata.php:

line 365-382
        // Now, load the files into the $dataAcc array, whether stored by MM or as a list of filenames:
    if ($fieldConfig['config']['MM']) {
        $loadDB = t3lib_div::makeInstance('t3lib_loadDBGroup');
        $loadDB->start('', 'files', $fieldConfig['config']['MM'], $row['uid']); // Setting dummy startup

        foreach ($loadDB->itemArray as $value) {
            if ($value['id']) {
                $dataAcc[] = rawurlencode($value['id']) . '|' . rawurlencode($value['id']);
            }
        }
-    } else {
+    } elseif ($data) {
        $fileList = t3lib_div::trimExplode(',', $data, 1);
        foreach ($fileList as $value) {
            if ($value) {
                $dataAcc[] = rawurlencode($value) . '|' . rawurlencode($value);
            }
        }
    }

line 411-416
    function renderRecord_selectProc($data, $fieldConfig, $TSconfig, $table, $row, $field) {
        global $TCA;

            // Initialize:
-        $elements = t3lib_div::trimExplode(',', $data, 1); // Current data set.
+        $elements = $data // Current data set.
+            ? t3lib_div::trimExplode(',', $data, 1)
+            : array();
        $dataAcc = array(); // New data set, ready for interface (list of values, rawurlencoded)

File: t3lib/class.t3lib_tsparser.php:

line 293-298
    case 'removeFromList':
-        $existingElements = t3lib_div::trimExplode(',', $currentValue);
+        $existingElements = $currentValue
+            ? t3lib_div::trimExplode(',', $currentValue)
+            : array();
-        $removeElements = t3lib_div::trimExplode(',', $tsFuncArg);
+        $removeElements = $tsFuncArg
+            ? t3lib_div::trimExplode(',', $tsFuncArg)
+            : array();
        if (count($removeElements)) {
            $newValue = implode(',', array_diff($existingElements, $removeElements));
        }

File: t3lib/class.t3lib_userauth.php:

line 1298-1299
-    $authInfo['db_user']['checkPidList'] = $this->checkPid ? $this->checkPid_value : '';
-    $authInfo['db_user']['check_pid_clause'] = $this->checkPid ? ' AND pid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($authInfo['db_user']['checkPidList']) . ')' : '';
+    if ($this->checkPid && ($this->checkPid_value || $this->checkPid_value === '0')) {
+        $authInfo['db_user']['checkPidList'] = $this->checkPid_value;
+        $authInfo['db_user']['check_pid_clause'] = ' AND pid IN (' . $GLOBALS['TYPO3_DB']->cleanIntList($authInfo['db_user']['checkPidList']) . ')';
+    } else {
+        $authInfo['db_user']['checkPidList'] = '';
+        $authInfo['db_user']['check_pid_clause'] = '';
+    }

File: t3lib/tree/pagetree/class.t3lib_tree_pagetree_dataprovider.php:

line 62-72
    public function __construct($nodeLimit = NULL) {
        if ($nodeLimit === NULL) {
            $nodeLimit = $GLOBALS['TYPO3_CONF_VARS']['BE']['pageTree']['preloadLimit'];
        }
        $this->nodeLimit = abs(intval($nodeLimit));

-        $this->hiddenRecords = t3lib_div::trimExplode(
-            ',',
-            $GLOBALS['BE_USER']->getTSConfigVal('options.hideRecords.pages')
-        );
+        $hideRecords_page = $GLOBALS['BE_USER']->getTSConfigVal('options.hideRecords.pages');
+        if ($hideRecords_page) {
+            $this->hiddenRecords = t3lib_div::trimExplode(',', $hideRecords_page);
+        };
    }

File: typo3/alt_clickmenu.php:

line 188-195
        // Setting flags:
    if ($this->iParts[2])    $this->listFrame=1;
    if ($GLOBALS['BE_USER']->uc['condensedMode'] || $this->iParts[2]==2) $this->alwaysContentFrame=1;
    if (strcmp($this->iParts[1],''))    $this->isDBmenu=1;

    $TSkey =($this->isDBmenu?'page':'folder').($this->listFrame?'List':'Tree');
-    $this->disabledItems = t3lib_div::trimExplode(',',$GLOBALS['BE_USER']->getTSConfigVal('options.contextMenu.'.$TSkey.'.disableItems'),1);
+    $TSConfigVal_disableItems = $GLOBALS['BE_USER']->getTSConfigVal('options.contextMenu.'.$TSkey.'.disableItems');
+    $this->disabledItems = $TSConfigVal_disableItems
+        ? t3lib_div::trimExplode(',', $TSConfigVal_disableItems, 1)
+        : array();
    $this->leftIcons = $GLOBALS['BE_USER']->getTSConfigVal('options.contextMenu.options.leftIcons');

File: typo3/class.db_list.inc should be patched:

line 257-260
        // Don't show table if hidden by pageTSconfig mod.web_list.hideTables
-    if (in_array($tableName, t3lib_div::trimExplode(',', $this->hideTables))) {
+    if ($this->hideTables && in_array($tableName, t3lib_div::trimExplode(',', $this->hideTables))) {
        $hideTable = TRUE;
    }

File: typo3/db_new.php:

line 229-237
        // Acquiring TSconfig for this module/current page:
    $this->web_list_modTSconfig = t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'],'mod.web_list');
-    $this->allowedNewTables = t3lib_div::trimExplode(',',$this->web_list_modTSconfig['properties']['allowedNewTables'],1);
+    if ($this->web_list_modTSconfig['properties']['allowedNewTables']) {
+        $this->allowedNewTables = t3lib_div::trimExplode(',', $this->web_list_modTSconfig['properties']['allowedNewTables'], 1);
+    }
-    $this->deniedNewTables = t3lib_div::trimExplode(',',$this->web_list_modTSconfig['properties']['deniedNewTables'],1);
+    if ($this->web_list_modTSconfig['properties']['deniedNewTables']) {
+        $this->deniedNewTables = t3lib_div::trimExplode(',', $this->web_list_modTSconfig['properties']['deniedNewTables'], 1);
+    }

        // Acquiring TSconfig for this module/parent page:
    $this->web_list_modTSconfig_pid = t3lib_BEfunc::getModTSconfig($this->pageinfo['pid'],'mod.web_list');
-    $this->allowedNewTables_pid = t3lib_div::trimExplode(',',$this->web_list_modTSconfig_pid['properties']['allowedNewTables'],1);
+    if ($this->web_list_modTSconfig_pid['properties']['allowedNewTables']) {
+        $this->allowedNewTables_pid = t3lib_div::trimExplode(',', $this->web_list_modTSconfig_pid['properties']['allowedNewTables'], 1);
+    }
-    $this->deniedNewTables_pid = t3lib_div::trimExplode(',',$this->web_list_modTSconfig_pid['properties']['deniedNewTables'],1);
+    if ($this->web_list_modTSconfig_pid['properties']['deniedNewTables']) {
+        $this->deniedNewTables_pid = t3lib_div::trimExplode(',', $this->web_list_modTSconfig_pid['properties']['deniedNewTables'], 1);
+    }

File: typo3/sysext/cms/tslib/class.tslib_content.php:

line 1234-1253
    foreach ($flexData as $key => $value) {
        if (is_array($value['el']) && count($value['el']) > 0) {
            foreach ($value['el'] as $ekey => $element) {
                if (isset($element['vDEF'])) {
                    $conf[$ekey] = $element['vDEF'];
                } else {
                    if (is_array($element)) {
                        $this->readFlexformIntoConf($element, $conf[$key][key($element)][$ekey], TRUE);
                    } else {
                        $this->readFlexformIntoConf($element, $conf[$key][$ekey], TRUE);
                    }
                }
            }
-        } else {
+        } elseif (isset($value['el'])) {
            $this->readFlexformIntoConf($value['el'], $conf[$key], TRUE);
        }
-        if ($value['vDEF']) {
+        if (isset($value['vDEF']) && $value['vDEF']) {
            $conf[$key] = $value['vDEF'];
        }
    }

line 3436-3441
    $items = array(
        'files' => array(),
        'sorting' => array()
    );
-    $ext_list = strtolower(t3lib_div::uniqueList($data_arr[1]));
+    $ext_list = $data_arr[1]
+        ? strtolower(t3lib_div::uniqueList($data_arr[1]))
+        : array();
    $sorting = trim($data_arr[2]);

line 4284-4294
-    if ($conf['token'] === '') {
+    if ($conf['token'] === '' || strlen($conf['token']) == 0) {
        return $value;
    }
    $conf['max'] = isset($conf['max.'])
        ? intval($this->stdWrap($conf['max'], $conf['max.']))
        : intval($conf['max']);
    $conf['min'] = isset($conf['min.'])
        ? intval($this->stdWrap($conf['min'], $conf['min.']))
        : intval($conf['min']);

-    $valArr = explode($conf['token'], $value);
+    $valArr = explode((string)$conf['token'], $value);

File: typo3/sysext/cms/tslib/class.tslib_fe.php:

line 2335-2338
        // Get values from TypoScript:
    $this->sys_language_uid = $this->sys_language_content = intval($this->config['config']['sys_language_uid']);
-    list($this->sys_language_mode,$sys_language_content) = t3lib_div::trimExplode(';', $this->config['config']['sys_language_mode']);
+    $sys_language_content = '';
+    if ($this->config['config']['sys_language_mode']) {
+        list($this->sys_language_mode, $sys_language_content) = t3lib_div::trimExplode(';', $this->config['config']['sys_language_mode']);
+    }
    $this->sys_language_contentOL = $this->config['config']['sys_language_overlay'];

line 2363-2370
    case 'content_fallback':
-        $fallBackOrder = t3lib_div::intExplode(',', $sys_language_content);
-        foreach($fallBackOrder as $orderValue)    {
-            if (!strcmp($orderValue,'0') || count($this->sys_page->getPageOverlay($this->id, $orderValue)))    {
-                $this->sys_language_content = $orderValue;    // Setting content uid (but leaving the sys_language_uid)
-                break;
+        if ($sys_language_content) {
+            $fallBackOrder = t3lib_div::intExplode(',', $sys_language_content);
+            foreach($fallBackOrder as $orderValue)    {
+                if (!strcmp($orderValue,'0') || count($this->sys_page->getPageOverlay($this->id, $orderValue)))    {
+                    $this->sys_language_content = $orderValue;    // Setting content uid (but leaving the sys_language_uid)
+                    break;
+                }
            }
        }

line 2419-2431
        // Setting softMergeIfNotBlank:
-    $table_fields = t3lib_div::trimExplode(',', $this->config['config']['sys_language_softMergeIfNotBlank'],1);
-    foreach($table_fields as $TF)    {
-        list($tN,$fN) = explode(':',$TF);
-        $this->TCAcachedExtras[$tN]['l10n_mode'][$fN] = 'mergeIfNotBlank';
+    if ($this->config['config']['sys_language_softMergeIfNotBlank']) {
+        $table_fields = t3lib_div::trimExplode(',', $this->config['config']['sys_language_softMergeIfNotBlank'],1);
+        foreach($table_fields as $TF)    {
+            list($tN,$fN) = explode(':',$TF);
+            $this->TCAcachedExtras[$tN]['l10n_mode'][$fN] = 'mergeIfNotBlank';
+        }
    }

        // Setting softExclude:
-    $table_fields = t3lib_div::trimExplode(',', $this->config['config']['sys_language_softExclude'],1);
-    foreach($table_fields as $TF)    {
-        list($tN,$fN) = explode(':',$TF);
-        $this->TCAcachedExtras[$tN]['l10n_mode'][$fN] = 'exclude';
+    if ($this->config['config']['sys_language_softExclude']) {
+        $table_fields = t3lib_div::trimExplode(',', $this->config['config']['sys_language_softExclude'],1);
+        foreach($table_fields as $TF)    {
+            list($tN,$fN) = explode(':',$TF);
+            $this->TCAcachedExtras[$tN]['l10n_mode'][$fN] = 'exclude';
+        }
    }

File: typo3/sysext/css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php:

line 316-317
        // Get the descriptions for the files (if any):
-    $descriptions = t3lib_div::trimExplode(LF,$this->cObj->data['imagecaption']);
+    $descriptions = $this->cObj->data['imagecaption']
+        ? t3lib_div::trimExplode(LF, $this->cObj->data['imagecaption'])
+        : array();

File: typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php:

line 562-571
        // Override buttons from previously registered plugins
-    $pluginButtons = t3lib_div::trimExplode(',', $plugin->getPluginButtons(), 1);
+    $pluginButtons = $plugin->getPluginButtons()
+        ? t3lib_div::trimExplode(',', $plugin->getPluginButtons(), 1)
+        : array();
    foreach ($this->pluginButton as $previousPluginId => $buttonList) {
-        $this->pluginButton[$previousPluginId] = implode(',',array_diff(t3lib_div::trimExplode(',', $this->pluginButton[$previousPluginId], 1), $pluginButtons));
+        $this->pluginButton[$previousPluginId] = implode(',', array_diff(
+            ($this->pluginButton[$previousPluginId] ? t3lib_div::trimExplode(',', $this->pluginButton[$previousPluginId], 1) : array()),
+            $pluginButtons
+        ));
    }
    $this->pluginButton[$pluginId] = $plugin->getPluginButtons();
-    $pluginLabels = t3lib_div::trimExplode(',', $plugin->getPluginLabels(), 1);
+    $pluginLabels = $plugin->getPluginLabels()
+        ? t3lib_div::trimExplode(',', $plugin->getPluginLabels(), 1)
+        : array();
    foreach ($this->pluginLabel as $previousPluginId => $labelList) {
-        $this->pluginLabel[$previousPluginId] = implode(',',array_diff(t3lib_div::trimExplode(',', $this->pluginLabel[$previousPluginId], 1), $pluginLabels));
+        $this->pluginLabel[$previousPluginId] = implode(',', array_diff(
+            ($this->pluginLabel[$previousPluginId] ? t3lib_div::trimExplode(',', $this->pluginLabel[$previousPluginId], 1) : array()),
+            $pluginLabels
+        ));
    }

line 1474-1581
    public function cleanList($str)        {
        if (strstr($str,'*'))   {
            $str = '*';
        } else {
-            $str = implode(',',array_unique(t3lib_div::trimExplode(',',$str,1)));
+            $str = $str
+                ? implode(',', array_unique(t3lib_div::trimExplode(',', $str, 1)))
+                : '';
        }
        return $str;
    }

File: typo3/sysext/rtehtmlarea/class.tx_rtehtmlareaapi.php:

line 93-97
    public function addButtonsToToolbar() {
            //Add only buttons not yet in the default toolbar order
-        $addButtons = implode(',', array_diff(t3lib_div::trimExplode(',', $this->pluginButtons, 1), t3lib_div::trimExplode(',', $this->htmlAreaRTE->defaultToolbarOrder, 1)));
+        $addButtons = implode(',', array_diff(
+            ($this->pluginButtons
+                ? t3lib_div::trimExplode(',', $this->pluginButtons, 1)
+                : array()),
+            ($this->htmlAreaRTE->defaultToolbarOrder
+                ? t3lib_div::trimExplode(',', $this->htmlAreaRTE->defaultToolbarOrder, 1)
+                : array())
+        ));
        return (($addButtons ? ('bar,'  . $addButtons . ',linebreak,') : '')  . $this->htmlAreaRTE->defaultToolbarOrder);
    }

File: typo3/sysext/recordlist/mod1/index.php:

line 244-245
-    $dblist->allowedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['allowedNewTables'], 1);
+    if ($this->modTSconfig['properties']['allowedNewTables']) {
+        $dblist->allowedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['allowedNewTables'], 1);
+ }
-    $dblist->deniedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['deniedNewTables'], 1);
+ if ($this->modTSconfig['properties']['deniedNewTables']) {
+        $dblist->deniedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['deniedNewTables'], 1);
+    }

File: typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php:

line 618-622
    if (is_array($this->buttonConfig['options.']) && $this->buttonConfig['options.']['removeItems']) {
        $this->allowedItems = array_diff($this->allowedItems,t3lib_div::trimExplode(',',$this->buttonConfig['options.']['removeItems'],1));
-    } else {
+    } elseif ($this->thisConfig['blindLinkOptions']) {
        $this->allowedItems = array_diff($this->allowedItems,t3lib_div::trimExplode(',',$this->thisConfig['blindLinkOptions'],1));
    }


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #50913: t3lib_div->trimExplode fills database table sys_logClosed2013-08-08

Actions
Actions #1

Updated by Xavier Perseguers over 9 years ago

  • Status changed from New to Needs Feedback

First of all thanks for your patches but this is a huge work to go over them and manually create them. You were suggested to learn Git and Gerrit in your related ticket, about 8 months before this ticket. At least if you don't want to learn Gerrit, you could attach a real patch to this ticket instead of showing chunks of pseudo-patches in the description?

Furthermore, 4.5 is not supported anymore. Does this still happen with 6.2?

Actions #2

Updated by Alexander Opitz over 9 years ago

  • Status changed from Needs Feedback to Closed

No feedback within the last 90 days => closing this issue.

If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.

Actions

Also available in: Atom PDF