Changeset 118066 in spip-zone


Ignore:
Timestamp:
Oct 8, 2019, 1:48:21 PM (9 months ago)
Author:
cedric@…
Message:

mise a jour de cloudzoom, mais c'est mineur et ca reste une tres vieille version, le plugin ayant ensuite change de licence. Pas de compat SPIP 3.2 possible donc

Location:
_plugins_/cloudzoom/trunk
Files:
1 added
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/cloudzoom/trunk/cloudzoom_pipelines.php

    r95198 r118066  
    2828 */
    2929function cloudzoom_insert_head($flux){
    30         $js = timestamp(find_in_path('js/cloud-zoom.1.0.2.min.js'));
     30        $js = timestamp(find_in_path('js/cloud-zoom.1.0.3.min.js'));
    3131        $flux .= "<script type='text/javascript' src='$js'></script>\n";
    3232
  • _plugins_/cloudzoom/trunk/js/cloud-zoom.1.0.3.js

    r118065 r118066  
    11//////////////////////////////////////////////////////////////////////////////////
    2 // Cloud Zoom V1.0.2
    3 // (c) 2010 by R Cecco. <http://www.professorcloud.com>
     2// Cloud Zoom V1.0.3
     3// Rev 201209181857
     4// (c) 2010-2012 by R Cecco. <http://www.professorcloud.com>
    45// MIT License
    56//
    67// Please retain this copyright header in all versions of the software
     8//
    79//////////////////////////////////////////////////////////////////////////////////
    810(function ($) {
     11
     12    // Get the path of executing script.
     13    var scripts = document.getElementsByTagName("script");
     14    var last = scripts[scripts.length-1].src.lastIndexOf('/');
     15    var scriptPath = scripts[scripts.length-1].src.slice(0,last);
    916
    1017    $(document).ready(function () {
     
    2027
    2128    function CloudZoom(jWin, opts) {
     29
    2230        var sImg = $('img', jWin);
    23                 var     img1;
    24                 var     img2;
     31        var     img1;
     32        var     img2;
    2533        var zoomDiv = null;
    26                 var     $mouseTrap = null;
    27                 var     lens = null;
    28                 var     $tint = null;
    29                 var     softFocus = null;
    30                 var     $ie6Fix = null;
    31                 var     zoomImage;
    32         var controlTimer = 0;     
     34        var     $mouseTrap = null;
     35        var     lens = null;
     36        var     $tint = null;
     37        var     softFocus = null;
     38        var     $ie6Fix = null;
     39        var     zoomImage;
     40        var controlTimer = 0;
    3341        var cw, ch;
    3442        var destU = 0;
    35                 var     destV = 0;
     43        var     destV = 0;
    3644        var currV = 0;
    37         var currU = 0;     
     45        var currU = 0;
    3846        var filesLoaded = 0;
    3947        var mx,
    40             my;
     48        my;
    4149        var ctx = this, zw;
    4250        // Display an image loading message. This message gets deleted when the images have loaded and the zoom init function is called.
    4351        // We add a small delay before the message is displayed to avoid the message flicking on then off again virtually immediately if the
    44         // images load really fast, e.g. from the cache. 
     52        // images load really fast, e.g. from the cache.
    4553        //var   ctx = this;
    4654        setTimeout(function () {
    47             //                                           <img src="/images/loading.gif"/>
    4855            if ($mouseTrap === null) {
    4956                var w = jWin.width();
    50                 jWin.parent().append(format('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >Loading...</div>', w / 3, (w / 2) - (w / 6))).find(':last').css('opacity', 0.5);
     57                jWin.parent().append(format('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >Loading...</div>', w / 3, (w / 2) - (w / 6)));
     58                $('cloud-zoom-loading', jWin.parent()).css('opacity', 0.5)
    5159            }
    5260        }, 200);
     
    6674            if (lens) {
    6775                lens.remove();
    68                 lens = null;             
     76                lens = null;
    6977            }
    7078            if ($tint) {
     
    96104            //ie6FixRemove();
    97105            this.removeBits();
    98             // DON'T FORGET TO REMOVE JQUERY 'DATA' VALUES
     106        // DON'T FORGET TO REMOVE JQUERY 'DATA' VALUES
    99107        };
    100108
     
    102110        // This is called when the zoom window has faded out so it can be removed.
    103111        this.fadedOut = function () {
    104            
    105                         if (zoomDiv) {
     112
     113            if (zoomDiv) {
    106114                zoomDiv.remove();
    107115                zoomDiv = null;
    108116            }
    109                         this.removeBits();
    110             //ie6FixRemove();
     117            this.removeBits();
     118        //ie6FixRemove();
    111119        };
    112120
     
    115123                var x = (mx - sImg.offset().left - (cw * 0.5)) >> 0;
    116124                var y = (my - sImg.offset().top - (ch * 0.5)) >> 0;
    117                
     125
    118126                if (x < 0) {
    119127                    x = 0;
     
    140148                currV += (destV - currV) / opts.smoothMove;
    141149
    142                 zoomDiv.css('background-position', (-(currU >> 0) + 'px ') + (-(currV >> 0) + 'px'));             
     150                zoomDiv.css('background-position', (-(currU >> 0) + 'px ') + (-(currV >> 0) + 'px'));
    143151            }
    144152            controlTimer = setTimeout(function () {
     
    150158
    151159            filesLoaded++;
    152             //console.log(img.src + ' ' + id + ' ' + img.width);       
     160            //console.log(img.src + ' ' + id + ' ' + img.width);
    153161            if (id === 1) {
    154162                zoomImage = img;
     
    166174
    167175
    168 /* Add a box (mouseTrap) over the small image to trap mouse events.
     176            /* Add a box (mouseTrap) over the small image to trap mouse events.
    169177                It has priority over zoom window to avoid issues with inner zoom.
    170178                We need the dummy background image as IE does not trap mouse events on
    171179                transparent parts of a div.
    172180                */
    173             $mouseTrap = jWin.parent().append(format("<div class='mousetrap' style='background-image:url(\".\");z-index:999;position:absolute;width:%0px;height:%1px;left:%2px;top:%3px;\'></div>", sImg.outerWidth(), sImg.outerHeight(), 0, 0)).find(':last');
    174 
    175             //////////////////////////////////////////////////////////////////////                     
     181            var $m = $("<div class='mousetrap' style='background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + "\'></div>");
     182
     183            $mouseTrap = jWin.parent().append($m).find(':last');
     184            $mouseTrap = $('.mousetrap',jWin.parent());
     185            $mouseTrap.css({
     186                width:sImg.outerWidth(),
     187                height:sImg.outerHeight(),
     188                top:0,
     189                left:0,
     190                position:'absolute',
     191                zIndex:9999
     192            });
     193            //////////////////////////////////////////////////////////////////////
    176194            /* Do as little as possible in mousemove event to prevent slowdown. */
    177195            $mouseTrap.bind('mousemove', this, function (event) {
     
    179197                mx = event.pageX;
    180198                my = event.pageY;
     199
    181200            });
    182             //////////////////////////////////////////////////////////////////////                                     
     201            //////////////////////////////////////////////////////////////////////
    183202            $mouseTrap.bind('mouseleave', this, function (event) {
    184203                clearTimeout(controlTimer);
    185                 //event.data.removeBits();               
    186                                 if(lens) { lens.fadeOut(299); }
    187                                 if($tint) { $tint.fadeOut(299); }
    188                                 if(softFocus) { softFocus.fadeOut(299); }
    189                                 zoomDiv.fadeOut(300, function () {
     204                //event.data.removeBits();
     205                if(lens) {
     206                    lens.fadeOut(299);
     207                }
     208                if($tint) {
     209                    $tint.fadeOut(299);
     210                }
     211                if(softFocus) {
     212                    softFocus.fadeOut(299);
     213                }
     214                zoomDiv.fadeOut(300, function () {
    190215                    ctx.fadedOut();
    191                 });                                                                                                                             
     216                });
    192217                return false;
    193218            });
    194             //////////////////////////////////////////////////////////////////////                     
     219            //////////////////////////////////////////////////////////////////////
    195220            $mouseTrap.bind('mouseenter', this, function (event) {
    196                                 mx = event.pageX;
     221                mx = event.pageX;
    197222                my = event.pageY;
    198223                zw = event.data;
     
    203228
    204229                var xPos = opts.adjustX,
    205                     yPos = opts.adjustY;
    206                              
     230                yPos = opts.adjustY;
     231
    207232                var siw = sImg.outerWidth();
    208233                var sih = sImg.outerHeight();
     
    217242                }
    218243                //$('#info').text( xPos + ' ' + yPos + ' ' + siw + ' ' + sih );
    219                 var appendTo = jWin.parent(); // attach to the wrapper                 
     244                var appendTo = jWin.parent(); // attach to the wrapper
    220245                switch (opts.position) {
    221                 case 'top':
    222                     yPos -= h; // + opts.adjustY;
    223                     break;
    224                 case 'right':
    225                     xPos += siw; // + opts.adjustX;                                     
    226                     break;
    227                 case 'bottom':
    228                     yPos += sih; // + opts.adjustY;
    229                     break;
    230                 case 'left':
    231                     xPos -= w; // + opts.adjustX;                                       
    232                     break;
    233                 case 'inside':
    234                     w = siw;
    235                     h = sih;
    236                     break;
     246                    case 'top':
     247                        yPos -= h; // + opts.adjustY;
     248                        break;
     249                    case 'right':
     250                        xPos += siw; // + opts.adjustX;
     251                        break;
     252                    case 'bottom':
     253                        yPos += sih; // + opts.adjustY;
     254                        break;
     255                    case 'left':
     256                        xPos -= w; // + opts.adjustX;
     257                        break;
     258                    case 'inside':
     259                        w = siw;
     260                        h = sih;
     261                        break;
    237262                    // All other values, try and find an id in the dom to attach to.
    238                 default:
    239                     appendTo = $('#' + opts.position);
    240                     // If dom element doesn't exit, just use 'right' position as default.
    241                     if (!appendTo.length) {
    242                         appendTo = jWin;
    243                         xPos += siw; //+ opts.adjustX;
    244                         yPos += sih; // + opts.adjustY;
    245                     } else {
    246                         w = appendTo.innerWidth();
    247                         h = appendTo.innerHeight();
    248                     }
     263                    default:
     264                        appendTo = $('#' + opts.position);
     265                        // If dom element doesn't exit, just use 'right' position as default.
     266                        if (!appendTo.length) {
     267                            appendTo = jWin;
     268                            xPos += siw; //+ opts.adjustX;
     269                            yPos += sih; // + opts.adjustY;
     270                        } else {
     271                            w = appendTo.innerWidth();
     272                            h = appendTo.innerHeight();
     273                        }
    249274                }
    250275
    251276                zoomDiv = appendTo.append(format('<div id="cloud-zoom-big" class="cloud-zoom-big" style="display:none;position:absolute;left:%0px;top:%1px;width:%2px;height:%3px;background-image:url(\'%4\');z-index:99;"></div>', xPos, yPos, w, h, zoomImage.src)).find(':last');
    252 
     277                zoomDiv = $('.cloud-zoom-big',appendTo);
    253278                // Add the title from title tag.
    254279                if (sImg.attr('title') && opts.showTitle) {
    255                     zoomDiv.append(format('<div class="cloud-zoom-title">%0</div>', sImg.attr('title'))).find(':last').css('opacity', opts.titleOpacity);
    256                 }
    257 
    258                 // Fix ie6 select elements wrong z-index bug. Placing an iFrame over the select element solves the issue...             
     280                    zoomDiv.append(format('<div class="cloud-zoom-title">%0</div>', sImg.attr('title')));
     281                    $('.cloud-zoom-title', zoomDiv).css('opacity', opts.titleOpacity);
     282                }
     283
     284                // Fix ie6 select elements wrong z-index bug. Placing an iFrame over the select element solves the issue...
    259285                if ($.browser.msie && $.browser.version < 7) {
    260286                    $ie6Fix = $('<iframe frameborder="0" src="#"></iframe>').css({
     
    279305                // Attach mouse, initially invisible to prevent first frame glitch
    280306                lens = jWin.append(format("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>", cw, ch)).find(':last');
    281 
     307                lens = $('.cloud-zoom-lens',jWin);
    282308                $mouseTrap.css('cursor', lens.css('cursor'));
    283309
    284310                var noTrans = false;
    285311
    286                 // Init tint layer if needed. (Not relevant if using inside mode)                       
     312                // Init tint layer if needed. (Not relevant if using inside mode)
    287313                if (opts.tint) {
    288314                    lens.css('background', 'url("' + sImg.attr('src') + '")');
    289                     $tint = jWin.append(format('<div style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />', sImg.outerWidth(), sImg.outerHeight(), opts.tint)).find(':last');
    290                     $tint.css('opacity', opts.tintOpacity);                   
    291                                         noTrans = true;
    292                                         $tint.fadeIn(500);
     315                    $tint = jWin.append(format('<div class="cloud-zoom-tint" style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />', sImg.outerWidth(), sImg.outerHeight(), opts.tint)).find(':last');
     316                    $tint = $('.cloud-zoom-tint',jWin);
     317
     318                    $tint.css('opacity', opts.tintOpacity);
     319                    noTrans = true;
     320                    $tint.fadeIn(500);
    293321
    294322                }
    295323                if (opts.softFocus) {
    296324                    lens.css('background', 'url("' + sImg.attr('src') + '")');
    297                     softFocus = jWin.append(format('<div style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />', sImg.outerWidth() - 2, sImg.outerHeight() - 2, opts.tint)).find(':last');
     325                    jWin.append(format('<div class="cloud-zoom-soft" style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />', sImg.outerWidth() - 2, sImg.outerHeight() - 2, opts.tint));
     326                    softFocus = $('.cloud-zoom-soft',jWin);
    298327                    softFocus.css('background', 'url("' + sImg.attr('src') + '")');
    299328                    softFocus.css('opacity', 0.5);
     
    303332
    304333                if (!noTrans) {
    305                     lens.css('opacity', opts.lensOpacity);                                                                             
    306                 }
    307                                 if ( opts.position !== 'inside' ) { lens.fadeIn(500); }
    308 
    309                 // Start processing.
     334                    lens.css('opacity', opts.lensOpacity);
     335                }
     336                if ( opts.position !== 'inside' ) {
     337                    lens.fadeIn(500);
     338                }
     339
     340                // Start processing.
    310341                zw.controlLoop();
    311342
     
    333364        } catch (e) {}
    334365        this.each(function () {
    335                         var     relOpts, opts;
    336                         // Hmm...eval...slap on wrist.
    337                         eval('var       a = {' + $(this).attr('rel') + '}');
    338                         relOpts = a;
     366            var relOpts, opts;
     367            // Hmm...eval...slap on wrist.
     368            eval('var   a = {' + $(this).attr('rel') + '}');
     369            relOpts = a;
    339370            if ($(this).is('.cloud-zoom')) {
    340371                $(this).css({
  • _plugins_/cloudzoom/trunk/paquet.xml

    r103720 r118066  
    22        prefix="cloudzoom"
    33        categorie="multimedia"
    4         version="3.0.0"
     4        version="3.0.1"
    55        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.