? webformblock-847048.patch
Index: webformblock.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/webformblock/webformblock.module,v
retrieving revision 1.1.2.14
diff -u -p -r1.1.2.14 webformblock.module
--- webformblock.module	24 Sep 2010 12:57:32 -0000	1.1.2.14
+++ webformblock.module	1 Oct 2010 23:50:26 -0000
@@ -12,14 +12,17 @@
  *
  */
 function webformblock_form_alter(&$form, $form_state, $form_id) {
-  $node = $form['#parameters'][2];
+  // Get node id
+  if (!empty($form['#parameters'][2]->nid)) {
+    $nid = $form['#parameters'][2]->nid;
+  }
 
   // Webform 2
   if ($form_id == 'webform_node_form') {
     $form['webform']['advanced']['addblock'] = array(
       '#type' => 'checkbox',
       '#return_value' => 1,
-      '#default_value' => webformblock_exists($node->nid),
+      '#default_value' => webformblock_exists($nid),
       '#title' => t('Generate a block'),
       '#description' => t('Allow this form to appear in its own block which can be positioned in any block region.'),
       '#weight' => -20,
@@ -31,7 +34,7 @@ function webformblock_form_alter(&$form,
     $form['advanced']['addblock'] = array(
       '#type' => 'checkbox',
       '#return_value' => 1,
-      '#default_value' => webformblock_exists($node->nid),
+      '#default_value' => webformblock_exists($nid),
       '#title' => t('Generate a block'),
       '#description' => t('Allow this form to appear in its own block which can be positioned in any block region.'),
       '#weight' => -20,
@@ -39,7 +42,7 @@ function webformblock_form_alter(&$form,
     $form['advanced']['use_teaser'] = array(
       '#type' => 'checkbox',
       '#return_value' => 1,
-      '#default_value' => variable_get('webformblock_use_teaser_' . $node->nid, FALSE),
+      '#default_value' => variable_get('webformblock_use_teaser_' . $nid, FALSE),
       '#title' => t('Display the node teaser in the generated block'),
       '#weight' => -19,
     );
@@ -47,10 +50,10 @@ function webformblock_form_alter(&$form,
   }
 
   if (strpos($form_id, 'webform_client_form_') === 0) {
-    if (webformblock_exists($node->nid)) {
+    if (webformblock_exists($nid)) {
       // @todo: using an anchor only makes sense if errors are displayed close
       // to the form.
-      //$anchor = str_replace(array('/', '_'), '', strtolower(drupal_get_path_alias('node/' . $node->nid)));
+      //$anchor = str_replace(array('/', '_'), '', strtolower(drupal_get_path_alias('node/' . $nid)));
       //$form['#action'] = url(drupal_get_path_alias($_GET['q']), array('fragment' => $anchor));
       $current_url = url(drupal_get_path_alias($_GET['q']));
       $form['#action'] = $current_url;
@@ -99,7 +102,7 @@ function webformblock_nodeapi(&$node, $o
 
     case 'insert':
       // Webform 2
-      webformblock_insert($node->nid, $node->webform['addblock']);    
+      webformblock_insert($node->nid, $node->webform['addblock']);
       break;
 
     case 'delete':
