/[drupal]/contributions/modules/page_title/page_title.admin.inc
ViewVC logotype

Diff of /contributions/modules/page_title/page_title.admin.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1, Tue Dec 16 17:29:42 2008 UTC revision 1.2, Sat Aug 15 22:06:17 2009 UTC
# Line 0  Line 1 
1    <?php
2    // $Id: page_title.admin.inc,v 1.1.2.6 2009/06/11 09:20:03 njt1982 Exp $
3    
4    /**
5     * @file
6     * Admin include file.
7     */
8    
9    /**
10     * Displays the form for the standard settings tab.
11     *
12     * @return
13     *   array A structured array for use with Forms API.
14     */
15    function page_title_admin_settings() {
16      // Define a default looking 'form element' for setting.
17      $showfield_form_element = array('#type' => 'checkbox', );
18    
19    
20      // Define a default looking 'form element' for setting.
21      $pattern_form_element = array(
22        '#type' => 'textfield',
23        '#size' => 30,
24        '#maxlength' => 256,
25      );
26    
27    
28      // Define the basic scope column values
29      $form['patterns']['scope'] = array(
30        'page_title_default' => array('#markup' => t('Global Only'),),
31        'page_title_front'   => array('#markup' => t('Global Only'),),
32        'page_title_user'    => array('#markup' => t('User'),),
33      );
34    
35      // Define the 'default' token patterns
36      $form['patterns']['pattern'] = array(
37        'page_title_default' => array(
38          '#title' => t('Default'),
39          '#default_value' => variable_get('page_title_default', '[site:page-title] | [site:name]'),
40          '#required' => TRUE,
41        ) + $pattern_form_element,
42        'page_title_front' => array(
43          '#title' => t('Frontpage'),
44          '#default_value' => variable_get('page_title_front', '[site:name] | [site:slogan]'),
45        ) + $pattern_form_element,
46        'page_title_user' => array(
47          '#title' => t('User Profile'),
48          '#default_value' => variable_get('page_title_user', ''),
49        ) + $pattern_form_element,
50      );
51    
52    
53      // Define the "showfield" checkbox for the user profile page
54      $form['patterns']['showfield']['page_title_user_showfield'] = array(
55        '#default_value' => variable_get('page_title_user_showfield', 0),
56      ) + $showfield_form_element;
57    
58    
59      // Definate the patterns per-node-type
60      $types = node_type_get_types();
61      foreach ($types as $type) {
62        // Define the node-type key
63        $key = 'page_title_type_'. $type->type;
64    
65        // Pattern entry
66        $form['patterns']['pattern'][$key] = array(
67          '#title' => t('Content Type - %type', array('%type' => $type->name)),
68          '#default_value' => variable_get($key, ''),
69        ) + $pattern_form_element;
70    
71        $form['patterns']['showfield'][$key .'_showfield'] = array(
72          '#default_value' => variable_get($key .'_showfield', 0),
73        ) + $showfield_form_element;
74    
75        $form['patterns']['scope'][$key] = array('#markup' => t('Node'),);
76      }
77    
78    
79      // Definate the patterns per-vocab-type - if Taxonomy Module is enabled
80      if (module_exists('taxonomy')) {
81        $vocabs = taxonomy_get_vocabularies();
82        foreach ($vocabs as $vocab) {
83          // Define the vocab key
84          $key = 'page_title_vocab_'. $vocab->vid;
85    
86          // Pattern entry
87          $form['patterns']['pattern'][$key] = array(
88            '#title' => t('Vocabulary - %vocab_name', array('%vocab_name' => $vocab->name)),
89            '#default_value' => variable_get($key, ''),
90          ) + $pattern_form_element;
91    
92          $form['patterns']['showfield'][$key .'_showfield'] = array(
93            '#default_value' => variable_get($key .'_showfield', 0),
94          ) + $showfield_form_element;
95    
96          $form['patterns']['scope'][$key] = array('#markup' => t('Taxonomy'),);
97        }
98      }
99    
100      // Add the blog homepage pattern field
101      if (module_exists('blog')) {
102        $key = 'page_title_blog';
103        $form['patterns']['pattern'][$key] = array(
104          '#title' => t('Blog Homepage'),
105          '#default_value' => variable_get($key, ''),
106        ) + $pattern_form_element;
107    
108        $form['patterns']['scope'][$key] = array('#markup' => t('User'),);
109      }
110    
111      // Define the page pattern text field. This is appended to any page requests containing 'page=[0-9]+' in the query string
112      $form['page_title_pager_pattern'] = array(
113        '#type' => 'textfield',
114        '#title' => t('Pattern for pages that contain a pager'),
115        '#default_value' => variable_get('page_title_pager_pattern', ''),
116        '#description' => t('This pattern will be appended to a page title for any given page with a pager on it'),
117      );
118    
119      // Add the token help to a collapsed fieldset at the end of the configuration page.
120      /*
121      $form['token_help'] = array(
122        '#type' => 'fieldset',
123        '#title' => t('Available Tokens List'),
124        '#collapsible' => TRUE,
125        '#collapsed' => TRUE,
126      );
127      $form['token_help']['content'] = array(
128        '#type' => 'markup',
129        '#value' => theme('token_help'),
130      );*/
131    
132    
133      $form = system_settings_form($form);
134      unset($form['#theme']);
135      return $form;
136    }
137    
138    
139    function theme_page_title_admin_settings($form) {
140      $rows = array();
141      foreach (element_children($form['patterns']['pattern']) as $key) {
142        $title = array(
143          '#markup' => $form['patterns']['pattern'][$key]['#title'],
144          '#required' => $form['patterns']['pattern'][$key]['#required'],
145        );
146        unset($form['patterns']['pattern'][$key]['#title']);
147    
148        $row = array(
149          drupal_render($title),
150          drupal_render($form['patterns']['scope'][$key]),
151          drupal_render($form['patterns']['pattern'][$key]),
152          isset($form['patterns']['showfield'][$key .'_showfield']) ? drupal_render($form['patterns']['showfield'][$key .'_showfield']) : '',
153        );
154    
155        $rows[] = $row;
156      }
157    
158      $output  = theme('table', array(t('Page Type'), t('Token Scope'), t('Pattern'), t('Show Field')), $rows);
159      $output .= drupal_render_children($form);
160      return $output;
161    }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.2