annotate sites/all/modules/semanticviews/semanticviews_plugin_style_default.inc @ 11:b0ee71395280

deleted .DS_Store files
author danieleb <danielebarchiesi@me.com>
date Mon, 28 Oct 2013 16:12:13 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2 /**
danielebarchiesi@4 3 * @file
danielebarchiesi@4 4 * Contains the default style plugin.
danielebarchiesi@4 5 */
danielebarchiesi@4 6
danielebarchiesi@4 7 /**
danielebarchiesi@4 8 * Default style plugin to render rows one after another with no decorations.
danielebarchiesi@4 9 *
danielebarchiesi@4 10 * @ingroup views_style_plugins
danielebarchiesi@4 11 */
danielebarchiesi@4 12 class semanticviews_plugin_style_default extends views_plugin_style {
danielebarchiesi@4 13 /**
danielebarchiesi@4 14 * Set default options
danielebarchiesi@4 15 */
danielebarchiesi@4 16 function options(&$options) {
danielebarchiesi@4 17 parent::options($options);
danielebarchiesi@4 18 }
danielebarchiesi@4 19
danielebarchiesi@4 20 /**
danielebarchiesi@4 21 * Set default options
danielebarchiesi@4 22 */
danielebarchiesi@4 23 function option_definition() {
danielebarchiesi@4 24 $options = parent::option_definition();
danielebarchiesi@4 25
danielebarchiesi@4 26 // Group option definition.
danielebarchiesi@4 27 $options['group'] = array(
danielebarchiesi@4 28 'contains' => array(
danielebarchiesi@4 29 'element_type' => array('default' => 'h3'),
danielebarchiesi@4 30 'class' => array('default' => 'title'),
danielebarchiesi@4 31 ),
danielebarchiesi@4 32 );
danielebarchiesi@4 33
danielebarchiesi@4 34 // List option definition.
danielebarchiesi@4 35 $options['list'] = array(
danielebarchiesi@4 36 'contains' => array(
danielebarchiesi@4 37 'element_type' => array('default' => ''),
danielebarchiesi@4 38 'class' => array('default' => ''),
danielebarchiesi@4 39 ),
danielebarchiesi@4 40 );
danielebarchiesi@4 41
danielebarchiesi@4 42 // Row option definition.
danielebarchiesi@4 43 $options['row'] = array(
danielebarchiesi@4 44 'contains' => array(
danielebarchiesi@4 45 'element_type' => array('default' => 'div'),
danielebarchiesi@4 46 'class' => array('default' => ''),
danielebarchiesi@4 47 'first_class' => array('default' => 'first'),
danielebarchiesi@4 48 'last_class' => array('default' => 'last'),
danielebarchiesi@4 49 'last_every_nth' => array('default' => '0'),
danielebarchiesi@4 50 'striping_classes' => array('default' => 'odd even'),
danielebarchiesi@4 51 ),
danielebarchiesi@4 52 );
danielebarchiesi@4 53
danielebarchiesi@4 54 return $options;
danielebarchiesi@4 55 }
danielebarchiesi@4 56
danielebarchiesi@4 57 /**
danielebarchiesi@4 58 * Render the given style.
danielebarchiesi@4 59 */
danielebarchiesi@4 60 function options_form(&$form, &$form_state) {
danielebarchiesi@4 61 parent::options_form($form, $form_state);
danielebarchiesi@4 62
danielebarchiesi@4 63 // Group options.
danielebarchiesi@4 64 $form['group'] = array(
danielebarchiesi@4 65 '#type' => 'fieldset',
danielebarchiesi@4 66 '#title' => t('Grouping title'),
danielebarchiesi@4 67 '#description' => t('If using groups, the view will insert the grouping&rsquo;s title field.'),
danielebarchiesi@4 68 '#attributes' => array(
danielebarchiesi@4 69 'class' => 'clear-block',
danielebarchiesi@4 70 ),
danielebarchiesi@4 71 );
danielebarchiesi@4 72 $form['group']['element_type'] = array(
danielebarchiesi@4 73 '#prefix' => '<div class="views-left-30">',
danielebarchiesi@4 74 '#suffix' => '</div>',
danielebarchiesi@4 75 '#title' => t('Element'),
danielebarchiesi@4 76 '#type' => 'textfield',
danielebarchiesi@4 77 '#size' => '10',
danielebarchiesi@4 78 '#default_value' => $this->options['group']['element_type'],
danielebarchiesi@4 79 );
danielebarchiesi@4 80 $form['group']['class'] = array(
danielebarchiesi@4 81 '#prefix' => '<div class="views-right-70">',
danielebarchiesi@4 82 '#suffix' => '</div>',
danielebarchiesi@4 83 '#title' => t('Class attribute'),
danielebarchiesi@4 84 '#type' => 'textfield',
danielebarchiesi@4 85 '#size' => '30',
danielebarchiesi@4 86 '#default_value' => $this->options['group']['class'],
danielebarchiesi@4 87 );
danielebarchiesi@4 88
danielebarchiesi@4 89 // List options.
danielebarchiesi@4 90 $form['list'] = array(
danielebarchiesi@4 91 '#type' => 'fieldset',
danielebarchiesi@4 92 '#title' => t('List'),
danielebarchiesi@4 93 '#description' => t('If the output should be a HTML list, select the element and class attribute. The row element should also be set to %li.', array('%li' => 'li')),
danielebarchiesi@4 94 '#attributes' => array(
danielebarchiesi@4 95 'class' => 'clear-block',
danielebarchiesi@4 96 ),
danielebarchiesi@4 97 );
danielebarchiesi@4 98 $form['list']['element_type'] = array(
danielebarchiesi@4 99 '#prefix' => '<div class="views-left-30">',
danielebarchiesi@4 100 '#suffix' => '</div>',
danielebarchiesi@4 101 '#type' => 'radios',
danielebarchiesi@4 102 '#title' => t('List type'),
danielebarchiesi@4 103 '#options' => array(
danielebarchiesi@4 104 '' => t('None'),
danielebarchiesi@4 105 'ul' => t('Unordered list'),
danielebarchiesi@4 106 'ol' => t('Ordered list'),
danielebarchiesi@4 107 'dl' => t('Definition list'),
danielebarchiesi@4 108 ),
danielebarchiesi@4 109 '#default_value' => $this->options['list']['element_type'],
danielebarchiesi@4 110 );
danielebarchiesi@4 111 $form['list']['class'] = array(
danielebarchiesi@4 112 '#prefix' => '<div class="views-right-70">',
danielebarchiesi@4 113 '#suffix' => '</div>',
danielebarchiesi@4 114 '#title' => t('Class attribute'),
danielebarchiesi@4 115 '#type' => 'textfield',
danielebarchiesi@4 116 '#size' => '30',
danielebarchiesi@4 117 '#default_value' => $this->options['list']['class'],
danielebarchiesi@4 118 );
danielebarchiesi@4 119
danielebarchiesi@4 120 // Row options.
danielebarchiesi@4 121 $form['row'] = array(
danielebarchiesi@4 122 '#type' => 'fieldset',
danielebarchiesi@4 123 '#title' => t('Row'),
danielebarchiesi@4 124 '#attributes' => array(
danielebarchiesi@4 125 'class' => 'clear-block',
danielebarchiesi@4 126 ),
danielebarchiesi@4 127 );
danielebarchiesi@4 128 $form['row']['element_type'] = array(
danielebarchiesi@4 129 '#prefix' => '<div class="clear-block"><div class="views-left-30">',
danielebarchiesi@4 130 '#suffix' => '</div>',
danielebarchiesi@4 131 '#title' => t('Element'),
danielebarchiesi@4 132 '#type' => 'textfield',
danielebarchiesi@4 133 '#size' => '10',
danielebarchiesi@4 134 '#default_value' => $this->options['row']['element_type'],
danielebarchiesi@4 135 );
danielebarchiesi@4 136 $form['row']['class'] = array(
danielebarchiesi@4 137 '#prefix' => '<div class="views-right-70">',
danielebarchiesi@4 138 '#suffix' => '</div></div>',
danielebarchiesi@4 139 '#title' => t('Class attribute'),
danielebarchiesi@4 140 '#type' => 'textfield',
danielebarchiesi@4 141 '#size' => '30',
danielebarchiesi@4 142 '#default_value' => $this->options['row']['class'],
danielebarchiesi@4 143 '#description' => t('Insert a %hash where you want row enumeration.', array('%hash' => '#')),
danielebarchiesi@4 144 );
danielebarchiesi@4 145
danielebarchiesi@4 146 // First and last class options.
danielebarchiesi@4 147 $form['row']['first_last'] = array(
danielebarchiesi@4 148 '#type' => 'fieldset',
danielebarchiesi@4 149 '#title' => t('First and last classes'),
danielebarchiesi@4 150 // The #parents attribute must be set to avoid another array layer around
danielebarchiesi@4 151 // the group of FIRST/LAST class attribute options.
danielebarchiesi@4 152 '#parents' => array('style_options', 'row'),
danielebarchiesi@4 153 '#description' => t('If the %last_every_nth option is empty or zero, the %first_class and %last_class are added once to only the first and last rows in the pager set. If this option is greater than 1, these classes are added to every n<sup>th</sup> row, which may be useful for grid layouts where the initial and final unit&rsquo;s lateral margins must be 0.', array(
danielebarchiesi@4 154 '%last_every_nth' => 'FIRST/LAST every nth',
danielebarchiesi@4 155 '%first_class' => 'FIRST class attribute',
danielebarchiesi@4 156 '%last_class' => 'LAST class attribute',
danielebarchiesi@4 157 )
danielebarchiesi@4 158 ),
danielebarchiesi@4 159 '#attributes' => array(
danielebarchiesi@4 160 'class' => 'clear-block',
danielebarchiesi@4 161 ),
danielebarchiesi@4 162 );
danielebarchiesi@4 163 $form['row']['first_last']['last_every_nth'] = array(
danielebarchiesi@4 164 '#type' => 'textfield',
danielebarchiesi@4 165 '#size' => '10',
danielebarchiesi@4 166 '#title' => t('FIRST/LAST every n<sup>th</sup>'),
danielebarchiesi@4 167 '#default_value' => $this->options['row']['last_every_nth'],
danielebarchiesi@4 168 );
danielebarchiesi@4 169 $form['row']['first_last']['first_class'] = array(
danielebarchiesi@4 170 '#prefix' => '<div class="views-left-50">',
danielebarchiesi@4 171 '#suffix' => '</div>',
danielebarchiesi@4 172 '#title' => t('FIRST class attribute'),
danielebarchiesi@4 173 '#type' => 'textfield',
danielebarchiesi@4 174 '#size' => '30',
danielebarchiesi@4 175 '#default_value' => $this->options['row']['first_class'],
danielebarchiesi@4 176 );
danielebarchiesi@4 177 $form['row']['first_last']['last_class'] = array(
danielebarchiesi@4 178 '#prefix' => '<div class="views-right-50">',
danielebarchiesi@4 179 '#suffix' => '</div>',
danielebarchiesi@4 180 '#title' => t('LAST class attribute'),
danielebarchiesi@4 181 '#type' => 'textfield',
danielebarchiesi@4 182 '#size' => '30',
danielebarchiesi@4 183 '#default_value' => $this->options['row']['last_class'],
danielebarchiesi@4 184 );
danielebarchiesi@4 185
danielebarchiesi@4 186 // Striping class options.
danielebarchiesi@4 187 $form['row']['striping_classes'] = array(
danielebarchiesi@4 188 '#title' => t('Striping class attributes'),
danielebarchiesi@4 189 '#type' => 'textfield',
danielebarchiesi@4 190 '#size' => '30',
danielebarchiesi@4 191 '#default_value' => $this->options['row']['striping_classes'],
danielebarchiesi@4 192 '#description' => t('One striping class attribute is applied to each row. Separate multiple attributes with a space.'),
danielebarchiesi@4 193 );
danielebarchiesi@4 194
danielebarchiesi@4 195 // Get a list of the available fields for token replacement.
danielebarchiesi@4 196 $options = array();
danielebarchiesi@4 197 foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) {
danielebarchiesi@4 198 $options[t('Fields')]["[$field]"] = $handler->ui_name();
danielebarchiesi@4 199 }
danielebarchiesi@4 200
danielebarchiesi@4 201 // Default text.
danielebarchiesi@4 202 $output = t('<p>Add additional fields to this display in order to get any available replacement patterns.</p>');
danielebarchiesi@4 203 // We have some options, so make a list.
danielebarchiesi@4 204 if (!empty($options)) {
danielebarchiesi@4 205 $output = t('<p>The following replacement patterns are available for this display. Use the pattern shown on the left to display the value indicated on the right.</p>');
danielebarchiesi@4 206 foreach (array_keys($options) as $type) {
danielebarchiesi@4 207 if (!empty($options[$type])) {
danielebarchiesi@4 208 $items = array();
danielebarchiesi@4 209 foreach ($options[$type] as $key => $value) {
danielebarchiesi@4 210 $items[] = $key . ' == ' . $value;
danielebarchiesi@4 211 }
danielebarchiesi@4 212 $output .= theme('item_list', $items, $type);
danielebarchiesi@4 213 }
danielebarchiesi@4 214 }
danielebarchiesi@4 215 }
danielebarchiesi@4 216
danielebarchiesi@4 217 $form['row']['alter'] = array(
danielebarchiesi@4 218 '#type' => 'markup',
danielebarchiesi@4 219 '#value' => '<fieldset id="views-tokens-help"><legend>' . t('Replacement patterns') . '</legend>' . $output . '</fieldset>',
danielebarchiesi@4 220 );
danielebarchiesi@4 221 }
danielebarchiesi@4 222
danielebarchiesi@4 223 /**
danielebarchiesi@4 224 * Validate the options form.
danielebarchiesi@4 225 */
danielebarchiesi@4 226 function options_validate(&$form, &$form_state) {
danielebarchiesi@4 227 parent::options_validate($form, $form_state);
danielebarchiesi@4 228 // TODO: validate that the elements and classes are valid HTML. This is not
danielebarchiesi@4 229 // a substitute for output filtering.
danielebarchiesi@4 230 }
danielebarchiesi@4 231 }