return;
}
-if (!empty($User['admin']) and !empty($Place['user'])) {
+if (!empty($User['admin'])
+and !empty($Place['user']) and $Place['user'] !== $User['name']) {
$username = strtolower($Place['user']);
unset($user);
$user = [
'label' => 'volledige naam',
'explain' => "Alleen zichtbaar voor andere leden.",
'filter' => ["\n", '; '],
+ 'size' => 30,
+ 'filename' => 'name.txt',
],
'email' => [
'label' => 'e-mailadres',
'type' => 'email',
'explain' => "Voor contact van of met deze site. Wij zullen dit nooit vrij- of doorgeven.",
+ 'size' => 30,
+ 'filename' => 'email.txt',
],
'avatar' => [
'label' => 'portretfoto',
'type' => 'file',
+ 'filename' => 'avatar.jpg',
+ ],
+ 'tags' => [
+ 'label' => 'groepen',
+ 'values' => [],
+ 'filename' => 'profile/.tags',
],
];
foreach ($cols as $col => &$colconf) {
+ if (!isset($colconf['filename'])) {
+ continue; # exceptional storage
+ }
+
+ if (isset($colconf['values'])) {
+ if (!file_exists($colconf['filename'])) {
+ continue;
+ #TODO: drop key
+ }
+ $tags = [];
+ foreach (glob($colconf['filename'] . '/*') as $tag) {
+ $tagname = pathinfo($tag, PATHINFO_BASENAME);
+ $target = "$tag/{$user['name']}";
+ $val = file_exists($target);
+ $tags[$tagname] = ['value' => $val];
+ if (empty($User['admin'])) {
+ continue; # forbidden
+ }
+ if (!is_writable($tag)) {
+ continue; # locked tag directory
+ }
+ if ($val and !is_writable($target)) {
+ continue; # existing file locked
+ }
+ $tags[$tagname]['target'] = $target;
+ }
+ }
+
$filetype = @$colconf['type'] == 'file' ? 'jpg' : 'txt';
- $colpath = "{$user['dir']}/$col.$filetype";
+ $colpath = $user['dir'] . '/' . $colconf['filename'];
if (file_exists($colpath)) {
$colconf['value'] = $filetype != 'txt' ? '' :
file_get_contents($colpath);
'value' => $user['name'],
'target' => NULL,
'pattern' => "[a-z0-9-]+",
+ 'size' => 10,
],
] + $cols;
-$tagdir = 'profile/.tags';
-if (file_exists($tagdir)) {
- $tags = [];
- foreach (glob("$tagdir/*") as $tag) {
- $tagname = pathinfo($tag, PATHINFO_BASENAME);
- $target = "$tag/{$user['name']}";
- $val = file_exists($target);
- $tags[$tagname] = ['value' => $val];
- if (empty($User['admin'])) {
- continue; # forbidden
- }
- if (!is_writable($tag)) {
- continue; # locked tag directory
- }
- if ($val and !is_writable($target)) {
- continue; # existing file locked
- }
- $tags[$tagname]['target'] = $target;
- }
-
- if ($tags) {
- $cols['tags'] = [
- 'label' => 'groepen',
- 'values' => $tags,
- ];
- }
-}
-
if (isset($user['pass'])) {
$cols['newpass'] = [
'label' => 'wachtwoord',
'placeholder' => "Niet ingesteld",
'readonly' => empty($colconf['target']),
'pattern' => @$colconf['pattern'] ?: FALSE,
+ 'size' => @$colconf['size'] ?: FALSE,
];
if (@$colconf['type'] == 'file') {
$attrs['accept'] = "image/jpeg";