Index: modules/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.382 diff -u -r1.382 node.module --- modules/node.module 14 Aug 2004 17:05:32 -0000 1.382 +++ modules/node.module 14 Aug 2004 17:59:34 -0000 @@ -1037,6 +1037,19 @@ form_set_error('title', t('You have to specify a valid title.')); } } + else { + $function = $node->type . '_title_field'; + if (function_exists($function)) { + $title_field['action'] = $function('action'); + $title_field['names'] = $function('names'); + } + if($title_field['action'] == 'substitute') { + foreach($title_field['names'] as $name) { + $title[] = $node->$name; + } + $node->title = implode(' ', $title); + } + } // By default, auto-generate the teaser. $node->teaser = node_teaser($node->body); @@ -1110,6 +1123,7 @@ * Generate the node editing form. */ function node_form($edit) { + // Validate the node if we don't already know the errors. if (!$edit->validated) { $edit = node_validate($edit); @@ -1158,8 +1172,28 @@ // Add the default fields. + $title_field['action'] = 'default'; + $function = $edit->type . '_title_field'; + if (function_exists($function)) { + $title_field['action'] = $function('action'); + $title_field['names'] = $function('names'); + } + $output .= '