$val ) { if( $val == '' ) pla_error( sprintf( $lang['create_required_attribute'], htmlspecialchars( $attr ) ) ); $new_entry[ $attr ][] = utf8_encode( $val ); } } if( isset( $vals ) && is_array( $vals ) ) { foreach( $vals as $i => $val ) { $attr = $attrs[$i]; if( is_attr_binary( $server_id, $attr ) ) { if( $_FILES['vals']['name'][$i] != '' ) { // read in the data from the file $file = $_FILES['vals']['tmp_name'][$i]; $f = fopen( $file, 'r' ); $binary_data = fread( $f, filesize( $file ) ); fclose( $f ); $val = $binary_data; $new_entry[ $attr ][] = $val; } } else { if( '' !== trim($val) ) $new_entry[ $attr ][] = utf8_encode( $val ); } } } $new_entry['objectClass'] = $object_classes; if( ! in_array( 'top', $new_entry['objectClass'] ) ) $new_entry['objectClass'][] = 'top'; // UTF-8 magic. Must decode the values that have been passed to us foreach( $new_entry as $attr => $vals ) if( ! is_attr_binary( $server_id, $attr ) ) if( is_array( $vals ) ) foreach( $vals as $i => $v ) $new_entry[ $attr ][ $i ] = utf8_decode( $v ); else $new_entry[ $attr ] = utf8_decode( $vals ); //echo "
"; var_dump( $new_dn );print_r( $new_entry ); echo ""; $ds = pla_ldap_connect( $server_id ); // Check the user-defined custom call back first if( true === preEntryCreate( $server_id, $new_dn, $new_entry ) ) $add_result = @ldap_add( $ds, $new_dn, $new_entry ); else exit; if( $add_result ) { postEntryCreate( $server_id, $new_dn, $new_entry ); $edit_url="edit.php?server_id=$server_id&dn=" . rawurlencode( $new_dn ); // update the session tree to reflect the change session_start(); if( session_is_registered( 'tree' ) ) { $tree = $_SESSION['tree']; $tree_icons = $_SESSION['tree_icons']; if( isset( $tree[$server_id][$container] ) ) { $tree[$server_id][$container][] = $new_dn; sort( $tree[$server_id][$container] ); $tree_icons[$server_id][$new_dn] = get_icon( $server_id, $new_dn ); } $_SESSION['tree'] = $tree; $_SESSION['tree_icons'] = $tree_icons; session_write_close(); } ?> ... .