diff --git editablefields.module editablefields.module index 465fa61..801df1a 100755 --- editablefields.module +++ editablefields.module @@ -179,6 +179,11 @@ function editablefields_form_builder(&$form_state, $node, $field_name, $delta) { unset($form[$field_name][0]['#title']); } + $form['editablefields_node_nid'] = array( + '#type' => 'hidden', + '#value' => $node->nid, + ); + $form['#field_info'] = array($field['field_name'] => $field); $form['#pre_render'] = array('_editablefields_pre_render'); @@ -347,3 +352,23 @@ function editablefields_submit() { } exit(); } + +/** + * Implementation of hook_file_insert + */ +function editablefields_file_insert($file) { + if(stripos($_GET['q'], 'filefield/ahah/') === 0 && !empty($_POST['editablefields_node_nid']) && $node = node_load($_POST['editablefields_node_nid'])) { + $file_clone = (array) $file; + field_file_save($node, $file_clone); + + $q_arr = explode('/', $_GET['q']); + $field_name = $q_arr[3]; + $delta = $q_arr[4]; + + $node->{$field_name}[$delta] = array( + 'fid' => $file->fid + ); + + node_save($node); + } +}