git.shiar.nl
/
minimedit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
page: promote news article class to represent all pages
[minimedit.git]
/
login
/
edit.php
diff --git
a/login/edit.php
b/login/edit.php
index 101244afbb42aab0e5d55a47072f2d879078e57c..d6ee4c905c8dc5663e76a9d0febfcd478c0eb408 100644
(file)
--- a/
login/edit.php
+++ b/
login/edit.php
@@
-4,54
+4,59
@@
if (empty($user = &$User)) {
return;
}
return;
}
-if (
!empty($User['admin'])
-and !empty($Place['user']) and $Place['user'] !== $User
['name']
) {
+if (
$User->admin
+and !empty($Place['user']) and $Place['user'] !== $User
->login
) {
$username = strtolower($Place['user']);
unset($user);
$username = strtolower($Place['user']);
unset($user);
- $user = [
- 'dir' => "profile/$username",
- 'name' => $username,
- ];
+ $user = new User("profile/$username");
}
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 !$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);
}
$tags = [];
foreach (glob($colconf['filename'] . '/*') as $tag) {
$tagname = pathinfo($tag, PATHINFO_BASENAME);
- $target = "$tag/{$user
['name']
}";
+ $target = "$tag/{$user
->login
}";
$val = file_exists($target);
$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;
}
}
$filetype = @$colconf['type'] == 'file' ? 'jpg' : 'txt';
}
}
$filetype = @$colconf['type'] == 'file' ? 'jpg' : 'txt';
- $colpath = $user
['dir']
. '/' . $colconf['filename'];
+ $colpath = $user
->dir
. '/' . $colconf['filename'];
if (file_exists($colpath)) {
$colconf['value'] = $filetype != 'txt' ? '' :
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']
)) {
+ if (file_exists($user
->dir) and !is_writable($user->dir
)) {
continue; # locked parent directory
}
if (isset($colconf['value']) and !is_writable($colpath)) {
continue; # locked parent directory
}
if (isset($colconf['value']) and !is_writable($colpath)) {
@@
-62,8
+67,8
@@
foreach ($cols as $col => &$colconf) {
$colwarn = [];
if ($_POST) {
$colwarn = [];
if ($_POST) {
- if (!file_exists($user
['dir']) and !@mkdir($user['dir']
)) {
- print "<p class=warn>Fout bij het aanmaken van gebruikersprofiel voor <em>{$user
['name']
}</em>.</p>\n\n";
+ if (!file_exists($user
->dir) and !@mkdir($user->dir
)) {
+ print "<p class=warn>Fout bij het aanmaken van gebruikersprofiel voor <em>{$user
->login
}</em>.</p>\n\n";
return;
}
return;
}
@@
-86,7
+91,7
@@
if ($_POST) {
}
else {
# link option target to current user dir
}
else {
# link option target to current user dir
- $optok = @symlink("../../{$user
['name']
}", $option['target']);
+ $optok = @symlink("../../{$user
->login
}", $option['target']);
}
$option['value'] = $optval; # update form value
if (!$optok) {
}
$option['value'] = $optval; # update form value
if (!$optok) {
@@
-114,6
+119,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.";
}
@@
-129,12
+137,12
@@
if ($_POST) {
}
try {
require_once('upload.inc.php');
}
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) {
if (!$target) continue;
$cols[$col]['value'] = '';
}
catch (Exception $e) {
- $colwarn[$col] =
$e->getMessage()
;
+ $colwarn[$col] =
ucfirst($e->getMessage()).'.'
;
}
}
}
}
@@
-158,12
+166,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
)
);
}
);
}
@@
-185,16
+198,16
@@
foreach ($cols as $col => &$colconf) {
'<input type="checkbox" name="%s" value="1" id="%s"%s%s />' .
'<label for="%2$s"> %s</label>',
"tags[$tag]", "tag-$tag",
'<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',
isset($val['target']) ? '' : ' readonly',
- ucfirst($tag)
+
@$val['label'] ?:
ucfirst($tag)
);
}
}
);
}
}
- 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 = [
@@
-204,12
+217,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) {