Index: typo3/sysext/lang/locallang_mod_tools_em.xml =================================================================== --- typo3/sysext/lang/locallang_mod_tools_em.xml (revision 8256) +++ typo3/sysext/lang/locallang_mod_tools_em.xml (working copy) @@ -35,8 +35,7 @@ - - + @@ -63,6 +62,7 @@ + Index: typo3/sysext/em/mod1/class.em_index.php =================================================================== --- typo3/sysext/em/mod1/class.em_index.php (revision 8256) +++ typo3/sysext/em/mod1/class.em_index.php (working copy) @@ -48,8 +48,7 @@ * 584: function printContent() * * SECTION: Function Menu Applications - * 609: function extensionList_loaded() - * 664: function extensionList_installed() + * 735: function extensionList() * 736: function extensionList_import() * 903: function alterSettings() * @@ -492,12 +491,11 @@ // MENU-ITEMS: $this->MOD_MENU = array( 'function' => array( - 0 => $GLOBALS['LANG']->getLL('menu_loaded_extensions'), - 1 => $GLOBALS['LANG']->getLL('menu_install_extensions'), - 2 => $GLOBALS['LANG']->getLL('menu_import_extensions'), - 4 => $GLOBALS['LANG']->getLL('menu_translation_handling'), + 0 => $GLOBALS['LANG']->getLL('menu_manage_extensions'), + 1 => $GLOBALS['LANG']->getLL('menu_import_extensions'), + 2 => $GLOBALS['LANG']->getLL('menu_translation_handling'), 3 => $GLOBALS['LANG']->getLL('menu_settings'), - 5 => $GLOBALS['LANG']->getLL('menu_extension_updates'), + 4 => $GLOBALS['LANG']->getLL('menu_extension_updates'), ), 'listOrder' => array( 'cat' => $GLOBALS['LANG']->getLL('list_order_category'), @@ -518,6 +516,7 @@ 'display_own' => '', 'display_obsolete' => '', 'display_installed' => '', + 'filter_installed' => '', 'display_files' => '', @@ -552,7 +551,7 @@ // CLEANSE SETTINGS $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::_GP('SET'), $this->MCONF['name']); - if ($this->MOD_SETTINGS['function']==2) { + if ($this->MOD_SETTINGS['function']==1) { // If listing from online repository, certain items are removed though: unset($this->MOD_MENU['listOrder']['type']); unset($this->MOD_MENU['display_details'][2]); @@ -594,45 +593,44 @@ } elseif ($this->CMD['importExtInfo']) { // Gets detailed information of an extension from online rep. $this->importExtInfo($this->CMD['importExtInfo'],$this->CMD['extVersion']); } else { // No command - we show what the menu setting tells us: - if (t3lib_div::inList('0,1,2',$this->MOD_SETTINGS['function'])) { + if (t3lib_div::inList('0,1',$this->MOD_SETTINGS['function'])) { $menu .= ' ' . $GLOBALS['LANG']->getLL('group_by') . ' ' . t3lib_BEfunc::getFuncMenu(0, 'SET[listOrder]', $this->MOD_SETTINGS['listOrder'], $this->MOD_MENU['listOrder']) . '  ' . $GLOBALS['LANG']->getLL('show') . ' ' . t3lib_BEfunc::getFuncMenu(0, 'SET[display_details]', $this->MOD_SETTINGS['display_details'], $this->MOD_MENU['display_details']) . '
'; } - if (t3lib_div::inList('0,1,5',$this->MOD_SETTINGS['function'])) { + if (t3lib_div::inList('0,4',$this->MOD_SETTINGS['function'])) { $menu.='  ' . t3lib_BEfunc::getFuncCheck(0, 'SET[display_shy]', $this->MOD_SETTINGS['display_shy'], '', '', 'id="checkDisplayShy"'); } - if (t3lib_div::inList('2',$this->MOD_SETTINGS['function']) && strlen($this->fe_user['username'])) { + if (t3lib_div::inList('1',$this->MOD_SETTINGS['function']) && strlen($this->fe_user['username'])) { $menu.='  ' . t3lib_BEfunc::getFuncCheck(0, 'SET[display_own]', $this->MOD_SETTINGS['display_own'], '', '', 'id="checkDisplayOwn"'); } - if (t3lib_div::inList('0,1,2',$this->MOD_SETTINGS['function'])) { + if (t3lib_div::inList('0,1',$this->MOD_SETTINGS['function'])) { $menu.='    ' . t3lib_BEfunc::getFuncCheck(0, 'SET[display_obsolete]', $this->MOD_SETTINGS['display_obsolete'], '', '', 'id="checkDisplayObsolete"'); } + if (t3lib_div::inList('0', $this->MOD_SETTINGS['function'])) { + $menu .= '    ' . t3lib_BEfunc::getFuncCheck(0, 'SET[filter_installed]', $this->MOD_SETTINGS['filter_installed'], '', '', 'id="checkFilterInstalled"'); + } $this->content.=$this->doc->section('','
' . ($menu ? $menu : ' ') . '
'); $this->content.=$this->doc->spacer(10); switch((string)$this->MOD_SETTINGS['function']) { case '0': - // Lists loaded (installed) extensions - $this->extensionList_loaded(); + // Lists the filtered extensions + $this->extensionList(); break; case '1': - // Lists the installed (available) extensions - $this->extensionList_installed(); - break; - case '2': // Lists the extensions available from online rep. $this->extensionList_import(); break; - case '3': + case '2': // Shows the settings screen $this->alterSettings(); break; - case '4': + case '3': // Allows to set the translation preferences and check the status $this->translationHandling(); break; - case '5': + case '4': // Shows a list of extensions with updates in TER $this->checkForUpdates(); break; @@ -732,65 +730,11 @@ *********************************/ /** - * Listing of loaded (installed) extensions - * - * @return void - */ - function extensionList_loaded() { - global $TYPO3_LOADED_EXT; - - list($list,$cat) = $this->getInstalledExtensions(); - - // Loaded extensions - $content = ''; - $lines = array(); - - // Available extensions - if (is_array($cat[$this->MOD_SETTINGS['listOrder']])) { - $content=''; - $lines=array(); - $lines[] = $this->extensionListRowHeader(' class="t3-row-header"',array('')); - - foreach($cat[$this->MOD_SETTINGS['listOrder']] as $catName => $extEkeys) { - natcasesort($extEkeys); - $extensions = array(); - foreach ($extEkeys as $extKey => $value) { - if (array_key_exists($extKey,$TYPO3_LOADED_EXT) && ($this->MOD_SETTINGS['display_shy'] || !$list[$extKey]['EM_CONF']['shy']) && $this->searchExtension($extKey,$list[$extKey])) { - if (in_array($extKey, $this->requiredExt)) { - $loadUnloadLink = '' . $GLOBALS['TBE_TEMPLATE']->rfw($GLOBALS['LANG']->getLL('extension_required_short')) . ''; - } else { - $loadUnloadLink = ''.$this->removeButton().''; - } - - $extensions[] = $this->extensionListRow($extKey,$list[$extKey],array(''.$loadUnloadLink.'')); - } - } - if(count($extensions)) { - $lines[]='
'; - $lines[]='' . t3lib_iconWorks::getSpriteIcon('apps-filetree-folder-default') . ''.htmlspecialchars($this->listOrderTitle($this->MOD_SETTINGS['listOrder'],$catName)).''; - $lines[] = implode(LF,$extensions); - } - } - } - - $content.= t3lib_BEfunc::cshItem('_MOD_tools_em', 'loaded', $GLOBALS['BACK_PATH'],''); - $content.= '
'; - $content.= '

'; - - $content.= '
- - - '.implode('',$lines).'
'; - - $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('loaded_exts'),$content,0,1); - } - - /** * Listing of available (installed) extensions * * @return void */ - function extensionList_installed() { + function extensionList() { global $TYPO3_LOADED_EXT; list($list,$cat)=$this->getInstalledExtensions(); @@ -811,6 +755,8 @@ natcasesort($extEkeys); $extensions = array(); foreach ($extEkeys as $extKey => $value) { + if ($this->MOD_SETTINGS['filter_installed'] && !array_key_exists($extKey, $TYPO3_LOADED_EXT)) continue; + $allKeys[]=$extKey; if ((!$list[$extKey]['EM_CONF']['shy'] || $this->MOD_SETTINGS['display_shy']) && ($list[$extKey]['EM_CONF']['state']!='obsolete' || $this->MOD_SETTINGS['display_obsolete'])