Fixed bug #15801: Deprecate t3lib_div::rm_endcomma
[Packages/TYPO3.CMS.git] / typo3 / sysext / lowlevel / dbint / index.php
index 8435193..b53dbf4 100755 (executable)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2008 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2010 Kasper Skårhøj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -29,7 +29,7 @@
  *
  * This module lets you check if all pages and the records relate properly to each other
  *
- * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  * @coauthor   Jo Hasenau <info@cybercraft.de>
  */
 /**
@@ -64,15 +64,8 @@ unset($MCONF);
 require ('conf.php');
 require ($BACK_PATH.'init.php');
 require ($BACK_PATH.'template.php');
-require_once (PATH_t3lib.'class.t3lib_admin.php');
-require_once (PATH_t3lib.'class.t3lib_loaddbgroup.php');
-require_once (PATH_t3lib.'class.t3lib_querygenerator.php');
-require_once (PATH_t3lib.'class.t3lib_parsehtml.php');
-require_once (PATH_t3lib.'class.t3lib_xml.php');
-require_once (PATH_t3lib.'class.t3lib_fullsearch.php');
-require_once (PATH_t3lib.'class.t3lib_refindex.php');
-
-$LANG->includeLLFile('EXT:lowlevel/dbint/locallang.xml');
+
+$GLOBALS['LANG']->includeLLFile('EXT:lowlevel/dbint/locallang.xml');
 $BE_USER->modAccess($MCONF,1);
 
 
@@ -83,7 +76,7 @@ $BE_USER->modAccess($MCONF,1);
 /**
  * Script class for the DB int module
  *
- * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage tx_lowlevel
  */
@@ -120,7 +113,6 @@ class SC_mod_tools_dbint_index {
                $this->doc = t3lib_div::makeInstance('template');
                $this->doc->backPath = $BACK_PATH;
                $this->doc->setModuleTemplate('templates/dbint.html');
-               $this->doc->docType='xhtml_trans';
                $this->doc->form='<form action="" method="post" name="'.$this->formName.'">';
 
                                // JavaScript
@@ -132,12 +124,17 @@ class SC_mod_tools_dbint_index {
                        }
                </script>
                ';
+               $this->doc->table_TABLE = '<table border="0" cellspacing="0" cellpadding="0" class="typo3-dblist" style="width:400px!important;">
+                       <colgroup><col width="24"><col width="300"><col width="76"></colgroup>';
 
-               $this->doc->tableLayout = Array (
-                       'defRow' => Array (
-                               '0' => Array('<td valign="top">','</td>'),
-                               '1' => Array('<td valign="top">','</td>'),
-                               'defCol' => Array('<td><img src="'.$this->doc->backPath.'clear.gif" width="15" height="1" alt="" /></td><td valign="top">','</td>')
+               $this->doc->tableLayout = array (
+                       '0' => array (
+                               'defCol' => array('<td class="t3-row-header"><img src="' . $this->doc->backPath . 'clear.gif" width="10" height="1" alt="" /></td><td valign="top" class="t3-row-header"><strong>', '</strong></td>')
+                       ),
+                       'defRow' => array (
+                               '0' => array('<td valign="top">','</td>'),
+                               '1' => array('<td valign="top">','</td>'),
+                               'defCol' => array('<td><img src="' . $this->doc->backPath . 'clear.gif" width="15" height="1" alt="" /></td><td valign="top">', '</td>')
                        )
                );
        }
@@ -156,17 +153,16 @@ class SC_mod_tools_dbint_index {
                        // Values NOT in this array will not be saved in the settings-array for the module.
                $this->MOD_MENU = array(
                        'function' => array(
-                               0 => '[ MENU ]',
-                               'records' => 'Record Statistics',
-                               'tree' => 'Total Page Tree',
-                               'relations' => 'Database Relations',
-                               'search' => 'Full search',
-                               'filesearch' => 'Find filename',
-                               'refindex' => 'Manage Reference Index',
+                               0 => $GLOBALS['LANG']->getLL('menu', true),
+                               'records' => $GLOBALS['LANG']->getLL('recordStatistics', true),
+                               'relations' => $GLOBALS['LANG']->getLL('databaseRelations', true),
+                               'search' => $GLOBALS['LANG']->getLL('fullSearch', true),
+                               'filesearch' => $GLOBALS['LANG']->getLL('findFilename', true),
+                               'refindex' => $GLOBALS['LANG']->getLL('manageRefIndex', true),
                        ),
                        'search' => array(
-                               'raw' => 'Raw search in all fields',
-                               'query' => 'Advanced query'
+                               'raw' => $GLOBALS['LANG']->getLL('rawSearch', true),
+                               'query' => $GLOBALS['LANG']->getLL('advancedQuery', true)
                        ),
 
                        'search_query_smallparts' => '',
@@ -189,11 +185,11 @@ class SC_mod_tools_dbint_index {
                        'storeQueryConfigs' => '',      // Used to store the available Query configs in memory
 
                        'search_query_makeQuery' => array(
-                               'all' => 'Select records',
-                               'count' => 'Count results',
-                               'explain' => 'Explain query',
-                               'csv' => 'CSV Export',
-                               'xml' => 'XML Export'
+                               'all' => $GLOBALS['LANG']->getLL('selectRecords', true),
+                               'count' => $GLOBALS['LANG']->getLL('countResults', true),
+                               'explain' => $GLOBALS['LANG']->getLL('explainQuery', true),
+                               'csv' => $GLOBALS['LANG']->getLL('csvExport', true),
+                               'xml' => $GLOBALS['LANG']->getLL('xmlExport', true)
                        ),
 
                        'sword' => ''
@@ -246,9 +242,6 @@ class SC_mod_tools_dbint_index {
                        case 'search':
                                $this->func_search();
                        break;
-                       case 'tree':
-                               $this->func_tree();
-                       break;
                        case 'records':
                                $this->func_records();
                        break;
@@ -275,7 +268,7 @@ class SC_mod_tools_dbint_index {
                );
 
                        // Build the <body> for the module
-               $this->content = $this->doc->startPage($LANG->getLL('title'));
+               $this->content = $this->doc->startPage($GLOBALS['LANG']->getLL('title'));
                $this->content.= $this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers);
                $this->content.= $this->doc->endPage();
                $this->content = $this->doc->insertStylesAndJS($this->content);
@@ -329,15 +322,23 @@ class SC_mod_tools_dbint_index {
         * @return      void
         */
        function func_default() {
-               global $LANG;
+               $this->content .= $this->doc->header($GLOBALS['LANG']->getLL('title'));
+
+               $content = '<dl class="t3-overview-list">';
+
+               $availableModFuncs = array('records', 'relations', 'search', 'filesearch', 'refindex');
+               foreach ($availableModFuncs as $modFunc) {
+                       $link = 'index.php?SET[function]=' . $modFunc;
+                       $title = $GLOBALS['LANG']->getLL($modFunc);
+                       $description = $GLOBALS['LANG']->getLL($modFunc . '_description');
+                       $content .= '
+                               <dt><a href="' . $link . '">' . $title . '</a></dt>
+                               <dd>' . $description . '</dd>
+                       ';
+               }
 
-               $this->content.=$this->doc->header($LANG->getLL('title'));
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=records">'.$LANG->getLL('records').'</a>',$LANG->getLL('records_description'),1,1,0,1);
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=tree">'.$LANG->getLL('tree').'</a>',$LANG->getLL('tree_description'),1,1,0,1);
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=relations">'.$LANG->getLL('relations').'</a>',$LANG->getLL('relations_description'),1,1,0,1);
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=search">'.$LANG->getLL('search').'</a>',$LANG->getLL('search_description'),1,1,0,1);
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=filesearch">'.$LANG->getLL('filesearch').'</a>',$LANG->getLL('filesearch_description'),1,1,0,1);
-               $this->content.=$this->doc->section('<a href="index.php?SET[function]=refindex">'.$LANG->getLL('refindex').'</a>',$LANG->getLL('refindex_description'),1,1,0,1);
+               $content .= '</dl>';
+               $this->content .= $content;
        }
 
 
@@ -369,15 +370,22 @@ class SC_mod_tools_dbint_index {
                        list($headerContent,$bodyContent) = $refIndexObj->updateIndex($testOnly);
 
                                // Output content:
-                       $this->content.=$this->doc->section($headerContent,str_replace(chr(10),'<br/>',$bodyContent),0,1);
+                       $this->content.=$this->doc->section($headerContent,str_replace(LF,'<br/>',$bodyContent),0,1);
                }
 
                        // Output content:
-               $content = 'Click here to update reference index: <input type="submit" name="_update" value="Update now!" /><br/>';
-               $content.= 'Click here to test reference index: <input type="submit" name="_check" value="Check now!" /><br/>';
-               $content.= 'You can also run the check as a shell script if the processing takes longer than the PHP max_execution_time allows:<br/>'.
-                                       t3lib_extMgm::extPath('lowlevel').'dbint/cli/refindex_cli.phpsh';
-               $this->content.=$this->doc->section('Update reference index',$content,0,1);
+               $content = '<p>' . $GLOBALS['LANG']->getLL('referenceIndex_description') . '</p><br />';
+               $content .= '<input type="submit" name="_check" value="' . $GLOBALS['LANG']->getLL('referenceIndex_buttonCheck') . '" /> <input type="submit" name="_update" value="' . $GLOBALS['LANG']->getLL('referenceIndex_buttonUpdate') . '" /><br /><br />';
+               $content .= '<h3>' . $GLOBALS['LANG']->getLL('checkScript_headline') . '</h3>';
+               $content.= '<p>' . $GLOBALS['LANG']->getLL('checkScript') . '</p>';
+               $content.= '<h4>' . $GLOBALS['LANG']->getLL('checkScript_check_description') . '</h4>' .
+                                       '<code>php ' . PATH_typo3 . 'cli_dispatch.phpsh lowlevel_refindex -c</code><br />';
+               $content.= '<h4>' . $GLOBALS['LANG']->getLL('checkScript_update_description') . '</h4>' .
+                                       '<code>php ' . PATH_typo3 . 'cli_dispatch.phpsh lowlevel_refindex -e</code><br /><br />';
+               $content.= '<div class="typo3-message message-information"><div class="message-body">' . $GLOBALS['LANG']->getLL('checkScript_information') . '</div></div>';
+               $content.= '<p>' . $GLOBALS['LANG']->getLL('checkScript_moreDetails') . '<br /><a href="' . $GLOBALS['BACK_PATH'] . 'sysext/lowlevel/HOWTO_clean_up_TYPO3_installations.txt" target="_new">' . PATH_typo3 . 'sysext/lowlevel/HOWTO_clean_up_TYPO3_installations.txt</a></p>';
+
+               $this->content.= $this->doc->section($GLOBALS['LANG']->getLL('updateRefIndex'), $content, false, true);
        }
 
        /**
@@ -390,7 +398,7 @@ class SC_mod_tools_dbint_index {
 
                $fullsearch = t3lib_div::makeInstance('t3lib_fullsearch');
                $fullsearch->setFormName($this->formName);
-               $this->content.= $this->doc->header($LANG->getLL('search'));
+               $this->content.= $this->doc->header($GLOBALS['LANG']->getLL('search'));
                $this->content.= $this->doc->spacer(5);
 
                $menu2='';
@@ -398,14 +406,14 @@ class SC_mod_tools_dbint_index {
                        $menu2 = t3lib_BEfunc::getFuncMenu(0, 'SET[search]', $this->MOD_SETTINGS['search'], $this->MOD_MENU['search']);
                }
                if ($this->MOD_SETTINGS['search']=='query' && !$GLOBALS['BE_USER']->userTS['mod.']['dbint.']['disableTopMenu']) {
-                       $menu2 .= t3lib_BEfunc::getFuncMenu(0, 'SET[search_query_makeQuery]', $this->MOD_SETTINGS['search_query_makeQuery'], $this->MOD_MENU['search_query_makeQuery']). '<br />';
+                       $menu2 .= t3lib_BEfunc::getFuncMenu(0, 'SET[search_query_makeQuery]', $this->MOD_SETTINGS['search_query_makeQuery'], $this->MOD_MENU['search_query_makeQuery']) . '<br />';
                }
                if (!$GLOBALS['BE_USER']->userTS['mod.']['dbint.']['disableTopCheckboxes'] && $this->MOD_SETTINGS['search']=='query')   {
-                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[search_query_smallparts]', $this->MOD_SETTINGS['search_query_smallparts'],'','','id="checkSearch_query_smallparts"').'&nbsp;<label for="checkSearch_query_smallparts">Show SQL parts</label><br />';
-                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[search_result_labels]', $this->MOD_SETTINGS['search_result_labels'],'','','id="checkSearch_result_labels"').'&nbsp;<label for="checkSearch_result_labels">Use formatted strings, labels and dates instead of original values for results</label><br />';
-                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[labels_noprefix]', $this->MOD_SETTINGS['labels_noprefix'],'','','id="checkLabels_noprefix"').'&nbsp;<label for="checkLabels_noprefix">Don\'t use original values in brackets as prefix for labelled results</label><br />';
-                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[options_sortlabel]', $this->MOD_SETTINGS['options_sortlabel'],'','','id="checkOptions_sortlabel"').'&nbsp;<label for="checkOptions_sortlabel">Sort selectbox options for relations by label and not by value</label><br />';
-                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[show_deleted]', $this->MOD_SETTINGS['show_deleted'],'','','id="checkShow_deleted"').'&nbsp;<label for="checkShow_deleted">Show even deleted entries (with undelete buttons)</label>';
+                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[search_query_smallparts]', $this->MOD_SETTINGS['search_query_smallparts'], '', '', 'id="checkSearch_query_smallparts"') . '&nbsp;<label for="checkSearch_query_smallparts">' . $GLOBALS['LANG']->getLL('showSQL') . '</label><br />';
+                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[search_result_labels]', $this->MOD_SETTINGS['search_result_labels'], '', '', 'id="checkSearch_result_labels"') . '&nbsp;<label for="checkSearch_result_labels">' . $GLOBALS['LANG']->getLL('useFormattedStrings') . '</label><br />';
+                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[labels_noprefix]', $this->MOD_SETTINGS['labels_noprefix'], '', '', 'id="checkLabels_noprefix"') . '&nbsp;<label for="checkLabels_noprefix">' . $GLOBALS['LANG']->getLL('dontUseOrigValues') . '</label><br />';
+                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[options_sortlabel]', $this->MOD_SETTINGS['options_sortlabel'], '', '', 'id="checkOptions_sortlabel"') . '&nbsp;<label for="checkOptions_sortlabel">' . $GLOBALS['LANG']->getLL('sortOptions') . '</label><br />';
+                       $menu2 .= t3lib_BEfunc::getFuncCheck($GLOBALS['SOBE']->id, 'SET[show_deleted]', $this->MOD_SETTINGS['show_deleted'], '', '', 'id="checkShow_deleted"') . '&nbsp;<label for="checkShow_deleted">' . $GLOBALS['LANG']->getLL('showDeleted') . '</label>';
                }
 
                $this->content.= $this->doc->section('',$menu2).$this->doc->spacer(10);
@@ -416,33 +424,12 @@ class SC_mod_tools_dbint_index {
                        break;
                        case 'raw':
                        default:
-                               $this->content.=$this->doc->section('Search options:',$fullsearch->form(),0,1);
-                               $this->content.=$this->doc->section('Result:',$fullsearch->search(),0,1);
+                               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('searchOptions'), $fullsearch->form(), false, true);
+                               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('result'), $fullsearch->search(), false, true);
                        break;
                }
        }
 
-       /**
-        * Display page tree
-        *
-        * @return      void
-        */
-       function func_tree()    {
-               global $LANG,$BACK_PATH;
-
-               $startID = 0;
-               $admin = t3lib_div::makeInstance('t3lib_admin');
-               $admin->genTree_makeHTML=1;
-               $admin->backPath = $BACK_PATH;
-               $admin->genTree(intval($startID),'<img src="'.$BACK_PATH.'clear.gif" width="1" height="1" align="top" alt="" />');
-
-               $this->content.= $this->doc->header($LANG->getLL('tree'));
-               $this->content.= $this->doc->spacer(5);
-               $this->content.= $this->doc->sectionEnd();
-
-               $this->content.= $admin->genTree_HTML;
-               $this->content.= $admin->lostRecords($admin->genTree_idlist.'0');
-       }
 
        /**
         * Records overview
@@ -457,63 +444,76 @@ class SC_mod_tools_dbint_index {
                $admin->backPath = $BACK_PATH;
                $admin->genTree(0,'');
 
-               $this->content.= $this->doc->header($LANG->getLL('records'));
+               $this->content.= $this->doc->header($GLOBALS['LANG']->getLL('records'));
                $this->content.= $this->doc->spacer(5);
 
                        // Pages stat
-               $codeArr=Array();
+               $codeArr=array();
+               $codeArr['tableheader'] = array('', $GLOBALS['LANG']->getLL('count'));
                $i++;
-               $codeArr[$i][]='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/pages.gif','width="18" height="16"').' hspace="4" align="top" alt="" />';
-               $codeArr[$i][]=$LANG->getLL('total_pages');
+               $codeArr[$i][]='<img' . t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/pages.gif','width="18" height="16"') . ' hspace="4" align="top" alt="" />';
+               $codeArr[$i][]=$GLOBALS['LANG']->getLL('total_pages');
                $codeArr[$i][]=count($admin->page_idArray);
                $i++;
                if (t3lib_extMgm::isLoaded('cms'))      {
-                       $codeArr[$i][]='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/hidden_page.gif','width="18" height="16"').' hspace="4" align="top">';
-                       $codeArr[$i][]=$LANG->getLL('hidden_pages');
+                       $codeArr[$i][]='<img' . t3lib_iconWorks::skinImg($BACK_PATH,'gfx/hidden_page.gif','width="18" height="16"') . ' hspace="4" align="top">';
+                       $codeArr[$i][]=$GLOBALS['LANG']->getLL('hidden_pages');
                        $codeArr[$i][]=$admin->recStat['hidden'];
                        $i++;
                }
-               $codeArr[$i][]='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/deleted_page.gif','width="18" height="16"').' hspace="4" align="top">';
-               $codeArr[$i][]=$LANG->getLL('deleted_pages');
+               $codeArr[$i][]='<img' . t3lib_iconWorks::skinImg($BACK_PATH,'gfx/deleted_page.gif','width="18" height="16"') . ' hspace="4" align="top">';
+               $codeArr[$i][]=$GLOBALS['LANG']->getLL('deleted_pages');
                $codeArr[$i][]=$admin->recStat['deleted'];
 
-               $this->content.=$this->doc->section($LANG->getLL('pages'),$this->doc->table($codeArr),0,1);
+               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('pages'), $this->doc->table($codeArr), false, true);
 
                        // Doktype
-               $codeArr=Array();
+               $codeArr=array();
+               $codeArr['tableheader'] = array($GLOBALS['LANG']->getLL('doktype_value'), $GLOBALS['LANG']->getLL('count'));
                $doktype= $TCA['pages']['columns']['doktype']['config']['items'];
                if (is_array($doktype)) {
-                       reset($doktype);
-                       while(list($n,$setup) = each($doktype)) {
+                       foreach ($doktype as $n => $setup) {
                                if ($setup[1]!='--div--')       {
-                                       $codeArr[$n][] = '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/'.($PAGES_TYPES[$setup[1]]['icon'] ? $PAGES_TYPES[$setup[1]]['icon'] : $PAGES_TYPES['default']['icon']),'width="18" height="16"').' hspace="4" align="top">';
-                                       $codeArr[$n][] = $LANG->sL($setup[0]).' ('.$setup[1].')';
+                                       $codeArr[$n][] = '<img' . t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/' . ($PAGES_TYPES[$setup[1]]['icon'] ? $PAGES_TYPES[$setup[1]]['icon'] : $PAGES_TYPES['default']['icon']), 'width="18" height="16"') . ' hspace="4" align="top">';
+                                       $codeArr[$n][] = $GLOBALS['LANG']->sL($setup[0]) . ' (' . $setup[1] . ')';
                                        $codeArr[$n][] = intval($admin->recStat[doktype][$setup[1]]);
                                }
                        }
-                       $this->content.=$this->doc->section($LANG->getLL('doktype'),$this->doc->table($codeArr),0,1);
+                       $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('doktype'), $this->doc->table($codeArr), false, true);
                }
 
                        // Tables and lost records
-               $id_list = '-1,0,'.implode(array_keys($admin->page_idArray),',');
-               $id_list = t3lib_div::rm_endcomma($id_list);
+               $id_list = '-1,0,' . implode(',', array_keys($admin->page_idArray));
+               $id_list = rtrim($id_list, ',');
                $admin->lostRecords($id_list);
 
-               if ($admin->fixLostRecord(t3lib_div::_GET('fixLostRecords_table'),t3lib_div::_GET('fixLostRecords_uid')))       {
+               if ($admin->fixLostRecord(t3lib_div::_GET('fixLostRecords_table'), t3lib_div::_GET('fixLostRecords_uid'))) {
                        $admin = t3lib_div::makeInstance('t3lib_admin');
                        $admin->backPath = $BACK_PATH;
                        $admin->genTree(0,'');
-                       $id_list = '-1,0,'.implode(array_keys($admin->page_idArray),',');
-                       $id_list = t3lib_div::rm_endcomma($id_list);
+                       $id_list = '-1,0,' . implode(',', array_keys($admin->page_idArray));
+                       $id_list = rtrim($id_list, ',');
                        $admin->lostRecords($id_list);
                }
 
-               $codeArr = Array();
+               $this->doc->table_TABLE = '<table border="0" cellspacing="0" cellpadding="0" class="typo3-dblist" style="width:700px!important;">';
+
+               $codeArr = array();
+               $codeArr['tableheader'] = array(
+                       $GLOBALS['LANG']->getLL('label'),
+                       $GLOBALS['LANG']->getLL('tablename'),
+                       $GLOBALS['LANG']->getLL('total_lost'),
+                       ''
+               );
+
                $countArr = $admin->countRecords($id_list);
                if (is_array($TCA))     {
-                       reset($TCA);
-                       while(list($t)=each($TCA))      {
-                               $codeArr[$t][]=t3lib_iconWorks::getIconImage($t,array(),$BACK_PATH,'hspace="4" align="top"');
+
+                       foreach ($TCA as $t => $value) {
+                               if ($TCA[$t]['ctrl']['hideTable']) {
+                                       continue;
+                               }
+                               $codeArr[$t][]=t3lib_iconWorks::getSpriteIconForRecord($t, array());
                                $codeArr[$t][]=$LANG->sL($TCA[$t]['ctrl']['title']);
                                $codeArr[$t][]=$t;
 
@@ -526,18 +526,17 @@ class SC_mod_tools_dbint_index {
 
                                $lr='';
                                if (is_array($admin->lRecords[$t]))     {
-                                       reset($admin->lRecords[$t]);
-                                       while(list(,$data)=each($admin->lRecords[$t]))  {
+                                       foreach ($admin->lRecords[$t] as $data) {
                                                if (!t3lib_div::inList($admin->lostPagesList,$data[pid]))       {
-                                                       $lr.='<nobr><b><a href="index.php?SET[function]=records&fixLostRecords_table='.$t.'&fixLostRecords_uid='.$data[uid].'"><img src="'.$BACK_PATH.'gfx/required_h.gif" width="10" hspace="3" height="10" border="0" align="top" title="'.$LANG->getLL('fixLostRecord').'"></a>uid:'.$data[uid].', pid:'.$data[pid].', '.t3lib_div::fixed_lgd(strip_tags($data[title]),20).'</b></nobr><br>';
+                                                       $lr.= '<nobr><strong><a href="index.php?SET[function]=records&fixLostRecords_table=' . $t . '&fixLostRecords_uid=' . $data[uid] . '"><img src="' . $BACK_PATH . 'gfx/required_h.gif" width="10" hspace="3" height="10" border="0" align="top" title="' . $GLOBALS['LANG']->getLL('fixLostRecord') . '"></a>uid:' . $data[uid] . ', pid:' . $data[pid] . ', ' . t3lib_div::fixed_lgd_cs(strip_tags($data[title]), 20) . '</strong></nobr><br>';
                                                } else {
-                                                       $lr.='<nobr><img src="'.$BACK_PATH.'clear.gif" width="16" height="1" border="0"><font color="Gray">uid:'.$data[uid].', pid:'.$data[pid].', '.t3lib_div::fixed_lgd(strip_tags($data[title]),20).'</font></nobr><br>';
+                                                       $lr.= '<nobr><img src="' . $BACK_PATH . 'clear.gif" width="16" height="1" border="0"><font color="Gray">uid:' . $data[uid] . ', pid:' . $data[pid] . ', ' . t3lib_div::fixed_lgd_cs(strip_tags($data[title]), 20) . '</font></nobr><br>';
                                                }
                                        }
                                }
                                $codeArr[$t][]=$lr;
                        }
-                       $this->content.=$this->doc->section($LANG->getLL('tables'),$this->doc->table($codeArr),0,1);
+                       $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('tables'), $this->doc->table($codeArr), false, true);
                }
        }
 
@@ -549,7 +548,7 @@ class SC_mod_tools_dbint_index {
        function func_relations()       {
                global $LANG,$BACK_PATH;
 
-               $this->content.= $this->doc->header($LANG->getLL('relations'));
+               $this->content.= $this->doc->header($GLOBALS['LANG']->getLL('relations'));
                $this->content.= $this->doc->spacer(5);
 
                $admin = t3lib_div::makeInstance('t3lib_admin');
@@ -564,31 +563,30 @@ class SC_mod_tools_dbint_index {
 
                $code='';
                if (is_array($fileTest['noReferences']))        {
-                       while(list(,$val)=each($fileTest['noReferences']))      {
-                               $code.='<nobr>'.$val[0].'/<b>'.$val[1].'</b></nobr><br>';
+                       foreach ($fileTest['noReferences'] as $val) {
+                               $code.='<nobr>' . $val[0] . '/<strong>' . $val[1] . '</strong></nobr><br>';
                        }
                }
-               $this->content.=$this->doc->section($LANG->getLL('files_no_ref'),$code,1,1);
+               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('files_no_ref'), $code, true, true);
 
                $code='';
                if (is_array($fileTest['moreReferences']))      {
-                       while(list(,$val)=each($fileTest['moreReferences']))    {
-                               $code.='<nobr>'.$val[0].'/<b>'.$val[1].'</b>: '.$val[2].' references:</nobr><br>'.$val[3].'<br><br>';
+                       foreach ($fileTest['moreReferences'] as $val) {
+                               $code.='<nobr>' . $val[0] . '/<strong>' . $val[1] . '</strong>: ' . $val[2] . ' ' . $GLOBALS['LANG']->getLL('references') . '</nobr><br>' . $val[3] . '<br><br>';
                        }
                }
-               $this->content.=$this->doc->section($LANG->getLL('files_many_ref'),$code,1,1);
+               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('files_many_ref'),$code, true, true);
 
                $code='';
                if (is_array($fileTest['noFile']))      {
                        ksort($fileTest['noFile']);
-                       reset($fileTest['noFile']);
-                       while(list(,$val)=each($fileTest['noFile']))    {
-                               $code.='<nobr>'.$val[0].'/<b>'.$val[1].'</b> is missing! </nobr><br>Referenced from: '.$val[2].'<br><br>';
+                       foreach ($fileTest['noFile'] as $val) {
+                               $code.='<nobr>' . $val[0] . '/<strong>' . $val[1] . '</strong> ' . $GLOBALS['LANG']->getLL('isMissing') . ' </nobr><br>' . $GLOBALS['LANG']->getLL('referencedFrom') . $val[2] . '<br><br>';
                        }
                }
-               $this->content.=$this->doc->section($LANG->getLL('files_no_file'),$code,1,1);
-               $this->content.=$this->doc->section($LANG->getLL('select_db'),$admin->testDBRefs($admin->checkSelectDBRefs),1,1);
-               $this->content.=$this->doc->section($LANG->getLL('group_db'),$admin->testDBRefs($admin->checkGroupDBRefs),1,1);
+               $this->content.= $this->doc->section($GLOBALS['LANG']->getLL('files_no_file'), $code, true, true);
+               $this->content.= $this->doc->section($GLOBALS['LANG']->getLL('select_db'), $admin->testDBRefs($admin->checkSelectDBRefs), true, true);
+               $this->content.= $this->doc->section($GLOBALS['LANG']->getLL('group_db'), $admin->testDBRefs($admin->checkGroupDBRefs), true, true);
        }
 
        /**
@@ -598,8 +596,8 @@ class SC_mod_tools_dbint_index {
         */
        function func_filesearch()      {
                $pattern = t3lib_div::_GP('pattern');
-               $pcontent = 'Enter regex pattern: <input type="text" name="pattern" value="'.htmlspecialchars($pattern?$pattern:$GLOBALS['TYPO3_CONF_VARS']['BE']['fileDenyPattern']).'"> <input type="submit" name="Search">';
-               $this->content.= $this->doc->section('Pattern',$pcontent,0,1);
+               $pcontent = $GLOBALS['LANG']->getLL('enterRegexPattern') . ' <input type="text" name="pattern" value="' . htmlspecialchars($pattern ? $pattern : $GLOBALS['TYPO3_CONF_VARS']['BE']['fileDenyPattern']) . '"> <input type="submit" name="' . $GLOBALS['LANG']->getLL('SearchButton') . '">';
+               $this->content.= $this->doc->section($GLOBALS['LANG']->getLL('pattern'), $pcontent, false, true);
 
                if (strcmp($pattern,''))        {
                        $dirs = t3lib_div::get_dirs(PATH_site);
@@ -613,17 +611,17 @@ class SC_mod_tools_dbint_index {
                                        $info = $this->findFile(PATH_site.$value.'/',$pattern,$matching_files,$depth);
                                }
                                if (is_array($info))    {
-                                       $lines[]='<hr><b>'.$value.'/</b> being checked...';
-                                       $lines[]='Dirs: '.$info[0];
-                                       if ($info[2])   $lines[]='<span class="typo3-red">ERROR: Directories deeper than '.$depth.' levels</span>';
-                                       $lines[]='Files: '.$info[1];
-                                       $lines[]='Matching files:<br><nobr><span class="typo3-red">'.implode('<br>',$matching_files).'</span></nobr>';
+                                       $lines[]='<hr><strong>' . $value . '/</strong> ' . $GLOBALS['LANG']->getLL('beingChecked');
+                                       $lines[]=$GLOBALS['LANG']->getLL('directories') . ' ' . $info[0];
+                                       if ($info[2])   $lines[]='<span class="typo3-red">' . $GLOBALS['LANG']->getLL('directoriesTooDeep') . ' ' . $depth . '</span>';
+                                       $lines[]=$GLOBALS['LANG']->getLL('files') . ' ' . $info[1];
+                                       $lines[]=$GLOBALS['LANG']->getLL('matchingFiles') . '<br><nobr><span class="typo3-red">' . implode('<br>', $matching_files) . '</span></nobr>';
                                } else {
-                                       $lines[]=$GLOBALS['TBE_TEMPLATE']->dfw('<hr><b>'.$value.'/</b> not checked.');
+                                       $lines[]=$GLOBALS['TBE_TEMPLATE']->dfw('<hr><strong>' . $value . '/</strong> ' . $GLOBALS['LANG']->getLL('notChecked'));
                                }
                        }
 
-                       $this->content.=$this->doc->section('Searching for filenames:',implode('<br>',$lines),0,1);
+                       $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('searchingForFilenames'), implode('<br>', $lines), false, true);
                }
        }
 
@@ -647,7 +645,7 @@ class SC_mod_tools_dbint_index {
                if (is_array($files))   {
                        $files_searched+=count($files);
                        foreach ($files as $value) {
-                               if (eregi($pattern,basename($value)))   $matching_files[]=substr($value,strlen(PATH_site));
+                               if (preg_match('/'.$pattern.'/i',basename($value)))     $matching_files[]=substr($value,strlen(PATH_site));
                        }
                }
 
@@ -676,22 +674,17 @@ class SC_mod_tools_dbint_index {
        }
 }
 
-// Include extension?
+
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/lowlevel/dbint/index.php'])   {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/lowlevel/dbint/index.php']);
 }
 
 
 
-
-
-
-
-
-
 // Make instance:
 $SOBE = t3lib_div::makeInstance('SC_mod_tools_dbint_index');
 $SOBE->init();
 $SOBE->main();
 $SOBE->printContent();
-?>
+
+?>
\ No newline at end of file