Bernd Wurst commited on 2015-10-29 20:46:09
              Zeige 4 geänderte Dateien mit 37 Einfügungen und 28 Löschungen.
            
| ... | ... | 
                      @@ -28,6 +28,11 @@ if ($role & ROLE_SYSADMIN) {
                     | 
                  
| 28 | 28 | 
                        unset($_SESSION['admin_user']);  | 
                    
| 29 | 29 | 
                           header('Location: '.$prefix.'go/su/su');
                       | 
                    
| 30 | 30 | 
                        die();  | 
                    
| 31 | 
                        +} elseif ($role & ROLE_CUSTOMER) {
                       | 
                    |
| 32 | 
                        + setup_session($role, $admin_user);  | 
                    |
| 33 | 
                        + unset($_SESSION['admin_user']);  | 
                    |
| 34 | 
                        +  header('Location: '.$prefix.'go/su/su_customer');
                       | 
                    |
| 35 | 
                        + die();  | 
                    |
| 31 | 36 | 
                        }  | 
                    
| 32 | 37 | 
                         | 
                    
| 33 | 38 | 
                         | 
                    
| ... | ... | 
                      @@ -142,3 +142,31 @@ function build_results($term) {
                     | 
                  
| 142 | 142 | 
                        }  | 
                    
| 143 | 143 | 
                         | 
                    
| 144 | 144 | 
                         | 
                    
| 145 | 
                        +function su($type, $id) {
                       | 
                    |
| 146 | 
                        + $role = NULL;  | 
                    |
| 147 | 
                        + $admin_user = $_SESSION['userinfo']['username'];  | 
                    |
| 148 | 
                        + $_SESSION['admin_user'] = $admin_user;  | 
                    |
| 149 | 
                        + $role = find_role($id, '', True);  | 
                    |
| 150 | 
                        +  if (!$role) {
                       | 
                    |
| 151 | 
                        + unset($_SESSION['admin_user']);  | 
                    |
| 152 | 
                        + return False;  | 
                    |
| 153 | 
                        + }  | 
                    |
| 154 | 
                        + setup_session($role, $id);  | 
                    |
| 155 | 
                        +  if ($type == 'c') {
                       | 
                    |
| 156 | 
                        +    if (! (ROLE_CUSTOMER & $_SESSION['role'])) {
                       | 
                    |
| 157 | 
                        + session_destroy();  | 
                    |
| 158 | 
                        +      system_failure('Es wurde ein "su" zu einem Kundenaccount angefordert, das war aber kein Kundenaccount!');
                       | 
                    |
| 159 | 
                        + }  | 
                    |
| 160 | 
                        +  } elseif ($type == 'u') {
                       | 
                    |
| 161 | 
                        +    if (! (ROLE_SYSTEMUSER & $_SESSION['role'])) {
                       | 
                    |
| 162 | 
                        + session_destroy();  | 
                    |
| 163 | 
                        +      system_failure('Es wurde ein "su" zu einem Benutzeraccount angefordert, das war aber kein Benutzeraccount!');
                       | 
                    |
| 164 | 
                        + }  | 
                    |
| 165 | 
                        +  } elseif ($type) {
                       | 
                    |
| 166 | 
                        + // wenn type leer ist, dann ist es auch egal  | 
                    |
| 167 | 
                        +    system_failure('unknown type');
                       | 
                    |
| 168 | 
                        + }  | 
                    |
| 169 | 
                        +  | 
                    |
| 170 | 
                        +  redirect('../../go/index/index');
                       | 
                    |
| 171 | 
                        + die();  | 
                    |
| 172 | 
                        +}  | 
                    
| ... | ... | 
                      @@ -16,6 +16,10 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r  | 
                  
| 16 | 16 | 
                         | 
                    
| 17 | 17 | 
                        $role = $_SESSION['role'];  | 
                    
| 18 | 18 | 
                         | 
                    
| 19 | 
                        +if ($role & ROLE_CUSTOMER)  | 
                    |
| 20 | 
                        +{
                       | 
                    |
| 21 | 
                        +  $menu["su_customer"] = array("label" => "Benutzer wechseln", "file" => "su_customer", "weight" => -10, "submenu" => "systemuser_account");
                       | 
                    |
| 22 | 
                        +}  | 
                    |
| 19 | 23 | 
                        if ($role & ROLE_SYSADMIN)  | 
                    
| 20 | 24 | 
                         {
                       | 
                    
| 21 | 25 | 
                           $menu["su_su"] = array("label" => "Su-Login", "file" => "su", "weight" => -10);
                       | 
                    
| ... | ... | 
                      @@ -24,34 +24,6 @@ require_once('su.php');
                     | 
                  
| 24 | 24 | 
                        require_role(ROLE_SYSADMIN);  | 
                    
| 25 | 25 | 
                         | 
                    
| 26 | 26 | 
                         | 
                    
| 27 | 
                        -function su($type, $id) {
                       | 
                    |
| 28 | 
                        - $role = NULL;  | 
                    |
| 29 | 
                        - $admin_user = $_SESSION['userinfo']['username'];  | 
                    |
| 30 | 
                        - $_SESSION['admin_user'] = $admin_user;  | 
                    |
| 31 | 
                        - $role = find_role($id, '', True);  | 
                    |
| 32 | 
                        -  if (!$role) {
                       | 
                    |
| 33 | 
                        - unset($_SESSION['admin_user']);  | 
                    |
| 34 | 
                        - return False;  | 
                    |
| 35 | 
                        - }  | 
                    |
| 36 | 
                        - setup_session($role, $id);  | 
                    |
| 37 | 
                        -  if ($type == 'c') {
                       | 
                    |
| 38 | 
                        -    if (! (ROLE_CUSTOMER & $_SESSION['role'])) {
                       | 
                    |
| 39 | 
                        - session_destroy();  | 
                    |
| 40 | 
                        -      system_failure('Es wurde ein "su" zu einem Kundenaccount angefordert, das war aber kein Kundenaccount!');
                       | 
                    |
| 41 | 
                        - }  | 
                    |
| 42 | 
                        -  } elseif ($type == 'u') {
                       | 
                    |
| 43 | 
                        -    if (! (ROLE_SYSTEMUSER & $_SESSION['role'])) {
                       | 
                    |
| 44 | 
                        - session_destroy();  | 
                    |
| 45 | 
                        -      system_failure('Es wurde ein "su" zu einem Benutzeraccount angefordert, das war aber kein Benutzeraccount!');
                       | 
                    |
| 46 | 
                        - }  | 
                    |
| 47 | 
                        -  } elseif ($type) {
                       | 
                    |
| 48 | 
                        - // wenn type leer ist, dann ist es auch egal  | 
                    |
| 49 | 
                        -    system_failure('unknown type');
                       | 
                    |
| 50 | 
                        - }  | 
                    |
| 51 | 
                        -  | 
                    |
| 52 | 
                        -  redirect('../../go/index/index');
                       | 
                    |
| 53 | 
                        - die();  | 
                    |
| 54 | 
                        -}  | 
                    |
| 55 | 27 | 
                         | 
                    
| 56 | 28 | 
                        if (isset($_GET['do']))  | 
                    
| 57 | 29 | 
                         {
                       | 
                    
| 58 | 30 |