You are here

cookie_content_blocker_media.admin.inc in Cookie Content Blocker 7

Admin functionality for Cookie content blocker - Media.

File

modules/cookie_content_blocker_media/cookie_content_blocker_media.admin.inc
View source
<?php

/**
 * @file
 * Admin functionality for Cookie content blocker - Media.
 */

/**
 * Form callback for the admin settings form.
 *
 * @param array $form
 *   The structure of the form.
 * @param array $form_state
 *   The current state of the form.
 *
 * @return array
 *   The configuration form.
 *
 * @see system_settings_form_submit()
 */
function cookie_content_blocker_media_settings_form(array $form, array &$form_state) {
  $form = _cookie_content_blocker_variable_form($form, 'cookie_content_blocker_media');
  $providers = media_internet_get_providers();
  foreach ($providers as $provider) {
    $form = _cookie_content_blocker_media_settings_form_provider_fieldset($form, $provider);
  }
  return system_settings_form($form);
}

/**
 * Helper to move form elements for a given provider into a fieldset.
 *
 * @param array $form
 *   The structure of the form.
 * @param array $provider
 *   The media provider info.
 *
 * @return array
 *   The restructured form,
 */
function _cookie_content_blocker_media_settings_form_provider_fieldset(array $form, array $provider) {
  $fieldset = array(
    '#type' => 'fieldset',
    '#title' => t('Settings for %provider media', array(
      '%provider' => $provider['title'],
    )),
    '#tree' => FALSE,
  );
  $elements = array_filter($form, function ($element) use ($provider) {
    return $element['#media_provider'] === $provider['title'];
  });
  foreach ($elements as $name => $element) {
    $fieldset[$name] = $element;
    unset($form[$name]);
  }
  $form[$provider['title']] = $fieldset;
  return $form;
}

Functions

Namesort descending Description
cookie_content_blocker_media_settings_form Form callback for the admin settings form.
_cookie_content_blocker_media_settings_form_provider_fieldset Helper to move form elements for a given provider into a fieldset.