annotate sites/all/modules/views_slideshow/views_slideshow.module @ 2:b74b41bb73f0

-- Google analytics module
author danieleb <danielebarchiesi@me.com>
date Thu, 22 Aug 2013 17:22:54 +0100
parents
children
rev   line source
danielebarchiesi@2 1 <?php
danielebarchiesi@2 2
danielebarchiesi@2 3 /**
danielebarchiesi@2 4 * @file
danielebarchiesi@2 5 * Provides Slideshow style options for Views.
danielebarchiesi@2 6 */
danielebarchiesi@2 7
danielebarchiesi@2 8 /**
danielebarchiesi@2 9 * Implement hook_theme().
danielebarchiesi@2 10 */
danielebarchiesi@2 11 function views_slideshow_theme($existing, $type, $theme, $path) {
danielebarchiesi@2 12 return array(
danielebarchiesi@2 13 'views_slideshow_main_section' => array(
danielebarchiesi@2 14 'variables' => array('vss_id' => NULL, 'slides' => NULL, 'plugin' => NULL),
danielebarchiesi@2 15 'file' => 'theme/views_slideshow.theme.inc',
danielebarchiesi@2 16 ),
danielebarchiesi@2 17 'views_slideshow_pager_widget_render' => array(
danielebarchiesi@2 18 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'rows' => array()),
danielebarchiesi@2 19 'file' => 'theme/views_slideshow.theme.inc',
danielebarchiesi@2 20 ),
danielebarchiesi@2 21 'views_slideshow_pager_fields' => array(
danielebarchiesi@2 22 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'attributes' => array()),
danielebarchiesi@2 23 'template' => 'theme/views-slideshow-pager-fields',
danielebarchiesi@2 24 ),
danielebarchiesi@2 25 'views_slideshow_pager_field_field' => array(
danielebarchiesi@2 26 'variables' => array('view' => NULL, 'field' => NULL, 'count' => NULL),
danielebarchiesi@2 27 'template' => 'theme/views-slideshow-pager-field-field',
danielebarchiesi@2 28 'file' => 'theme/views_slideshow.theme.inc',
danielebarchiesi@2 29 ),
danielebarchiesi@2 30 'views_slideshow_pager_field_item' => array(
danielebarchiesi@2 31 'variables' => array('vss_id' => NULL, 'item' => NULL, 'count' => NULL, 'location' => NULL),
danielebarchiesi@2 32 'template' => 'theme/views-slideshow-pager-field-item',
danielebarchiesi@2 33 ),
danielebarchiesi@2 34 'views_slideshow_controls_widget_render' => array(
danielebarchiesi@2 35 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'rows' => array()),
danielebarchiesi@2 36 'file' => 'theme/views_slideshow.theme.inc',
danielebarchiesi@2 37 ),
danielebarchiesi@2 38 'views_slideshow_controls_text' => array(
danielebarchiesi@2 39 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'rows' => array()),
danielebarchiesi@2 40 'template' => 'theme/views-slideshow-controls-text',
danielebarchiesi@2 41 ),
danielebarchiesi@2 42 'views_slideshow_controls_text_previous' => array(
danielebarchiesi@2 43 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array()),
danielebarchiesi@2 44 'template' => 'theme/views-slideshow-controls-text-previous',
danielebarchiesi@2 45 ),
danielebarchiesi@2 46 'views_slideshow_controls_text_pause' => array(
danielebarchiesi@2 47 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array()),
danielebarchiesi@2 48 'template' => 'theme/views-slideshow-controls-text-pause',
danielebarchiesi@2 49 ),
danielebarchiesi@2 50 'views_slideshow_controls_text_next' => array(
danielebarchiesi@2 51 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array()),
danielebarchiesi@2 52 'template' => 'theme/views-slideshow-controls-text-next',
danielebarchiesi@2 53 ),
danielebarchiesi@2 54 'views_slideshow_slide_counter_widget_render' => array(
danielebarchiesi@2 55 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'rows' => array()),
danielebarchiesi@2 56 'file' => 'theme/views_slideshow.theme.inc',
danielebarchiesi@2 57 ),
danielebarchiesi@2 58 'views_slideshow_slide_counter' => array(
danielebarchiesi@2 59 'variables' => array('vss_id' => NULL, 'view' => NULL, 'settings' => array(), 'location' => NULL, 'rows' => array()),
danielebarchiesi@2 60 'template' => 'theme/views-slideshow-slide-counter',
danielebarchiesi@2 61 ),
danielebarchiesi@2 62 );
danielebarchiesi@2 63 }
danielebarchiesi@2 64
danielebarchiesi@2 65 /**
danielebarchiesi@2 66 * Implements hook_views_api().
danielebarchiesi@2 67 */
danielebarchiesi@2 68 function views_slideshow_views_api() {
danielebarchiesi@2 69 return array(
danielebarchiesi@2 70 'api' => '3',
danielebarchiesi@2 71 );
danielebarchiesi@2 72 }
danielebarchiesi@2 73
danielebarchiesi@2 74 /**
danielebarchiesi@2 75 * Implements hook_help().
danielebarchiesi@2 76 */
danielebarchiesi@2 77 function views_slideshow_help($path, $arg) {
danielebarchiesi@2 78 switch ($path) {
danielebarchiesi@2 79 case 'admin/help#views_slideshow':
danielebarchiesi@2 80 return '<p>Check the Views Slideshow project page documentation for tutorials and videos on how to use this module.</p>';
danielebarchiesi@2 81 }
danielebarchiesi@2 82 }
danielebarchiesi@2 83
danielebarchiesi@2 84 /**
danielebarchiesi@2 85 * Implements hook_init().
danielebarchiesi@2 86 */
danielebarchiesi@2 87 function views_slideshow_init() {
danielebarchiesi@2 88 // Load javascript on the page in init to help fool caching.
danielebarchiesi@2 89 drupal_add_js(drupal_get_path('module', 'views_slideshow') . '/js/views_slideshow.js');
danielebarchiesi@2 90
danielebarchiesi@2 91 $vs_path = drupal_get_path('module', 'views_slideshow');
danielebarchiesi@2 92 drupal_add_css($vs_path . '/views_slideshow.css');
danielebarchiesi@2 93 }
danielebarchiesi@2 94
danielebarchiesi@2 95 /**
danielebarchiesi@2 96 * Implementation of hook_views_slideshow_skin_info().
danielebarchiesi@2 97 */
danielebarchiesi@2 98 function views_slideshow_views_slideshow_skin_info() {
danielebarchiesi@2 99 return array(
danielebarchiesi@2 100 'default' => array(
danielebarchiesi@2 101 'name' => t('Default'),
danielebarchiesi@2 102 ),
danielebarchiesi@2 103 );
danielebarchiesi@2 104 }
danielebarchiesi@2 105
danielebarchiesi@2 106 /**
danielebarchiesi@2 107 * Implements hook_views_slideshow_widget_info().
danielebarchiesi@2 108 */
danielebarchiesi@2 109 function views_slideshow_views_slideshow_widget_info() {
danielebarchiesi@2 110 return array(
danielebarchiesi@2 111 'views_slideshow_pager' => array(
danielebarchiesi@2 112 'name' => t('Pager'),
danielebarchiesi@2 113 'accepts' => array(
danielebarchiesi@2 114 'transitionBegin' => array('required' => TRUE),
danielebarchiesi@2 115 'goToSlide',
danielebarchiesi@2 116 'previousSlide',
danielebarchiesi@2 117 'nextSlide',
danielebarchiesi@2 118 ),
danielebarchiesi@2 119 'calls' => array(
danielebarchiesi@2 120 'goToSlide',
danielebarchiesi@2 121 'pause',
danielebarchiesi@2 122 'play',
danielebarchiesi@2 123 ),
danielebarchiesi@2 124 ),
danielebarchiesi@2 125 'views_slideshow_controls' => array(
danielebarchiesi@2 126 'name' => t('Controls'),
danielebarchiesi@2 127 'accepts' => array(
danielebarchiesi@2 128 'pause' => array('required' => TRUE),
danielebarchiesi@2 129 'play' => array('required' => TRUE),
danielebarchiesi@2 130 ),
danielebarchiesi@2 131 'calls' => array(
danielebarchiesi@2 132 'nextSlide',
danielebarchiesi@2 133 'pause',
danielebarchiesi@2 134 'play',
danielebarchiesi@2 135 'previousSlide',
danielebarchiesi@2 136 ),
danielebarchiesi@2 137 ),
danielebarchiesi@2 138 'views_slideshow_slide_counter' => array(
danielebarchiesi@2 139 'name' => t('Slide Counter'),
danielebarchiesi@2 140 'accepts' => array(
danielebarchiesi@2 141 'transitionBegin' => array('required' => TRUE),
danielebarchiesi@2 142 'goToSlide',
danielebarchiesi@2 143 'previousSlide',
danielebarchiesi@2 144 'nextSlide',
danielebarchiesi@2 145 ),
danielebarchiesi@2 146 'calls' => array(),
danielebarchiesi@2 147 ),
danielebarchiesi@2 148 );
danielebarchiesi@2 149 }
danielebarchiesi@2 150
danielebarchiesi@2 151 /**
danielebarchiesi@2 152 * Implements [widget]_views_slideshow_widget_form_options().
danielebarchiesi@2 153 */
danielebarchiesi@2 154 function views_slideshow_pager_views_slideshow_widget_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
danielebarchiesi@2 155 // Get all the pager info from other modules.
danielebarchiesi@2 156 // hook_views_slideshow_pager_info($view, $option_values, $dependency_prefix)
danielebarchiesi@2 157 $pagers = module_invoke_all('views_slideshow_widget_pager_info', $view);
danielebarchiesi@2 158
danielebarchiesi@2 159 if (!empty($pagers)) {
danielebarchiesi@2 160 $pager_options = array();
danielebarchiesi@2 161 foreach($pagers as $pager_id => $pager_info) {
danielebarchiesi@2 162 $pager_options[$pager_id] = $pager_info['name'];
danielebarchiesi@2 163 }
danielebarchiesi@2 164 asort($pager_options);
danielebarchiesi@2 165
danielebarchiesi@2 166 // Need to wrap this so it indents correctly.
danielebarchiesi@2 167 $form['views_slideshow_pager_wrapper'] = array(
danielebarchiesi@2 168 '#markup' => '<div class="vs-dependent">',
danielebarchiesi@2 169 );
danielebarchiesi@2 170
danielebarchiesi@2 171 // Add field to see if they would like to hide pager if there is only one
danielebarchiesi@2 172 // slide.
danielebarchiesi@2 173 $form['hide_on_single_slide'] = array(
danielebarchiesi@2 174 '#type' => 'checkbox',
danielebarchiesi@2 175 '#title' => t('Hide pager if there is only one slide'),
danielebarchiesi@2 176 '#default_value' => $defaults['hide_on_single_slide'],
danielebarchiesi@2 177 '#description' => t('Should the pager be hidden if there is only one slide.'),
danielebarchiesi@2 178 '#states' => array(
danielebarchiesi@2 179 'visible' => array(
danielebarchiesi@2 180 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 181 ),
danielebarchiesi@2 182 ),
danielebarchiesi@2 183 );
danielebarchiesi@2 184
danielebarchiesi@2 185 // Create the widget type field.
danielebarchiesi@2 186 $form['type'] = array(
danielebarchiesi@2 187 '#type' => 'select',
danielebarchiesi@2 188 '#title' => t('Pager Type'),
danielebarchiesi@2 189 '#description' => t('Style of the pager'),
danielebarchiesi@2 190 '#default_value' => $defaults['type'],
danielebarchiesi@2 191 '#options' => $pager_options,
danielebarchiesi@2 192 '#states' => array(
danielebarchiesi@2 193 'visible' => array(
danielebarchiesi@2 194 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 195 ),
danielebarchiesi@2 196 ),
danielebarchiesi@2 197 );
danielebarchiesi@2 198
danielebarchiesi@2 199 // Add any additional form elements
danielebarchiesi@2 200 // Build our arguments to pass to
danielebarchiesi@2 201 // [pager-type]_views_slideshow_widget_pager_form_options
danielebarchiesi@2 202 $arguments = array(
danielebarchiesi@2 203 &$form,
danielebarchiesi@2 204 &$form_state,
danielebarchiesi@2 205 &$view,
danielebarchiesi@2 206 $defaults,
danielebarchiesi@2 207 $dependency,
danielebarchiesi@2 208 );
danielebarchiesi@2 209
danielebarchiesi@2 210 foreach ($pagers as $pager_key => $pager_info) {
danielebarchiesi@2 211 $function = $pager_key . '_views_slideshow_widget_pager_form_options';
danielebarchiesi@2 212 if (function_exists($function)) {
danielebarchiesi@2 213 call_user_func_array($function, $arguments);
danielebarchiesi@2 214 }
danielebarchiesi@2 215 }
danielebarchiesi@2 216
danielebarchiesi@2 217 $form['views_slideshow_pager_wrapper_close'] = array(
danielebarchiesi@2 218 '#markup' => '</div>',
danielebarchiesi@2 219 );
danielebarchiesi@2 220 }
danielebarchiesi@2 221 else {
danielebarchiesi@2 222 $form['enable_pager'] = array(
danielebarchiesi@2 223 '#markup' => 'There are no pagers available.',
danielebarchiesi@2 224 );
danielebarchiesi@2 225 }
danielebarchiesi@2 226 }
danielebarchiesi@2 227
danielebarchiesi@2 228 /**
danielebarchiesi@2 229 * Implementation of hook_views_slideshow_widget_pager_info
danielebarchiesi@2 230 */
danielebarchiesi@2 231 function views_slideshow_views_slideshow_widget_pager_info($view) {
danielebarchiesi@2 232 $settings = array();
danielebarchiesi@2 233 // Settings for fields pager.
danielebarchiesi@2 234 // First verfiy that the view is using fields.
danielebarchiesi@2 235 if ($view->row_plugin->uses_fields()) {
danielebarchiesi@2 236 $settings = array(
danielebarchiesi@2 237 'views_slideshow_pager_fields' => array(
danielebarchiesi@2 238 'name' => t('Fields'),
danielebarchiesi@2 239 ),
danielebarchiesi@2 240 );
danielebarchiesi@2 241 }
danielebarchiesi@2 242
danielebarchiesi@2 243 return $settings;
danielebarchiesi@2 244 }
danielebarchiesi@2 245
danielebarchiesi@2 246 /**
danielebarchiesi@2 247 * Implementation [widget-type]_views_slideshow_pager_form_options
danielebarchiesi@2 248 */
danielebarchiesi@2 249 function views_slideshow_pager_fields_views_slideshow_widget_pager_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
danielebarchiesi@2 250 // Settings for fields pager.
danielebarchiesi@2 251 $options = array();
danielebarchiesi@2 252 // Get each field and it's name.
danielebarchiesi@2 253 foreach ($view->display->handler->get_handlers('field') as $field => $handler) {
danielebarchiesi@2 254 $options[$field] = $handler->ui_name();
danielebarchiesi@2 255 }
danielebarchiesi@2 256 // Need to wrap this so it indents correctly.
danielebarchiesi@2 257 $form['views_slideshow_pager_fields_wrapper'] = array(
danielebarchiesi@2 258 '#markup' => '<div class="vs-dependent">',
danielebarchiesi@2 259 );
danielebarchiesi@2 260 // Add ability to choose which fields to show in the pager.
danielebarchiesi@2 261 $form['views_slideshow_pager_fields_fields'] = array(
danielebarchiesi@2 262 '#type' => 'checkboxes',
danielebarchiesi@2 263 '#title' => t('Pager fields'),
danielebarchiesi@2 264 '#options' => $options,
danielebarchiesi@2 265 '#default_value' => $defaults['views_slideshow_pager_fields_fields'],
danielebarchiesi@2 266 '#description' => t("Choose the fields that will appear in the pager."),
danielebarchiesi@2 267 '#process' => array(
danielebarchiesi@2 268 'form_process_checkboxes',
danielebarchiesi@2 269 ),
danielebarchiesi@2 270 '#states' => array(
danielebarchiesi@2 271 'visible' => array(
danielebarchiesi@2 272 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 273 ':input[name="' . $dependency . '[type]"]' => array('value' => 'views_slideshow_pager_fields'),
danielebarchiesi@2 274 ),
danielebarchiesi@2 275 ),
danielebarchiesi@2 276 );
danielebarchiesi@2 277
danielebarchiesi@2 278 // Add field to see if they would like to activate slide and pause on pager
danielebarchiesi@2 279 // hover
danielebarchiesi@2 280 $form['views_slideshow_pager_fields_hover'] = array(
danielebarchiesi@2 281 '#type' => 'checkbox',
danielebarchiesi@2 282 '#title' => t('Activate Slide and Pause on Pager Hover'),
danielebarchiesi@2 283 '#default_value' => $defaults['views_slideshow_pager_fields_hover'],
danielebarchiesi@2 284 '#description' => t('Should the slide be activated and paused when hovering over a pager item.'),
danielebarchiesi@2 285 '#states' => array(
danielebarchiesi@2 286 'visible' => array(
danielebarchiesi@2 287 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 288 ':input[name="' . $dependency . '[type]"]' => array('value' => 'views_slideshow_pager_fields'),
danielebarchiesi@2 289 ),
danielebarchiesi@2 290 ),
danielebarchiesi@2 291 );
danielebarchiesi@2 292
danielebarchiesi@2 293 $form['views_slideshow_pager_fields_wrapper_close'] = array(
danielebarchiesi@2 294 '#markup' => '</div>',
danielebarchiesi@2 295 );
danielebarchiesi@2 296 }
danielebarchiesi@2 297
danielebarchiesi@2 298 /**
danielebarchiesi@2 299 * Implements [widget]_views_slideshow_widget_form_options().
danielebarchiesi@2 300 */
danielebarchiesi@2 301 function views_slideshow_controls_views_slideshow_widget_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
danielebarchiesi@2 302 // Get all the control info from other modules.
danielebarchiesi@2 303 // hook_views_slideshow_controls_settings($view, $option_values, $dependency_prefix)
danielebarchiesi@2 304 $controls = module_invoke_all('views_slideshow_widget_controls_info', $view);
danielebarchiesi@2 305
danielebarchiesi@2 306 if (!empty($controls)) {
danielebarchiesi@2 307 $control_type_options = array();
danielebarchiesi@2 308 foreach($controls as $control_id => $control_info) {
danielebarchiesi@2 309 $control_type_options[$control_id] = $control_info['name'];
danielebarchiesi@2 310 }
danielebarchiesi@2 311 asort($control_type_options);
danielebarchiesi@2 312
danielebarchiesi@2 313 // Need to wrap this so it indents correctly.
danielebarchiesi@2 314 $form['views_slideshow_controls_wrapper'] = array(
danielebarchiesi@2 315 '#markup' => '<div class="vs-dependent">',
danielebarchiesi@2 316 );
danielebarchiesi@2 317
danielebarchiesi@2 318 // Add field to see if they would like to hide controls if there is only one
danielebarchiesi@2 319 // slide
danielebarchiesi@2 320 $form['hide_on_single_slide'] = array(
danielebarchiesi@2 321 '#type' => 'checkbox',
danielebarchiesi@2 322 '#title' => t('Hide controls if there is only one slide'),
danielebarchiesi@2 323 '#default_value' => $defaults['hide_on_single_slide'],
danielebarchiesi@2 324 '#description' => t('Should the controls be hidden if there is only one slide.'),
danielebarchiesi@2 325 '#states' => array(
danielebarchiesi@2 326 'visible' => array(
danielebarchiesi@2 327 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 328 ),
danielebarchiesi@2 329 ),
danielebarchiesi@2 330 );
danielebarchiesi@2 331
danielebarchiesi@2 332 // Create the widget type field.
danielebarchiesi@2 333 $form['type'] = array(
danielebarchiesi@2 334 '#type' => 'select',
danielebarchiesi@2 335 '#title' => t('Controls Type'),
danielebarchiesi@2 336 '#description' => t('Style of the controls'),
danielebarchiesi@2 337 '#default_value' => $defaults['type'],
danielebarchiesi@2 338 '#options' => $control_type_options,
danielebarchiesi@2 339 '#states' => array(
danielebarchiesi@2 340 'visible' => array(
danielebarchiesi@2 341 ':input[name="' . $dependency . '[enable]"]' => array('checked' => TRUE),
danielebarchiesi@2 342 ),
danielebarchiesi@2 343 ),
danielebarchiesi@2 344 );
danielebarchiesi@2 345
danielebarchiesi@2 346 // Add any additional form elements
danielebarchiesi@2 347 // Build our arguments to pass to
danielebarchiesi@2 348 // [pager-type]_views_slideshow_widget_pager_form_options
danielebarchiesi@2 349 $arguments = array(
danielebarchiesi@2 350 &$form,
danielebarchiesi@2 351 &$form_state,
danielebarchiesi@2 352 &$view,
danielebarchiesi@2 353 $defaults,
danielebarchiesi@2 354 $dependency,
danielebarchiesi@2 355 );
danielebarchiesi@2 356
danielebarchiesi@2 357 foreach ($controls as $control_key => $control_info) {
danielebarchiesi@2 358 $function = $control_key . '_views_slideshow_widget_controls_form_options';
danielebarchiesi@2 359 if (function_exists($function)) {
danielebarchiesi@2 360 call_user_func_array($function, $arguments);
danielebarchiesi@2 361 }
danielebarchiesi@2 362 }
danielebarchiesi@2 363
danielebarchiesi@2 364 $form['controls_wrapper_close'] = array(
danielebarchiesi@2 365 '#markup' => '</div>',
danielebarchiesi@2 366 );
danielebarchiesi@2 367 }
danielebarchiesi@2 368 else {
danielebarchiesi@2 369 $form['enable_controls'] = array(
danielebarchiesi@2 370 '#markup' => 'There are no controls available.',
danielebarchiesi@2 371 );
danielebarchiesi@2 372 }
danielebarchiesi@2 373 }
danielebarchiesi@2 374
danielebarchiesi@2 375 /**
danielebarchiesi@2 376 * Implementation of hook_views_slideshow_controls_info
danielebarchiesi@2 377 */
danielebarchiesi@2 378 function views_slideshow_views_slideshow_widget_controls_info($view) {
danielebarchiesi@2 379 return array(
danielebarchiesi@2 380 'views_slideshow_controls_text' => array(
danielebarchiesi@2 381 'name' => t('Text'),
danielebarchiesi@2 382 )
danielebarchiesi@2 383 );
danielebarchiesi@2 384 }
danielebarchiesi@2 385
danielebarchiesi@2 386 /**
danielebarchiesi@2 387 * Implements hook_views_slideshow_option_definition.
danielebarchiesi@2 388 */
danielebarchiesi@2 389 function views_slideshow_views_slideshow_option_definition() {
danielebarchiesi@2 390
danielebarchiesi@2 391 // Default slideshow type and skins
danielebarchiesi@2 392 $options['slideshow_type'] = array('default' => '');
danielebarchiesi@2 393 $options['slideshow_skin'] = array('default' => '');
danielebarchiesi@2 394 $options['skin_info'] = array(
danielebarchiesi@2 395 'default' => array(
danielebarchiesi@2 396 'class' => 'default',
danielebarchiesi@2 397 'name' => t('Untitled skin'),
danielebarchiesi@2 398 'module' => 'views_slideshow',
danielebarchiesi@2 399 'path' => '',
danielebarchiesi@2 400 'stylesheets' => array(),
danielebarchiesi@2 401 ),
danielebarchiesi@2 402 );
danielebarchiesi@2 403
danielebarchiesi@2 404 // Set default widgets and weight values.
danielebarchiesi@2 405 $widgets = module_invoke_all('views_slideshow_widget_info');
danielebarchiesi@2 406 if ($widgets) {
danielebarchiesi@2 407 $locations = array('top', 'bottom');
danielebarchiesi@2 408 foreach ($locations as $location) {
danielebarchiesi@2 409 foreach ($widgets as $widget_id => $widget_name) {
danielebarchiesi@2 410 $options['widgets']['contains'][$location]['contains'][$widget_id]['contains']['enable'] = array('default' => 0);
danielebarchiesi@2 411 $options['widgets']['contains'][$location]['contains'][$widget_id]['contains']['weight'] = array('default' => 1);
danielebarchiesi@2 412 }
danielebarchiesi@2 413 }
danielebarchiesi@2 414 }
danielebarchiesi@2 415
danielebarchiesi@2 416 // Defaults for the pager widget.
danielebarchiesi@2 417 foreach ($locations as $location) {
danielebarchiesi@2 418 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['hide_on_single_slide'] = array('default' => 0);
danielebarchiesi@2 419 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['type'] = array('default' => 0);
danielebarchiesi@2 420 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_numbered_hover'] = array('default' => 0);
danielebarchiesi@2 421 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_numbered_click_to_page'] = array('default' => 0);
danielebarchiesi@2 422 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_thumbnails_hover'] = array('default' => 0);
danielebarchiesi@2 423 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_thumbnails_click_to_page'] = array('default' => 0);
danielebarchiesi@2 424 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_fields_fields'] = array('default' => array());
danielebarchiesi@2 425 $options['widgets']['contains'][$location]['contains']['views_slideshow_pager']['contains']['views_slideshow_pager_fields_hover'] = array('default' => 0);
danielebarchiesi@2 426
danielebarchiesi@2 427 $options['widgets']['contains'][$location]['contains']['views_slideshow_controls']['contains']['hide_on_single_slide'] = array('default' => 0);
danielebarchiesi@2 428 $options['widgets']['contains'][$location]['contains']['views_slideshow_controls']['contains']['type'] = array('default' => 0);
danielebarchiesi@2 429 }
danielebarchiesi@2 430
danielebarchiesi@2 431 return $options;
danielebarchiesi@2 432 }
danielebarchiesi@2 433
danielebarchiesi@2 434 /**
danielebarchiesi@2 435 * Need to have preprocess functions here because drupal doesn't cache them
danielebarchiesi@2 436 * correctly in the theme.inc file.
danielebarchiesi@2 437 *
danielebarchiesi@2 438 * If you would like to override the preprocess functions make sure to look at
danielebarchiesi@2 439 * the associated function in theme.inc.
danielebarchiesi@2 440 */
danielebarchiesi@2 441
danielebarchiesi@2 442 // Trying to make sure the theme.inc get's loaded.
danielebarchiesi@2 443 include_once('theme/views_slideshow.theme.inc');
danielebarchiesi@2 444
danielebarchiesi@2 445 function template_preprocess_views_slideshow(&$vars) {
danielebarchiesi@2 446 _views_slideshow_preprocess_views_slideshow($vars);
danielebarchiesi@2 447 }
danielebarchiesi@2 448
danielebarchiesi@2 449 function template_preprocess_views_slideshow_pager_fields(&$vars) {
danielebarchiesi@2 450 _views_slideshow_preprocess_views_slideshow_pager_fields($vars);
danielebarchiesi@2 451 }
danielebarchiesi@2 452
danielebarchiesi@2 453 function template_preprocess_views_slideshow_pager_field_item(&$vars) {
danielebarchiesi@2 454 _views_slideshow_preprocess_views_slideshow_pager_field_item($vars);
danielebarchiesi@2 455 }
danielebarchiesi@2 456
danielebarchiesi@2 457 function template_preprocess_views_slideshow_controls_text(&$vars) {
danielebarchiesi@2 458 _views_slideshow_preprocess_views_slideshow_controls_text($vars);
danielebarchiesi@2 459 }
danielebarchiesi@2 460
danielebarchiesi@2 461 function template_preprocess_views_slideshow_controls_text_previous(&$vars) {
danielebarchiesi@2 462 _views_slideshow_preprocess_views_slideshow_controls_text_previous($vars);
danielebarchiesi@2 463 }
danielebarchiesi@2 464
danielebarchiesi@2 465 function template_preprocess_views_slideshow_controls_text_pause(&$vars) {
danielebarchiesi@2 466 _views_slideshow_preprocess_views_slideshow_controls_text_pause($vars);
danielebarchiesi@2 467 }
danielebarchiesi@2 468
danielebarchiesi@2 469 function template_preprocess_views_slideshow_controls_text_next(&$vars) {
danielebarchiesi@2 470 _views_slideshow_preprocess_views_slideshow_controls_text_next($vars);
danielebarchiesi@2 471 }
danielebarchiesi@2 472
danielebarchiesi@2 473 function template_preprocess_views_slideshow_slide_counter(&$vars) {
danielebarchiesi@2 474 _views_slideshow_preprocess_views_slideshow_slide_counter($vars);
danielebarchiesi@2 475 }