X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/6a6c1c31adb0932904685275f0d3d75185c0b69b..943688a66694cc3d97188c7b789207aa3ee8bfc2:/login/edit.php diff --git a/login/edit.php b/login/edit.php index 8f39f09..88272e0 100644 --- a/login/edit.php +++ b/login/edit.php @@ -41,14 +41,15 @@ foreach ($cols as $col => &$colconf) { $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; } } @@ -56,7 +57,7 @@ foreach ($cols as $col => &$colconf) { $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 @@ -121,6 +122,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."; } @@ -172,9 +176,10 @@ foreach ($cols as $col => &$colconf) { print "\t"; printf('
  • ', $col, ucfirst($colconf['label'])); if (@$colconf['type'] == 'file' and isset($colconf['value'])) { + $target = $user['dir'] . '/' . $colconf['filename']; printf('
    ', - $colconf['target'], - 200, $colconf['target'], filemtime($colconf['target']) + $target, + 200, $target, filemtime($target) ); } @@ -196,16 +201,16 @@ 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) ); } } - 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 = [ @@ -215,12 +220,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) {