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 +} +