Quoting Victor Kane <victorkane@gmail.com>:
I do this a lot, so I will ad my two cents.
The following line is absolutely essential for "good housekeeping", especially if you are using cck fields:
$node = node_submit($node);
However, it will NOT work if ... it shouldn't; for example if you omit (as does the above code) initializing the uid attribute.
Which is what http://api.drupal.org/api/function/node_object_prepare does when nid is not set in the node object.
So, use this function, and include all the necessary fields to make it work, it is a good test.
Larry is right, what is needed is a better solution...
mymodule_nodeapi? Filter on ``presave'' value for $op? Then the main code just does the node_save. Earnie -- http://for-my-kids.com/ -- http://give-me-an-offer.com/