function block_form_user_profile_form_alter
block_form_user_profile_form_alter(&$form, &$form_state)
Implements hook_form_FORM_ID_alter() for user_profile_form().
File
- modules/block/block.module, line 581
- Controls the visual building blocks a page is constructed with.
Code
function block_form_user_profile_form_alter(&$form, &$form_state) { if ($form['#user_category'] == 'account') { $account = $form['#user']; $rids = array_keys($account->roles); $result = db_query("SELECT DISTINCT b.* FROM {block} b LEFT JOIN {block_role} r ON b.module = r.module AND b.delta = r.delta WHERE b.status = 1 AND b.custom <> 0 AND (r.rid IN (:rids) OR r.rid IS NULL) ORDER BY b.weight, b.module", array(':rids' => $rids)); $blocks = array(); foreach ($result as $block) { $data = module_invoke($block->module, 'block_info'); if ($data[$block->delta]['info']) { $blocks[$block->module][$block->delta] = array( '#type' => 'checkbox', '#title' => check_plain($data[$block->delta]['info']), '#default_value' => isset($account->data['block'][$block->module][$block->delta]) ? $account->data['block'][$block->module][$block->delta] : ($block->custom == 1), ); } } // Only display the fieldset if there are any personalizable blocks. if ($blocks) { $form['block'] = array( '#type' => 'fieldset', '#title' => t('Personalize blocks'), '#description' => t('Blocks consist of content or information that complements the main content of the page. Enable or disable optional blocks using the checkboxes below.'), '#weight' => 3, '#collapsible' => TRUE, '#tree' => TRUE, ); $form['block'] += $blocks; } } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!block!block.module/function/block_form_user_profile_form_alter/7.x