login/members: user overview for admins
[minimedit.git] / login / edit.php
index 2adfc5168848b2df9e941afaa734ca9e66a60cf7..75811ed82d2581fa1a03d0c4482d2cd6b9a89f86 100644 (file)
@@ -5,15 +5,11 @@ if (empty($user = &$User)) {
 }
 
 if (!empty($User['admin']) and $Page == 'login/edit' and $Args) {
-       $username = ltrim($Args, '/');
+       $username = strtolower(ltrim($Args, '/'));
        $user = [
                'dir' => "profile/$username",
                'name' => $username,
        ];
-       if (!is_writable($user['dir'])) {
-               print "<p class=warn>Het is niet mogelijk om de gebruiker <em>{$user['name']}</em> aan te passen.</p>\n\n";
-               return;
-       }
 }
 
 $cols = [
@@ -26,7 +22,7 @@ foreach ($cols as $col => &$colconf) {
        if (file_exists($colpath)) {
                $colconf['value'] = file_get_contents($colpath);
        }
-       if (!is_writable($user['dir'])) {
+       if (file_exists($user['dir']) and !is_writable($user['dir'])) {
                continue;  # locked parent directory
        }
        if (isset($colconf['value']) and !is_writable($colpath)) {
@@ -41,6 +37,10 @@ $cols = [
 
 $colwarn = [];
 if ($_POST) {
+       if (!file_exists($user['dir']) and !@mkdir($user['dir'])) {
+               print "<p class=warn>Fout bij het aanmaken van gebruikersprofiel voor <em>{$user['name']}</em>.</p>\n\n";
+               return;
+       }
        foreach ($_POST as $col => $val) {
                if (!isset($cols[$col])) {
                        continue; # unknown
@@ -53,7 +53,7 @@ if ($_POST) {
                        $colwarn[$col] = "Kan niet worden aangepast.";
                        continue;
                }
-               if (!file_put_contents($cols[$col]['target'], $val)) {
+               if (file_put_contents($cols[$col]['target'], $val) === FALSE) {
                        $colwarn[$col] = "Fout bij opslaan.";
                }
        }
@@ -110,6 +110,7 @@ if (isset($user['pass'])) {
                <label for="newpass">Wachtwoord:</label>
                <input type="password" name="oldpass" value="" placeholder="Huidig wachtwoord" />
                <input type="password" name="newpass" value="" placeholder="Nieuw wachtwoord" />
+               <input type="password" name="passconf" value="" placeholder="Nogmaals" />
 <?php
        if ($error = @$colwarn['pass']) {
                print " <span class=warn>$error</span>\n";