$html = '';
- foreach ((array)$values as $value) {
+ $values = (array)$values;
+ $suff = count( $values ) > 1 ? '[]' : '';
+ foreach ($values as $value) {
$html .= '<div class="label '.$this->name.'"><label for="'.$this->name.'">'.htmlspecialchars(prettyText($this->name)).'</label>';
if ($this->extras) {
} else {
$html .= '<'.$tag
- .' name="'.$this->preffix.$this->name.'"'
+ .' name="'.$this->preffix.$this->name.$suff.'"'
# NB 06.02.18 .' id="'.$this->name.'"'
.( ($size and $tag != 'textarea') ? ' size="'.$size.'"' : '')
#.' value="'.$value.'"'
}
+# NB 06.02.18 public function replace_fields($fields) {
+# NB 06.02.18 $this->fields = [];
+# NB 06.02.18 $this->add_fields($fields);
+# NB 06.02.18 }
+
public function add_fields($fields) {
foreach ($fields as $k => $v) {
$key = false;
]);
$row = $table->db()->ldap->fetch();
#debug($row);
+ $table->add_fields(array_keys($row));
return $row;
},
'update' => function(&$table,&$values) {
- $count = (int)$table->db()->ldap->update($values['dn']);
- return [ 'count' => $count, ];
+ $dn = $values['dn'];
+ unset($values['dn']);
+ #bye([$dn,$values]);
+ return (int)$table->db()->ldap->update($dn,$values);
},
];
?>
} # < ldap_search
+ private function dnBase($dn) {
+ return preg_replace('/,'.$this->base.'$/','',$dn) . ',' . $this->base;
+ }
+
public function add($dn,$data) {
$conn = $this->connect();
- #debug($dn);
- return ldap_add($conn, $dn . ',' . $this->base, $data);
+ $dn = $this->dnBase($dn);
+ return ldap_add($conn, $dn, $data);
# NB 29.01.18 return ldap_mod_add($conn, $dn . ',' . $this->base, $data);
}
public function update($dn,$data) {
# NB 28.01.18 return ldap_mod_add($this->connect(), $dn . ',' . $this->base, $data);
- return ldap_mod_replace($this->connect(), $dn . ',' . $this->base, $data);
+ $dn = $this->dnBase($dn);
+ #debug([$dn,$data]);
+ #debug(ldap_error($this->connect()));
+ return ldap_mod_replace($this->connect(), $dn, $data);
}
public function delete($dn) {
+ $dn = $this->dnBase($dn);
return ldap_delete($this->connect(), $dn);
/*
foreach ($ldap->search([
] + (
($this->perm < self::ADMIN) ? [] :
[
- [ 'ldap', 'Connect to domain ldap server [/FILTER/ATTRS' ],
+# NB 07.02.18 [ 'ldap', 'Connect to domain ldap server [/FILTER/ATTRS' ],
[ 'phpinfo', 'Phpinfo' ],
[ '_SERVER', 'Dump _SERVER' ],
[ '_REQUEST', 'Dump _REQUEST' ],