Index: domain_blocks.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/domain_blocks/domain_blocks.module,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 domain_blocks.module
--- domain_blocks.module	30 Apr 2009 01:03:53 -0000	1.1.2.3
+++ domain_blocks.module	8 Feb 2010 11:17:57 -0000
@@ -135,6 +135,22 @@ function domain_blocks_form_alter(&$form
       $form['#submit'][] = 'domain_blocks_form_submit';
     }
   }
+
+  if ($form_id == 'block_admin_display_form') {
+    $form['#submit'][] = 'domain_blocks_admin_display_submit';
+  }
+
+}
+
+/**
+ * Grant domain_site permission when there are new blocks on main blocks
+ * administration form submission
+ */
+function domain_blocks_admin_display_submit($form, &$form_state) {
+  $new_blocks = db_query("SELECT DISTINCT b.module, b.delta FROM {blocks} b LEFT JOIN {domain_blocks} db ON (b.module = db.module AND b.delta = db.delta) WHERE db.module IS NULL");
+  while ($block = db_fetch_object($new_blocks)) {
+    db_query("INSERT INTO {domain_blocks} (module, delta, realm, domain_id) VALUES ('%s', '%s', '%s', %d)", $block->module, $block->delta, 'domain_site', 0);
+  }
 }
 
 /**
@@ -231,4 +247,5 @@ function domain_blocks_domainupdate($op,
 
 function _domain_blocks_delete($domain) {
   db_query("DELETE FROM {domain_blocks} WHERE domain_id = %d AND realm = 'domain_id'", $domain['domain_id']);
-}
\ No newline at end of file
+}
+
