[BUGFIX] Error in "open in new window" in task module
[Packages/TYPO3.CMS.git] / typo3 / class.file_list.inc
old mode 100755 (executable)
new mode 100644 (file)
index 62a1b26..ea0e140
@@ -1,587 +1,8 @@
 <?php
-/***************************************************************
-*  Copyright notice
-*  
-*  (c) 1999-2003 Kasper Skårhøj (kasper@typo3.com)
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is 
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-* 
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license 
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-* 
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/** 
- * Include file extending t3lib_recordList
- *
- * @author     Kasper Skårhøj <kasper@typo3.com>
- * @package TYPO3
- * @subpackage core
- * Revised for TYPO3 3.6 2/2003 by Kasper Skårhøj
+/*
+ * @deprecated since 6.0, the classname fileList and this file is obsolete
+ * and will be removed by 7.0. The class was renamed and is now located at:
+ * typo3/sysext/file_list/Classes/FileList.php
  */
-
-class fileList extends t3lib_recordList {
-       var $iLimit = 40;                                       // default Max items shown 
-       var $thumbs = 0;                                        // Boolean. Thumbnails on records containing files (pictures)
-       var $widthGif = '<img src="clear.gif" width="1" height="1" hspace="165" alt="" />';
-       var $fixedL = 30;                                       // Max length of strings
-       var $script = 'file_list.php';
-       var $clickMenus=1;                                      // If true click menus are generated on files and folders
-
-       var $sort = '';                                         // The field to sort by...
-       var $sortRev = 1;                                       // Reverse sorting flag
-       var $firstElementNumber=0;
-       var $clipBoard = 0;
-       
-               // internal
-       var $JScode = '';       
-       var $HTMLcode = '';
-       var $totalbytes=0;
-       var $dirs = Array();
-       var $files = Array();
-       var $path = '';
-       var $eCounter=0;                                        // Counting the elements no matter what...
-       var $totalItems='';
-
-       var $CBnames=array();
-
-
-
-       /**
-        * Initialization
-        *
-        * @param       string  The path to list
-        * @param       integer Pointer
-        * @param       boolean Sorting column
-        * @param       boolean Sorting direction
-        * @param       boolean Show clipboard flag
-        * @return      void
-        */     
-       function start($path,$pointer,$sort,$sortRev,$clipBoard=0)      {
-               $this->counter=0;
-               $this->totalbytes=0;
-               $this->JScode='';
-               $this->HTMLcode='';
-               $this->path = $path;
-               $this->sort=$sort;
-               $this->sortRev=$sortRev;
-               $this->firstElementNumber=$pointer;
-               $this->clipBoard = $clipBoard;
-
-               if (!$GLOBALS['TYPO3_CONF_VARS']['GFX']['thumbnails'])  {
-                       $this->thumbScript='gfx/notfound_thumb.gif';
-               }
-       }
-
-       /**
-        * Reading files and directories, counting elements and generating the list in ->HTMLcode
-        *
-        * @return void
-        */     
-       function generateList() {
-               $this->dirs = $this->readDirectory($this->path,'dir');
-               $this->files = $this->readDirectory($this->path,'file');
-               $this->totalItems=count($this->dirs['sorting'])+count($this->files['sorting']);
-               $this->HTMLcode.=$this->getTable($this->files, $this->dirs, 'fileext,tstamp,size,rw');
-       }
-
-       /**
-        * Make the top of the list
-        *
-        * @param       string  The path to list.
-        * @return      void
-        */     
-       function writeTop($path)        {
-                       // Makes the code for the foldericon in the top
-               $path = $GLOBALS['SOBE']->basicFF->is_directory($path); // Cleaning name...
-               
-               if ($path)      {
-                       $out='';
-                       $this->counter++;
-                       $theFile = $GLOBALS['SOBE']->basicFF->getTotalFileInfo($path);
-                       $root = $GLOBALS['SOBE']->basicFF->checkPathAgainstMounts($theFile['path']);
-                       $titleCol='path';
-                       $this->fieldArray = Array($titleCol,'up');
-       
-                       list($title,$icon,$path) =  $this->dirData($theFile);
-       
-                               // Start compiling the HTML
-                       $out='<table border="0" cellpadding="0" cellspacing="0">';
-       
-                       $theData = Array();
-                       $theData[$titleCol] = $this->widthGif;
-       
-                       $title = $GLOBALS['SOBE']->basicFF->blindPath($path);
-                       $theData['up']='<a href="'.htmlspecialchars($this->listURL()).'">'.
-                                       '<img src="'.$this->backPath.'gfx/refresh_n.gif" width="14" hspace="2" height="14" vspace="1" border="0" title="'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.reload',1).'" align="top" alt="" />'.
-                                       '</a>';
-                               
-                       if ($root)      {
-                                       // The icon with link   
-                               $theIcon = '<img src="'.$this->backPath.$icon.'" width="18" height="16" border="0" title="'.htmlspecialchars($theFile['file']).'" align="top" alt="" />';
-                               if ($this->clickMenus) $theIcon = $GLOBALS['SOBE']->doc->wrapClickMenuOnIcon($theIcon,$path);
-
-                               $theData[$titleCol].='<br />'.htmlspecialchars(t3lib_div::fixed_lgd_pre($title,$this->fixedL+20));
-                               $theData['up'].=$this->linkWrapDir('<img src="'.$this->backPath.'gfx/i/folder_up.gif" width="18" height="16" border="0" title="'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.upOneLevel',1).'" align="top" alt="" />',$theFile['path']);
-                       } else {        
-                                       // root:0
-                               $theIcon='<img src="'.$this->backPath.'gfx/i/_icon_ftp.gif" width="18" height="16" border="0" align="top" alt="" />';
-                               $theData[$titleCol].='<br />'.htmlspecialchars(t3lib_div::fixed_lgd_pre($title,$this->fixedL+20));
-                       }
-       
-                               // Adding top element
-                       $out.=$this->addelement(1,'',$theData,'',$this->leftMargin,$theIcon);
-       
-                       $out.='</table>';
-                       $this->HTMLcode.=$out;
-               }
-       }
-
-       /**
-        * Wrapping input string in a link with clipboard command.
-        *
-        * @param       string  String to be linked - must be htmlspecialchar'ed / prepared before.
-        * @param       string  table - NOT USED
-        * @param       string  "cmd" value
-        * @param       string  Warning for JS confirm message
-        * @return      string  Linked string
-        */     
-       function linkClipboardHeaderIcon($string,$table,$cmd,$warning='')       {
-               $onClickEvent = 'document.dblistForm.cmd.value=\''.$cmd.'\';document.dblistForm.submit();';
-               if ($warning)   $onClickEvent = 'if (confirm('.$GLOBALS['LANG']->JScharCode($warning).')){'.$onClickEvent.'}';
-               return '<a href="#" onclick="'.htmlspecialchars($onClickEvent).'return false;">'.$string.'</a>';
-       }
-
-       /**
-        * Returns a table with directories and files listed.
-        *
-        * @param       array   Files
-        * @param       array   Directories
-        * @param       string  List of rows to display horizontallyh
-        * @return      string  HTML-table
-        */     
-       function getTable($files,$dirs,$rowlist)        {
-                       // Adds the code of files/dirs
-               $out='';
-               $titleCol = 'file';
-               
-                       // Cleaning rowlist for duplicates and place the $titleCol as the first column always!
-               $rowlist = t3lib_div::rmFromList($titleCol,$rowlist);
-               $rowlist = t3lib_div::uniqueList($rowlist);
-               $rowlist = $rowlist ? $titleCol.','.$rowlist : $titleCol;
-               if ($this->clipBoard)   $rowlist.=',_CLIPBOARD_';
-               $this->fieldArray = explode(',',$rowlist);
-               
-                       // Start table:
-               $out.='
-               <table border="0" cellpadding="0" cellspacing="0">';
-
-                       // half line is drawn
-               $theData = Array();
-               $theData[$titleCol] = $this->widthGif;
-               $out.=$this->addelement(0,'',$theData,'',$this->leftMargin);
-
-
-
-                       // Directories are added
-               $iOut = '';
-               $iOut.= $this->formatDirList($dirs,$titleCol);
-
-               if (count($dirs['sorting']))    {
-                               // half line is drawn
-                       $theData = Array();
-                       $theData[$titleCol] = '';
-                       $iOut.=$this->addelement(0,'',$theData);
-               }
-
-
-
-                       // Files are added
-               $iOut.= $this->formatFileList($files,$titleCol);
-               
-                       // Header line is drawn
-               $theData = Array();
-               reset($this->fieldArray);
-               while(list(,$v)=each($this->fieldArray))        {
-                       if ($v=='_CLIPBOARD_')  {
-                               $cells=array();
-                               $table='_FILE';
-                               $elFromTable = $this->clipObj->elFromTable($table);
-                               if (count($elFromTable))        {
-                                       $cells[]='<a href="'.htmlspecialchars($this->clipObj->pasteUrl('_FILE',$this->path)).'" onclick="return '.htmlspecialchars($this->clipObj->confirmMsg('_FILE',$this->path,'into',$elFromTable)).'">'.
-                                               '<img src="gfx/clip_pasteafter.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->getLL('clip_paste'),1).' alt="" /></a>'.
-                                               '<img src="clear.gif" width="2" height="1" alt="" />';
-                               }
-                               if ($this->clipObj->current!='normal' && $iOut) {
-                                       $cells[]=$this->linkClipboardHeaderIcon('<img src="gfx/clip_copy.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->getLL('clip_selectMarked'),1).' alt="" />',$table,'setCB');
-                                       $cells[]=$this->linkClipboardHeaderIcon('<img src="gfx/garbage.gif" width="11" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->getLL('clip_deleteMarked'),1).' alt="" />',$table,'delete',$GLOBALS['LANG']->getLL('clip_deleteMarkedWarning'));
-                                       $cells[]='<img src="clear.gif" width="6" height="1" alt="" />';
-                                       $onClick = 'checkOffCB(\''.implode(',',$this->CBnames).'\'); return false;';
-                                       $cells[]='<a href="#" onclick="'.htmlspecialchars($onClick).'">'.
-                                                       '<img src="gfx/clip_select.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->getLL('clip_markRecords'),1).' alt="" />'.
-                                                       '</a>';
-                               }
-
-                               $theData[$v] = implode('',$cells).'&nbsp;';
-                       } else {        // Normal row:
-                               $theT = $this->linkWrapSort($GLOBALS['LANG']->getLL('c_'.$v,1), $this->path,$v);
-                               if ($v==$titleCol)      {
-                                       $theData[$v] = '&nbsp;<b>'.$theT.'</b>&nbsp;<br /><img src="clear.gif" width="180" height="1" alt="" />';
-                               } else {
-                                       $theData[$v] = '&nbsp;<b>'.$theT.'</b>&nbsp;';
-                               }
-                       }
-               }
-               $out.=$this->addelement(1,'',$theData,' bgcolor="'.$this->headLineCol.'"','');
-               $out.=$iOut;
-               
-                       // half line is drawn
-               $theData = Array();
-               $theData[$titleCol] = $this->counter.' Files, '.$GLOBALS['SOBE']->basicFF->formatSize($this->totalbytes).'bytes';
-               $out.=$this->addelement(1,'',$theData);
-               
-                       // finish
-               $out.='
-               </table>';      
-               return $out;
-       }
-
-       /**
-        * This returns tablerows for the directories in the array $items['sorting']. 
-        *
-        * @param       array   Items
-        * @return      string  HTML table rows.
-        */     
-       function formatDirList($items)  {
-               $out='';
-
-                       // Files:
-               if (count($items['sorting']))   {
-                       reset($items['sorting']);
-                       while (list($key,) = each($items['sorting']))   {
-                               list($flag,$code) = $this->fwd_rwd_nav();
-                               $out.=$code;
-                               if ($flag)      {
-                                               // Initialization
-                                       $theFile = $items['files'][$key];
-                                       $this->counter++;
-       
-                                       list($title,$icon,$path) =  $this->dirData($theFile);
-       
-                                               // The icon with link   
-                                       $theIcon = '<img src="'.$this->backPath.$icon.'" width="18" height="16" border="0" title="'.htmlspecialchars($theFile['file']).'">';
-                                       if ($this->clickMenus) $theIcon = $GLOBALS['SOBE']->doc->wrapClickMenuOnIcon($theIcon,$path);
-       
-                                               //      Preparing and getting the data-array
-                                       $theData = Array();
-                                       reset($this->fieldArray);
-                                       while(list(,$field)=each($this->fieldArray))    {
-                                               switch($field)  {
-                                                       case 'size':
-       //                                                      $theData[$field]=$GLOBALS['SOBE']->basicFF->formatSize($theFile[$field]);
-                                                       break;
-                                                       case 'rw':
-                                                               $theData[$field]= (($theFile['readable'])?'':'<span class="typo3-red"><b>R</b></span>').(($theFile['writeable'])?'':'<span class="typo3-red"><b>W</b></span>');
-                                                       break;
-                                                       case 'fileext': 
-       //                                                      $theData[$field]=strtoupper($theFile['fileext']);
-                                                       break;
-                                                       case 'tstamp':
-                                                               $theData[$field]=Date($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'], $theFile['tstamp']);
-                                                       break;
-                                                       case 'file':
-                                                               $theData[$field]= $this->linkWrapDir(htmlspecialchars(t3lib_div::fixed_lgd($title,$this->fixedL)),$path);
-                                                       break;
-                                                       case '_CLIPBOARD_':
-                                                               $theData[$field]=$this->makeClip($theFile);
-                                                       break;
-                                                       default:
-                                                               $theData[$field]=t3lib_div::fixed_lgd($theFile[$field],$this->fixedL);
-                                                       break;
-                                               }
-                                               if ($field!='_CLIPBOARD_')      $theData[$field]='&nbsp;'.$theData[$field].'&nbsp;';
-                                       }
-                                       $out.=$this->addelement(1,$theIcon,$theData);
-                               }
-                               $this->eCounter++;
-                       }
-               }
-               return $out;
-       }
-
-       /**
-        * Wraps the directory-titles
-        *
-        * @param       string  String to be wrapped in links
-        * @param       string  ID (path)
-        * @return      string  HTML
-        */     
-       function linkWrapDir($code,$path)       {
-               $href = $this->script.'?id='.rawurlencode($path);
-               return '<a href="'.htmlspecialchars($href).'">'.$code.'</a>';
-       }
-
-       /**
-        * Returns list URL
-        *
-        * @return      string  URL
-        */     
-       function listURL()      {
-               return $this->script.'?id='.rawurlencode($this->path).'&imagemode='.$this->thumbs;
-       }
-
-       /**
-        * Returns some data specific for the directories...
-        *
-        * @param       array   File information array
-        * @return      array   (title, icon, path)
-        */     
-       function dirData($theFile)      {
-               $path = $theFile['path'].$theFile['file'].'/';
-               $webpath=t3lib_BEfunc::getPathType_web_nonweb($path);
-
-               $title=htmlspecialchars($theFile['file']);
-               $icon = 'gfx/i/_icon_'.$webpath.'folders.gif';
-               if ($title=='_temp_')   {
-                       $icon = 'gfx/i/sysf.gif';
-                       $title='<b>TEMP</b>';
-               }
-               if ($title=='_recycler_')       {
-                       $icon = 'gfx/i/recycler.gif';
-                       $title='<b>RECYCLER</b>';
-               }
-               $icon = $theFile['writable'] ? 'gfx/i/_icon_'.$webpath.'folders_ro.gif' : $icon;
-
-               return Array($title,$icon,$path);
-       }
-
-       /**
-        * This returns tablerows for the files in the array $items['sorting']. 
-        *
-        * @param       array   Items
-        * @return      string  HTML table rows.
-        */     
-       function formatFileList($items) {
-               $out='';
-
-                       // Files:
-               if (count($items['sorting']))   {
-                       reset($items['sorting']);
-                       while (list($key,) = each($items['sorting']))   {
-                               list($flag,$code) = $this->fwd_rwd_nav();
-                               $out.=$code;
-                               if ($flag)      {
-                                               // Initialization
-                                       $theFile = $items['files'][$key];
-                                       $this->counter++;
-       
-                                       $this->totalbytes+=$theFile['size'];
-                                       $ext = $items['files'][$key][fileext];
-                                       $icon = t3lib_BEfunc::getFileIcon($ext);
-
-                                               // The icon with link   
-                                       $theIcon = '<img src="'.$this->backPath.'gfx/fileicons/'.$icon.'" width="18" height="16" border="0" title="'.htmlspecialchars($theFile['file']).'" alt="" />';
-                                       if ($this->clickMenus) $theIcon = $GLOBALS['SOBE']->doc->wrapClickMenuOnIcon($theIcon,$theFile['path'].$theFile['file']);
-       
-                                               //      Preparing and getting the data-array
-                                       $theData = Array();
-                                       reset($this->fieldArray);
-                                       while(list(,$field)=each($this->fieldArray))    {
-                                               switch($field)  {
-                                                       case 'size':
-                                                               $theData[$field]=$GLOBALS['SOBE']->basicFF->formatSize($theFile[$field]);
-                                                       break;
-                                                       case 'rw':
-                                                               $theData[$field]= (($theFile['readable'])?'':'<span class="typo3-red"><b>R</b></span>').(($theFile['writeable'])?'':'<span class="typo3-red"><b>W</b></span>');
-                                                       break;
-                                                       case 'fileext':
-                                                               $theData[$field]=strtoupper($theFile[$field]);
-                                                       break;
-                                                       case 'tstamp':
-                                                               $theData[$field]=Date($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'], $theFile[$field]);
-                                                       break;
-                                                       case '_CLIPBOARD_':
-                                                               $theData[$field]=$this->makeClip($theFile);
-                                                       break;
-                                                       default:
-                                                               $theData[$field]=t3lib_div::fixed_lgd($theFile[$field],$this->fixedL);
-                                                       break;
-                                               }
-                                               if ($field!='_CLIPBOARD_')      $theData[$field]='&nbsp;'.$theData[$field].'&nbsp;';
-                                       }
-                                       $out.=$this->addelement(1,$theIcon,$theData);
-                                       
-                                               // Thumbsnails?
-                                       if ($this->thumbs && $this->isImage($theFile['fileext']))       {
-                                               $thumbData=Array();
-                                               $theFile_R = rawurlencode($theFile['path'].$theFile['file']);
-                                               $titleCol=$this->fieldArray[0];
-                                               $href = $this->backPath.$this->thumbScript.'?&dummy='.$GLOBALS['EXEC_TIME'].'&file='.$theFile_R;
-                                               $thumbData[$titleCol]='<img src="'.htmlspecialchars($href).'" hspace="2" border="0" title="'.htmlspecialchars(trim($theFile['file'])).'">';
-                                               $out.=$this->addelement(4,'',$thumbData);
-                                       }
-                               }
-                               $this->eCounter++;
-                       }
-               }
-               return $out;
-       }
-
-       /**
-        * Returns true if $ext is an image-extension according to $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
-        *
-        * @param       string  file extension 
-        * @return      boolean 
-        */     
-       function isImage($ext)  {
-               return t3lib_div::inList($GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],strtolower($ext));
-       }
-
-       /**
-        * Wraps the directory-titles ($code) in a link to file_list.php (id=$path) and sorting commands...
-        *
-        * @param       string  String to be wrapped
-        * @param       string  ID (path)
-        * @param       string  Sorting column
-        * @return      string  HTML
-        */     
-       function linkWrapSort($code,$path,$col) {
-               if ($this->sort==$col && !$this->sortRev)       {               // reverse sorting
-                       $params='&SET[sort]='.$col.'&SET[reverse]=1';
-               } else {
-                       $params='&SET[sort]='.$col.'&SET[reverse]=0';
-               }
-               $href = $this->script.'?id='.rawurlencode($path).$params;
-               return '<a href="'.htmlspecialchars($href).'">'.$code.'</a>';
-       }
-
-       /**
-        * Returns an array with file/dir items + a array with the sorted items
-        *
-        * @param       string  Path
-        * @param       string  $type is the technical type; file,dir,link. empty is all kinds of stuff.
-        * @param       string  $extList: List of fileextensions to select. If empty, all are selected.
-        * @return      array   Array('files'=>array(), 'sorting'=>array());
-        */     
-       function readDirectory($path,$type,$extList='') {
-               $items = Array('files'=>array(), 'sorting'=>array());
-               $path = $GLOBALS['SOBE']->basicFF->is_directory($path); // Cleaning name...
-
-               if($path && $GLOBALS['SOBE']->basicFF->checkPathAgainstMounts($path.'/'))       {
-                       $d = @dir($path);
-                       $tempArray=Array();
-                       if (is_object($d))      {
-                               while($entry=$d->read()) {
-                                       if ($entry!='.' && $entry!='..')        {
-                                               $wholePath = $path.'/'.$entry;          // Because of odd PHP-error where  <BR>-tag is sometimes placed after a filename!!
-                                               if (@file_exists($wholePath) && (!$type || filetype($wholePath)==$type))        {
-                                                       if ($extList)   {
-                                                               $fI = t3lib_div::split_fileref($entry);
-                                                               if (t3lib_div::inList($extList,$fI['fileext'])) {
-                                                                       $tempArray[] = $wholePath;
-                                                               }
-                                                       } else {
-                                                               $tempArray[] = $wholePath;
-                                                       }
-                                               }
-                                       }
-                               }
-                               $d->close();
-                       }
-                               // Get fileinfo
-                       reset($tempArray);
-                       while (list(,$val)=each($tempArray))    {
-                               $temp = $GLOBALS['SOBE']->basicFF->getTotalFileInfo($val);
-                               $items['files'][] = $temp;
-                               if ($this->sort)        {
-                                       $items['sorting'][] = strtoupper($temp[$this->sort]);
-                               } else {
-                                       $items['sorting'][] = '';
-                               }
-                       }
-                               // Sort if required
-                       if ($this->sort)        {
-                               if (!$this->sortRev)    {
-                                       asort($items['sorting']);
-                               } else {
-                                       arsort($items['sorting']);
-                               }
-                       }
-               }
-               return $items;
-       }
-
-       /**
-        * Creates the clipboard control pad
-        *
-        * @param       array
-        * @return      string  HTML-table
-        */     
-       function makeClip($theData)     {
-               $cells=array();
-               $fullIdent = $theData['path'].$theData['file'];
-               $md5=t3lib_div::shortmd5($fullIdent);
-
-                       // For normal clipboard, add copy/cut buttons:
-               if ($this->clipObj->current=='normal')  {
-                       $isSel = $this->clipObj->isSelected('_FILE',$md5);
-                       $cells[]='<a href="'.htmlspecialchars($this->clipObj->selUrlFile($fullIdent,1,($isSel=='copy'))).'">'.
-                                               '<img src="gfx/clip_copy'.($isSel=='copy'?'_h':'').'.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:cm.copy'),1).' alt="" />'.
-                                               '</a>';
-                       $cells[]='<a href="'.htmlspecialchars($this->clipObj->selUrlFile($fullIdent,0,($isSel=='cut'))).'">'.
-                                               '<img src="gfx/clip_cut'.($isSel=='cut'?'_h':'').'.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:cm.cut'),1).' alt="" />'.
-                                               '</a>';
-               } else {        // For numeric pads, add select checkboxes:
-                       $n='_FILE|'.$md5;
-                       $this->CBnames[]=$n;
-
-                       $checked = ($this->clipObj->isSelected('_FILE',$md5)?' checked':'');
-                       $cells[]='<input type="hidden" name="CBH['.$n.']" value="0">'.
-                                       '<input type="checkbox" name="CBC['.$n.']" value="'.htmlspecialchars($fullIdent).'" style="width:12;height:12;margin:0 0 0 0;"'.$checked.'>';   // NN 6.1
-               }
-
-                       // Display PASTE button, if directory:
-               $elFromTable = $this->clipObj->elFromTable('_FILE');
-               if (@is_dir($fullIdent) && count($elFromTable)) {
-                       $cells[]='<a href="'.htmlspecialchars($this->clipObj->pasteUrl('_FILE',$fullIdent)).'" onclick="return '.htmlspecialchars($this->clipObj->confirmMsg('_FILE',$fullIdent,'into',$elFromTable)).'">'.
-                                               '<img src="gfx/clip_pasteinto.gif" width="12" height="12" border="0"'.t3lib_BEfunc::titleAttrib($GLOBALS['LANG']->getLL('clip_pasteInto'),1).' alt="" />'.
-                                               '</a>';
-               }
-
-               if ($GLOBALS['CLIENT']['BROWSER']=='net' && $GLOBALS['CLIENT']['VERSION']<5)    {
-                       $w100 = '';
-                       $w40 = '';
-               } else {
-                       $w100 = ' width="100%"';
-                       $w40 = ' width="40%"';
-               }
-               return '<table border="0" cellpadding="1" cellspacing="0" bgcolor="'.$GLOBALS['SOBE']->doc->bgColor5.'"'.$w100.'>
-                       <tr>
-                       <td'.$w40.'></td>
-                       <td align="center">'.implode('</td><td>',$cells).'</td>
-                       <td'.$w40.'></td>
-                       </tr>
-               </table>';
-       }
-}
-
-
-
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.file_list.inc'])      {
-       include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.file_list.inc']);
-}
-
+require_once \TYPO3\CMS\Core\Extension\ExtensionManager::extPath('file_list') . 'Classes/FileList.php';
 ?>
\ No newline at end of file