Index: THEME.txt =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_rotator/Attic/THEME.txt,v retrieving revision 1.1.2.4 diff -u -p -r1.1.2.4 THEME.txt --- THEME.txt 13 Sep 2008 18:42:12 -0000 1.1.2.4 +++ THEME.txt 6 Jul 2009 18:37:00 -0000 @@ -16,7 +16,8 @@ The Views Rotator module provides the fo - interval_time: The time a single element is displayed for (default is 5 seconds) - transition_time: The amount of time the crossfade takes (default is .5 seconds) - mouseover_pause: Whether or not to pause rotation when the mouse is over the rotating region. 1 is on, 0 is off (default) -- back_next_buttons: Whether to display back and next buttons when the mouse is over the region. 1 is on, 0 is off (default) +- hover_back_next_buttons: Whether to display back and next buttons when the mouse is over the region. 1 is on, 0 is off (default) +- back_next_buttons: Whether to display back and next buttons. 1 is on, 0 is off (default) Shows #s to be able to click to a specific image & Buttons - area_height: The height of the rotating region. (default is 'auto') These options are configured in the theme functions. To override them the theme functions need to be overridden in your @@ -40,7 +41,8 @@ function phptemplate_views_rotator_node( $options['interval_time'] = 5; $options['transition_time'] = 1; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options @@ -75,7 +77,8 @@ function phptemplate_views_rotator_tease $options['interval_time'] = 5; $options['transition_time'] = 1; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options @@ -110,7 +113,8 @@ function phptemplate_views_rotator_item( $options['interval_time'] = 5; $options['transition_time'] = 1; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options @@ -157,7 +161,8 @@ function phptemplate_views_rotator_item( $options['interval_time'] = 5; $options['transition_time'] = .5; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options Index: views-rotator-nohover.css =================================================================== RCS file: views-rotator-nohover.css diff -N views-rotator-nohover.css --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ views-rotator-nohover.css 6 Jul 2009 18:37:00 -0000 @@ -0,0 +1,57 @@ + +.views-rotator-cover { + background-color: #000; + width: 100%; + height: 25px; + padding: 0 5px 0 15px; + letter-spacing: 8px; + color: #fff; + font-size: 15px; + font-weight: bold; + opacity:0.7; + -moz-opacity:0.7; + filter: alpha(opacity=70); + position: relative; + top: 388px; + left: 0; + z-index: 1000; +} + +.views-rotator-prev { + float: left; + background: url(images/prev.jpg) left 50% no-repeat; +} + +.views-rotator-prev a { + float: left; + width: 30px; +} + +.views-rotator-nums { + float: left; + padding: 0 5px 0 15px; + cursor: pointer; +} + +.views-rotator-nums a { + cursor: pointer; + text-decoration: none; +} + +.views-rotator-next a { + width: 30px; + background: transparent; +} + +.views-rotator-next { + float: left; + background: url(images/next.jpg) right 50% no-repeat; +} + +.views-rotator-prev, +.views-rotator-next { + height: 15px; + width: 20px; + padding-top: 7px; + cursor: pointer; +} \ No newline at end of file Index: views-rotator.css =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_rotator/views-rotator.css,v retrieving revision 1.2.2.4 diff -u -p -r1.2.2.4 views-rotator.css --- views-rotator.css 28 Aug 2008 15:44:22 -0000 1.2.2.4 +++ views-rotator.css 6 Jul 2009 18:37:00 -0000 @@ -13,11 +13,11 @@ div.views-rotator-next a { height: 0; } -div.views-rotator-prev a { +div.views-rotator-prev-hover a { background: url(images/prev.jpg) left 50% no-repeat; } -div.views-rotator-next a { +div.views-rotator-next-hover a { background: url(images/next.jpg) right 50% no-repeat; } @@ -28,6 +28,7 @@ div.views-rotator-next-hover a { margin: 10px; position: absolute; z-index: 1000; + cursor: pointer; } div.views-rotator-prev-hover a { Index: views-rotator.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_rotator/views-rotator.js,v retrieving revision 1.3.2.4 diff -u -p -r1.3.2.4 views-rotator.js --- views-rotator.js 13 Sep 2008 18:42:12 -0000 1.3.2.4 +++ views-rotator.js 6 Jul 2009 18:37:00 -0000 @@ -17,6 +17,7 @@ 'vclass': 'views_rotator', 'children': null, 'mouseover_pause': 0, + 'hover_back_next_buttons': 0, 'back_next_buttons': 0 }; if (options) @@ -47,7 +48,7 @@ info[settings.id].timeoutID = setTimeout((function() { $.views_rotator.next(elements, settings); }), settings.interval_time); - if (settings.back_next_buttons == 1) { + if (settings.hover_back_next_buttons == 1) { $('.' + settings.id + ' .views-rotator-prev').removeClass('views-rotator-prev-hover'); $('.' + settings.id + ' .views-rotator-next').removeClass('views-rotator-next-hover'); } @@ -56,13 +57,13 @@ clearTimeout(info[settings.id].timeoutID); delete info[settings.id].timeoutID; } - if (settings.back_next_buttons == 1) { + if (settings.hover_back_next_buttons == 1) { $('.' + settings.id + ' .views-rotator-prev').addClass('views-rotator-prev-hover'); $('.' + settings.id + ' .views-rotator-next').addClass('views-rotator-next-hover'); } }); } - else if (settings.back_next_buttons == 1) { + else if (settings.hover_back_next_buttons == 1) { $('.' + settings.id).mouseover(function() { $('.' + settings.id + ' .views-rotator-prev').addClass('views-rotator-prev-hover'); $('.' + settings.id + ' .views-rotator-next').addClass('views-rotator-next-hover'); @@ -71,9 +72,59 @@ $('.' + settings.id + ' .views-rotator-next').removeClass('views-rotator-next-hover'); }); } - if (settings.back_next_buttons == 1) { + if (settings.back_next_buttons == 1 || settings.hover_back_next_buttons == 1) { $(container).parent().css('height', settings.area_height); - $('.' + settings.id).prepend('
'); + var nums = ''; + var cover = ''; + // Set the number of pictures to display their numbers. + if(settings.back_next_buttons == 1) { + nums += '
'; + for ( var i = 1; i < (elements.length+1); i++ ) { + nums += ""+i+""; + } + nums += '
'; + cover += 'class="views-rotator-cover"'; + } + $('.' + settings.id).prepend('
 
'+nums+'
 
'); + if (settings.back_next_buttons == 1) { + for ( i = 0; i < elements.length; i++ ) { + j = i+1; + $('.' + settings.id + ' .'+j).click(function() { + // Set image user wants to view. + var current = $(this).children("a").text()-1; + var last = info[settings.id].last; + // Fix IE6/Cleartype bug. + if (ie6) { + $.views_rotator.clearTypeFix($(elements[last])); + $.views_rotator.clearTypeFix($(elements[current])); + } + $(elements[last]).fadeOut(settings.transition_time, function() { + // Work around IE/cleartype bug. + if(this.style.removeAttribute){ + this.style.removeAttribute('filter'); + } + }); + $(elements[current]).fadeIn(settings.transition_time, function() { + // Work around IE/cleartype bug. + if(this.style.removeAttribute){ + this.style.removeAttribute('filter'); + } + }); + if ((current + 1) < elements.length) { + current = current + 1; + last = current - 1; + } else { + current = 0; + last = elements.length - 1; + } + info[settings.id].current = current; + info[settings.id].last = last; + + // Clear timeout. + clearTimeout(info[settings.id].timeoutID); + }); + } + } $('.' + settings.id + ' .views-rotator-prev a').click(function() { var current = info[settings.id].current; var last = info[settings.id].last; @@ -82,19 +133,19 @@ } else { current = last - 1; } - // Fix IE6/Cleartype bug + // Fix IE6/Cleartype bug. if (ie6) { $.views_rotator.clearTypeFix($(elements[last])); $.views_rotator.clearTypeFix($(elements[current])); } $(elements[last]).fadeOut(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } }); $(elements[current]).fadeIn(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } @@ -108,23 +159,28 @@ } info[settings.id].current = current; info[settings.id].last = last; + + // Set timeout. + info[settings.id].timeoutID = setTimeout((function() { + $.views_rotator.next(elements, settings); + }), settings.interval_time); }); $('.' + settings.id + ' .views-rotator-next a').click(function() { var current = info[settings.id].current; var last = info[settings.id].last; - // Fix IE6/Cleartype bug + // Fix IE6/Cleartype bug. if (ie6) { $.views_rotator.clearTypeFix($(elements[last])); $.views_rotator.clearTypeFix($(elements[current])); } $(elements[last]).fadeOut(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } }); $(elements[current]).fadeIn(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } @@ -138,6 +194,11 @@ } info[settings.id].current = current; info[settings.id].last = last; + + // Set timeout. + info[settings.id].timeoutID = setTimeout((function() { + $.views_rotator.next(elements, settings); + }), settings.interval_time); }); } } @@ -146,19 +207,19 @@ $.views_rotator.next = function(elements, settings) { var current = info[settings.id].current; var last = info[settings.id].last; - // Fix IE6/Cleartype bug + // Fix IE6/Cleartype bug. if (ie6) { $.views_rotator.clearTypeFix($(elements[last])); $.views_rotator.clearTypeFix($(elements[current])); } $(elements[last]).fadeOut(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } }); $(elements[current]).fadeIn(settings.transition_time, function() { - // Work around IE/cleartype bug + // Work around IE/cleartype bug. if(this.style.removeAttribute){ this.style.removeAttribute('filter'); } Index: views_rotator.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_rotator/views_rotator.module,v retrieving revision 1.2.2.3 diff -u -p -r1.2.2.3 views_rotator.module --- views_rotator.module 13 Sep 2008 18:42:12 -0000 1.2.2.3 +++ views_rotator.module 6 Jul 2009 18:37:00 -0000 @@ -28,7 +28,8 @@ function theme_views_rotator_node($view, $options['interval_time'] = 5; $options['transition_time'] = .5; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options @@ -63,13 +64,17 @@ function theme_views_rotator_teaser($vie $options['interval_time'] = 5; $options['transition_time'] = .5; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options + if($options['back_next_buttons'] == 1) { + drupal_add_css(drupal_get_path('module', 'views_rotator') .'/views-rotator-nohover.css'); + } drupal_add_css(drupal_get_path('module', 'views_rotator') .'/views-rotator.css'); - drupal_add_js(drupal_get_path('module', 'views_rotator') .'/views-rotator.min.js'); + drupal_add_js(drupal_get_path('module', 'views_rotator') .'/views-rotator.js'); $options['id'] = $views_rotator_id = 'views-rotator-'. $view->name .'-'. $view->build_type; $options['interval_time'] = $options['interval_time'] * 1000; @@ -98,13 +103,17 @@ function theme_views_rotator_item($view, $options['interval_time'] = 5; $options['transition_time'] = .5; $options['mouseover_pause'] = 0; - $options['back_next_buttons'] = 0; + $options['hover_back_next_buttons'] = 0; + $options['back_next_buttons'] = 0; $options['area_height'] = 'auto'; $options['auto_height'] = 1; // When this is set to 1 views rotator will attempt to detect and set the region height // End editable options - + + if($options['back_next_buttons'] == 1) { + drupal_add_css(drupal_get_path('module', 'views_rotator') .'/views-rotator-nohover.css'); + } drupal_add_css(drupal_get_path('module', 'views_rotator') .'/views-rotator.css'); - drupal_add_js(drupal_get_path('module', 'views_rotator') .'/views-rotator.min.js'); + drupal_add_js(drupal_get_path('module', 'views_rotator') .'/views-rotator.js'); $options['id'] = $views_rotator_id = 'views-rotator-'. $view->name .'-'. $view->build_type; $options['interval_time'] = $options['interval_time'] * 1000; @@ -128,7 +137,6 @@ function theme_views_rotator_item($view, if (views_rotator_display_item($views_rotator_id)) $output .= ' style="display:none;"'; $output .= '>
'. $item ."
\n"; } - if (!empty($output)) { $output = '
';