boinc/drupal/sites/all/themes/zen/theme-settings.php

128 lines
5.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// Include the definition of zen_theme_get_default_settings().
include_once './' . drupal_get_path('theme', 'zen') . '/zen-internals/template.theme-registry.inc';
/**
* Implementation of THEMEHOOK_settings() function.
*
* @param $saved_settings
* An array of saved settings for this theme.
* @param $subtheme_defaults
* Allow a subtheme to override the default values.
* @return
* A form array.
*/
function zen_settings($saved_settings, $subtheme_defaults = array()) {
// Add the form's CSS
drupal_add_css(drupal_get_path('theme', 'zen') . '/zen-internals/css/theme-settings.css', 'theme');
// Add javascript to show/hide optional settings
drupal_add_js(drupal_get_path('theme', 'zen') . '/zen-internals/js/theme-settings.js', 'theme');
// Get the default values from the .info file.
$defaults = zen_theme_get_default_settings('zen');
// Allow a subtheme to override the default values.
$defaults = array_merge($defaults, $subtheme_defaults);
// Merge the saved variables and their default values.
$settings = array_merge($defaults, $saved_settings);
/*
* Create the form using Forms API
*/
$form['zen-div-opening'] = array(
'#value' => '<div id="zen-settings">',
);
$form['zen_block_editing'] = array(
'#type' => 'checkbox',
'#title' => t('Show block editing on hover'),
'#description' => t('When hovering over a block, privileged users will see block editing links.'),
'#default_value' => $settings['zen_block_editing'],
);
$form['breadcrumb'] = array(
'#type' => 'fieldset',
'#title' => t('Breadcrumb settings'),
'#attributes' => array('id' => 'zen-breadcrumb'),
);
$form['breadcrumb']['zen_breadcrumb'] = array(
'#type' => 'select',
'#title' => t('Display breadcrumb'),
'#default_value' => $settings['zen_breadcrumb'],
'#options' => array(
'yes' => t('Yes'),
'admin' => t('Only in admin section'),
'no' => t('No'),
),
);
$form['breadcrumb']['zen_breadcrumb_separator'] = array(
'#type' => 'textfield',
'#title' => t('Breadcrumb separator'),
'#description' => t('Text only. Dont forget to include spaces.'),
'#default_value' => $settings['zen_breadcrumb_separator'],
'#size' => 5,
'#maxlength' => 10,
'#prefix' => '<div id="div-zen-breadcrumb-collapse">', // jquery hook to show/hide optional widgets
);
$form['breadcrumb']['zen_breadcrumb_home'] = array(
'#type' => 'checkbox',
'#title' => t('Show home page link in breadcrumb'),
'#default_value' => $settings['zen_breadcrumb_home'],
);
$form['breadcrumb']['zen_breadcrumb_trailing'] = array(
'#type' => 'checkbox',
'#title' => t('Append a separator to the end of the breadcrumb'),
'#default_value' => $settings['zen_breadcrumb_trailing'],
'#description' => t('Useful when the breadcrumb is placed just before the title.'),
);
$form['breadcrumb']['zen_breadcrumb_title'] = array(
'#type' => 'checkbox',
'#title' => t('Append the content title to the end of the breadcrumb'),
'#default_value' => $settings['zen_breadcrumb_title'],
'#description' => t('Useful when the breadcrumb is not placed just before the title.'),
'#suffix' => '</div>', // #div-zen-breadcrumb
);
$form['themedev'] = array(
'#type' => 'fieldset',
'#title' => t('Theme development settings'),
'#attributes' => array('id' => 'zen-themedev'),
);
$form['themedev']['zen_rebuild_registry'] = array(
'#type' => 'checkbox',
'#title' => t('Rebuild theme registry on every page.'),
'#default_value' => $settings['zen_rebuild_registry'],
'#description' => t('During theme development, it can be very useful to continuously <a href="!link">rebuild the theme registry</a>. WARNING: this is a huge performance penalty and must be turned off on production websites.', array('!link' => 'http://drupal.org/node/173880#theme-registry')),
'#prefix' => '<div id="div-zen-registry"><strong>' . t('Theme registry:') . '</strong>',
'#suffix' => '</div>',
);
$form['themedev']['zen_layout'] = array(
'#type' => 'radios',
'#title' => t('Layout method'),
'#options' => array(
'zen-columns-liquid' => t('Liquid layout') . ' <small>(layout-liquid.css)</small>',
'zen-columns-fixed' => t('Fixed layout') . ' <small>(layout-fixed.css)</small>',
),
'#default_value' => $settings['zen_layout'],
);
$form['themedev']['zen_wireframes'] = array(
'#type' => 'checkbox',
'#title' => t('Display borders around main layout elements'),
'#default_value' => $settings['zen_wireframes'],
'#description' => t('<a href="!link">Wireframes</a> are useful when prototyping a website.', array('!link' => 'http://www.boxesandarrows.com/view/html_wireframes_and_prototypes_all_gain_and_no_pain')),
'#prefix' => '<div id="div-zen-wireframes"><strong>' . t('Wireframes:') . '</strong>',
'#suffix' => '</div>',
);
$form['zen-div-closing'] = array(
'#value' => '</div>',
);
// Return the form
return $form;
}