$tagname = pathinfo($tag, PATHINFO_BASENAME);
$target = "$tag/{$user['name']}";
$val = file_exists($target);
- $tags[$tagname] = ['value' => $val];
+ $tagopt = &$colconf['values'][$tagname] ?: [];
+ $tagopt['value'] = $val;
if (!is_writable($tag)) {
continue; # locked tag directory
}
if ($val and !is_writable($target)) {
continue; # existing file locked
}
- $tags[$tagname]['target'] = $target;
+ $tagopt['target'] = $target;
}
}
$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'])) {
continue; # locked parent directory
}
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.";
}
print "\t";
printf('<li><label for="%s">%s:</label>', $col, ucfirst($colconf['label']));
if (@$colconf['type'] == 'file' and isset($colconf['value'])) {
+ $target = $user['dir'] . '/' . $colconf['filename'];
printf('<a href="/%s"><img src="/thumb/%s/%s?%s" /></a><br />',
- $colconf['target'],
- 200, $colconf['target'], filemtime($colconf['target'])
+ $target,
+ 200, $target, filemtime($target)
);
}
'<input type="checkbox" name="%s" value="1" id="%s"%s%s />' .
'<label for="%2$s"> %s</label>',
"tags[$tag]", "tag-$tag",
- $val['value'] ? ' checked' : '',
+ !empty($val['value']) ? ' checked' : '',
isset($val['target']) ? '' : ' readonly',
- ucfirst($tag)
+ @$val['label'] ?: ucfirst($tag)
);
}
}
- else {
+ elseif (@$colconf['type'] !== 'file' or isset($colconf['target'])) {
if (isset($cols[$col]['filter'])) {
list ($targetstr, $inputstr) = $cols[$col]['filter'];
- $colconf['value'] = str_replace($targetstr, $inputstr, $colconf['value']);
+ $colconf['value'] = str_replace($targetstr, $inputstr, @$colconf['value']);
}
$attrs = [
'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 '<input';
foreach ($attrs as $attr => $attrval) {