login/emulate: user override from optional ?login parameter
authorMischa POSLAWSKY <perl@shiar.org>
Tue, 15 Oct 2019 03:16:13 +0000 (05:16 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 16 Oct 2019 16:34:38 +0000 (18:34 +0200)
Replace mandatory path argument.

login/emulate/index.php

index f7b59bc4d279f8feb23912da4a4003880ae0ddb8..f240236129590766ffa79ff599f7898fe75be3e6 100644 (file)
@@ -1,18 +1,23 @@
 <?php
 ob_clean();
 
-@list ($username, $request) = explode('/', ltrim($Args, '/'), 2);
-try {
-       $user = new User("profile/$username");
+$request = ltrim($Args, '/');
+if ($username = @$_REQUEST['login']) {
+       try {
+               $user = new User("profile/$username");
+       }
+       catch (Exception $e) {
+               printf('<p class=warn>%s</p>', $e->getMessage());
+               return;
+       }
+       $Article->title = $user->login . ': ' . $Article->title;
 }
-catch (Exception $e) {
-       printf('<p class=warn>%s</p>', $e->getMessage());
-       return;
+else {
+       $user = $User;
 }
 
 $Place['login/name'] = $user->name ?: 'bewoner';
 $Place['user'] = $user->login;
-$Article->title = "Login {$user->login}";
 if ( $password = trim(@file_get_contents("{$user->dir}/.passwd")) ) {
        if (substr($password, 0, 1) == '$') {
                $password = NULL; // hashed