Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/javascript/yoxview/data/picasa.js

5 lines
2.4 KiB

function yox_picasa(){var k=jQuery,r=/http:\/\/picasaweb\.google\.\w+\/([^\/#\?]+)\/?([^\/#\?]+)?(\?([^#]*))?/;this.getImagesData=function(c,p){function s(b,e,m){b=parseInt(b);for(var f=e.length-1;f>=0;f--){var h=e[f];if(b>=h)return m?f<e.length-1?e[f+1]:h:h}return b}function t(b,e){var m=e==="album",f=[];jQuery.each(b.feed.entry,function(u,g){var i=m?g.title.$t+" ("+g.gphoto$numphotos.$t+" images)":g.summary.$t;if(!a.filter||i.match(a.filter)){var o=g.media$group.media$content[0];i={thumbnailSrc:g.media$group.media$thumbnail[0].url,
link:g.link[1].href,media:{src:o.url,title:i,alt:i,width:o.width,height:o.height}};if(m)i.data={album:g.gphoto$name.$t};f.push(i)}});if(l.filter){var h=Yox.getUrlData(c.dataUrl);delete h.queryFields.filter;c.dataUrl=Yox.urlDataToPath(h)}c.dataSourceOptions&&c.dataSourceOptions.filter&&delete c.dataSourceOptions.filter;return f}var n=[94,110,128,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600],l={};if(c.dataUrl){var d=c.dataUrl.match(r);if(d&&d.length>1){l.user=d[1];if(d[2])l.album=
d[2];d[4]&&k.extend(l,Yox.queryToJson(d[4]))}}var a=jQuery.extend({},{url:"http://picasaweb.google.com/data/feed/api/",setThumbnail:true,setSingleAlbumThumbnails:true,setTitle:true,alt:"json",thumbsize:64},l,c.dataSourceOptions);if(a.user&&!a.album&&!a.q)a.thumbsize=104;if(a.tags)a.tag=a.tags;a.album==""&&delete a.album;d=screen.width>screen.height?screen.width:screen.height;var q=a.imgmax&&k.inArray(a.imgmax,n)==-1?a.imgmax:null;if(!a.imgmax||q||d<a.imgmax)a.imgmax=s(q||d,n,a.roundSizeUp);if(a.filter)if(typeof a.filter===
"string")a.filter=RegExp(a.filter,"i");n=function(){var b=a.url;if(a.user&&a.user!="lh"){b+="user/"+a.user;if(a.album)b+="/album/"+a.album}else b+="all";return b}(a);var j={};c.onLoadBegin&&c.onLoadBegin();k.jsonp({url:n,async:false,dataType:"jsonp",data:a,callbackParameter:"callback",success:function(b){if(!b.feed.entry||b.feed.entry.length==0)c.onNoData&&c.onNoData();else{var e=b.feed.entry[0].category[0].term.match(/.*#(.*)/)[1];e==="album"&&k.extend(j,{title:b.feed.title.$t,createGroups:true});
j.images=t(b,e);if(b.feed.title)j.title=b.feed.title.$t;j.images.length>0&&a.setThumbnail&&!a.setSingleAlbumThumbnails&&k.extend(j,{isGroup:true,link:b.feed.link[1].href,thumbnailSrc:b.feed.icon.$t,title:b.feed.title.$t});p&&p(j);c.onLoadComplete&&c.onLoadComplete()}},error:function(){c.onLoadError&&c.onLoadError("Picasa plugin encountered an error while retrieving data")}})}};