Example #1
0
/**
 * Implementation of THEMEHOOK_settings() function.
 *
 * @param $saved_settings
 *   An array of saved settings for this theme.
 * @return
 *   A form array. 
 */
function city_magazine_custom_settings($saved_settings)
{
    $form = array();
    // Get the default values from the .info file.
    $defaults = fusion_core_default_theme_settings('city_magazine_custom');
    $settings = array_merge($defaults, $saved_settings);
    // Add the base theme's settings.
    $form += city_magazine_settings($saved_settings, $defaults);
    // Return the form
    return $form;
}
/**
 * Implementation of THEMEHOOK_settings() function.
 *
 * @param $saved_settings
 *   An array of saved settings for this theme.
 * @return
 *   A form array. 
 */
function lvl_settings($saved_settings)
{
    $form = array();
    // Get the default values from the .info file.
    $defaults = fusion_core_default_theme_settings('lvl');
    $settings = array_merge($defaults, $saved_settings);
    // Add the base theme's settings.
    $form += phptemplate_settings($saved_settings, $defaults);
    $form['tnt_container']['general_settings']['theme_grid_config']['theme_color_style'] = array('#type' => 'select', '#title' => t('Color/Style'), '#default_value' => $settings['theme_color_style'], '#options' => array('aqua' => t('Aqua'), 'ash' => t('Ash'), 'blue' => t('Blue'), 'green' => t('Green'), 'limegreen' => t('limegreen'), 'orange' => t('Orange'), 'pink' => t('Pink'), 'purple' => t('Purple'), 'red' => t('Red'), 'teal' => t('Teal'), 'yellow' => t('Yellow')));
    $form['tnt_container']['general_settings']['theme_grid_config']['theme_background'] = array('#type' => 'select', '#title' => t('Background'), '#default_value' => $settings['theme_background'], '#options' => array('aqua' => t('Aqua'), 'ash' => t('Ash'), 'blue' => t('Blue'), 'green' => t('Green'), 'limegreen' => t('limegreen'), 'orange' => t('Orange'), 'pink' => t('Pink'), 'purple' => t('Purple'), 'red' => t('Red'), 'teal' => t('Teal'), 'yellow' => t('Yellow')));
    // Return the form
    return $form;
}
Example #3
0
/**
* Implementation of THEMEHOOK_settings() function.
*
* @param $saved_settings
*   array An array of saved settings for this theme.
* @return
*   array A form array.
*/
function phptemplate_settings($saved_settings)
{
    global $base_url;
    // Get default theme settings from this theme's .info file
    $theme_name = arg(4);
    // get theme name from url: admin/build/themes/settings/theme_name
    $theme_data = system_theme_data();
    // get data for all themes
    $default_theme_settings = $theme_name ? $theme_data[$theme_name]->info['settings'] : '';
    // Retrieve & combine default and saved theme settings
    $defaults = fusion_core_default_theme_settings();
    $settings = array_merge($defaults, $saved_settings);
    // Create theme settings form widgets using Forms API
    // TNT Fieldset
    $form['tnt_container'] = array('#type' => 'fieldset', '#title' => t('Fusion theme settings'), '#description' => t('Use these settings to enhance the appearance and functionality of your Fusion theme.'), '#collapsible' => TRUE, '#collapsed' => FALSE);
    // General Settings
    $form['tnt_container']['general_settings'] = array('#type' => 'fieldset', '#title' => t('General settings'), '#collapsible' => TRUE, '#collapsed' => FALSE);
    // Theme fonts
    $form['tnt_container']['general_settings']['theme_font_config'] = array('#type' => 'fieldset', '#title' => t('Typography'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    // Font family settings
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_font'] = array('#type' => 'fieldset', '#title' => t('Font family'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_font']['theme_font'] = array('#type' => 'radios', '#title' => t('Select a new font family'), '#default_value' => $settings['theme_font'] ? $settings['theme_font'] : 'none', '#options' => array('none' => t('None (use theme default)'), 'font-family-sans-serif-sm' => '<span class="font-family-sans-serif-sm">' . t('Sans serif - smaller (Helvetica Neue, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-sans-serif-lg' => '<span class="font-family-sans-serif-lg">' . t('Sans serif - larger (Verdana, Geneva, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-serif-sm' => '<span class="font-family-serif-sm">' . t('Serif - smaller (Garamond, Perpetua, Nimbus Roman No9 L, Times New Roman, serif)') . '</span>', 'font-family-serif-lg' => '<span class="font-family-serif-lg">' . t('Serif - larger (Baskerville, Georgia, Palatino, Palatino Linotype, Book Antiqua, URW Palladio L, serif)') . '</span>', 'font-family-myriad' => '<span class="font-family-myriad">' . t('Myriad (Myriad Pro, Myriad, Trebuchet MS, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-lucida' => '<span class="font-family-lucida">' . t('Lucida (Lucida Sans, Lucida Grande, Lucida Sans Unicode, Verdana, Geneva, sans-serif)') . '</span>'));
    // Font size settings
    // Get default font size from .info
    $default_font_size = isset($default_theme_settings['base-font-size']) ? $default_theme_settings['base-font-size'] : 'none';
    $current_font_size = $settings['theme_font_size'] ? $settings['theme_font_size'] : $default_font_size;
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size'] = array('#type' => 'fieldset', '#title' => t('Font size'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size']['theme_font_size'] = array('#type' => 'radios', '#title' => t('Change the base font size'), '#description' => t('Adjusts all text in proportion to your base font size.'), '#default_value' => $current_font_size, '#options' => array('none' => t('No setting'), 'font-size-10' => t('10px'), 'font-size-11' => t('11px'), 'font-size-12' => t('12px'), 'font-size-13' => t('13px'), 'font-size-14' => t('14px'), 'font-size-15' => t('15px'), 'font-size-16' => t('16px'), 'font-size-17' => t('17px'), 'font-size-18' => t('18px')));
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size']['theme_font_size']['#options'][$default_font_size] .= t(' - Theme Default');
    // Theme grid
    $form['tnt_container']['general_settings']['theme_grid_config'] = array('#type' => 'fieldset', '#title' => t('Layout'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['theme_grid_config']['theme_grid'] = array('#type' => 'radios', '#title' => t('Select a grid layout for your theme'), '#default_value' => $settings['theme_grid'] ? $settings['theme_grid'] : 'grid16-960', '#options' => array('grid16-960' => t('960px 16 column grid'), 'grid16-fluid' => t('Fluid 16 column grid')));
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_first_width'] = array('#type' => 'select', '#title' => t('Select a different width for your first sidebar'), '#default_value' => $settings['sidebar_first_width'] ? $settings['sidebar_first_width'] : 0, '#options' => array(0 => t('No change (use theme default)'), 2 => t('2 grid units (2 x 60 = 120px)'), 3 => t('3 grid units (3 x 60 = 180px)'), 4 => t('4 grid units (4 x 60 = 240px)'), 5 => t('5 grid units (5 x 60 = 300px)'), 6 => t('6 grid units (6 x 60 = 360px)'), 7 => t('7 grid units (7 x 60 = 420px)'), 8 => t('8 grid units (8 x 60 = 480px)')));
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_last_width'] = array('#type' => 'select', '#title' => t('Select a different width for your last sidebar'), '#default_value' => $settings['sidebar_last_width'] ? $settings['sidebar_last_width'] : 0, '#options' => array(0 => t('No change (use theme default)'), 2 => t('2 grid units (2 x 60 = 120px)'), 3 => t('3 grid units (3 x 60 = 180px)'), 4 => t('4 grid units (4 x 60 = 240px)'), 5 => t('5 grid units (5 x 60 = 300px)'), 6 => t('6 grid units (6 x 60 = 360px)'), 7 => t('7 grid units (7 x 60 = 420px)'), 8 => t('8 grid units (8 x 60 = 480px)')));
    // Search Settings
    if (module_exists('search')) {
        $form['tnt_container']['general_settings']['search_container'] = array('#type' => 'fieldset', '#title' => t('Search results'), '#description' => t('What additional information should be displayed on your search results page?'), '#collapsible' => TRUE, '#collapsed' => TRUE);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_snippet'] = array('#type' => 'checkbox', '#title' => t('Display text snippet'), '#default_value' => $settings['search_snippet']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_type'] = array('#type' => 'checkbox', '#title' => t('Display content type'), '#default_value' => $settings['search_info_type']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_user'] = array('#type' => 'checkbox', '#title' => t('Display author name'), '#default_value' => $settings['search_info_user']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_date'] = array('#type' => 'checkbox', '#title' => t('Display posted date'), '#default_value' => $settings['search_info_date']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_comment'] = array('#type' => 'checkbox', '#title' => t('Display comment count'), '#default_value' => $settings['search_info_comment']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_upload'] = array('#type' => 'checkbox', '#title' => t('Display attachment count'), '#default_value' => $settings['search_info_upload']);
    }
    // Username
    $form['tnt_container']['general_settings']['username'] = array('#type' => 'fieldset', '#title' => t('Username'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['username']['user_notverified_display'] = array('#type' => 'checkbox', '#title' => t('Display "not verified" for unregistered usernames'), '#default_value' => $settings['user_notverified_display']);
    // Theme color DISABLED
    $color_enabled = false;
    if ($color_enabled) {
        $form['tnt_container']['general_settings']['theme_color_config'] = array('#type' => 'fieldset', '#title' => t('Theme color'), '#collapsible' => TRUE, '#collapsed' => TRUE);
        $form['tnt_container']['general_settings']['theme_color_config']['theme_color'] = array('#type' => 'radios', '#title' => t('Select a theme color'), '#default_value' => $settings['theme_color'] ? $settings['theme_color'] : 'blue', '#options' => array('blue' => t('Blue'), 'red' => t('Red'), 'green' => t('Green')));
    }
    // Admin settings
    $form['tnt_container']['admin_settings'] = array('#type' => 'fieldset', '#title' => t('Administrator settings'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['admin_settings']['block_config_link'] = array('#type' => 'checkbox', '#title' => t('Display block configure links for administrators.'), '#default_value' => $settings['block_config_link'], '#description' => t('This setting provides convenient hover links to block configuration pages directly from the block.'));
    $form['tnt_container']['admin_settings']['grid_mask'] = array('#type' => 'checkbox', '#title' => t('Enable grid overlay mask for administrators.'), '#default_value' => $settings['grid_mask'], '#description' => t('This setting enables a "GRID" button in the upper left corner of each page to toggle a grid overlay and block outlines, which can help with visualizing page layout and block positioning.'));
    // Developer settings
    $form['tnt_container']['themedev'] = array('#type' => 'fieldset', '#title' => t('Developer settings'), '#collapsible' => TRUE, '#collapsed' => $settings['rebuild_registry'] ? FALSE : TRUE);
    $form['tnt_container']['themedev']['rebuild_registry'] = array('#type' => 'checkbox', '#title' => t('Rebuild theme registry for every page.'), '#default_value' => $settings['rebuild_registry'], '#description' => t('This setting is useful while developing themes (see <a href="!link">rebuilding the theme registry</a>). However, it <strong>significantly degrades performance</strong> and should be turned off for any production website.', array('!link' => 'http://drupal.org/node/173880#theme-registry')));
    $form['tnt_container']['themedev']['fix_css_limit'] = array('#type' => 'checkbox', '#title' => t('Avoid IE stylesheet limit.'), '#default_value' => $settings['fix_css_limit'], '#description' => t('This setting groups css files so Internet Explorer can see more than 30 of them. This is useful when you cannot use aggregation (e.g., when developing or using private file downloads). But because it degrades performance and can load files out of order, CSS aggregation (<a href="!link">Optimize CSS files</a>) is <strong>strongly</strong> recommended instead for any production website.', array('!link' => $base_url . '/admin/settings/performance')));
    // Return theme settings form
    return $form;
}
/**
* Implementation of THEMEHOOK_settings() function.
*
* @param $saved_settings
*   array An array of saved settings for this theme.
* @return
*   array A form array.
*/
function phptemplate_settings($saved_settings)
{
    global $base_url;
    // Get theme name from url (admin/.../theme_name)
    $theme_name = arg(count(arg()) - 1);
    // Combine default theme settings from .info file & theme-settings.php
    $theme_data = list_themes();
    // get data for all themes
    $info_theme_settings = $theme_name ? $theme_data[$theme_name]->info['settings'] : array();
    $defaults = array_merge(fusion_core_default_theme_settings(), $info_theme_settings);
    // Combine default and saved theme settings
    $settings = array_merge($defaults, $saved_settings);
    // Create theme settings form widgets using Forms API
    // TNT Fieldset
    $form['tnt_container'] = array('#type' => 'fieldset', '#title' => t('Fusion theme settings'), '#description' => t('Use these settings to enhance the appearance and functionality of your Fusion theme.'), '#collapsible' => TRUE, '#collapsed' => FALSE);
    // General Settings
    $form['tnt_container']['general_settings'] = array('#type' => 'fieldset', '#title' => t('General settings'), '#collapsible' => TRUE, '#collapsed' => FALSE);
    // Grid settings
    $form['tnt_container']['general_settings']['theme_grid_config'] = array('#type' => 'fieldset', '#title' => t('Layout'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    // Grid type
    // Generate grid type options
    $grid_options = array();
    foreach ($info_theme_settings['theme_grid_options'] as $grid_option) {
        $grid_type = substr($grid_option, 7) == 'fluid' ? t('fluid grid') : t('fixed grid') . ' [' . substr($grid_option, 7) . 'px]';
        $grid_options[$grid_option] = substr($grid_option, 4, 2) . t(' column ') . $grid_type;
    }
    $form['tnt_container']['general_settings']['theme_grid_config']['theme_grid'] = array('#type' => 'radios', '#title' => t('Select a grid layout for your theme'), '#default_value' => $settings['theme_grid'], '#options' => $grid_options);
    $form['tnt_container']['general_settings']['theme_grid_config']['theme_grid']['#options'][$defaults['theme_grid']] .= t(' - Theme Default');
    // Fluid grid width
    $form['tnt_container']['general_settings']['theme_grid_config']['fluid_grid_width'] = array('#type' => 'select', '#title' => t('Select a width for your fluid grid layout'), '#default_value' => $settings['fluid_grid_width'], '#options' => array('fluid-100' => t('100%'), 'fluid-95' => t('95%'), 'fluid-90' => t('90%'), 'fluid-85' => t('85%')));
    $form['tnt_container']['general_settings']['theme_grid_config']['fluid_grid_width']['#options'][$defaults['fluid_grid_width']] .= t(' - Theme Default');
    // Sidebar layout
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_layout'] = array('#type' => 'radios', '#title' => t('Select a sidebar layout for your theme'), '#default_value' => $settings['sidebar_layout'], '#options' => array('sidebars-split' => t('Split sidebars'), 'sidebars-both-first' => t('Both sidebars first'), 'sidebars-both-last' => t('Both sidebars last')));
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_layout']['#options'][$defaults['sidebar_layout']] .= t(' - Theme Default');
    // Calculate sidebar width options
    $grid_width = (int) substr($settings['theme_grid'], 4, 2);
    $grid_type = substr($settings['theme_grid'], 7);
    $width_options = array();
    for ($i = 1; $i <= floor($grid_width / 2); $i++) {
        $grid_units = $i . ($i == 1 ? t(' grid unit: ') : t(' grid units: '));
        $width_options[$i] = $grid_units . ($grid_type == 'fluid' ? round($i * (100 / $grid_width), 2) . '%' : $i * ((int) $grid_type / $grid_width) . 'px');
    }
    // Sidebar first width
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_first_width'] = array('#type' => 'select', '#title' => t('Select a different width for your first sidebar'), '#default_value' => $settings['sidebar_first_width'], '#options' => $width_options);
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_first_width']['#options'][$defaults['sidebar_first_width']] .= t(' - Theme Default');
    // Sidebar last width
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_last_width'] = array('#type' => 'select', '#title' => t('Select a different width for your last sidebar'), '#default_value' => $settings['sidebar_last_width'], '#options' => $width_options);
    $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_last_width']['#options'][$defaults['sidebar_last_width']] .= t(' - Theme Default');
    // Theme fonts
    $form['tnt_container']['general_settings']['theme_font_config'] = array('#type' => 'fieldset', '#title' => t('Typography'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    // Font family settings
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_font'] = array('#type' => 'fieldset', '#title' => t('Font family'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_font']['theme_font'] = array('#type' => 'radios', '#title' => t('Select a new font family'), '#default_value' => $settings['theme_font'], '#options' => array('none' => t('Theme default'), 'font-family-sans-serif-sm' => '<span class="font-family-sans-serif-sm">' . t('Sans serif - smaller (Helvetica Neue, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-sans-serif-lg' => '<span class="font-family-sans-serif-lg">' . t('Sans serif - larger (Verdana, Geneva, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-serif-sm' => '<span class="font-family-serif-sm">' . t('Serif - smaller (Garamond, Perpetua, Nimbus Roman No9 L, Times New Roman, serif)') . '</span>', 'font-family-serif-lg' => '<span class="font-family-serif-lg">' . t('Serif - larger (Baskerville, Georgia, Palatino, Palatino Linotype, Book Antiqua, URW Palladio L, serif)') . '</span>', 'font-family-myriad' => '<span class="font-family-myriad">' . t('Myriad (Myriad Pro, Myriad, Trebuchet MS, Arial, Helvetica, sans-serif)') . '</span>', 'font-family-lucida' => '<span class="font-family-lucida">' . t('Lucida (Lucida Sans, Lucida Grande, Lucida Sans Unicode, Verdana, Geneva, sans-serif)') . '</span>'));
    // Font size settings
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size'] = array('#type' => 'fieldset', '#title' => t('Font size'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size']['theme_font_size'] = array('#type' => 'radios', '#title' => t('Change the base font size'), '#description' => t('Adjusts all text in proportion to your base font size.'), '#default_value' => $settings['theme_font_size'], '#options' => array('font-size-10' => t('10px'), 'font-size-11' => t('11px'), 'font-size-12' => t('12px'), 'font-size-13' => t('13px'), 'font-size-14' => t('14px'), 'font-size-15' => t('15px'), 'font-size-16' => t('16px'), 'font-size-17' => t('17px'), 'font-size-18' => t('18px')));
    $form['tnt_container']['general_settings']['theme_font_config']['theme_font_config_size']['theme_font_size']['#options'][$defaults['theme_font_size']] .= t(' - Theme Default');
    // Navigation
    $form['tnt_container']['general_settings']['navigation'] = array('#type' => 'fieldset', '#title' => t('Navigation'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    // Primary menu dropdown
    $form['tnt_container']['general_settings']['navigation']['primary_menu'] = array('#type' => 'fieldset', '#title' => t('Primary Menu'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['navigation']['primary_menu']['primary_menu_dropdown'] = array('#type' => 'checkbox', '#title' => t('Enable primary menu as dropdown'), '#default_value' => $settings['primary_menu_dropdown']);
    // Breadcrumb
    $form['tnt_container']['general_settings']['navigation']['breadcrumb'] = array('#type' => 'fieldset', '#title' => t('Breadcrumb'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['navigation']['breadcrumb']['breadcrumb_display'] = array('#type' => 'checkbox', '#title' => t('Display breadcrumb'), '#default_value' => $settings['breadcrumb_display']);
    // Search Settings
    if (module_exists('search')) {
        $form['tnt_container']['general_settings']['search_container'] = array('#type' => 'fieldset', '#title' => t('Search results'), '#description' => t('What additional information should be displayed on your search results page?'), '#collapsible' => TRUE, '#collapsed' => TRUE);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_snippet'] = array('#type' => 'checkbox', '#title' => t('Display text snippet'), '#default_value' => $settings['search_snippet']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_type'] = array('#type' => 'checkbox', '#title' => t('Display content type'), '#default_value' => $settings['search_info_type']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_user'] = array('#type' => 'checkbox', '#title' => t('Display author name'), '#default_value' => $settings['search_info_user']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_date'] = array('#type' => 'checkbox', '#title' => t('Display posted date'), '#default_value' => $settings['search_info_date']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_comment'] = array('#type' => 'checkbox', '#title' => t('Display comment count'), '#default_value' => $settings['search_info_comment']);
        $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_upload'] = array('#type' => 'checkbox', '#title' => t('Display attachment count'), '#default_value' => $settings['search_info_upload']);
    }
    // Username
    $form['tnt_container']['general_settings']['username'] = array('#type' => 'fieldset', '#title' => t('Username'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['general_settings']['username']['user_notverified_display'] = array('#type' => 'checkbox', '#title' => t('Display "not verified" for unregistered usernames'), '#default_value' => $settings['user_notverified_display']);
    // Admin settings
    $form['tnt_container']['admin_settings'] = array('#type' => 'fieldset', '#title' => t('Administrator settings'), '#collapsible' => TRUE, '#collapsed' => TRUE);
    $form['tnt_container']['admin_settings']['block_config_link'] = array('#type' => 'checkbox', '#title' => t('Display block configure links for administrators.'), '#default_value' => $settings['block_config_link'], '#description' => t('This setting provides convenient hover links to block configuration pages directly from the block.'));
    $form['tnt_container']['admin_settings']['grid_mask'] = array('#type' => 'checkbox', '#title' => t('Enable grid overlay mask for administrators.'), '#default_value' => $settings['grid_mask'], '#description' => t('This setting enables a "GRID" button in the upper left corner of each page to toggle a grid overlay and block outlines, which can help with visualizing page layout and block positioning.'));
    // Developer settings
    $form['tnt_container']['themedev'] = array('#type' => 'fieldset', '#title' => t('Developer settings'), '#collapsible' => TRUE, '#collapsed' => $settings['rebuild_registry'] ? FALSE : TRUE);
    $form['tnt_container']['themedev']['rebuild_registry'] = array('#type' => 'checkbox', '#title' => t('Rebuild theme registry for every page.'), '#default_value' => $settings['rebuild_registry'], '#description' => t('This setting is useful while developing themes (see <a href="!link">rebuilding the theme registry</a>). However, it <strong>significantly degrades performance</strong> and should be turned off for any production website.', array('!link' => 'http://drupal.org/node/173880#theme-registry')));
    $form['tnt_container']['themedev']['fix_css_limit'] = array('#type' => 'checkbox', '#title' => t('Avoid IE stylesheet limit.'), '#default_value' => $settings['fix_css_limit'], '#description' => t('This setting groups css files so Internet Explorer can see more than 30 of them. This is useful when you cannot use aggregation (e.g., when developing or using private file downloads). But because it degrades performance and can load files out of order, CSS aggregation (<a href="!link">Optimize CSS files</a>) is <strong>strongly</strong> recommended instead for any production website.', array('!link' => $base_url . '/admin/settings/performance')));
    // Return theme settings form
    return $form;
}