danielebarchiesi@2
|
1 <?php
|
danielebarchiesi@2
|
2
|
danielebarchiesi@2
|
3 /**
|
danielebarchiesi@2
|
4 * @file
|
danielebarchiesi@2
|
5 * Hooks provided by Views Slideshow.
|
danielebarchiesi@2
|
6 */
|
danielebarchiesi@2
|
7
|
danielebarchiesi@2
|
8 /**
|
danielebarchiesi@2
|
9 * @addtogroup hooks
|
danielebarchiesi@2
|
10 * @{
|
danielebarchiesi@2
|
11 */
|
danielebarchiesi@2
|
12
|
danielebarchiesi@2
|
13 /**
|
danielebarchiesi@2
|
14 * Define the type of the slideshow (eg.: cycle, imageflow, ddblock).
|
danielebarchiesi@2
|
15 *
|
danielebarchiesi@2
|
16 * @return
|
danielebarchiesi@2
|
17 * Associative array of slideshow type and its information.
|
danielebarchiesi@2
|
18 */
|
danielebarchiesi@2
|
19 function hook_views_slideshow_slideshow_info() {
|
danielebarchiesi@2
|
20 $options = array(
|
danielebarchiesi@2
|
21 'views_slideshow_cycle' => array(
|
danielebarchiesi@2
|
22 'name' => t('Cycle'),
|
danielebarchiesi@2
|
23 'accepts' => array(
|
danielebarchiesi@2
|
24 'goToSlide',
|
danielebarchiesi@2
|
25 'nextSlide',
|
danielebarchiesi@2
|
26 'pause',
|
danielebarchiesi@2
|
27 'play',
|
danielebarchiesi@2
|
28 'previousSlide',
|
danielebarchiesi@2
|
29 ),
|
danielebarchiesi@2
|
30 'calls' => array(
|
danielebarchiesi@2
|
31 'transitionBegin',
|
danielebarchiesi@2
|
32 'transitionEnd',
|
danielebarchiesi@2
|
33 'goToSlide',
|
danielebarchiesi@2
|
34 'pause',
|
danielebarchiesi@2
|
35 'play',
|
danielebarchiesi@2
|
36 'nextSlide',
|
danielebarchiesi@2
|
37 'previousSlide',
|
danielebarchiesi@2
|
38 ),
|
danielebarchiesi@2
|
39 ),
|
danielebarchiesi@2
|
40 );
|
danielebarchiesi@2
|
41 return $options;
|
danielebarchiesi@2
|
42 }
|
danielebarchiesi@2
|
43
|
danielebarchiesi@2
|
44 /**
|
danielebarchiesi@2
|
45 * Define form fields to be displayed in the views settings form.
|
danielebarchiesi@2
|
46 * These fields would help configure your slideshow type.
|
danielebarchiesi@2
|
47 */
|
danielebarchiesi@2
|
48 function hook_views_slideshow_slideshow_type_form(&$form, &$form_state, &$view) {
|
danielebarchiesi@2
|
49 $form['views_slideshow_cycle']['effect'] = array(
|
danielebarchiesi@2
|
50 '#type' => 'select',
|
danielebarchiesi@2
|
51 '#title' => t('Effect'),
|
danielebarchiesi@2
|
52 '#options' => $effects,
|
danielebarchiesi@2
|
53 '#default_value' => $view->options['views_slideshow_cycle']['effect'],
|
danielebarchiesi@2
|
54 '#description' => t('The transition effect that will be used to change between images. Not all options below may be relevant depending on the effect. ' . l('Follow this link to see examples of each effect.', 'http://jquery.malsup.com/cycle/browser.html', array('attributes' => array('target' => '_blank')))),
|
danielebarchiesi@2
|
55 );
|
danielebarchiesi@2
|
56 }
|
danielebarchiesi@2
|
57
|
danielebarchiesi@2
|
58 /**
|
danielebarchiesi@2
|
59 * Set default values for your form fields specified in hook_views_slideshow_type_form
|
danielebarchiesi@2
|
60 *
|
danielebarchiesi@2
|
61 * @return
|
danielebarchiesi@2
|
62 * Associative array of slideshow type name and options.
|
danielebarchiesi@2
|
63 */
|
danielebarchiesi@2
|
64 function hook_views_slideshow_option_definition() {
|
danielebarchiesi@2
|
65 $options['views_slideshow_cycle'] = array(
|
danielebarchiesi@2
|
66 'contains' => array(
|
danielebarchiesi@2
|
67 // Transition
|
danielebarchiesi@2
|
68 'effect' => array('default' => 'fade'),
|
danielebarchiesi@2
|
69 'transition_advanced' => array('default' => 0),
|
danielebarchiesi@2
|
70 'timeout' => array('default' => 5000),
|
danielebarchiesi@2
|
71 'speed' => array('default' => 700), //normal
|
danielebarchiesi@2
|
72 'delay' => array('default' => 0),
|
danielebarchiesi@2
|
73 'sync' => array('default' => 1),
|
danielebarchiesi@2
|
74 'random' => array('default' => 0),
|
danielebarchiesi@2
|
75 )
|
danielebarchiesi@2
|
76 );
|
danielebarchiesi@2
|
77 return $options;
|
danielebarchiesi@2
|
78 }
|
danielebarchiesi@2
|
79
|
danielebarchiesi@2
|
80 /**
|
danielebarchiesi@2
|
81 * Form validation callback for the slideshow settings.
|
danielebarchiesi@2
|
82 */
|
danielebarchiesi@2
|
83 function hook_views_slideshow_options_form_validate(&$form, &$form_state, &$view) {
|
danielebarchiesi@2
|
84 if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['speed'])) {
|
danielebarchiesi@2
|
85 form_error($form['views_slideshow_cycle']['speed'], t('!setting must be numeric!', array('Speed')));
|
danielebarchiesi@2
|
86 }
|
danielebarchiesi@2
|
87 if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['timeout'])) {
|
danielebarchiesi@2
|
88 form_error($form['views_slideshow_cycle']['speed'], t('!setting must be numeric!', array('timeout')));
|
danielebarchiesi@2
|
89 }
|
danielebarchiesi@2
|
90 if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['remember_slide_days'])) {
|
danielebarchiesi@2
|
91 form_error($form['views_slideshow_cycle']['remember_slide_days'], t('!setting must be numeric!', array('Slide days')));
|
danielebarchiesi@2
|
92 }
|
danielebarchiesi@2
|
93 }
|
danielebarchiesi@2
|
94
|
danielebarchiesi@2
|
95 /**
|
danielebarchiesi@2
|
96 * Form submission callback for the slideshow settings.
|
danielebarchiesi@2
|
97 */
|
danielebarchiesi@2
|
98 function hook_views_slideshow_options_form_submit($form, &$form_state) {
|
danielebarchiesi@2
|
99 // Act on option submission.
|
danielebarchiesi@2
|
100 }
|
danielebarchiesi@2
|
101
|
danielebarchiesi@2
|
102 /**
|
danielebarchiesi@2
|
103 * Define slideshow skins to be available to the end user.
|
danielebarchiesi@2
|
104 */
|
danielebarchiesi@2
|
105 function hook_views_slideshow_skin_info() {
|
danielebarchiesi@2
|
106 return array(
|
danielebarchiesi@2
|
107 'default' => array(
|
danielebarchiesi@2
|
108 'name' => t('Default'),
|
danielebarchiesi@2
|
109 ),
|
danielebarchiesi@2
|
110 );
|
danielebarchiesi@2
|
111 }
|
danielebarchiesi@2
|
112
|
danielebarchiesi@2
|
113 /**
|
danielebarchiesi@2
|
114 * Define new widgets (pagers, controls, counters).
|
danielebarchiesi@2
|
115 *
|
danielebarchiesi@2
|
116 * Available events for accepts and calls
|
danielebarchiesi@2
|
117 * - pause
|
danielebarchiesi@2
|
118 * - play
|
danielebarchiesi@2
|
119 * - nextSlide
|
danielebarchiesi@2
|
120 * - previousSlide
|
danielebarchiesi@2
|
121 * - goToSlide
|
danielebarchiesi@2
|
122 * - transitionBegin
|
danielebarchiesi@2
|
123 * - transitionEnd
|
danielebarchiesi@2
|
124 *
|
danielebarchiesi@2
|
125 * @return
|
danielebarchiesi@2
|
126 * Array keyed by the widget names.
|
danielebarchiesi@2
|
127 */
|
danielebarchiesi@2
|
128 function hook_views_slideshow_widget_info() {
|
danielebarchiesi@2
|
129 return array(
|
danielebarchiesi@2
|
130 'views_slideshow_pager' => array(
|
danielebarchiesi@2
|
131 'name' => t('Pager'),
|
danielebarchiesi@2
|
132 'accepts' => array(
|
danielebarchiesi@2
|
133 'transitionBegin' => array('required' => TRUE),
|
danielebarchiesi@2
|
134 'goToSlide',
|
danielebarchiesi@2
|
135 'previousSlide',
|
danielebarchiesi@2
|
136 'nextSlide',
|
danielebarchiesi@2
|
137 ),
|
danielebarchiesi@2
|
138 'calls' => array(
|
danielebarchiesi@2
|
139 'goToSlide',
|
danielebarchiesi@2
|
140 'pause',
|
danielebarchiesi@2
|
141 'play',
|
danielebarchiesi@2
|
142 ),
|
danielebarchiesi@2
|
143 ),
|
danielebarchiesi@2
|
144 'views_slideshow_controls' => array(
|
danielebarchiesi@2
|
145 'name' => t('Controls'),
|
danielebarchiesi@2
|
146 'accepts' => array(
|
danielebarchiesi@2
|
147 'pause' => array('required' => TRUE),
|
danielebarchiesi@2
|
148 'play' => array('required' => TRUE),
|
danielebarchiesi@2
|
149 ),
|
danielebarchiesi@2
|
150 'calls' => array(
|
danielebarchiesi@2
|
151 'nextSlide',
|
danielebarchiesi@2
|
152 'pause',
|
danielebarchiesi@2
|
153 'play',
|
danielebarchiesi@2
|
154 'previousSlide',
|
danielebarchiesi@2
|
155 ),
|
danielebarchiesi@2
|
156 ),
|
danielebarchiesi@2
|
157 'views_slideshow_slide_counter' => array(
|
danielebarchiesi@2
|
158 'name' => t('Slide Counter'),
|
danielebarchiesi@2
|
159 'accepts' => array(
|
danielebarchiesi@2
|
160 'transitionBegin' => array('required' => TRUE),
|
danielebarchiesi@2
|
161 'goToSlide',
|
danielebarchiesi@2
|
162 'previousSlide',
|
danielebarchiesi@2
|
163 'nextSlide',
|
danielebarchiesi@2
|
164 ),
|
danielebarchiesi@2
|
165 'calls' => array(),
|
danielebarchiesi@2
|
166 ),
|
danielebarchiesi@2
|
167 );
|
danielebarchiesi@2
|
168 }
|
danielebarchiesi@2
|
169
|
danielebarchiesi@2
|
170 /**
|
danielebarchiesi@2
|
171 * Form fields to be added for a specific widget type. Example of a widget type would be views_slideshow_pager or views_slideshow_slide_counter.
|
danielebarchiesi@2
|
172 */
|
danielebarchiesi@2
|
173 function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_form_options(&$form, $form_state, $view, $defaults, $dependency) {
|
danielebarchiesi@2
|
174 }
|
danielebarchiesi@2
|
175
|
danielebarchiesi@2
|
176 /**
|
danielebarchiesi@2
|
177 * Hook called by the pager widget to configure it, the fields that should be shown.
|
danielebarchiesi@2
|
178 */
|
danielebarchiesi@2
|
179 function hook_views_slideshow_widget_pager_info($view) {
|
danielebarchiesi@2
|
180 }
|
danielebarchiesi@2
|
181
|
danielebarchiesi@2
|
182 /**
|
danielebarchiesi@2
|
183 * Hook called by the pager widget to add form items.
|
danielebarchiesi@2
|
184 */
|
danielebarchiesi@2
|
185 function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_pager_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
|
danielebarchiesi@2
|
186 }
|
danielebarchiesi@2
|
187
|
danielebarchiesi@2
|
188 /**
|
danielebarchiesi@2
|
189 * Hook called by the controls widget to configure it, the fields that should be shown.
|
danielebarchiesi@2
|
190 */
|
danielebarchiesi@2
|
191 function hook_views_slideshow_widget_controls_info($view) {
|
danielebarchiesi@2
|
192 }
|
danielebarchiesi@2
|
193
|
danielebarchiesi@2
|
194 /**
|
danielebarchiesi@2
|
195 * Hook called by the controls widget to add form items.
|
danielebarchiesi@2
|
196 */
|
danielebarchiesi@2
|
197 function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_controls_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
|
danielebarchiesi@2
|
198 }
|
danielebarchiesi@2
|
199
|
danielebarchiesi@2
|
200 /**
|
danielebarchiesi@2
|
201 * @} End of "addtogroup hooks".
|
danielebarchiesi@2
|
202 */
|