X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/b153d8fc29f423b3cc67ca9dbcab874ab9ab0464..882347cba815e99ba8e7ad28d077420aa986e7c5:/login/edit.php diff --git a/login/edit.php b/login/edit.php index 2b043cc..d6ee4c9 100644 --- a/login/edit.php +++ b/login/edit.php @@ -4,21 +4,18 @@ if (empty($user = &$User)) { return; } -if (!empty($User['admin']) -and !empty($Place['user']) and $Place['user'] !== $User['name']) { +if ($User->admin +and !empty($Place['user']) and $Place['user'] !== $User->login) { $username = strtolower($Place['user']); unset($user); - $user = [ - 'dir' => "profile/$username", - 'name' => $username, - ]; + $user = new User("profile/$username"); } require_once('edit.inc.php'); foreach ($cols as $col => &$colconf) { if (isset($colconf['visible'])) { - if ($colconf['visible'] == 'admin' and empty($User['admin'])) { + if ($colconf['visible'] == 'admin' and !$User->admin) { $colconf['visible'] = FALSE; continue; } @@ -39,10 +36,10 @@ foreach ($cols as $col => &$colconf) { $tags = []; foreach (glob($colconf['filename'] . '/*') as $tag) { $tagname = pathinfo($tag, PATHINFO_BASENAME); - $target = "$tag/{$user['name']}"; + $target = "$tag/{$user->login}"; $val = file_exists($target); - $tagopt = &$colconf['values'][$tagname]; - $tagopt = ['value' => $val]; + $tagopt = &$colconf['values'][$tagname] ?: []; + $tagopt['value'] = $val; if (!is_writable($tag)) { continue; # locked tag directory } @@ -54,12 +51,12 @@ foreach ($cols as $col => &$colconf) { } $filetype = @$colconf['type'] == 'file' ? 'jpg' : 'txt'; - $colpath = $user['dir'] . '/' . $colconf['filename']; + $colpath = $user->dir . '/' . $colconf['filename']; if (file_exists($colpath)) { $colconf['value'] = $filetype != 'txt' ? '' : - file_get_contents($colpath); + rtrim(file_get_contents($colpath)); } - if (file_exists($user['dir']) and !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)) { @@ -70,8 +67,8 @@ foreach ($cols as $col => &$colconf) { $colwarn = []; if ($_POST) { - if (!file_exists($user['dir']) and !@mkdir($user['dir'])) { - print "

Fout bij het aanmaken van gebruikersprofiel voor {$user['name']}.

\n\n"; + if (!file_exists($user->dir) and !@mkdir($user->dir)) { + print "

Fout bij het aanmaken van gebruikersprofiel voor {$user->login}.

\n\n"; return; } @@ -94,7 +91,7 @@ if ($_POST) { } else { # link option target to current user dir - $optok = @symlink("../../{$user['name']}", $option['target']); + $optok = @symlink("../../{$user->login}", $option['target']); } $option['value'] = $optval; # update form value if (!$optok) { @@ -122,6 +119,9 @@ if ($_POST) { } continue; } + if (@$cols[$col]['type'] != 'file') { + $val .= "\n"; # eol in text files + } if (file_put_contents($cols[$col]['target'], $val) === FALSE) { $colwarn[$col] = "Fout bij opslaan."; } @@ -198,9 +198,9 @@ foreach ($cols as $col => &$colconf) { '' . '', "tags[$tag]", "tag-$tag", - $val['value'] ? ' checked' : '', + !empty($val['value']) ? ' checked' : '', isset($val['target']) ? '' : ' readonly', - ucfirst($tag) + @$val['label'] ?: ucfirst($tag) ); } } @@ -217,12 +217,7 @@ foreach ($cols as $col => &$colconf) { 'value' => htmlspecialchars(@$colconf['value']), 'placeholder' => "Niet ingesteld", 'readonly' => empty($colconf['target']), - 'pattern' => @$colconf['pattern'] ?: FALSE, - 'size' => @$colconf['size'] ?: FALSE, - ]; - if (@$colconf['type'] == 'file') { - $attrs['accept'] = "image/jpeg"; - } + ] + (@$colconf['attr'] ?: []); print ' $attrval) {