You can do something like this:
- load the block content manually
- control the order of fields withj
#weight
option
example:
function my_form()
{
$block = block_load(MODULENAME, BLOCKDELTA);
$block = _block_render_blocks(array($block));
$block_build = _block_get_renderable_array($block);
$form['FIELD_1'] = array(
...
...
'#weight' => 1
);
$form['FIELD_2'] = array(
...
...
'#weight' => 2
);
$form['FIELD_3'] = array(
'#prefix' => '<div class="SOME_CLASS">',
'#suffix' => '<div>',
'#markup' => render($block_build),
'#weight' => 3
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'OK',
'#weight' => 4
);
return $form;
}
if those forms are from other modules you can alter them with hook_form_alter(&$form, &$form_state, $form_id) function.
example:
function MYMODULE_OR_THEME_form_alter(&$form, &$form_state, $form_id) {
// dpm($form_id);
if ('user_register_form' == $form_id) {
$form['actions']['#weight'] = 50;
$block = block_load(MODULENAME, BLOCKDELTA);
$block = _block_render_blocks(array($block));
$block_build = _block_get_renderable_array($block);
$form['fb_field'] = array(
'#prefix' => '<div class="SOME_CLASS">',
'#suffix' => '<div>',
'#markup' => render($block_build),
'#weight' => 49
);
}
}