how to setup blocks that differentiate 'node edit' case from 'node add' case in MULTISTEP forms Im using Drupal 6 and the multistep module :

I need to display informations in a block apart when my users wether add or edit some of the available multistep forms :

. there's a block that shows up with an EDIT title when EDITING an existing node with information within it for this case :

only shows up when :
node/*/edit* page


. there's a block that shows up with a CREATE title when ADDING a node :

only shows up when :
node/add/multistep-content-A*
node/add/multistep-content-B*
node/*/edit*


node//edit is necessary for ADDING since when the user finishes the first step of the form, the node is saved and the link which was node/add/m-c-A turns into node/nid/edit.

in both block I use a bit of php ( url arg(), $node) to check content type, to retrieve node info if exists, to decide wether show info for ADDING cases or for EDITING cases. (as there's nothing to show, the entire block DIV does not show up)

I would need to recognize the ADDING case after step 2 of the form... 
when the node is created but when the progress bar is lesser than 100%.

in other words, to retrieve the 'completion status' argument from the multistep module, the one that tells the progress bar if the form is completed or not.

it appears it's not in the $node array.. ? 

EDIT : found a trick, see comment 2.
I dont know how to retrieve the multistep completion state from a block but there's a simple way, by testing the published status (not published ? not complete ADD/PENDING - published ? complete EDIT)

in admin/settings/multistep :
select Publishing > at node completion

in the ADD block that must be displayed when adding a multistep node :
only display block on the pages below :

node/add/multistep-content-A*
node/add/multistep-content-B*
node/*/edit*


in the ADD block body :

Title : add

&lt;?php
$show = FALSE ;
if ( arg(0) == 'node' &amp;&amp; arg(1) == 'add' ) {
  if (in_array(arg(2), array( "multistep-content-A", "multistep-content-B" ))) {
    $show = TRUE ;
    $node = False ;
  }
}
elseif ( arg(0) == 'node' &amp;&amp; is_numeric(arg(1)) ) {
  $node = node_load(arg(1));
  if (in_array($node-&gt;type, array( "multistep-content-A", "multistep-content-B" )) &amp;&amp; $node-&gt;status == 0) {
    $show = TRUE ;
  }
}
if ($show) {
  if ($node) print '&lt;center&gt;id : &lt;b&gt;'.$node-&gt;nid . '&lt;/b&gt;&lt;/center&gt;' ;
  print "&lt;ul&gt;&lt;li&gt;some info about creating this node.&lt;/li&gt;&lt;li&gt;be sure to complete every step blah blah &lt;i&gt;the italic ones&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;" ;
}
?&gt;


in the EDIT block :

Title : modify

node/*/edit*


body :

&lt;?php
if ( arg(0) == 'node' &amp;&amp; is_numeric(arg(1)) ) {
  $node = node_load(arg(1));
  if (in_array($node-&gt;type, array( "multistep-content-A", "multistep-content-B" )) &amp;&amp; $node-&gt;status == 1) {
    print '&lt;center&gt;id fiche : &lt;b&gt;'.$node-&gt;nid . '&lt;/b&gt;&lt;/center&gt;' ;
    print "&lt;ul&gt;&lt;li&gt;some info about editing an existing node.&lt;/li&gt;&lt;li&gt;browse directly to the steps you need to modify by using the link below.&lt;/li&gt;&lt;/ul&gt;" ;
  }
}
?&gt;


there might be a way to only have one block, that could change its title itself, I didn't investigate.