X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/ab3ebc53acde6f060649a01403a886f5485f7bf6..943688a66694cc3d97188c7b789207aa3ee8bfc2:/login/edit.php diff --git a/login/edit.php b/login/edit.php index 101244a..88272e0 100644 --- a/login/edit.php +++ b/login/edit.php @@ -17,31 +17,39 @@ and !empty($Place['user']) and $Place['user'] !== $User['name']) { require_once('edit.inc.php'); foreach ($cols as $col => &$colconf) { + if (isset($colconf['visible'])) { + if ($colconf['visible'] == 'admin' and empty($User['admin'])) { + $colconf['visible'] = FALSE; + continue; + } + } + else { + $colconf['visible'] = TRUE; + } + if (!isset($colconf['filename'])) { continue; # exceptional storage } if (isset($colconf['values'])) { if (!file_exists($colconf['filename'])) { + $colconf['visible'] = FALSE; 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 - } + $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; } } @@ -49,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 @@ -114,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."; } @@ -129,12 +140,12 @@ if ($_POST) { } try { require_once('upload.inc.php'); - $target = userupload($val, $cols[$col]['target']); + $target = userupload($val, NULL, $cols[$col]['target']); if (!$target) continue; $cols[$col]['value'] = ''; } catch (Exception $e) { - $colwarn[$col] = $e->getMessage(); + $colwarn[$col] = ucfirst($e->getMessage()).'.'; } } @@ -158,12 +169,17 @@ if ($_POST) {