UNPKG

6.76 kBJavaScriptView Raw
1/* nanogallery2 - v3.0.3 - 2020-09-08 */
2/**!
3 * @preserve nanogallery2 - FLICKR data provider
4 * Homepage: http://nanogallery2.nanostudio.org
5 * Sources: https://github.com/nanostudio-org/nanogallery2
6 *
7 * License: GPLv3 and commercial licence
8 *
9*/
10!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","nanogallery2"],t):"object"==typeof exports&&"function"==typeof require?t(require(["jquery","nanogallery2"])):t(jQuery)}((function(t){jQuery.nanogallery2.data_flickr=function(t,e){var r=t,i={url:function(){return"https://api.flickr.com/services/rest/"},thumbSize:" sq",thumbAvailableSizes:new Array(75,100,150,240,500,640),thumbAvailableSizesStr:new Array("sq","t","q","s","m","z"),photoSize:"0",photoAvailableSizes:new Array(75,100,150,240,500,640,1024,1024,1600,2048,1e4),photoAvailableSizesStr:new Array("sq","t","q","s","m","z","b","l","h","k","o")},l=function(t,e,l,a){""==r.O.flickrAPIKey&&c(r,"Please set your Flickr API Key (option flickrAPIKey)");var n=NGY2Item.GetIdx(r,t),p="",m="image";"NONE"==r.O.photoset.toUpperCase()||"NONE"==r.O.album.toUpperCase()?p=i.url()+"?&method=flickr.people.getPublicPhotos&api_key="+r.O.flickrAPIKey+"&user_id="+r.O.userID+"&extras=description,views,tags,url_o,url_sq,url_t,url_q,url_s,url_m,url_z,url_b,url_h,url_k&per_page=500&format=json":0==r.I[n].GetID()?(p=i.url()+"?&method=flickr.photosets.getList&api_key="+r.O.flickrAPIKey+"&user_id="+r.O.userID+"&per_page=500&primary_photo_extras=tags,url_o,url_sq,url_t,url_q,url_s,url_m,url_l,url_z,url_b,url_h,url_k&format=json",m="album"):p=i.url()+"?&method=flickr.photosets.getPhotos&api_key="+r.O.flickrAPIKey+"&photoset_id="+r.I[n].GetID()+"&extras=description,views,tags,url_o,url_sq,url_t,url_q,url_s,url_m,url_l,url_z,url_b,url_h,url_k&format=json",r.O.debugMode&&console.log("Flickr URL: "+p),h(!0),jQuery.ajaxSetup({cache:!1}),jQuery.support.cors=!0;var g=setTimeout((function(){h(!1),c(r,"Could not retrieve AJAX data...")}),6e4),_=[],f=function(i,p){jQuery.getJSON(i+"&page="+p+"&jsoncallback=?",(function(b,v,x){var y=0;if("album"==m){if(void 0!==b.stat&&"fail"===b.stat)return c(r,"Could not retrieve Flickr album list: "+b.message+" (code: "+b.code+")."),!1;_=_.concat(b.photosets.photoset),y=b.photosets.pages}else if("NONE"==r.O.photoset.toUpperCase()||"NONE"==r.O.album.toUpperCase())_=_.concat(b.photos.photo),y=b.photos.pages;else{if(void 0!==b.stat&&"fail"===b.stat)return c(r,"Could not retrieve Flickr album: "+b.message+" (code: "+b.code+")."),!1;""==r.I[n].title&&(r.I[n].title=b.photoset.title),_=_.concat(b.photoset.photo),y=b.photoset.pages}y>p?f(i,p+1):(clearTimeout(g),h(!1),_=u(_,r.O.tagBlockList),"album"==m?s(n,t,_):o(n,t,_),d(t),null!=e&&e(l,a,null))})).fail((function(t,e,i){clearTimeout(g),h(!1),c(r,"Could not retrieve Flickr ajax data: "+e+", "+i)}))};f(p,1)};function o(t,e,l){r.O.debugMode&&(console.log("Flickr parse photos:"),console.dir(l)),jQuery.each(l,(function(t,l){var o=l.id,s=l.url_sq,n=l.title;""!=r.O.thumbnailLabel.get("title")&&(n=p(s));var u=l.description._content,h=75,c=75,m=i.photoAvailableSizesStr.length-1;r.O.flickrSkipOriginal&&m--;for(t=m;t>=0;t--)if(null!=l["url_"+i.photoAvailableSizesStr[t]]){s=l["url_"+i.photoAvailableSizesStr[t]],h=parseInt(l["width_"+i.photoAvailableSizesStr[t]]),c=parseInt(l["height_"+i.photoAvailableSizesStr[t]]);break}var d={};for(var g in l)0!=g.indexOf("height_")&&0!=g.indexOf("width_")&&0!=g.indexOf("url_")||(d[g]=l[g]);var _=void 0!==l.tags?l.tags:"",f=NGY2Item.New(r,n,u,o,e,"image",_);f.setMediaURL(s,"img"),f.imageWidth=h,f.imageHeight=c;var b={url:{l1:{xs:"",sm:"",me:"",la:"",xl:""},lN:{xs:"",sm:"",me:"",la:"",xl:""}},width:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},height:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}}};b=a(b,l,"l1"),b=a(b,l,"lN"),f.thumbs=b;var v=r.O.fnProcessData;null!==v&&("function"==typeof v?v(f,"flickr",l):window[v](f,"flickr",l))})),r.I[t].contentIsLoaded=!0}function s(t,e,i){r.O.debugMode&&(console.log("Flickr parse list of albums:"),console.dir(i)),jQuery.each(i,(function(t,i){var l=i.title._content;if(0==i.visibility_can_see_set)return!0;if(m(l,i.id)){var o=i.id,s=null!=i.description._content?i.description._content:"",n={};for(var u in i.primary_photo_extras)n[u]=i.primary_photo_extras[u];var h="";void 0!==i.primary_photo_extras&&void 0!==i.primary_photo_extras.tags&&(h=i.primary_photo_extras.tags);var c=NGY2Item.New(r,l,s,o,e,"album",h);c.numberItems=i.photos,c.thumbSizes=n;var p={url:{l1:{xs:"",sm:"",me:"",la:"",xl:""},lN:{xs:"",sm:"",me:"",la:"",xl:""}},width:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},height:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}}};p=a(p,i.primary_photo_extras,"l1"),p=a(p,i.primary_photo_extras,"lN"),c.thumbs=p;var d=r.O.fnProcessData;null!==d&&("function"==typeof d?d(c,"flickr",i):window[d](c,"flickr",i))}})),r.I[t].contentIsLoaded=!0}function a(t,e,i){var l=1;!0===r.tn.opt[i].crop&&(l=r.O.thumbnailCropScaleFactor);for(var o=["xs","sm","me","la","xl"],s=0;s<o.length;s++)if("auto"==r.tn.settings.width[i][o[s]]||""==r.tn.settings.width[i][o[s]]){let a=n("height_",Math.ceil(r.tn.settings.height[i][o[s]]*r.tn.scale*l*r.tn.settings.mosaic[i+"Factor"].h[o[s]]),e);t.url[i][o[s]]=a.url,t.width[i][o[s]]=a.width,t.height[i][o[s]]=a.height}else if("auto"==r.tn.settings.height[i][o[s]]||""==r.tn.settings.height[i][o[s]]){let a=n("width_",Math.ceil(r.tn.settings.width[i][o[s]]*r.tn.scale*l*r.tn.settings.mosaic[i+"Factor"].w[o[s]]),e);t.url[i][o[s]]=a.url,t.width[i][o[s]]=a.width,t.height[i][o[s]]=a.height}else{let a="height_",u=Math.ceil(r.tn.settings.height[i][o[s]]*r.tn.scale*l*r.tn.settings.mosaic[i+"Factor"].h[o[s]]);r.tn.settings.width[i][o[s]]>r.tn.settings.height[i][o[s]]&&(a="width_",u=Math.ceil(r.tn.settings.width[i][o[s]]*r.tn.scale*l*r.tn.settings.mosaic[i+"Factor"].w[o[s]]));let h=n(a,u,e);t.url[i][o[s]]=h.url,t.width[i][o[s]]=h.width,t.height[i][o[s]]=h.height}return t}function n(t,e,r){for(var l={url:"",width:0,height:0},o=0,s=0;s<i.thumbAvailableSizes.length;s++){var a=r[t+i.photoAvailableSizesStr[s]];if(null!=a&&(o=s,a>=e))break}var n=i.photoAvailableSizesStr[o];return l.url=r["url_"+n],l.width=parseInt(r["width_"+n]),l.height=parseInt(r["height_"+n]),l}var u=function(t,e){return""!=e&&null!=t&&(t=t.filter((function(t){var r=new RegExp(e,"i"),i=[t.tags];return Array.isArray(t.tags)&&(i=t.tags),!i.some((function(t){return r.test(t)}))}))),t};var h=NGY2Tools.PreloaderDisplay.bind(r),c=NGY2Tools.NanoAlert,p=NGY2Tools.GetImageTitleFromURL.bind(r),m=NGY2Tools.FilterAlbumName.bind(r),d=NGY2Tools.AlbumPostProcess.bind(r);switch(e){case"AlbumGetContent":var g=arguments[2],_=arguments[3],f=arguments[4],b=arguments[5];l(g,_,f,b)}}}));
\No newline at end of file