[TASK] Deprecate DocumentTemplate::formWidth() 85/53185/3
authorGeorg Ringer <georg.ringer@gmail.com>
Sun, 11 Jun 2017 16:59:34 +0000 (18:59 +0200)
committerBenni Mack <benni@typo3.org>
Sat, 17 Jun 2017 19:24:41 +0000 (21:24 +0200)
The method DocumentTemplate::formWidth() is not needed anymore as
the styling can be done by using bootstrap and regular CSS classes.

Resolves: #81540
Releases: master
Change-Id: Id767665e71afc454f04002b6989876ca28354fe3
Reviewed-on: https://review.typo3.org/53185
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-81540-DeprecateDocumentTemplateformWidth.rst [new file with mode: 0644]
typo3/sysext/t3editor/Classes/Hook/FileEditHook.php

index 3a69e08..02365ea 100644 (file)
@@ -395,9 +395,11 @@ function jumpToUrl(URL) {
      * @param bool $textarea A flag you can set for textareas - DEPRECATED as there is no difference any more between the two
      * @param string $styleOverride A string which will be returned as attribute-value for style="" instead of the calculated width (if CSS is enabled)
      * @return string Tag attributes for an <input> tag (regarding width)
+     * @deprecated since TYPO3 CMS 9, will be removed in TYPO3 CMS 10.
      */
     public function formWidth($size = 48, $textarea = false, $styleOverride = '')
     {
+        GeneralUtility::logDeprecatedFunction();
         return ' style="' . ($styleOverride ?: 'width:' . ceil($size * 9.58) . 'px;') . '"';
     }
 
index d66b76a..6914a61 100644 (file)
@@ -15,7 +15,6 @@ namespace TYPO3\CMS\Backend\Utility;
  */
 
 use TYPO3\CMS\Backend\Routing\UriBuilder;
-use TYPO3\CMS\Backend\Template\DocumentTemplate;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
 use TYPO3\CMS\Core\Cache\CacheManager;
 use TYPO3\CMS\Core\Cache\Frontend\VariableFrontend;
@@ -2898,7 +2897,7 @@ class BackendUtility
     ) {
         $scriptUrl = self::buildScriptUrl($mainParams, $addParams, $script);
         $onChange = 'jumpToUrl(' . GeneralUtility::quoteJSvalue($scriptUrl . '&' . $elementName . '=') . '+escape(this.value),this);';
-        return '<input type="text"' . static::getDocumentTemplate()->formWidth($size) . ' name="' . $elementName . '" value="' . htmlspecialchars($currentValue) . '" onchange="' . htmlspecialchars($onChange) . '" />';
+        return '<input type="text" class="form-control" name="' . $elementName . '" value="' . htmlspecialchars($currentValue) . '" onchange="' . htmlspecialchars($onChange) . '" />';
     }
 
     /**
@@ -4450,12 +4449,4 @@ class BackendUtility
     {
         return $GLOBALS['BE_USER'];
     }
-
-    /**
-     * @return DocumentTemplate
-     */
-    protected static function getDocumentTemplate()
-    {
-        return $GLOBALS['TBE_TEMPLATE'];
-    }
 }
index 8092171..3ca8acf 100644 (file)
@@ -1199,7 +1199,7 @@ class ExtendedTemplateService extends TemplateService
                         case 'color':
                             $p_field = '
                                 <input class="form-control formengine-colorpickerelement t3js-color-picker" type="text" id="input-' . $idName . '" rel="' . $idName .
-                                '" name="' . $fN . '" value="' . $fV . '"' . $this->getDocumentTemplate()->formWidth(7) . ' onChange="uFormUrl(' . $aname . ')" />';
+                                '" name="' . $fN . '" value="' . $fV . '" onChange="uFormUrl(' . $aname . ')" />';
 
                             if (empty($this->inlineJavaScript[$typeDat['type']])) {
                                 $this->inlineJavaScript[$typeDat['type']] = 'require([\'TYPO3/CMS/Backend/ColorPicker\'], function(ColorPicker){ColorPicker.initialize()});';
@@ -1207,24 +1207,26 @@ class ExtendedTemplateService extends TemplateService
                             break;
                         case 'wrap':
                             $wArr = explode('|', $fV);
-                            $p_field = '<input class="form-control" type="text" id="' . $idName . '" name="' . $fN . '" value="' . $wArr[0] . '"' . $this->getDocumentTemplate()->formWidth(29) . ' onChange="uFormUrl(' . $aname . ')" />';
-                            $p_field .= ' | ';
-                            $p_field .= '<input class="form-control" type="text" name="W' . $fN . '" value="' . $wArr[1] . '"' . $this->getDocumentTemplate()->formWidth(15) . ' onChange="uFormUrl(' . $aname . ')" />';
+                            $p_field = '<div class="input-group">
+                                            <input class="form-control form-control-adapt" type="text" id="' . $idName . '" name="' . $fN . '" value="' . $wArr[0] . '" onChange="uFormUrl(' . $aname . ')" />
+                                            <span class="input-group-addon input-group-icon">|</span>
+                                            <input class="form-control form-control-adapt" type="text" name="W' . $fN . '" value="' . $wArr[1] . '" onChange="uFormUrl(' . $aname . ')" />
+                                         </div>';
                             break;
                         case 'offset':
                             $wArr = explode(',', $fV);
                             $labels = GeneralUtility::trimExplode(',', $typeDat['paramstr']);
-                            $p_field = ($labels[0] ? $labels[0] : 'x') . ':<input type="text" name="' . $fN . '" value="' . $wArr[0] . '"' . $this->getDocumentTemplate()->formWidth(4) . ' onChange="uFormUrl(' . $aname . ')" />';
-                            $p_field .= ' , ';
-                            $p_field .= ($labels[1] ? $labels[1] : 'y') . ':<input type="text" name="W' . $fN . '" value="' . $wArr[1] . '"' . $this->getDocumentTemplate()->formWidth(4) . ' onChange="uFormUrl(' . $aname . ')" />';
+                            $p_field = '<span class="input-group-addon input-group-icon">' . ($labels[0] ?: 'x') . '</span><input type="text" class="form-control form-control-adapt" name="' . $fN . '" value="' . $wArr[0] . '" onChange="uFormUrl(' . $aname . ')" />';
+                            $p_field .= '<span class="input-group-addon input-group-icon">' . ($labels[1] ?: 'y') . '</span><input type="text" name="W' . $fN . '" value="' . $wArr[1] . '" class="form-control form-control-adapt" onChange="uFormUrl(' . $aname . ')" />';
                             $labelsCount = count($labels);
                             for ($aa = 2; $aa < $labelsCount; $aa++) {
                                 if ($labels[$aa]) {
-                                    $p_field .= ' , ' . $labels[$aa] . ':<input type="text" name="W' . $aa . $fN . '" value="' . $wArr[$aa] . '"' . $this->getDocumentTemplate()->formWidth(4) . ' onChange="uFormUrl(' . $aname . ')" />';
+                                    $p_field .= '<span class="input-group-addon input-group-icon">' . $labels[$aa] . '</span><input type="text" name="W' . $aa . $fN . '" value="' . $wArr[$aa] . '" class="form-control form-control-adapt" onChange="uFormUrl(' . $aname . ')" />';
                                 } else {
                                     $p_field .= '<input type="hidden" name="W' . $aa . $fN . '" value="' . $wArr[$aa] . '" />';
                                 }
                             }
+                            $p_field = '<div class="input-group">' . $p_field . '</div>';
                             break;
                         case 'options':
                             if (is_array($typeDat['params'])) {
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-81540-DeprecateDocumentTemplateformWidth.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-81540-DeprecateDocumentTemplateformWidth.rst
new file mode 100644 (file)
index 0000000..49dbbe7
--- /dev/null
@@ -0,0 +1,32 @@
+.. include:: ../../Includes.txt
+
+===========================================================
+Deprecation: #81540 - Deprecate DocumentTemplate::formWidth
+===========================================================
+
+See :issue:`81540`
+
+Description
+===========
+
+The method php:`DocumentTemplate::formWidth()` has been marked as deprecated.
+
+
+Impact
+======
+
+Calling the method will trigger a deprecation log entry.
+
+
+Affected Installations
+======================
+
+Any installation using third-party extension that call this method.
+
+
+Migration
+=========
+
+Use CSS classes from Bootstrap or if needed inline styles directly.
+
+.. index:: Backend, PHP-API
index f2bc3b0..939ea39 100644 (file)
@@ -91,7 +91,7 @@ class FileEditHook
         if (!$t3editor->getMode()) {
             return;
         }
-        $attributes = 'rows="30" ' . 'wrap="off"' . $pObj->doc->formWidth(48, true, 'width:98%;height:60%');
+        $attributes = 'rows="30" wrap="off" style="width:98%;height:60%"';
         $title = $GLOBALS['LANG']->getLL('file') . ' ' . htmlspecialchars($pObj->target);
         $outCode = $t3editor->getCodeEditor('file[editfile][0][data]', 'text-monospace enable-tab', '$1', $attributes, $title, [
             'target' => (int)$pObj->target