[TASK] Remove deprecated usages of intInRange, intval_positive and int_from_ver
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_tceforms.php
index 5794cb1..beeaeff 100644 (file)
  *
  * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  */
-/**
- * [CLASS/FUNCTION INDEX of SCRIPT]
- *
- *
- *
- *  196: class t3lib_TCEforms
- *  302:        function t3lib_TCEforms()
- *  338:        function initDefaultBEmode()
- *
- *                       SECTION: Rendering the forms, fields etc
- *  385:        function getSoloField($table,$row,$theFieldToReturn)
- *  424:        function getMainFields($table,$row,$depth=0)
- *  618:        function getListedFields($table,$row,$list)
- *  660:        function getPaletteFields($table,$row,$palette,$header='',$itemList='',$collapsedHeader='')
- *  737:        function getSingleField($table,$field,$row,$altName='',$palette=0,$extra='',$pal=0)
- *  900:        function getSingleField_SW($table,$field,$row,&$PA)
- *
- *                       SECTION: Rendering of each TCEform field type
- *  976:        function getSingleField_typeInput($table,$field,$row,&$PA)
- * 1057:        function getSingleField_typeText($table,$field,$row,&$PA)
- * 1178:        function getSingleField_typeCheck($table,$field,$row,&$PA)
- * 1244:        function getSingleField_typeRadio($table,$field,$row,&$PA)
- * 1279:        function getSingleField_typeSelect($table,$field,$row,&$PA)
- * 1359:        function getSingleField_typeSelect_single($table,$field,$row,&$PA,$config,$selItems,$nMV_label)
- * 1490:        function getSingleField_typeSelect_checkbox($table,$field,$row,&$PA,$config,$selItems,$nMV_label)
- * 1609:        function getSingleField_typeSelect_singlebox($table,$field,$row,&$PA,$config,$selItems,$nMV_label)
- * 1719:        function getSingleField_typeSelect_multiple($table,$field,$row,&$PA,$config,$selItems,$nMV_label)
- * 1823:        function getSingleField_typeGroup($table,$field,$row,&$PA)
- * 1992:        function getSingleField_typeNone($table,$field,$row,&$PA)
- * 2008:        function getSingleField_typeNone_render($config,$itemValue)
- * 2070:        function getSingleField_typeFlex($table,$field,$row,&$PA)
- * 2205:        function getSingleField_typeFlex_langMenu($languages,$elName,$selectedLanguage,$multi=1)
- * 2224:        function getSingleField_typeFlex_sheetMenu($sArr,$elName,$sheetKey)
- * 2259:        function getSingleField_typeFlex_draw($dataStruct,$editData,$cmdData,$table,$field,$row,&$PA,$formPrefix='',$level=0,$tRows=array())
- * 2452:        function getSingleField_typeUnknown($table,$field,$row,&$PA)
- * 2467:        function getSingleField_typeUser($table,$field,$row,&$PA)
- *
- *                       SECTION: Field content processing
- * 2496:        function formatValue ($config, $itemValue)
- *
- *                       SECTION: "Configuration" fetching/processing functions
- * 2588:        function getRTypeNum($table,$row)
- * 2614:        function rearrange($fields)
- * 2640:        function getExcludeElements($table,$row,$typeNum)
- * 2688:        function getFieldsToAdd($table,$row,$typeNum)
- * 2713:        function mergeFieldsWithAddedFields($fields,$fieldsToAdd)
- * 2745:        function setTSconfig($table,$row,$field='')
- * 2767:        function getSpecConfForField($table,$row,$field)
- * 2788:        function getSpecConfFromString($extraString, $defaultExtras)
- * 3007:        function loadPaletteElements($table, $row, $palette, $itemList='')
- *
- *                       SECTION: Display of localized content etc.
- * 2816:        function registerDefaultLanguageData($table,$rec)
- * 2848:        function getLanguageOverlayRawValue($table, $row, $field, $fieldConf)
- * 2876:        function renderDefaultLanguageContent($table,$field,$row,$item)
- * 2899:        function renderDefaultLanguageDiff($table,$field,$row,$item)
- *
- *                       SECTION: Form element helper functions
- * 2955:        function dbFileIcons($fName,$mode,$allowed,$itemArray,$selector='',$params=array(),$onFocus='')
- * 3108:        function getClipboardElements($allowed,$mode)
- * 3157:        function getClickMenu($str,$table,$uid='')
- * 3178:        function renderWizards($itemKinds,$wizConf,$table,$row,$field,&$PA,$itemName,$specConf,$RTE=0)
- * 3382:        function getIcon($icon)
- * 3409:        function optionTagStyle($iconString)
- * 3425:        function extractValuesOnlyFromValueLabelList($itemFormElValue)
- * 3447:        function wrapOpenPalette($header,$table,$row,$palette,$retFunc=0)
- * 3471:        function checkBoxParams($itemName,$thisValue,$c,$iCount,$addFunc='')
- * 3485:        function elName($itemName)
- * 3496:        function noTitle($str,$wrapParts=array())
- * 3505:        function blur()
- * 3514:        function thisReturnUrl()
- * 3527:        function getSingleHiddenField($table,$field,$row)
- * 3549:        function formWidth($size=48,$textarea=0)
- * 3576:        function formWidthText($size=48,$wrap='')
- * 3592:        function formElStyle($type)
- * 3603:        function formElClass($type)
- * 3614:        function formElStyleClassValue($type, $class=FALSE)
- * 3638:        function insertDefStyle($type)
- * 3657:        function getDynTabMenu($parts, $idString)
- *
- *                       SECTION: Item-array manipulation functions (check/select/radio)
- * 3696:        function initItemArray($fieldValue)
- * 3714:        function addItems($items,$iArray)
- * 3736:        function procItems($items,$iArray,$config,$table,$row,$field)
- * 3760:        function addSelectOptionsToItemArray($items,$fieldValue,$TSconfig,$field)
- * 3980:        function addSelectOptionsToItemArray_makeModuleData($value)
- * 4002:        function foreignTable($items,$fieldValue,$TSconfig,$field,$pFFlag=0)
- *
- *                       SECTION: Template functions
- * 4083:        function setNewBEDesign()
- * 4138:        function intoTemplate($inArr,$altTemplate='')
- * 4162:        function addUserTemplateMarkers($marker,$table,$field,$row,&$PA)
- * 4173:        function wrapLabels($str)
- * 4186:        function wrapTotal($c,$rec,$table)
- * 4199:        function replaceTableWrap($arr,$rec,$table)
- * 4236:        function wrapBorder(&$out_array,&$out_pointer)
- * 4258:        function rplColorScheme($inTemplate)
- * 4278:        function getDivider()
- * 4288:        function printPalette($palArr)
- * 4339:        function helpTextIcon($table,$field,$force=0)
- * 4359:        function helpText($table,$field)
- * 4380:        function setColorScheme($scheme)
- * 4404:        function resetSchemes()
- * 4415:        function storeSchemes()
- * 4427:        function restoreSchemes()
- *
- *                       SECTION: JavaScript related functions
- * 4457:        function JStop()
- * 4508:        function JSbottom($formname='forms[0]')
- * 4835:        function dbFileCon($formObj='document.forms[0]')
- * 5053:        function printNeededJSFunctions()
- * 5080:        function printNeededJSFunctions_top()
- *
- *                       SECTION: Various helper functions
- * 5128:        function getDefaultRecord($table,$pid=0)
- * 5167:        function getRecordPath($table,$rec)
- * 5181:        function readPerms()
- * 5195:        function sL($str)
- * 5208:        function getLL($str)
- * 5229:        function isPalettesCollapsed($table,$palette)
- * 5245:        function isDisplayCondition($displayCond,$row,$ffValueKey='')
- * 5349:        function getTSCpid($table,$uid,$pid)
- * 5363:        function doLoadTableDescr($table)
- * 5375:        function getAvailableLanguages($onlyIsoCoded=1,$setDefault=1)
- *
- *
- * 5417: class t3lib_TCEforms_FE extends t3lib_TCEforms
- * 5425:        function wrapLabels($str)
- * 5435:        function printPalette($palArr)
- * 5460:        function setFancyDesign()
- *
- * TOTAL FUNCTIONS: 100
- * (This index is automatically created/updated by the extension "extdeveval")
- *
- */
 
 
 /**
@@ -1042,7 +907,7 @@ class t3lib_TCEforms {
                $config = $PA['fieldConf']['config'];
 
                $specConf = $this->getSpecConfFromString($PA['extra'], $PA['fieldConf']['defaultExtras']);
-               $size = t3lib_div::intInRange($config['size'] ? $config['size'] : 30, 5, $this->maxInputWidth);
+               $size = t3lib_utility_Math::forceIntegerInRange($config['size'] ? $config['size'] : 30, 5, $this->maxInputWidth);
                $evalList = t3lib_div::trimExplode(',', $config['eval'], 1);
                $classAndStyleAttributes = $this->formWidthAsArray($size);
 
@@ -1225,13 +1090,13 @@ class t3lib_TCEforms {
                }
 
                        // Setting columns number:
-               $cols = t3lib_div::intInRange($config['cols'] ? $config['cols'] : 30, 5, $this->maxTextareaWidth);
+               $cols = t3lib_utility_Math::forceIntegerInRange($config['cols'] ? $config['cols'] : 30, 5, $this->maxTextareaWidth);
 
                        // Setting number of rows:
-               $origRows = $rows = t3lib_div::intInRange($config['rows'] ? $config['rows'] : 5, 1, 20);
+               $origRows = $rows = t3lib_utility_Math::forceIntegerInRange($config['rows'] ? $config['rows'] : 5, 1, 20);
                if (strlen($PA['itemFormElValue']) > $this->charsPerRow * 2) {
                        $cols = $this->maxTextareaWidth;
-                       $rows = t3lib_div::intInRange(round(strlen($PA['itemFormElValue']) / $this->charsPerRow), count(explode(LF, $PA['itemFormElValue'])), 20);
+                       $rows = t3lib_utility_Math::forceIntegerInRange(round(strlen($PA['itemFormElValue']) / $this->charsPerRow), count(explode(LF, $PA['itemFormElValue'])), 20);
                        if ($rows < $origRows) {
                                $rows = $origRows;
                        }
@@ -1986,7 +1851,7 @@ class t3lib_TCEforms {
                $selector_itemListStyle = isset($config['itemListStyle']) ? ' style="' . htmlspecialchars($config['itemListStyle']) . '"' : ' style="' . $this->defaultMultipleSelectorStyle . '"';
                $size = intval($config['size']);
                $cssPrefix = ($size === 1) ? 'tceforms-select' : 'tceforms-multiselect';
-               $size = $config['autoSizeMax'] ? t3lib_div::intInRange(count($selItems) + 1, t3lib_div::intInRange($size, 1), $config['autoSizeMax']) : $size;
+               $size = $config['autoSizeMax'] ? t3lib_utility_Math::forceIntegerInRange(count($selItems) + 1, t3lib_utility_Math::forceIntegerInRange($size, 1), $config['autoSizeMax']) : $size;
                $selectBox = '<select id="' . uniqid($cssPrefix) . '" name="' . $PA['itemFormElName'] . '[]"' .
                                         $this->insertDefStyle('select', $cssPrefix) .
                                         ($size ? ' size="' . $size . '"' : '') .
@@ -2055,11 +1920,11 @@ class t3lib_TCEforms {
                }
 
                        // Set max and min items:
-               $maxitems = t3lib_div::intInRange($config['maxitems'], 0);
+               $maxitems = t3lib_utility_Math::forceIntegerInRange($config['maxitems'], 0);
                if (!$maxitems) {
                        $maxitems = 100000;
                }
-               $minitems = t3lib_div::intInRange($config['minitems'], 0);
+               $minitems = t3lib_utility_Math::forceIntegerInRange($config['minitems'], 0);
 
                        // Register the required number of elements:
                $this->registerRequiredProperty('range', $PA['itemFormElName'], array($minitems, $maxitems, 'imgName' => $table . '_' . $row['uid'] . '_' . $field));
@@ -2113,7 +1978,7 @@ class t3lib_TCEforms {
                                // Put together the selector box:
                        $selector_itemListStyle = isset($config['itemListStyle']) ? ' style="' . htmlspecialchars($config['itemListStyle']) . '"' : ' style="' . $this->defaultMultipleSelectorStyle . '"';
                        $size = intval($config['size']);
-                       $size = $config['autoSizeMax'] ? t3lib_div::intInRange(count($itemArray) + 1, t3lib_div::intInRange($size, 1), $config['autoSizeMax']) : $size;
+                       $size = $config['autoSizeMax'] ? t3lib_utility_Math::forceIntegerInRange(count($itemArray) + 1, t3lib_utility_Math::forceIntegerInRange($size, 1), $config['autoSizeMax']) : $size;
                        if ($config['exclusiveKeys']) {
                                $sOnChange = 'setFormValueFromBrowseWin(\'' . $PA['itemFormElName'] . '\',this.options[this.selectedIndex].value,this.options[this.selectedIndex].text,\'' . $config['exclusiveKeys'] . '\'); ';
                        } else {
@@ -2135,7 +2000,7 @@ class t3lib_TCEforms {
                        // Pass to "dbFileIcons" function:
                $params = array(
                        'size' => $size,
-                       'autoSizeMax' => t3lib_div::intInRange($config['autoSizeMax'], 0),
+                       'autoSizeMax' => t3lib_utility_Math::forceIntegerInRange($config['autoSizeMax'], 0),
                        'style' => isset($config['selectedListStyle']) ? ' style="' . htmlspecialchars($config['selectedListStyle']) . '"' : ' style="' . $this->defaultMultipleSelectorStyle . '"',
                        'dontShowMoveIcons' => ($maxitems <= 1),
                        'maxitems' => $maxitems,
@@ -2169,11 +2034,11 @@ class t3lib_TCEforms {
                $internal_type = $config['internal_type'];
                $show_thumbs = $config['show_thumbs'];
                $size = intval($config['size']);
-               $maxitems = t3lib_div::intInRange($config['maxitems'], 0);
+               $maxitems = t3lib_utility_Math::forceIntegerInRange($config['maxitems'], 0);
                if (!$maxitems) {
                        $maxitems = 100000;
                }
-               $minitems = t3lib_div::intInRange($config['minitems'], 0);
+               $minitems = t3lib_utility_Math::forceIntegerInRange($config['minitems'], 0);
                $allowed = trim($config['allowed']);
                $disallowed = trim($config['disallowed']);
 
@@ -2259,7 +2124,7 @@ class t3lib_TCEforms {
                                $params = array(
                                        'size' => $size,
                                        'dontShowMoveIcons' => ($maxitems <= 1),
-                                       'autoSizeMax' => t3lib_div::intInRange($config['autoSizeMax'], 0),
+                                       'autoSizeMax' => t3lib_utility_Math::forceIntegerInRange($config['autoSizeMax'], 0),
                                        'maxitems' => $maxitems,
                                        'style' => isset($config['selectedListStyle']) ? ' style="' . htmlspecialchars($config['selectedListStyle']) . '"' : ' style="' . $this->defaultMultipleSelectorStyle . '"',
                                        'info' => $info,
@@ -2286,7 +2151,7 @@ class t3lib_TCEforms {
                                $params = array(
                                        'size' => $size,
                                        'dontShowMoveIcons' => ($maxitems <= 1),
-                                       'autoSizeMax' => t3lib_div::intInRange($config['autoSizeMax'], 0),
+                                       'autoSizeMax' => t3lib_utility_Math::forceIntegerInRange($config['autoSizeMax'], 0),
                                        'maxitems' => $maxitems,
                                        'style' => isset($config['selectedListStyle']) ?
                                                        ' style="' . htmlspecialchars($config['selectedListStyle']) . '"'
@@ -2369,7 +2234,7 @@ class t3lib_TCEforms {
                                $params = array(
                                        'size' => $size,
                                        'dontShowMoveIcons' => ($maxitems <= 1),
-                                       'autoSizeMax' => t3lib_div::intInRange($config['autoSizeMax'], 0),
+                                       'autoSizeMax' => t3lib_utility_Math::forceIntegerInRange($config['autoSizeMax'], 0),
                                        'maxitems' => $maxitems,
                                        'style' => isset($config['selectedListStyle']) ? ' style="' . htmlspecialchars($config['selectedListStyle']) . '"' : ' style="' . $this->defaultMultipleSelectorStyle . '"',
                                        'info' => $info,
@@ -2433,12 +2298,12 @@ class t3lib_TCEforms {
                                $itemValue = nl2br(htmlspecialchars($itemValue));
                        }
                                // like textarea
-                       $cols = t3lib_div::intInRange($config['cols'] ? $config['cols'] : 30, 5, $this->maxTextareaWidth);
+                       $cols = t3lib_utility_Math::forceIntegerInRange($config['cols'] ? $config['cols'] : 30, 5, $this->maxTextareaWidth);
                        if (!$config['fixedRows']) {
-                               $origRows = $rows = t3lib_div::intInRange($rows, 1, 20);
+                               $origRows = $rows = t3lib_utility_Math::forceIntegerInRange($rows, 1, 20);
                                if (strlen($itemValue) > $this->charsPerRow * 2) {
                                        $cols = $this->maxTextareaWidth;
-                                       $rows = t3lib_div::intInRange(round(strlen($itemValue) / $this->charsPerRow), count(explode(LF, $itemValue)), 20);
+                                       $rows = t3lib_utility_Math::forceIntegerInRange(round(strlen($itemValue) / $this->charsPerRow), count(explode(LF, $itemValue)), 20);
                                        if ($rows < $origRows) {
                                                $rows = $origRows;
                                        }
@@ -3102,7 +2967,7 @@ class t3lib_TCEforms {
                                $itemValue = sprintf('%' . $format, $itemValue);
                        break;
                        case 'float':
-                               $precision = t3lib_div::intInRange($config['format.']['precision'], 1, 10, 2);
+                               $precision = t3lib_utility_Math::forceIntegerInRange($config['format.']['precision'], 1, 10, 2);
                                $itemValue = sprintf('%.' . $precision . 'f', $itemValue);
                        break;
                        case 'number':
@@ -3222,12 +3087,12 @@ class t3lib_TCEforms {
                        // If a bitmask-value field has been configured, then find possible fields to exclude based on that:
                if ($GLOBALS['TCA'][$table]['types'][$typeNum]['bitmask_value_field']) {
                        $sTfield = $GLOBALS['TCA'][$table]['types'][$typeNum]['bitmask_value_field'];
-                       $sTValue = t3lib_div::intInRange($row[$sTfield], 0);
+                       $sTValue = t3lib_utility_Math::forceIntegerInRange($row[$sTfield], 0);
                        if (is_array($GLOBALS['TCA'][$table]['types'][$typeNum]['bitmask_excludelist_bits'])) {
                                foreach ($GLOBALS['TCA'][$table]['types'][$typeNum]['bitmask_excludelist_bits'] as $bitKey => $eList) {
                                        $bit = substr($bitKey, 1);
                                        if (t3lib_div::testInt($bit)) {
-                                               $bit = t3lib_div::intInRange($bit, 0, 30);
+                                               $bit = t3lib_utility_Math::forceIntegerInRange($bit, 0, 30);
                                                if (
                                                        (substr($bitKey, 0, 1) == '-' && !($sTValue & pow(2, $bit))) ||
                                                        (substr($bitKey, 0, 1) == '+' && ($sTValue & pow(2, $bit)))
@@ -3689,7 +3554,7 @@ class t3lib_TCEforms {
                }
 
                        // Create selector box of the options
-               $sSize = $params['autoSizeMax'] ? t3lib_div::intInRange($itemArrayC + 1, t3lib_div::intInRange($params['size'], 1), $params['autoSizeMax']) : $params['size'];
+               $sSize = $params['autoSizeMax'] ? t3lib_utility_Math::forceIntegerInRange($itemArrayC + 1, t3lib_utility_Math::forceIntegerInRange($params['size'], 1), $params['autoSizeMax']) : $params['size'];
                if (!$selector) {
                        $selector = '<select id="' . uniqid('tceforms-multiselect-') . '" ' . ($params['noList'] ? 'style="display: none"' : 'size="' . $sSize . '"' . $this->insertDefStyle('group', 'tceforms-multiselect')) . ' multiple="multiple" name="' . $fName . '_list" ' . $onFocus . $params['style'] . $disabled . '>' . implode('', $opt) . '</select>';
                }
@@ -4085,8 +3950,8 @@ class t3lib_TCEforms {
                                                // Color wizard colorbox:
                                        if ((string) $wConf['type'] == 'colorbox') {
                                                $dim = t3lib_div::intExplode('x', $wConf['dim']);
-                                               $dX = t3lib_div::intInRange($dim[0], 1, 200, 20);
-                                               $dY = t3lib_div::intInRange($dim[1], 1, 200, 20);
+                                               $dX = t3lib_utility_Math::forceIntegerInRange($dim[0], 1, 200, 20);
+                                               $dY = t3lib_utility_Math::forceIntegerInRange($dim[1], 1, 200, 20);
                                                $color = $PA['itemFormElValue'] ? ' bgcolor="' . htmlspecialchars($PA['itemFormElValue']) . '"' : '';
                                                $outArr[] = '<table border="0" cellpadding="0" cellspacing="0" id="' . $md5ID . '"' . $color . ' style="' . htmlspecialchars($wConf['tableStyle']) . '">
                                                                        <tr>
@@ -4201,8 +4066,8 @@ class t3lib_TCEforms {
                                $padLeft = 22; // In order to get the same padding for all option tags even if icon sizes differ a little, set it to 22 if it was between 18 and 24 pixels
                        }
 
-                       $padTop = t3lib_div::intInRange(($selIconInfo[1] - 12) / 2, 0);
-                       $styleAttr = 'background: #fff url(' . $selIconFile . ') 0% 50% no-repeat; height: ' . t3lib_div::intInRange(($selIconInfo[1] + 2) - $padTop, 0) . 'px; padding-top: ' . $padTop . 'px; padding-left: ' . $padLeft . 'px;';
+                       $padTop = t3lib_utility_Math::forceIntegerInRange(($selIconInfo[1] - 12) / 2, 0);
+                       $styleAttr = 'background: #fff url(' . $selIconFile . ') 0% 50% no-repeat; height: ' . t3lib_utility_Math::forceIntegerInRange(($selIconInfo[1] + 2) - $padTop, 0) . 'px; padding-top: ' . $padTop . 'px; padding-left: ' . $padLeft . 'px;';
                        return $styleAttr;
                }
        }
@@ -4224,7 +4089,7 @@ class t3lib_TCEforms {
                                        // set it to 22, if it was between 18 and 24 pixels.
                                $padLeft = 22;
                        }
-                       $padTop = t3lib_div::intInRange(($selIconInfo[1] - 12) / 2, 0);
+                       $padTop = t3lib_utility_Math::forceIntegerInRange(($selIconInfo[1] - 12) / 2, 0);
 
                        return 'background: #ffffff url(' . $selIconFile . ') 0 0 no-repeat; padding-top: ' . $padTop . 'px; padding-left: ' . $padLeft . 'px;';
                }
@@ -4603,7 +4468,7 @@ class t3lib_TCEforms {
 
                                        // Configurations:
                                $extList = $fieldValue['config']['fileFolder_extList'];
-                               $recursivityLevels = isset($fieldValue['config']['fileFolder_recursions']) ? t3lib_div::intInRange($fieldValue['config']['fileFolder_recursions'], 0, 99) : 99;
+                               $recursivityLevels = isset($fieldValue['config']['fileFolder_recursions']) ? t3lib_utility_Math::forceIntegerInRange($fieldValue['config']['fileFolder_recursions'], 0, 99) : 99;
 
                                        // Get files:
                                $fileFolder = rtrim($fileFolder, '/') . '/';