Fixed bug #7986: Vertical aligned Icons in List-Module, credits Peter Niederlag,...
authorIngo Renner <ingo.renner@typo3.org>
Mon, 14 Apr 2008 15:20:41 +0000 (15:20 +0000)
committerIngo Renner <ingo.renner@typo3.org>
Mon, 14 Apr 2008 15:20:41 +0000 (15:20 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@3562 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_recordlist.php
typo3/class.db_list.inc
typo3/class.db_list_extra.inc
typo3/stylesheet.css
typo3/sysext/cms/layout/class.tx_cms_layout.php
typo3/sysext/t3skin/ext_tables.php
typo3/sysext/t3skin/stylesheets/typo3-db-list-php.css

index 419ebc0..6164f93 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-04-14  Ingo Renner  <ingo@typo3.org>
+
+       * Fixed bug #7986: Vertical aligned Icons in List-Module, credits Peter Niederlag, Steffen Kamper, sponsored by snowflake productions
+
 2008-04-14  Benjamin Mack  <benni@typo3.org>
 
        * Pre-code cleanup for #6670 (Tabs in Page Properties III)
index ed3d77c..a5e8c07 100755 (executable)
@@ -84,13 +84,15 @@ class t3lib_recordList {
        var $leftMargin = 0;                                    // OBSOLETE - NOT USED ANYMORE. leftMargin
        var $showIcon = 1;
        var $no_noWrap = 0;
-       var $oddColumnsTDParams ='';                    // If set this is <td>-params for odd columns in addElement. Used with db_layout / pages section
+       var $oddColumnsTDParams = '';                   // Deprecated since TYPO3 4.2, remove in 4.4. If set this is <td>-params for odd columns in addElement. Used with db_layout / pages section
+       var $oddColumnsCssClass = '';                   // If set this is <td> CSS-classname for odd columns in addElement. Used with db_layout / pages section
        var $backPath='';
        var $fieldArray = Array();                              // Decides the columns shown. Filled with values that refers to the keys of the data-array. $this->fieldArray[0] is the title column.
-       var $addElement_tdParams = array();             // Keys are fieldnames and values are td-parameters to add in addElement();
+       var $addElement_tdParams = array();             // Keys are fieldnames and values are td-parameters to add in addElement(), please use $addElement_tdCSSClass for CSS-classes;
+       var $addElement_tdCssClass = array();   // Keys are fieldnames and values are td-css-classes to add in addElement();
 
                // Not used in this class - but maybe extension classes...
-       var $fixedL = 50;                                               // Max length of strings
+       var $fixedL = 30;                                               // Max length of strings
        var $script = '';
        var $thumbScript = 'thumbs.php';
        var $setLMargin=1;                                              // Set to zero, if you don't want a left-margin with addElement function
@@ -120,17 +122,17 @@ class t3lib_recordList {
         * @param       string          $altLine is the HTML <img>-tag for an alternative 'gfx/ol/line.gif'-icon (used in the top)
         * @return      string          HTML content for the table row
         */
-       function addElement($h,$icon,$data,$tdParams='',$lMargin='',$altLine='')        {
+       function addElement($h, $icon, $data, $trParams = '', $lMargin = '', $altLine = '')     {
                $noWrap = ($this->no_noWrap) ? '' : ' nowrap="nowrap"';
 
                        // Start up:
                $out='
                <!-- Element, begin: -->
-               <tr>';
+               <tr '.$trParams.'>';
                        // Show icon and lines
                if ($this->showIcon)    {
                        $out.='
-                       <td nowrap="nowrap"'.$tdParams.'>';
+                       <td nowrap="nowrap" class="col-icon">';
 
                        if (!$h)        {
 #                              $out.='<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' alt="" />';
@@ -154,18 +156,21 @@ class t3lib_recordList {
                $lastKey='';
                $c=0;
                $ccount=0;
-               $tdP[0] = $this->oddColumnsTDParams ? $this->oddColumnsTDParams : $tdParams;
-               $tdP[1] = $tdParams;
 
                        // Traverse field array which contains the data to present:
                reset($this->fieldArray);
                while(list(,$vKey)=each($this->fieldArray))     {
                        if (isset($data[$vKey]))        {
                                if ($lastKey)   {
+                                       $cssClass = $this->addElement_tdCssClass[$lastKey];
+                                       if($this->oddColumnsCssClass && $ccount % 2 == 0) {
+                                               $cssClass = implode(' ', array($this->addElement_tdCssClass[$lastKey], $this->oddColumnsCssClass));
+                                       }
+
                                        $out.='
                                                <td'.
                                                $noWrap.
-                                               $tdP[($ccount%2)].
+                                               ' class="' . $cssClass . '"'.
                                                $colsp.
                                                $this->addElement_tdParams[$lastKey].
                                                '>'.$data[$lastKey].'</td>';
@@ -179,8 +184,14 @@ class t3lib_recordList {
                        }
                        if ($c>1)       {$colsp=' colspan="'.$c.'"';} else {$colsp='';}
                }
-               if ($lastKey)   {       $out.='
-                                               <td'.$noWrap.$tdP[($ccount%2)].$colsp.$this->addElement_tdParams[$lastKey].'>'.$data[$lastKey].'</td>'; }
+               if ($lastKey) {
+                       $cssClass = $this->addElement_tdCssClass[$lastKey];
+                       if($this->oddColumnsCssClass) {
+                               $cssClass = implode(' ', array($this->addElement_tdCssClass[$lastKey], $this->oddColumnsCssClass));
+                       }
+
+                       $out.='
+                               <td'.$noWrap.' class="' . $cssClass . '"' . $colsp.$this->addElement_tdParams[$lastKey].'>'.$data[$lastKey].'</td>';    }
 
                        // End row
                $out.='
@@ -230,18 +241,18 @@ class t3lib_recordList {
                                $theData = Array();
                                $titleCol=$this->fieldArray[0];
                                $theData[$titleCol] = $this->fwd_rwd_HTML('fwd',$this->eCounter,$table);
-                               $code=$this->addElement(1,'',$theData);
+                               $code = $this->addElement(1, '', $theData, 'class="fwd_rwd_nav"');
                        }
-                       return Array(1,$code);
+                       return array(1, $code);
                } else {
                        if ($this->eCounter==$this->firstElementNumber+$this->iLimit)   {
                                        //      forward
                                $theData = Array();
                                $titleCol=$this->fieldArray[0];
                                $theData[$titleCol] = $this->fwd_rwd_HTML('rwd',$this->eCounter,$table);
-                               $code=$this->addElement(1,'',$theData);
+                               $code = $this->addElement(1, '', $theData, 'class="fwd_rwd_nav"');
                        }
-                       return Array(0,$code);
+                       return array(0, $code);
                }
 
        }
@@ -377,4 +388,5 @@ class t3lib_recordList {
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_recordlist.php'])       {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_recordlist.php']);
 }
+
 ?>
\ No newline at end of file
index 711b9e9..08b2dad 100755 (executable)
@@ -564,6 +564,9 @@ class recordList extends t3lib_recordList {
                        $code = '<i>['.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.no_title',1).']</i> - '.htmlspecialchars(t3lib_div::fixed_lgd_cs(t3lib_BEfunc::getRecordTitle($table,$row),$GLOBALS['BE_USER']->uc['titleLen']));
                } else {
                        $code = htmlspecialchars(t3lib_div::fixed_lgd_cs($code,$this->fixedL));
+                       if ($code != htmlspecialchars($origCode)) {
+                               $code = '<span title="'.htmlspecialchars($origCode).'">'.$code.'</span>';
+                       }
                }
 
                switch((string)$this->clickTitleMode)   {
@@ -773,4 +776,5 @@ class recordList extends t3lib_recordList {
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.db_list.inc'])        {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.db_list.inc']);
 }
+
 ?>
\ No newline at end of file
index 8a891da..2c50991 100755 (executable)
@@ -100,9 +100,10 @@ class localRecordList extends recordList {
        var $noControlPanels = FALSE;                   // If true, will DISABLE all control panels in lists. (Takes precedence)
        var $clickMenuEnabled = TRUE;                   // If true, clickmenus will be rendered
 
+       var $totalRowCount;                                             // count of record rows in view
 
-
-
+       var $spaceIcon;                                                 // space icon used for alignment
+       
                // Internal:
        var $pageRow=array();                                   // Set to the page record (see writeTop())
 
@@ -274,31 +275,43 @@ class localRecordList extends recordList {
                $titleCol = $TCA[$table]['ctrl']['label'];
                $thumbsCol = $TCA[$table]['ctrl']['thumbnail'];
                $l10nEnabled = $TCA[$table]['ctrl']['languageField'] && $TCA[$table]['ctrl']['transOrigPointerField'] && !$TCA[$table]['ctrl']['transOrigPointerTable'];
-
+               
+                       // prepare space icon
+               $iconWidth  = $GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']  ? $GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']  : 12;
+               $iconHeight = $GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight'] ? $GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight'] : 12;
+               $this->spaceIcon = '<img src="' . $this->backPath . 'clear.gif" width="' . $iconWidth . '" height="' . $iconHeight . '" title="" alt="" />';
+               
                        // Cleaning rowlist for duplicates and place the $titleCol as the first column always!
                $this->fieldArray=array();
+                       // title Column
                $this->fieldArray[] = $titleCol;        // Add title column
-               if ($this->localizationView && $l10nEnabled)    {
-                       $this->fieldArray[] = '_LOCALIZATION_';
-                       $this->fieldArray[] = '_LOCALIZATION_b';
-                       $addWhere.=' AND (
-                               '.$TCA[$table]['ctrl']['languageField'].'<=0
-                               OR
-                               '.$TCA[$table]['ctrl']['transOrigPointerField'].' = 0
-                       )';
-               }
+                       // Control-Panel
                if (!t3lib_div::inList($rowlist,'_CONTROL_'))   {
                        $this->fieldArray[] = '_CONTROL_';
+                       $this->fieldArray[] = '_AFTERCONTROL_';
                }
+                       // Clipboard
                if ($this->showClipboard)       {
                        $this->fieldArray[] = '_CLIPBOARD_';
                }
+                       // Ref
                if (!$this->dontShowClipControlPanels)  {
                        $this->fieldArray[]='_REF_';
                }
+                       // Path
                if ($this->searchLevels)        {
                        $this->fieldArray[]='_PATH_';
                }
+                       // Localization
+               if ($this->localizationView && $l10nEnabled)    {
+                       $this->fieldArray[] = '_LOCALIZATION_';
+                       $this->fieldArray[] = '_LOCALIZATION_b';
+                       $addWhere.=' AND (
+                               '.$TCA[$table]['ctrl']['languageField'].'<=0
+                               OR
+                               '.$TCA[$table]['ctrl']['transOrigPointerField'].' = 0
+                       )';
+               }
                        // Cleaning up:
                $this->fieldArray=array_unique(array_merge($this->fieldArray,t3lib_div::trimExplode(',',$rowlist,1)));
                if ($this->noControlPanels)     {
@@ -368,6 +381,7 @@ class localRecordList extends recordList {
                if ($this->csvOutput) { // do not do paging when outputting as CSV
                        $this->iLimit = 0;
                }
+
                $queryParts = $this->makeQueryArray($table, $id,$addWhere,$selFieldList);       // (API function from class.db_list.inc)
                $this->setTotalItems($queryParts);              // Finding the total amount of records on the page (API function from class.db_list.inc)
 
@@ -464,6 +478,8 @@ class localRecordList extends recordList {
                                }
                                $GLOBALS['TYPO3_DB']->sql_free_result($result);
 
+                               $this->totalRowCount = count($accRows);
+
                                        // CSV initiated
                                if ($this->csvOutput) $this->initCSV();
 
@@ -560,20 +576,29 @@ class localRecordList extends recordList {
         */
        function renderListRow($table,$row,$cc,$titleCol,$thumbsCol,$indent=0)  {
                $iOut = '';
-
+               
                if (strlen($this->searchString))        {       // If in search mode, make sure the preview will show the correct page
                        $id_orig = $this->id;
                        $this->id = $row['pid'];
                }
 
                if (is_array($row))     {
+                       
+                               // add special classes for first and last row
+                       $rowSpecial = '';
+                       if ($cc == 1 && $indent == 0) {
+                               $rowSpecial .= ' firstcol';
+                       }
+                       if ($cc == $this->totalRowCount || $cc == $this->iLimit) {
+                               $rowSpecial .= ' lastcol';
+                       }
 
                                // Background color, if any:
-                       $row_bgColor=
-                               $this->alternateBgColors ?
-                               (($cc%2)?'' :' class="db_list_alt"') :
-                               '';
-
+                       if ($this->alternateBgColors) {
+                               $row_bgColor = ($cc%2) ? ' class="db_list_normal'.$rowSpecial.'"' : ' class="db_list_alt'.$rowSpecial.'"';
+                       } else {
+                               $row_bgColor = ' class="db_list_normal'.$rowSpecial.'"';
+                       }
                                // Overriding with versions background color if any:
                        $row_bgColor = $row['_CSSCLASS'] ? ' class="'.$row['_CSSCLASS'].'"' : $row_bgColor;
 
@@ -591,23 +616,23 @@ class localRecordList extends recordList {
                                if ($fCol==$titleCol)   {
                                        $recTitle = t3lib_BEfunc::getRecordTitle($table,$row,FALSE,TRUE);
                                        $theData[$fCol] = $this->linkWrapItems($table,$row['uid'],$recTitle,$row);
-                               } elseif ($fCol=='pid') {
+                               } elseif ($fCol == 'pid') {
                                        $theData[$fCol]=$row[$fCol];
-                               } elseif ($fCol=='_PATH_') {
+                               } elseif ($fCol == '_PATH_') {
                                        $theData[$fCol]=$this->recPath($row['pid']);
-                               } elseif ($fCol=='_REF_') {
+                               } elseif ($fCol == '_REF_') {
                                        $theData[$fCol]=$this->makeRef($table,$row['uid']);
-                               } elseif ($fCol=='_CONTROL_') {
+                               } elseif ($fCol == '_CONTROL_') {
                                        $theData[$fCol]=$this->makeControl($table,$row);
-                               } elseif ($fCol=='_CLIPBOARD_') {
+                               } elseif ($fCol == '_AFTERCONTROL_') {
+                                       $theData[$fCol] = '&nbsp;';
+                               } elseif ($fCol == '_CLIPBOARD_') {
                                        $theData[$fCol]=$this->makeClip($table,$row);
-       #                               $t3lib_transl8tools = new t3lib_transl8tools;
-       #                               $theData[$fCol].=t3lib_div::view_array($t3lib_transl8tools->translationInfo($table,$row['uid']));
-                               } elseif ($fCol=='_LOCALIZATION_') {
+                               } elseif ($fCol == '_LOCALIZATION_') {
                                        list($lC1, $lC2) = $this->makeLocalizationPanel($table,$row);
                                        $theData[$fCol] = $lC1;
                                        $theData[$fCol.'b'] = $lC2;
-                               } elseif ($fCol=='_LOCALIZATION_b') {
+                               } elseif ($fCol == '_LOCALIZATION_b') {
                                        // Do nothing, has been done above.
                                } else {
                                        $tmpProc = t3lib_BEfunc::getProcessedValueExtra($table, $fCol, $row[$fCol], 100, $row['uid']);
@@ -625,6 +650,16 @@ class localRecordList extends recordList {
                                $this->addToCSV($row,$table);
                        }
 
+                       // Add classes to table cells
+                       $this->addElement_tdCssClass[$titleCol]         = 'col-title';
+                       $this->addElement_tdCssClass['_CONTROL_']       = 'col-control';
+                       $this->addElement_tdCssClass['_AFTERCONTROL_']  = 'col-control-space';
+                       $this->addElement_tdCssClass['_PATH_']          = 'col-path';
+                       $this->addElement_tdCssClass['_CLIPBOARD_']     = 'col-clipboard';
+                       $this->addElement_tdCssClass['_LOCALIZATION_']  = 'col-localizationa';
+                       $this->addElement_tdCssClass['_LOCALIZATION_b'] = 'col-localizationb';
+
+
                                // Create element in table cells:
                        $iOut.=$this->addelement(1,$theIcon,$theData,$row_bgColor);
 
@@ -647,7 +682,7 @@ class localRecordList extends recordList {
         * @access private
         * @see getTable()
         */
-       function renderListHeader($table,$currentIdList)        {
+       function renderListHeader($table, $currentIdList)       {
                global $TCA, $LANG, $TYPO3_CONF_VARS;
 
                        // Init:
@@ -735,16 +770,17 @@ class localRecordList extends recordList {
                                                                $tmpTSc = $tmpTSc ['properties']['newContentWiz.']['overrideWithExtension'];
                                                                $newContentWizScriptPath = $this->backPath.t3lib_extMgm::isLoaded($tmpTSc) ? (t3lib_extMgm::extRelPath($tmpTSc).'mod1/db_new_content_el.php') : 'sysext/cms/layout/db_new_content_el.php';
 
-                                                               $theData[$fCol]='<a href="#" onclick="'.htmlspecialchars('return jumpExt(\''.$newContentWizScriptPath.'?id='.$this->id.'\');').'">'.
+                                                               $icon = '<a href="#" onclick="'.htmlspecialchars('return jumpExt(\''.$newContentWizScriptPath.'?id='.$this->id.'\');').'">'.
                                                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/new_'.($table=='pages'?'page':'el').'.gif','width="'.($table=='pages'?13:11).'" height="12"').' title="'.$LANG->getLL('new',1).'" alt="" />'.
                                                                                                '</a>';
                                                        } elseif ($table=='pages' && $this->newWizards) {
-                                                               $theData[$fCol]='<a href="'.htmlspecialchars($this->backPath.'db_new.php?id='.$this->id.'&pagesOnly=1&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'.
+                                                               $icon = '<a href="'.htmlspecialchars($this->backPath.'db_new.php?id='.$this->id.'&pagesOnly=1&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'.
                                                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/new_'.($table=='pages'?'page':'el').'.gif','width="'.($table=='pages'?13:11).'" height="12"').' title="'.$LANG->getLL('new',1).'" alt="" />'.
                                                                                                '</a>';
+
                                                        } else {
-                                                               $params='&edit['.$table.']['.$this->id.']=new';
-                                                               $theData[$fCol]='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
+                                                               $params = '&edit['.$table.']['.$this->id.']=new';
+                                                               $icon   = '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
                                                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/new_'.($table=='pages'?'page':'el').'.gif','width="'.($table=='pages'?13:11).'" height="12"').' title="'.$LANG->getLL('new',1).'" alt="" />'.
                                                                                                '</a>';
                                                        }
@@ -754,13 +790,18 @@ class localRecordList extends recordList {
                                                if ($permsEdit && $this->table && is_array($currentIdList))     {
                                                        $editIdList = implode(',',$currentIdList);
                                                        if ($this->clipNumPane()) $editIdList = "'+editList('".$table."','".$editIdList."')+'";
-                                                       $params='&edit['.$table.']['.$editIdList.']=edit&columnsOnly='.implode(',',$this->fieldArray).'&disHelp=1';
-                                                       $theData[$fCol].='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
+                                                       $params = '&edit['.$table.']['.$editIdList.']=edit&columnsOnly='.implode(',',$this->fieldArray).'&disHelp=1';
+                                                       $icon  .= '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
                                                                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/edit2.gif','width="11" height="12"').' title="'.$LANG->getLL('editShownColumns',1).'" alt="" />'.
                                                                                        '</a>';
                                                }
+                                                       // add an empty entry, so column count fits again after moving this into $icon
+                                               $theData[$fCol] = '&nbsp;';
                                        }
                                break;
+                               case '_AFTERCONTROL_':  // space column
+                                       $theData[$fCol] = '&nbsp;';
+                               break;
                                default:                        // Regular fields header:
                                        $theData[$fCol]='';
                                        if ($this->table && is_array($currentIdList))   {
@@ -787,7 +828,6 @@ class localRecordList extends recordList {
                                break;
                        }
 
-
                }
 
                /**
@@ -807,7 +847,7 @@ class localRecordList extends recordList {
                }
 
                        // Create and return header table row:
-               return $this->addelement(1,'',$theData,' class="c-headLine"','');
+               return $this->addelement(1, $icon, $theData, ' class="c-headLine"', '');
        }
 
 
@@ -830,6 +870,7 @@ class localRecordList extends recordList {
         */
        function makeControl($table,$row)       {
                global $TCA, $LANG, $SOBE, $TYPO3_CONF_VARS;
+
                if ($this->dontShowClipControlPanels)   return '';
 
                        // Initialize:
@@ -850,6 +891,8 @@ class localRecordList extends recordList {
                        $cells['view']='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($table=='tt_content'?$this->id.'#'.$row['uid']:$row['uid'], $this->backPath)).'">'.
                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/zoom.gif','width="12" height="12"').' title="'.$LANG->sL('LLL:EXT:lang/locallang_core.php:labels.showPage',1).'" alt="" />'.
                                        '</a>';
+               } elseif(!$this->table) {
+                       $cells['view'] = $this->spaceIcon;
                }
 
                        // "Edit" link: ( Only if permissions to edit the page-record of the content of the parent page ($this->id)
@@ -858,6 +901,8 @@ class localRecordList extends recordList {
                        $cells['edit']='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/edit2'.(!$TCA[$table]['ctrl']['readOnly']?'':'_d').'.gif','width="11" height="12"').' title="'.$LANG->getLL('edit',1).'" alt="" />'.
                                        '</a>';
+               } elseif(!$this->table) {
+                       $cells['edit'] = $this->spaceIcon;
                }
 
                        // "Move" wizard link for pages/tt_content elements:
@@ -865,6 +910,8 @@ class localRecordList extends recordList {
                        $cells['move']='<a href="#" onclick="'.htmlspecialchars('return jumpExt(\''.$this->backPath.'move_el.php?table='.$table.'&uid='.$row['uid'].'\');').'">'.
                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/move_'.($table=='tt_content'?'record':'page').'.gif','width="11" height="12"').' title="'.$LANG->getLL('move_'.($table=='tt_content'?'record':'page'),1).'" alt="" />'.
                                        '</a>';
+               } elseif(!$this->table) {
+                       $cells['move'] = $this->spaceIcon;
                }
 
                        // If the extended control panel is enabled OR if we are seeing a single table:
@@ -898,6 +945,8 @@ class localRecordList extends recordList {
                                                $cells['version']='<a href="'.htmlspecialchars($this->backPath.t3lib_extMgm::extRelPath('version')).'cm1/index.php?table='.rawurlencode($table).'&uid='.rawurlencode($row['uid']).'" title="'.$LANG->getLL('displayVersions',1).'" style="'.htmlspecialchars($st).'">'.
                                                                $lab.
                                                                '</a>';
+                                       } elseif(!$this->table) {
+                                               $cells['version'] = '<span style="font-weight: bold; visibility: hidden;">V</span>';
                                        }
                                }
 
@@ -906,6 +955,8 @@ class localRecordList extends recordList {
                                        $cells['perms']='<a href="'.htmlspecialchars('mod/web/perm/index.php?id='.$row['uid'].'&return_id='.$row['uid'].'&edit=1').'">'.
                                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/perm.gif','width="7" height="12"').' title="'.$LANG->getLL('permissions',1).'" alt="" />'.
                                                        '</a>';
+                               } elseif(!$this->table && $GLOBALS['BE_USER']->check('modules','web_perm')) {
+                                       $cells['perms'] = $this->spaceIcon;
                                }
 
                                        // "New record after" link (ONLY if the records in the table are sorted by a "sortby"-row or if default values can depend on previous record):
@@ -921,6 +972,8 @@ class localRecordList extends recordList {
                                                                        '</a>';
                                                }
                                        }
+                               } elseif(!$this->table) {
+                                       $cells['new'] = $this->spaceIcon;
                                }
 
                                        // "Up/Down" links
@@ -931,7 +984,7 @@ class localRecordList extends recordList {
                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_up.gif','width="11" height="10"').' title="'.$LANG->getLL('moveUp',1).'" alt="" />'.
                                                                '</a>';
                                        } else {
-                                               $cells['moveUp']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_up.gif','width="11" height="10"',2).' alt="" />';
+                                               $cells['moveUp'] = $this->spaceIcon;
                                        }
                                        if ($this->currentTable['next'][$row['uid']])   {       // Down
                                                $params='&cmd['.$table.']['.$row['uid'].'][move]='.$this->currentTable['next'][$row['uid']];
@@ -939,8 +992,11 @@ class localRecordList extends recordList {
                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_down.gif','width="11" height="10"').' title="'.$LANG->getLL('moveDown',1).'" alt="" />'.
                                                                '</a>';
                                        } else {
-                                               $cells['moveDown']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_down.gif','width="11" height="10"',2).' alt="" />';
+                                               $cells['moveDown'] = $this->spaceIcon;
                                        }
+                               } elseif(!$this->table) {
+                                       $cells['moveUp']  = $this->spaceIcon;
+                                       $cells['moveDow'] = $this->spaceIcon;
                                }
 
                                        // "Hide/Unhide" links:
@@ -957,6 +1013,8 @@ class localRecordList extends recordList {
                                                                '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_hide.gif','width="11" height="10"').' title="'.$LANG->getLL('hide'.($table=='pages'?'Page':''),1).'" alt="" />'.
                                                                '</a>';
                                        }
+                               } elseif(!$this->table) {
+                                       $cells['hide'] = $this->spaceIcon;
                                }
 
                                        // "Delete" link:
@@ -967,6 +1025,8 @@ class localRecordList extends recordList {
                                        $cells['delete']='<a href="#" onclick="'.htmlspecialchars('if (confirm('.$LANG->JScharCode($LANG->getLL('deleteWarning').t3lib_BEfunc::referenceCount($table,$row['uid'],' (There are %s reference(s) to this record!)')).')) {jumpToUrl(\''.$SOBE->doc->issueCommand($params,-1).'\');} return false;').'">'.
                                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/garbage.gif','width="11" height="12"').' title="'.$LANG->getLL('delete',1).'" alt="" />'.
                                                        '</a>';
+                               } elseif(!$this->table) {
+                                       $cells['delete'] = $this->spaceIcon;
                                }
 
                                        // "Levels" links: Moving pages into new levels...
@@ -988,11 +1048,14 @@ class localRecordList extends recordList {
                                                                        '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_right.gif','width="11" height="10"').' title="'.$LANG->getLL('nextLevel',1).'" alt="" />'.
                                                                        '</a>';
                                                } else {
-                                                       $cells['moveRight']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_right.gif','width="11" height="10"',2).' alt="" />';
+                                                       $cells['moveRight'] = $this->spaceIcon;
                                                }
                                        } else {
-                                               $cells['moveRight']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_right.gif','width="11" height="10"',2).' alt="" />';
+                                               $cells['moveRight'] = $this->spaceIcon;
                                        }
+                               } elseif(!$this->table) {
+                                       $cells['moveLeft'] = $this->spaceIcon;
+                                       $cells['moveRight'] = $this->spaceIcon;
                                }
                        }
                }
@@ -1053,6 +1116,7 @@ class localRecordList extends recordList {
                if ($this->dontShowClipControlPanels)   return '';
                $cells=array();
 
+               $cells['pasteAfter'] = $cells['pasteInto'] = $this->spaceIcon;
 
                        // Return blank, if disabled:
                        // Whether a numeric clipboard pad is active or the normal pad we will see different content of the panel:
@@ -1498,4 +1562,5 @@ class localRecordList extends recordList {
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.db_list_extra.inc'])  {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.db_list_extra.inc']);
 }
-?>
+
+?>
\ No newline at end of file
index 1cfc5da..7d21267 100755 (executable)
@@ -1737,10 +1737,49 @@ table.typo3-dblist tr td div.typo3-DBctrl img {
 }
 
 table.typo3-dblist tr:hover,
-table.typo3-dblist tr:hover td.db_list_alt {
+table.typo3-dblist tr:hover td {
        background-color: #ebebeb;
 }
 
+table.typo3-dblist tr td.col-icon {
+       width: 40px;
+}
+
+table.typo3-dblist tr td.col-icon a {
+       width: 40px;
+       display: block;
+}
+
+table.typo3-dblist tr td.col-title {
+       width: 240px;
+       overflow: hidden;
+}
+
+table.typo3-dblist tr.c-headLine td.col-title a {
+       width: 240px;
+       display: block;
+       font-weight: bold;
+}
+
+table.typo3-dblist tr td.col-control {
+       width: 250px;
+       text-align: left;
+}
+
+table.typo3-dblist tr td.col-control-space {
+       width: 4px;
+}
+
+table.typo3-dblist tr.c-headLine td.col-control a{
+       width: 250px;
+       display: block;
+}
+
+table.typo3-dblist tr td.col-clipboard {
+       width: 74px;
+       text-align: left;
+}
+
 table.typo3-dblist-overview {
        width: 410px;
        margin-top: 10px;
@@ -2616,3 +2655,7 @@ div {
 
 
 
+
+
+
+
index 29dd88b..0d7e806 100755 (executable)
@@ -285,7 +285,7 @@ class tx_cms_layout extends recordList {
 
                                // Overriding a few things:
                        $this->no_noWrap=0;
-                       $this->oddColumnsTDParams=' class="bgColor3-20"';
+                       $this->oddColumnsCssClass = 'bgColor3-20';
 
                                // Items
                        $this->eCounter=$this->firstElementNumber;
@@ -355,7 +355,7 @@ class tx_cms_layout extends recordList {
                        }
 
                                // Start table:
-                       $this->oddColumnsTDParams = '';
+                       $this->oddColumnsCssClass = '';
 
                                // CSH:
                        $out = t3lib_BEfunc::cshItem($this->descrTable,'func_'.$pKey,$GLOBALS['BACK_PATH']).
@@ -365,7 +365,7 @@ class tx_cms_layout extends recordList {
                                        $out.'
                                </table>';
                }
-               $this->oddColumnsTDParams = '';
+               $this->oddColumnsCssClass = '';
                return $out;
        }
 
index 690c03e..01d3835 100644 (file)
@@ -97,7 +97,9 @@ if (TYPO3_MODE=='BE') {
        'absDir' => t3lib_extMgm::extPath($_EXTKEY).'icons/',
        'relDir' => t3lib_extMgm::extRelPath($_EXTKEY).'icons/',
        'forceFileExtension' => 'gif',  // Force to look for PNG alternatives...
-       #               'scaleFactor' => 2/3,   // Scaling factor, default is 1
+#      'scaleFactor' => 2/3,   // Scaling factor, default is 1
+       'iconSizeWidth' => 16,
+       'iconSizeHeight' => 16,
        );
 
        // Manual setting up of alternative icons. This is mainly for module icons which has a special prefix:
index 9d5cb9e..0f25a52 100644 (file)
@@ -8,8 +8,8 @@ table.typo3-page-stdlist {
        border: 1px solid #A2AAB8;
 }
 
-table.typo3-dblist tr td.db_list_alt,
-typo3-page-stdlist tr td.db_list_alt {
+table.typo3-dblist tr.db_list_alt td,
+table.typo3-page-stdlist tr.db_list_alt td {
        background-color: #E4E5F0;
 }
 
@@ -18,21 +18,22 @@ table#typo3-dblist-top table.bgColor4 {
        background-color: #EFEFF4;
 }
 
-table.typo3-dblist td.c-headLineTable,
-table.typo3-page-stdlist td.c-headLineTable {
+table.typo3-dblist tr.c-headLineTable td,
+table.typo3-page-stdlist tr.c-headLineTable td {
        background-color: #B8BEC9;
        background-image: url('../icons/gfx/alt_menu_mainitem_bg.gif');
        background-repeat: repeat-x;
 }
 
-table.typo3-dblist td.c-headLineTable a,
-table.typo3-page-stdlist td.c-headLineTable a {
+table.typo3-dblist tr.c-headLineTable td a,
+table.typo3-page-stdlist tr.c-headLineTable td a {
        font-weight: bold;
        color: #FFFFFF;
 }
 
 table.typo3-dblist tr td.c-headLine,
-table.typo3-page-stdlist tr td.c-headLine {
+table.typo3-page-stdlist tr td.c-headLine,
+table.typo3-dblist tr.c-headLine td {
        height: 24px;
        background-color: #EFEFF4;
        background-image: url(../backgrounds/list_sep.gif);
@@ -40,27 +41,40 @@ table.typo3-page-stdlist tr td.c-headLine {
        background-repeat: repeat-x;
 }
 
-table.typo3-dblist td.c-table-row-spacer,
-table.typo3-page-stdlist td.c-table-row-spacer {
+table.typo3-dblist tr.c-table-row-spacer td,
+table.typo3-page-stdlist tr.c-table-row-spacer td{
        display: none;
 }
 
-table.typo3-dblist tr:hover,
-table.typo3-dblist tr:hover td.db_list_alt,
-table.typo3-page-stdlist tr:hover,
-table.typo3-page-stdlist tr:hover td.db_list_alt {
-       background-color: #d7dbe2;
-}
-
 table.typo3-dblist tr td div.typo3-DBctrl,
 table.typo3-page-stdlist tr td div.typo3-DBctrl {
        background-color: transparent;
+       padding: 2px;
 }
 
 table.typo3-dblist tr td div.typo3-clipCtrl,
 table.typo3-page-stdlist tr td div.typo3-clipCtrl {
        background-color: transparent;
-       border: 1px solid #D0D4DB;
-       margin: 1px 1px 1px 10px;
-       float: right;
 }
+
+tr.firstcol td.col-control,
+tr.firstcol td.col-clipboard {
+       border-top: 1px solid #d7d8e2;
+}
+
+tr.lastcol td.col-control,
+tr.lastcol td.col-clipboard {
+       border-bottom: 1px solid #d7d8e2;
+}
+
+.db_list_normal td.col-control, .db_list_alt td.col-control,
+.db_list_normal td.col-clipboard, .db_list_alt td.col-clipboard {
+       border-left: 1px solid #d7d8e2;
+       padding-left: 3px;
+       border-right: 1px solid #d7d8e2;
+       padding-right: 0px;
+}
+tr.fwd_rwd_nav td {
+       padding: 4px 0;
+}
+