You are here

function sharedblocks_publish_form in Shared Blocks 7

Same name and namespace in other branches
  1. 6 sharedblocks.module \sharedblocks_publish_form()
  2. 7.2 sharedblocks.admin.inc \sharedblocks_publish_form()

Callback for admin/structure/sharedblocks/publish

1 string reference to 'sharedblocks_publish_form'
sharedblocks_menu in ./sharedblocks.module
Implements hook_menu().

File

./sharedblocks.module, line 163

Code

function sharedblocks_publish_form($form, &$form_state) {
  $published_blocks = variable_get('sharedblocks_publish', array());
  $form = array();
  $form['sharedblocks_publish'] = array(
    '#tree' => TRUE,
    '#title' => t('Published Blocks'),
  );

  // Get a list of all the available blocks in the system.
  foreach (module_implements('block_info') as $module) {
    $mod_blocks = module_invoke($module, 'block_info');
    if (is_array($mod_blocks)) {

      // Loop through the list.
      foreach ($mod_blocks as $delta => $info) {

        // Make checkboxes for each one.
        $form['sharedblocks_publish'][$module][$delta] = array(
          '#type' => 'checkbox',
          '#title' => check_plain($info['info']),
          '#default_value' => isset($published_blocks[$module][$delta]) && $published_blocks[$module][$delta] > 0,
          '#description' => isset($published_blocks[$module][$delta]) ? url("sharedblocks/{$module}/{$delta}", array(
            'absolute' => TRUE,
          )) : '',
        );
      }
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}