blogapi.module can create (or attempt to..) any node type in 4.6, but the code to create a new node still assumes the node will be of type 'blog'. In addition, it's still looking for individual variables rather than the arrays that are stored in 4.6.

It initializes those fields with calls like
variable_get('node_promote_blog', 1);

This will always return 1 unless you've upgraded to 4.6 from a previous version and set your blog nodes not to publish by default, and it will use that value for every type of node.

This patch retrieves the array (and "comment_$node->type") variable for the appropriate node type and assigns the values accordingly.

CommentFileSizeAuthor
BLOGAPI_4_6.txt1.17 KBPrometheus6

Comments

walkah’s picture

ACK! it's true... please apply to HEAD and DRUPAL-4-6.

+1

Steven’s picture

Commited to 4.6 / HEAD. Made the following code style changes:

'node_options_'.$edit['type'] to 'node_options_'. $edit['type']
no space between . and ", always a space otherwise

$_node_type_default to $node_type_default
no reason to prefix with an underscore

Steven’s picture

Prometheus6’s picture

Assigned: Unassigned » Prometheus6

I found an error in my patch. I don't supply a default value for variable_get() when I get the node options.

 // get the node type defaults
 $node_type_default = variable_get('node_options_'. $edit['type']);

should be

 // get the node type defaults
 $node_type_default = variable_get('node_options_'. $edit['type'], array());

Should I create a corrected patch for the same module as the first patch or against what is currently distributed? I'm just starting to get the hang of this CVS stuff...

Steven’s picture

This was fixed in HEAD/4.6 a while ago.

Anonymous’s picture