info['settings'])) ? $theme_data[$theme_name]->info['settings'] : array(); // 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(); if (isset($defaults['theme_grid_options'])) { foreach ($defaults['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] = (int)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' => theme_get_setting('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' => theme_get_setting('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' => theme_get_setting('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(theme_get_setting('theme_grid'), 4, 2); $grid_type = substr(theme_get_setting('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' => theme_get_setting('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_second_width'] = array( '#type' => 'select', '#title' => t('Select a different width for your second sidebar'), '#default_value' => theme_get_setting('sidebar_second_width'), '#options' => $width_options, ); $form['tnt_container']['general_settings']['theme_grid_config']['sidebar_second_width']['#options'][$defaults['sidebar_second_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' => theme_get_setting('theme_font'), '#options' => array( 'none' => t('Theme default'), 'font-family-sans-serif-sm' => '' . t('Sans serif - smaller (Helvetica Neue, Arial, Helvetica, sans-serif)') . '', 'font-family-sans-serif-lg' => '' . t('Sans serif - larger (Verdana, Geneva, Arial, Helvetica, sans-serif)') . '', 'font-family-serif-sm' => '' . t('Serif - smaller (Garamond, Perpetua, Nimbus Roman No9 L, Times New Roman, serif)') . '', 'font-family-serif-lg' => '' . t('Serif - larger (Baskerville, Georgia, Palatino, Palatino Linotype, Book Antiqua, URW Palladio L, serif)') . '', 'font-family-myriad' => '' . t('Myriad (Myriad Pro, Myriad, Trebuchet MS, Arial, Helvetica, sans-serif)') . '', 'font-family-lucida' => '' . t('Lucida (Lucida Sans, Lucida Grande, Lucida Sans Unicode, Verdana, Geneva, sans-serif)') . '', ), ); // 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' => theme_get_setting('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, ); // 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' => theme_get_setting('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' => theme_get_setting('search_snippet'), ); $form['tnt_container']['general_settings']['search_container']['search_results']['search_info_type'] = array( '#type' => 'checkbox', '#title' => t('Display content type'), '#default_value' => theme_get_setting('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' => theme_get_setting('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' => theme_get_setting('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' => theme_get_setting('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' => theme_get_setting('search_info_upload'), ); } // Admin & developer settings $form['tnt_container']['admin_dev_settings'] = array( '#type' => 'fieldset', '#title' => t('Administrator & developer settings'), '#collapsible' => TRUE, '#collapsed' => TRUE, ); $form['tnt_container']['admin_dev_settings']['grid_mask'] = array( '#type' => 'checkbox', '#title' => t('Enable grid overlay mask for administrators.'), '#default_value' => theme_get_setting('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.'), ); // Return theme settings form return $form; }