function fetch($mask)
{
+ $fields = array("to_char(sys_edit,'DD.MM.YYYY HH24:mm') AS sys_edit", 'sys_user');
+ foreach ($mask['edit'] as $field => $info)
+ if ($info['type'] != 'passwd')
+ $fields[] = $field;
+
$sql = sprintf('SELECT id,%s FROM %s WHERE id = %d',
- implode(',', array_keys($mask['edit'])),
+ implode(',', $fields),
$mask['table'], $_POST['id']);
$sth = pg_query($sql);
foreach ($mask['edit'] as $field => $info)
if ($info['type'] == 'boolean')
$row[$field] = $row[$field]?true:false;
+ elseif ($info['type'] == 'passwd')
+ $row[$field] = '';
elseif (array_key_exists('format', $info))
$row[$field] = sprintf($info['format'], $row[$field]);
$update[] = sprintf("%s=%d", $field, $_POST[$field] == 'on'?1:0);
} elseif ($info['type'] == 'number') {
$update[] = sprintf("%s=%d", $field, $_POST[$field]);
+ } elseif ($info['type'] == 'passwd') {
+ if (!empty($_POST[$field]))
+ $update[] = sprintf("%s='%s'", $field, pg_escape_string(passwd($_SESSION['sys']['login'],$_POST[$field])));
} else {
$update[] = sprintf("%s='%s'", $field, pg_escape_string($_POST[$field]));
}
} elseif ($info['type'] == 'number') {
$fields[] = $field;
$values[] = intval($_POST[$field]);
+ } elseif ($info['type'] == 'passwd') {
+ if (!empty($_POST[$field])) {
+ $fields[] = $field;
+ $values[] = sprintf("'%s'", pg_escape_string(passwd($_SESSION['sys']['login'],$_POST[$field])));
+ }
} else {
$fields[] = $field;
$values[] = sprintf("'%s'", pg_escape_string($_POST[$field]));