+$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) {
+ $options = '';
+ foreach ($tags as $tag => $val) {
+ $options .= sprintf(
+ "\n\t\t" .
+ '<input type="hidden" name="tags[%1$s]" value="" />' .
+ '<input type="checkbox" name="tags[%s]" value="1"%s%s /> %s',
+ $tag,
+ $val['value'] ? ' checked' : '',
+ isset($val['target']) ? '' : ' readonly',
+ ucfirst($tag)
+ );
+ }
+
+ $cols['tags'] = [
+ 'label' => 'groepen',
+ 'input' => $options,
+ 'values' => $tags,
+ ];
+ }
+}
+