view = &$view; $this->display = &$display; // Overlay incoming options on top of defaults $this->unpack_options($this->options, isset($options) ? $options : $display->handler->get_option('style_options')); if ($this->uses_row_plugin() && $display->handler->get_option('row_plugin')) { $this->row_plugin = $display->handler->get_plugin('row'); } // Eveything below here is what's needed for views slideshow. if (in_array($options['mode'], array('singleframe', 'thumbnailhover', 'menu', 'slider', 'ddblock')) && is_array($options[$options['mode']])) { foreach ($options[$options['mode']] as $index => $value) { $this->options['views_slideshow_' . $options['mode']][$index] = $value; } } } // Set default options function option_definition() { module_load_all_includes('views_slideshow.inc'); $options = parent::option_definition(); $options = array_merge($options, module_invoke_all('views_slideshow_option_definition')); $options['mode'] = array('default' => ''); return $options; } // Render the given style. function options_form(&$form, &$form_state) { module_load_all_includes('views_slideshow.inc'); parent::options_form($form, $form_state); $modules = module_invoke_all('views_slideshow_modes'); if ($modules) { $form['mode'] = array( '#type' => 'select', '#title' => t('Slideshow mode'), '#options' => $modules, '#default_value' => $this->options['mode'], ); foreach (module_implements('views_slideshow_options_form') as $module) { // We wrap our fieldsets in a div so we can use dependent.js to // show/hide our fieldsets. $form[$module . '-prefix'] = array( '#type' => 'hidden', '#id' => $module . '-options-wrapper', '#prefix' => '
', '#process' => array('views_process_dependency'), '#dependency' => array('edit-style-options-mode' => array($module)), ); $form[$module] = array( '#type' => 'fieldset', '#title' => t( $modules[$module] . ' options'), '#collapsible' => TRUE, '#attributes' => array('class' => $module), ); $function = $module .'_views_slideshow_options_form'; call_user_func_array($function, array(&$form, &$form_state, &$this)); $form[$module . '-suffix'] = array( '#value' => '
', ); } } else { $form['enable_module'] = array( '#value' => t('There is no Views Slideshow plugin enabled. Go to the !modules and enable a Views Slideshow plugin module. For example Views Slideshow Singleframe.', array('!modules' => l('Modules Page', 'admin/build/modules'))), ); } } function options_validate(&$form, &$form_state) { module_load_all_includes('views_slideshow.inc'); foreach (module_implements('views_slideshow_options_form_validate') as $module) { $function = $module . '_views_slideshow_options_form_validate'; call_user_func_array($function, array(&$form, &$form_state, &$this)); } } }