You are here

function sharedblocks_publish_form in Shared Blocks 6

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

Callback for admin/settings/sharedblocks/publish

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

File

./sharedblocks.module, line 129

Code

function sharedblocks_publish_form() {
  $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') as $module) {
    $mod_blocks = module_invoke($module, 'block', 'list');
    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' => $published_blocks[$module][$delta] ? TRUE : FALSE,
          '#description' => $published_blocks[$module][$delta] ? url("sharedblocks/{$module}/{$delta}", array(
            'absolute' => TRUE,
          )) : '',
        );
      }
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}