git.shiar.nl
/
minimedit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nieuws: hide text after cover image in overviews
[minimedit.git]
/
login
/
edit.php
diff --git
a/login/edit.php
b/login/edit.php
index 15b0a2a7dbebd8ded892b98a882bd9d5ee1cef8a..e60cf59bb046414c705bf1df138817f456e44e95 100644
(file)
--- 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) {
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'])) {
if (!isset($colconf['filename'])) {
continue; # exceptional storage
}
if (isset($colconf['values'])) {
if (!file_exists($colconf['filename'])) {
+ $colconf['visible'] = FALSE;
continue;
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 = [];
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
}
if (!is_writable($tag)) {
continue; # locked tag directory
}
if ($val and !is_writable($target)) {
continue; # existing file locked
}
- $tag
s[$tagname]
['target'] = $target;
+ $tag
opt
['target'] = $target;
}
}
}
}
@@
-49,7
+57,7
@@
foreach ($cols as $col => &$colconf) {
$colpath = $user['dir'] . '/' . $colconf['filename'];
if (file_exists($colpath)) {
$colconf['value'] = $filetype != 'txt' ? '' :
$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
}
if (file_exists($user['dir']) and !is_writable($user['dir'])) {
continue; # locked parent directory
@@
-114,6
+122,9
@@
if ($_POST) {
}
continue;
}
}
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.";
}
if (file_put_contents($cols[$col]['target'], $val) === FALSE) {
$colwarn[$col] = "Fout bij opslaan.";
}
@@
-123,27
+134,19
@@
if ($_POST) {
if (!isset($cols[$col]) and @$cols[$col]['type'] == 'file') {
continue; # unknown
}
if (!isset($cols[$col]) and @$cols[$col]['type'] == 'file') {
continue; # unknown
}
- switch ($val['error']) {
- case UPLOAD_ERR_OK:
- break;
- case UPLOAD_ERR_NO_FILE:
- continue 2; # current
- default:
- $colwarn[$col] = "Afbeelding niet goed ontvangen.";
- continue 2;
- }
if (empty($cols[$col]['target'])) {
$colwarn[$col] = "Kan niet worden aangepast.";
continue;
}
if (empty($cols[$col]['target'])) {
$colwarn[$col] = "Kan niet worden aangepast.";
continue;
}
- if (!@move_uploaded_file($val['tmp_name'], $cols[$col]['target'])) {
- $colwarn[$col] = "Fout bij opslaan.";
+ try {
+ require_once('upload.inc.php');
+ $target = userupload($val, NULL, $cols[$col]['target']);
+ if (!$target) continue;
+ $cols[$col]['value'] = '';
}
}
- foreach (@glob('thumb/*/') as $thumbres) {
- # attempt to remove old derivations
- @unlink($thumbres.'/'.$cols[$col]['target']);
+ catch (Exception $e) {
+ $colwarn[$col] = ucfirst($e->getMessage()).'.';
}
}
- $cols[$col]['value'] = '';
}
if (!empty($_POST['newpass'])) {
}
if (!empty($_POST['newpass'])) {
@@
-166,12
+169,17
@@
if ($_POST) {
<ul class="grid">
<?php
foreach ($cols as $col => &$colconf) {
<ul class="grid">
<?php
foreach ($cols as $col => &$colconf) {
+ if (!$colconf['visible']) {
+ continue;
+ }
+
print "\t";
printf('<li><label for="%s">%s:</label>', $col, ucfirst($colconf['label']));
if (@$colconf['type'] == 'file' and isset($colconf['value'])) {
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 />',
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
)
);
}
);
}
@@
-199,10
+207,10
@@
foreach ($cols as $col => &$colconf) {
);
}
}
);
}
}
- else {
+ else
if (@$colconf['type'] !== 'file' or isset($colconf['target']))
{
if (isset($cols[$col]['filter'])) {
list ($targetstr, $inputstr) = $cols[$col]['filter'];
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 = [
}
$attrs = [
@@
-212,12
+220,7
@@
foreach ($cols as $col => &$colconf) {
'value' => htmlspecialchars(@$colconf['value']),
'placeholder' => "Niet ingesteld",
'readonly' => empty($colconf['target']),
'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) {
print '<input';
foreach ($attrs as $attr => $attrval) {