| | |
| | | $replacedata = array(); |
| | | $deletedata = array(); |
| | | |
| | | // flatten composite fields in $record |
| | | if (is_array($record['address'])) { |
| | | foreach ($record['address'] as $i => $struct) { |
| | | foreach ($struct as $col => $val) { |
| | | $record[$col][$i] = $val; |
| | | } |
| | | } |
| | | } |
| | | |
| | | $ldap_data = $this->_map_data($save_cols); |
| | | foreach ($this->fieldmap as $col => $fld) { |
| | | $val = $save_cols[$col]; |
| | | $val = $ldap_data[$fld]; |
| | | if ($fld) { |
| | | // remove empty array values |
| | | if (is_array($val)) |
| | |
| | | */ |
| | | private function _map_data($save_cols) |
| | | { |
| | | // flatten composite fields first |
| | | foreach ($this->coltypes as $col => $colprop) { |
| | | if (is_array($colprop['childs']) && ($values = $this->get_col_values($col, $save_cols, false))) { |
| | | foreach ($values as $subtype => $childs) { |
| | | $subtype = $subtype ? ':'.$subtype : ''; |
| | | foreach ($childs as $i => $child_values) { |
| | | foreach ((array)$child_values as $childcol => $value) { |
| | | $save_cols[$childcol.$subtype][$i] = $value; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | $ldap_data = array(); |
| | | foreach ($this->fieldmap as $col => $fld) { |
| | | $val = $save_cols[$col]; |