--- auto_nodetitle-old.module 2009-04-21 10:52:10.000000000 +0200 +++ auto_nodetitle.module 2010-01-31 11:44:11.000000000 +0100 @@ -62,8 +62,16 @@ function auto_nodetitle_node_form_submit * Implementation of hook_nodeapi(). */ function auto_nodetitle_nodeapi(&$node, $op) { - if ($op == 'presave' && auto_nodetitle_is_needed($node)) { - auto_nodetitle_set_title($node); + if (auto_nodetitle_is_needed($node)) { + switch ($op) { + case 'presave': + case 'insert': + case 'update': + auto_nodetitle_set_title($node, $op); + break; + default: + break; + } } } @@ -77,7 +85,7 @@ function auto_nodetitle_is_needed($node) /** * Sets the automatically generated nodetitle for the node */ -function auto_nodetitle_set_title(&$node) { +function auto_nodetitle_set_title(&$node, $op) { $types = node_get_types(); $pattern = variable_get('ant_pattern_'. $node->type, ''); if (trim($pattern)) { @@ -91,7 +99,7 @@ function auto_nodetitle_set_title(&$node $node->title = t('@type', array('@type' => $types[$node->type]->name)); } // With that flag we ensure we don't apply the title two times to the same node. - $node->auto_nodetitle_applied = TRUE; + $node->auto_nodetitle_applied = TRUE; } /** @@ -115,7 +123,7 @@ function auto_nodetitle_operations_updat $node = node_load($nid); if ($node && auto_nodetitle_is_needed($node)) { $previous_title = $node->title; - auto_nodetitle_set_title($node); + auto_nodetitle_set_title($node, 'update'); // Only save if the title has actually changed. if ($node->title != $previous_title) { node_save($node);