function theme_color_scheme_form

Returns HTML for a theme's color form.

Parameters

$variables: An associative array containing:

  • form: A render element representing the form.

Related topics

1 theme call to theme_color_scheme_form()

File

drupal/modules/color/color.module, line 264
Allows users to change the color scheme of themes.

Code

function theme_color_scheme_form($variables) {
  $form = $variables['form'];
  $theme = $form['theme']['#value'];
  $info = $form['info']['#value'];
  $path = drupal_get_path('theme', $theme) . '/';
  drupal_add_css($path . $info['preview_css']);
  $preview_js_path = isset($info['preview_js']) ? $path . $info['preview_js'] : drupal_get_path('module', 'color') . '/' . 'preview.js';

  // Add the JS at a weight below color.js.
  drupal_add_js($preview_js_path, array(
    'weight' => -1,
  ));
  $output = '';
  $output .= '<div class="color-form clearfix">';

  // Color schemes
  $output .= drupal_render($form['scheme']);

  // Palette
  $output .= '<div id="palette" class="clearfix">';
  foreach (element_children($form['palette']) as $name) {
    $output .= drupal_render($form['palette'][$name]);
  }
  $output .= '</div>';

  // Preview
  $output .= drupal_render_children($form);
  $output .= '<h2>' . t('Preview') . '</h2>';

  // Attempt to load preview HTML if the theme provides it.
  $preview_html_path = DRUPAL_ROOT . '/' . (isset($info['preview_html']) ? drupal_get_path('theme', $theme) . '/' . $info['preview_html'] : drupal_get_path('module', 'color') . '/preview.html');
  $output .= file_get_contents($preview_html_path);

  // Close the wrapper div.
  $output .= '</div>';
  return $output;
}