[BUGFIX] Simulate user: Hide CLI users 78/39278/7
authorMarkus Klein <markus.klein@typo3.org>
Tue, 5 May 2015 12:29:20 +0000 (14:29 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Tue, 5 May 2015 19:15:34 +0000 (21:15 +0200)
It does not make sense to define user settings for CLI users.
Hide those in the "simulate user" select box.

Resolves: #66801
Releases: master
Change-Id: Ifec2d3d5840560f46eb59cbaf7e0c4949bf9370e
Reviewed-on: http://review.typo3.org/39278
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stephan GroƟberndt <stephan@grossberndt.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/setup/Classes/Controller/SetupModuleController.php

index 684ad68..f54edea 100644 (file)
@@ -700,15 +700,14 @@ class SetupModuleController {
                if ($this->getBackendUser()->isAdmin()) {
                        $this->simUser = (int)GeneralUtility::_GP('simUser');
                        // Make user-selector:
-                       $users = BackendUtility::getUserNames('username,usergroup,usergroup_cached_list,uid,realName', BackendUtility::BEenableFields('be_users'));
+                       $where = 'AND username NOT LIKE "_cli_%" AND uid <> ' . (int)$this->getBackendUser()->user['uid'] . BackendUtility::BEenableFields('be_users');
+                       $users = BackendUtility::getUserNames('username,usergroup,usergroup_cached_list,uid,realName', $where);
                        $opt = array();
                        foreach ($users as $rr) {
-                               if ($rr['uid'] != $this->getBackendUser()->user['uid']) {
-                                       $label = htmlspecialchars(($rr['username'] . ($rr['realName'] ? ' (' . $rr['realName'] . ')' : '')));
-                                       $opt[] = '<option value="' . $rr['uid'] . '"' . ($this->simUser == $rr['uid'] ? ' selected="selected"' : '') . '>' . $label . '</option>';
-                               }
+                               $label = htmlspecialchars(($rr['username'] . ($rr['realName'] ? ' (' . $rr['realName'] . ')' : '')));
+                               $opt[] = '<option value="' . $rr['uid'] . '"' . ($this->simUser == $rr['uid'] ? ' selected="selected"' : '') . '>' . $label . '</option>';
                        }
-                       if (count($opt)) {
+                       if (!empty($opt)) {
                                $this->simulateSelector = '<select id="field_simulate" name="simulateUser" onchange="window.location.href=' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('user_setup') . '&simUser=') . '+this.options[this.selectedIndex].value;"><option></option>' . implode('', $opt) . '</select>';
                        }
                }