Add support for password fields
authorJoey Schulze <joey@infodrom.org>
Thu, 25 Feb 2010 21:01:41 +0000 (22:01 +0100)
committerJoey Schulze <joey@infodrom.org>
Thu, 25 Feb 2010 21:01:41 +0000 (22:01 +0100)
ajax/ajax.php
lib/mask.php

index 9b8a008..f095f92 100644 (file)
@@ -4,8 +4,13 @@ require_once('../init.php');
 
 function fetch($mask)
 {
 
 function fetch($mask)
 {
+  $fields = array('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',
   $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);
                 $mask['table'], $_POST['id']);
 
   $sth = pg_query($sql);
index 8d90654..074889a 100644 (file)
@@ -21,11 +21,11 @@ function build_form($name, $fields)
   $ret[] = sprintf('<input type="hidden" id="edit_source" name="source" value="%s">', $name);
 
   foreach ($fields as $id => $info) {
   $ret[] = sprintf('<input type="hidden" id="edit_source" name="source" value="%s">', $name);
 
   foreach ($fields as $id => $info) {
-    if ($info['type'] == 'text' || $info['type'] == 'number') {
+    if ($info['type'] == 'text' || $info['type'] == 'passwd' || $info['type'] == 'number') {
       $v = array('id="edit_'.$id.'"',
       $v = array('id="edit_'.$id.'"',
-                'name="'.$id.'"',
-                'size="'.$info['size'].'"',
-                'type="text"');
+                'name="'.$id.'"');
+      $v[] = 'size="'.(empty($info['size'])?'10':$info['size']).'"';
+      $v[] = 'type="'.($info['type']=='passwd'?'password':'text').'"';
       $ret[] = sprintf('<label for="edit_%s">%s</label><br>', $id, $info['name']);
       $ret[] = sprintf('<input %s><br>', implode(' ', $v));
     } elseif ($info['type'] == 'boolean') {
       $ret[] = sprintf('<label for="edit_%s">%s</label><br>', $id, $info['name']);
       $ret[] = sprintf('<input %s><br>', implode(' ', $v));
     } elseif ($info['type'] == 'boolean') {