Implemented feature request #3894: Open module on startup
authorThomas Hempel <thomas.hempel@typo3.org>
Thu, 19 Apr 2007 07:46:08 +0000 (07:46 +0000)
committerThomas Hempel <thomas.hempel@typo3.org>
Thu, 19 Apr 2007 07:46:08 +0000 (07:46 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@2260 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_beuserauth.php
typo3/alt_main.php
typo3/sysext/setup/locallang_csh_mod.xml
typo3/sysext/setup/mod/index.php
typo3/sysext/setup/mod/locallang.xml

index 7029b82..f478c9d 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-04-19     Thomas Hempel   <thomas@work.de>
+       
+       * Implemented feature request #3894: Open module on startup
+
 2007-04-18  Ernesto Baschny  <ernst@cron-it.de>
 
        * Fixed bug #3729: Roll-over (RO) on a GMENU in IE didn't work with xhtml_strict
 2007-01-19  Ingmar Schlecht  <ingmar@typo3.org>
 
        * AJAX pagetree and filetree by Benjamin Mack <bmack@xnos.org>! (Thanks also to Franz Holzinger and Stefan Regniet for their help)
-       * Patch by René Fritz regarding bidirectional mm-relations: It's now possible to save different relations to the same mm-table by means of so called "matchFields". This is used by DAM.
+       * Patch by Ren Fritz regarding bidirectional mm-relations: It's now possible to save different relations to the same mm-table by means of so called "matchFields". This is used by DAM.
 
 2007-01-19  Andreas Otto  <andreas.otto@dkd.de>
 
 
 2006-12-13  Martin Kutschker  <martin.t.kutschker@blackbox.net>
 
-       * More localization of User>Workspaces (thanks to Marc Wöhlken)
+       * More localization of User>Workspaces (thanks to Marc Whlken)
 
 2006-12-14  Kasper Skaarhoj
 
 
 2006-12-12  Ingmar Schlecht  <ingmar@typo3.org>
 
-       * Better getRecordTitle() function introducing label_userFunc (Thanks to David Brühlmeier for this patch! See http://lists.netfielders.de/pipermail/typo3-team-core/2006-December/006521.html for details.)
+       * Better getRecordTitle() function introducing label_userFunc (Thanks to David Brhlmeier for this patch! See http://lists.netfielders.de/pipermail/typo3-team-core/2006-December/006521.html for details.)
 
 2006-12-11  Martin Kutschker  <martin.t.kutschker@blackbox.net>
 
 
 2006-09-11  Ingmar Schlecht  <ingmar@typo3.org>
 
-       * New feature: Bidirectional MM relations. You can now edit mm-relations from both sides of the relation in the Backend TCE-Forms. Thanks to Sebastian (for writing the patch together with me) and René (for the first version of this feature)
+       * New feature: Bidirectional MM relations. You can now edit mm-relations from both sides of the relation in the Backend TCE-Forms. Thanks to Sebastian (for writing the patch together with me) and Ren (for the first version of this feature)
 
 2006-09-11  Michael Stucki  <michael@typo3.org>
 
index e4fe216..0290555 100644 (file)
@@ -125,7 +125,7 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
                'emailMeAtLogin' => 0,
                'condensedMode' => 0,
                'noMenuMode' => 0,
-               'startInTaskCenter' => 0,
+               'startModule' => 'help_aboutmodules',
                'hideSubmoduleIcons' => 0,
                'helpText' => 1,
                'titleLen' => 30,
index ef36b0d..c777855 100755 (executable)
@@ -437,8 +437,13 @@ class SC_alt_main {
        function startModule() {
                global $BE_USER;
                $module = preg_replace('/[^[:alnum:]_]/','',t3lib_div::_GET('module'));
-               if (!$module && $BE_USER->uc['startInTaskCenter']) {
-                       $module = 'user_task';
+               
+               if (!$module)   {
+                       if ($BE_USER->uc['startModule'])        {
+                               $module = $BE_USER->uc['startModule'];
+                       } elseif ($BE_USER->uc['startInTaskCenter'])    {
+                               $module = 'user_task';
+                       }
                }
 
                $params = t3lib_div::_GET('modParams');
index 8b94304..aa33997 100755 (executable)
@@ -42,6 +42,9 @@ This option shows all menu items in the top frame as a horizontal list of icons.
 EXT:setup/cshimages/setup2.png</label>
                        <label index="option_noMenuMode.image_descr">The &quot;Selectorbox&quot; menu. Selecting an item makes the backend jump to that module.
 The &quot;Icons&quot; menu. As you can see you will need to know the icons by heart. You can also position the mouse over the icon and the tool-tip text will reveal the module name.</label>
+                       <label index="option_startModule.alttitle">Start module</label>
+                       <label index="option_startModule.description">Let you select the module that is called when you login in the Backend
+The default module is &quot;About Modules&quot;.</label>
                        <label index="option_showThumbs.alttitle">Show Thumbnails by default</label>
                        <label index="option_showThumbs.description">In modules like the &quot;Web &gt; List&quot; and &quot;File &gt; Filelist&quot; you can enable the display of thumbnails of files (images/fonts) and records (if images are attached) with a checkbox. Setting this option will enable the display by default.</label>
                        <label index="_option_showThumbs.image">EXT:setup/cshimages/setup5.png</label>
index 03a7b78..faf059b 100755 (executable)
@@ -62,6 +62,7 @@ unset($MCONF);
 require('conf.php');
 require($BACK_PATH.'init.php');
 require_once(PATH_t3lib.'class.t3lib_tcemain.php');
+require_once(PATH_t3lib.'class.t3lib_loadmodules.php');
 
 
 
@@ -130,7 +131,7 @@ class SC_mod_user_setup_index {
                                // Startup
                        $BE_USER->uc['condensedMode'] = $d['condensedMode'];
                        $BE_USER->uc['noMenuMode'] = $d['noMenuMode'];
-                       if (t3lib_extMgm::isLoaded('taskcenter'))       $BE_USER->uc['startInTaskCenter'] = $d['startInTaskCenter'];
+                       $BE_USER->uc['startModule'] = $d['startModule'];
                        $BE_USER->uc['thumbnailsByDefault'] = $d['thumbnailsByDefault'];
                        $BE_USER->uc['helpText'] = $d['helpText'];
                        $BE_USER->uc['titleLen'] = intval($d['titleLen']);
@@ -246,13 +247,18 @@ class SC_mod_user_setup_index {
         * @return      void
         */
        function main() {
-               global $BE_USER,$LANG,$BACK_PATH;
+               global $BE_USER,$LANG,$BACK_PATH,$TBE_MODULES;;
 
                        // Start page:
                $this->doc->JScode.= '<script language="javascript" type="text/javascript" src="'.$BACK_PATH.'md5.js"></script>';
                $this->content.= $this->doc->startPage($LANG->getLL('UserSettings'));
                $this->content.= $this->doc->header($LANG->getLL('UserSettings').' - ['.$BE_USER->user['username'].']');
-
+               
+                       // Load available backend modules
+               $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
+               $this->loadModules->observeWorkspaces = TRUE;
+               $this->loadModules->load($TBE_MODULES);
+               
                        // CSH general:
                $this->content.= t3lib_BEfunc::cshItem('_MOD_user_setup', '', $GLOBALS['BACK_PATH'],'|');
 
@@ -317,10 +323,25 @@ class SC_mod_user_setup_index {
                        <option value="1"'.($BE_USER->uc['noMenuMode'] && (string)$BE_USER->uc['noMenuMode']!="icons"?' selected="selected"':'').'>'.$this->setLabel('noMenuMode_sel').'</option>
                        <option value="icons"'.((string)$BE_USER->uc['noMenuMode']=='icons'?' selected="selected"':'').'>'.$this->setLabel('noMenuMode_icons').'</option>
                </select>';
-               if (t3lib_extMgm::isLoaded('taskcenter'))       {
-                       $code[4][1] = $this->setLabel('startInTaskCenter','startInTaskCenter');
-                       $code[4][2] = '<input type="checkbox" name="data[startInTaskCenter]"'.($BE_USER->uc['startInTaskCenter']?' checked="checked"':'').' />';
+               $code[4][1] = $this->setLabel('startModule','startModule');
+               $modSelect = '<select name="data[startModule]">';
+               $modSelect .= '<option value=""></option>';
+               if (empty($BE_USER->uc['startModule'])) {
+                       $BE_USER->uc['startModule'] = $BE_USER->uc_default['startModule'];
+               }
+               foreach ($this->loadModules->modules as $mainMod => $modData)   {
+                       if (isset($modData['sub']) && is_array($modData['sub']))        {
+                               $modSelect .= '<option disabled="disabled">'.$LANG->moduleLabels['tabs'][$mainMod.'_tab'].'</option>';
+                               foreach ($modData['sub'] as $subKey => $subData)        {
+                                       $modName = $subData['name'];
+                                       $modSelect .= '<option value="'.$modName.'"'.($BE_USER->uc['startModule']==$modName?' selected="selected"':'').'>';
+                                       $modSelect .= ' - '.$LANG->moduleLabels['tabs'][$modName.'_tab'].'</option>';
+                               }
+                       }
                }
+               $modSelect .= '</select>';
+               $code[4][2] = $modSelect;
+
                $code[5][1] = $this->setLabel('showThumbs','thumbnailsByDefault');
                $code[5][2] = '<input type="checkbox" name="data[thumbnailsByDefault]"'.($BE_USER->uc['thumbnailsByDefault']?' checked="checked"':'').' />';
                $code[6][1] = $this->setLabel('helpText');
index a650948..741afca 100755 (executable)
@@ -64,7 +64,7 @@
                        <label index="noMenuMode_def">Left frame menu (default)</label>
                        <label index="noMenuMode_sel">Selectorbox in top frame</label>
                        <label index="noMenuMode_icons">Icons in top frame</label>
-                       <label index="startInTaskCenter">Start up in the module 'Task Center'</label>
+                       <label index="startModule">Start up in the following module</label>
                        <label index="emailMeAtLogin">Notify me by email, when somebody logs in &lt;br /&gt;from my account</label>
                        <label index="helpText">Show help text when applicable</label>
                        <label index="maxTitleLen">Max. Title Length</label>