// source --> https://patricialucchesi.com/v2/wp-content/plugins/vc-social-stream/inc/../assets/js/social-stream.js if (typeof Object.create !== 'function') { Object.create = function(obj) { function F() {} F.prototype = obj; return new F(); }; } function svc_megnific_script_with_content(){ jQuery('a.svc_big_img,.popup-youtube,.popup-vimeo').magnificPopup({ type: 'ajax', closeBtnInside:false, closeOnBgClick: false }); jQuery('a.svc_gplus_img').magnificPopup({ type: 'image', closeBtnInside:false }); } function svc_megnific_script(){ jQuery('a.svc_big_img,a.svc_gplus_img').magnificPopup({ type: 'image', closeBtnInside:false }); jQuery('.popup-youtube').magnificPopup({ type: 'iframe', mainClass: 'mfp-fade', preloader: false, closeBtnInside:false, iframe: { patterns: { youtube: { index: 'youtube.com', id: 'v=', src: '//www.youtube.com/embed/%id%?rel=0&autoplay=0' } } } }); jQuery('.popup-vimeo').magnificPopup({ type: 'iframe', mainClass: 'mfp-fade', preloader: false, closeBtnInside:false, iframe: { patterns: { vimeo: { index: 'vimeo.com', id: '/', src: '//player.vimeo.com/video/%id%?autoplay=0' } } } }); } var sv = 0; var si = 0; var social_dataa = ''; (function($, window, document, undefined) { $.fn.svc_social_stream = function(_options) { var defaults = { plugin_folder: '', // a folder in which the plugin is located (with a slash in the end) template: 'template.html', // a path to the template file show_media: false, // show images of attachments if available media_min_width: 300, length: 150, // maximum length of post message shown effect:'', insta_access_token:'2255098913.1677ed0.67fe3a5539e94e58ba7cbe864d233d97', grid_columns_count_for_desktop:'', grid_columns_count_for_tablet:'', grid_columns_count_for_mobile:'', popup:'', stream_id:'' }; moment.locale('en'); console.log(svc_ajax_url.laungage); moment.locale(svc_ajax_url.laungage); //--------------------------------------------------------------------------------- var options = $.extend(defaults, _options), container = $(this), template, social_networks = ['facebook', 'instagram', 'vk', 'google', 'blogspot', 'twitter', 'tumblr', 'youtube','vimeo','dribbble']; //--------------------------------------------------------------------------------- //--------------------------------------------------------------------------------- // This function performs consequent data loading from all of the sources by calling corresponding functions function fireCallback(dataa_social) { var fire = true; if (fire && options.callback) { options.callback(dataa_social); social_dataa = ''; /*if(options.popup == 'p1'){ svc_megnific_script(); }else{ svc_megnific_script_with_content(); }*/ } } var Utility = { request: function(url, callback) { $.ajax({ url: url, dataType: 'jsonp', success: callback }); }, request_json: function(url, callback) { $.ajax({ url: url, dataType: 'json', success: callback }); }, get_request: function(url, callback) { $.get(url, callback, 'json'); }, wrapLinks: function(string, social_network) { var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; if (social_network === 'google-plus' || social_network === 'tumblr') { string = string.replace(/(@|#)([a-z0-9_]+['])/ig, Utility.wrapGoogleplusTagTemplate); } else { string = string.replace(exp, Utility.wrapLinkTemplate); } return string; }, wrapLinkTemplate: function(string) { return '' + string + '<\/a>'; }, wrapGoogleplusTagTemplate: function(string) { return '' + string + '<\/a>'; }, shorten: function(string) { string = $.trim(string); if (string.length > options.length) { return jQuery.trim(string).substring(0, options.length).split(" ").slice(0, -1).join(" ") + "..."; } else { return string; } }, stripHTML: function(string) { if (typeof string === "undefined" || string === null) { return ''; } return string.replace(/(<([^>]+)>)|nbsp;|\s{2,}|/ig, ""); }, isotop_loop: function(){ sv++; console.log(si+' = '+sv); //if(si === sv){ fireCallback(social_dataa); //} }, isotop_insert: function(rendered_html){ jQuery('.social-feed-container_'+options.stream_id).isotope({transformsEnabled: false,isResizeBound: false,transitionDuration: 0}).isotope( 'insert',jQuery( rendered_html ) ); } }; function SocialFeedPost(social_network, data) { this.content = data; this.content.social_network = (social_network == 'vimeo') ? 'vimeo-square' : social_network; this.content.attachment = (this.content.attachment === undefined) ? '' : this.content.attachment; this.content.time_ago = data.dt_create.fromNow(); this.content.dt_create = this.content.dt_create.format("MMMM DD, YYYY"); //this.content.dt_create = this.content.dt_create.valueOf(); this.content.text = Utility.wrapLinks(Utility.shorten(data.message + ' ' + data.description), data.social_network); this.content.moderation_passed = (options.moderation) ? options.moderation(this.content) : true; this.content.effect = options.effect; this.content.grid_columns_count_for_desktop = options.grid_columns_count_for_desktop; this.content.grid_columns_count_for_tablet = options.grid_columns_count_for_tablet; this.content.grid_columns_count_for_mobile = options.grid_columns_count_for_mobile; this.content.popup = options.popup; Feed[social_network].posts.push(this); } SocialFeedPost.prototype = { render: function() { var rendered_html = Feed.template(this.content); var data = this.content; if ($(container).children('[social-feed-id=' + data.id + ']').length !== 0) { return false; } if ($(container).children().length === 0) { if($('.social-feed-container_'+options.stream_id).html() === ''){ social_dataa += rendered_html; //Utility.isotop_insert(rendered_html); }else{ social_dataa += rendered_html; //$(container).append(rendered_html); /*jQuery('.social-feed-container_'+options.stream_id).isotope({ itemSelector: '.svc-social-item', transformsEnabled: false, isResizeBound: true, transitionDuration: '0.8s', filter: '*', layoutMode: 'masonry', masonry: { columnWidth: 1 } }); */ } } else { var i = 0, insert_index = -1; $.each($(container).children(), function() { if ($(this).attr('dt-create') < data.dt_create) { insert_index = i; return false; } i++; }); social_dataa += rendered_html; //Utility.isotop_insert(rendered_html); /*if (insert_index >= 0) { insert_index++; var before = $(container).children('div:nth-child(' + insert_index + ')'), current = $(container).children('div:last-child'); $(current).insertBefore(before); }*/ } if (options.media_min_width) { var query = '[social-feed-id=' + data.id + '] img.attachment'; var image = $(query); // preload the image var height, width = ''; var img = new Image(); var imgSrc = image.attr("src"); $(img).load(function () { if (img.width < options.media_min_width) { //image.hide(); } // garbage collect img delete img; }).error(function () { // image couldnt be loaded image.hide(); }).attr({ src: imgSrc }); } } }; var Feed = { template: false, init: function() { Feed.getTemplate(function() { social_networks.forEach(function(network) { if (options[network]) { options[network].accounts.forEach(function(account) { si++; Feed[network].getData(account); }); } }); console.log(si); }); }, getTemplate: function(callback) { if (Feed.template){ return callback(); }else { if (options.template_html) { Feed.template = doT.template(options.template_html); return callback(); } else { $.get(options.template, function(template_html) { Feed.template = doT.template(template_html); return callback(); }); } } }, twitter: { posts: [], loaded: false, api: 'http://api.tweecool.com/', getData: function(account) { if($('#social_load_more_btn_'+options.stream_id).attr('data-twitter') == 'finish'){ sv++; } switch (account[0]) { case '@': var userid = account.substr(1); var max_id = ''; var twit_max_id = $('#social_load_more_btn_'+options.stream_id).attr('data-twitter'); if(twit_max_id != '' && typeof twit_max_id != 'undefined'){ max_id = '&max_id='+twit_max_id; options.twitter.limit = parseInt(options.twitter.limit) + 1; } if(twit_max_id != 'finish'){ $.ajax({ url: svc_ajax_url.url, data : 'action=svc_get_tweet&user_name='+userid+'&limit='+options.twitter.limit+max_id, dataType:"json", type: 'POST', success: function(response) { Feed.twitter.utility.getPosts(response,''); } }); } break; case '#': var hashtag = account.substr(1); if(typeof options.twitter.loadmore === 'undefined'){ var main_lm = 'action=svc_get_search_tweet&q='+hashtag+'&limit='+options.twitter.limit; }else{ var lm = options.twitter.loadmore; var main_lm = 'action=svc_get_search_tweet&other=yes&limit='+options.twitter.limit+'&que='+lm.replace('?',''); } $.ajax({ url: svc_ajax_url.url, data : main_lm, dataType:"json", type: 'POST', success: function(reply) { if (typeof reply['search_metadata'] === "undefined") { reply['search_metadata'] = "undefined"; reply['search_metadata']['next_results'] = "undefined"; } if (typeof reply['search_metadata']['next_results'] !== "undefined" && reply['search_metadata']['next_results'] !== "undefined") { $('#social_load_more_btn_'+options.stream_id).attr('data-twitter',reply['search_metadata']['next_results']); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-twitter',''); } Feed.twitter.utility.getPosts(reply.statuses,'search'); } }); break; default: } }, utility: { getPosts: function(json,searchh) { if(json.length == 0){ $('#social_load_more_btn_'+options.stream_id).attr('data-twitter','finish'); } if (json) { var tc = 0; $.each(json, function() { tc++; var element = this; if(searchh != 'search'){ $('#social_load_more_btn_'+options.stream_id).attr('data-twitter',element['id']); } var post = new SocialFeedPost('twitter', Feed.twitter.utility.unifyPostData(element)); post.render(); }); if(json.length == tc){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { //console.log(element); var post = {}; if (element.id) { post.id = element.id; post.dt_create = moment(element.created_at, 'dd MMM DD HH:mm:ss ZZ YYYY', 'en'); post.author_link = 'http://twitter.com/' + element.user.screen_name; post.author_picture = element.user.profile_image_url; post.post_url = post.author_link + '/status/' + element.id_str; post.author_name = element.user.name; post.message = element.text; post.description = ''; post.link = 'http://twitter.com/' + element.user.screen_name + '/status/' + element.id_str; if (options.show_media === true) { if (element.entities.media && element.entities.media.length > 0) { var image_url = element.entities.media[0].media_url; if (image_url) { if(options.popup == 'p1'){ post.attachment = ''; } if(options.popup == 'p2'){ post.attachment = ''; } } } } } post.feed = "svc_twitter"; return post; }, } }, facebook: { posts: [], graph: 'https://graph.facebook.com/', loaded: false, getData: function(account) { var request_url, limit = 'limit=' + options.facebook.limit+'&fields=id,full_picture,created_time,from,message,link,type,shares,object_id,story', query_extention = '&access_token=' + options.facebook.access_token + '&callback=?'; if(typeof options.facebook.loadmore === 'undefined'){ switch (account[0]) { case '@': var username = account.substr(1); request_url = Feed.facebook.graph + 'v1.0/' + username + '/posts?' + limit + query_extention; break; case '#': var username = account.substr(1); request_url = Feed.facebook.graph + 'v1.0/' + username + '/feed?' + limit + query_extention; break; default: var username = account.substr(1); request_url = Feed.facebook.graph + 'v1.0/' + username + '/posts?' + limit + query_extention; } Utility.request(request_url, Feed.facebook.utility.getPosts); }else{ if(options.facebook.loadmore != ''){ request_url = options.facebook.loadmore; Utility.request(request_url, Feed.facebook.utility.getPosts); } if(options.facebook.loadmore == ''){ sv++; } } }, utility: { prepareAttachment: function(element) { //console.log(element); var fb_type = element.type; var image_url = element.full_picture; if (element.full_picture) { image_url = element.full_picture;//Feed.facebook.graph + element.object_id + '/picture/?type=normal'; } if(options.popup == 'p1'){ return ''; }else{ if(typeof element.shares == 'undefined'){ var fb_share_count = 0; }else{ var fb_share_count = element.shares.count; } var fb_story_popup = (element.message) ? element.message : element.story; if(fb_type == 'video'){ return ''; }else if(fb_type == 'link'){ var el_object_id = element.id; var el_object_id_array = el_object_id.split('_'); el_object_id = el_object_id_array[1]; //var image_url_popup = image_url.replace(/&/g,'||'); return ''; }else{ return ''; } } }, getExternalImageURL: function(image_url, parameter) { image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; if (image_url.indexOf('fbcdn-sphotos') === -1) { return image_url.split('&')[0]; } else { return image_url; } }, getPosts: function(json) { if (typeof json['paging'] === "undefined") { json['paging'] = "undefined"; json['paging']['next'] = "undefined"; } if (typeof json['paging']['next'] !== "undefined" && json['paging']['next'] !== "undefined") { $('#social_load_more_btn_'+options.stream_id).attr('data-facebook',json['paging']['next']); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-facebook',''); } if (json['data']){ var c = 0; json['data'].forEach(function(element) { c++; var post = new SocialFeedPost('facebook', Feed.facebook.utility.unifyPostData(element)); post.render(); }); if(json['data'].length == c){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { var post = {}, text = (element.message) ? element.message : element.story; post.id = element.id; post.dt_create = moment(element.created_time); post.author_link = 'http://facebook.com/' + element.from.id; post.author_picture = Feed.facebook.graph + element.from.id + '/picture'; post.author_name = element.from.name; post.name = element.name || ""; post.message = (text) ? text : ''; post.description = (element.description) ? element.description : ''; post.link = (element.link) ? element.link : 'http://facebook.com/' + element.from.id; if (options.show_media === true) { if (element.full_picture) { var attachment = Feed.facebook.utility.prepareAttachment(element); if (attachment) { post.attachment = attachment; } } } post.feed = "svc_facebook"; return post; } } }, google: { posts: [], loaded: false, api: 'https://www.googleapis.com/plus/v1/', getData: function(account) { var request_url; switch (account[0]) { case '#': var hashtag = account.substr(1); if(typeof options.google.loadmore === 'undefined'){ request_url = Feed.google.api + 'activities?query=' + hashtag + '&key=' + options.google.access_token + '&maxResults=' + options.google.limit; Utility.get_request(request_url, Feed.google.utility.getPosts); }else{ if(options.google.loadmore != ''){ request_url = Feed.google.api + 'activities?query=' + hashtag + '&key=' + options.google.access_token + '&maxResults=' + options.google.limit+'&pageToken='+options.google.loadmore; Utility.get_request(request_url, Feed.google.utility.getPosts); } if(options.google.loadmore == ''){ sv++; } } break; case '@': var username = account.substr(1); if(typeof options.google.loadmore === 'undefined'){ request_url = Feed.google.api + 'people/' + username + '/activities/public?key=' + options.google.access_token + '&maxResults=' + options.google.limit; Utility.get_request(request_url, Feed.google.utility.getPosts); }else{ if(options.google.loadmore != ''){ request_url = Feed.google.api + 'people/' + username + '/activities/public?key=' + options.google.access_token + '&maxResults=' + options.google.limit+'&pageToken='+options.google.loadmore; Utility.get_request(request_url, Feed.google.utility.getPosts); } if(options.google.loadmore == ''){ sv++; } } break; default: } }, utility: { getPosts: function(json) { if (typeof json['nextPageToken'] !== "undefined") { $('#social_load_more_btn_'+options.stream_id).attr('data-gplus',json['nextPageToken']); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-gplus',''); } if (json.items) { var gc = 0; json['items'].forEach(function(element) { gc++; var post = new SocialFeedPost('google', Feed.google.utility.unifyPostData(element)); post.render(); }); if(json['items'].length == gc){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { var post = {}; post.id = element.id; post.attachment = ''; post.description = ''; post.dt_create = moment(element.published); post.author_link = element.actor.url; post.author_picture = element.actor.image.url; post.author_name = element.actor.displayName; if (options.show_media === true) { if (element.object.attachments) { $.each(element.object.attachments, function() { var image = '';//channel_script_vars.blank_image_url; if (this.fullImage) { image = this.fullImage.url; } else { if (this.objectType === 'album') { if (this.thumbnails && this.thumbnails.length > 0) { if (this.thumbnails[0].image) { image = this.thumbnails[0].image.url; } } } } if(image != '' && image != 'https://s0.wp.com/i/blank.jpg'){ post.attachment = ''; }else{ post.attachment = ''; } }); } } post.message = element.title; post.link = element.url; post.feed = "svc_gplus"; return post; } } }, instagram: { posts: [], api: 'https://api.instagram.com/v1/', loaded: true, getData: function(account) { var url; if(typeof options.instagram.loadmore === 'undefined'){ if(options.instagram.instagram_access_token){ switch (account[0]) { case '@': var username = account.substr(1); //url = Feed.instagram.api + 'users/search/?q=' + username + '&access_token='+options.instagram.instagram_access_token+'&' + 'client_id=' + options.instagram.client_id + '&count=1' + '&callback=?'; url = Feed.instagram.api + 'users/self/?access_token='+options.instagram.instagram_access_token; Utility.request(url, Feed.instagram.utility.getUsers); break; case '#': var hashtag = account.substr(1); url = Feed.instagram.api + 'tags/' + hashtag + '/media/recent/?' + 'client_id=' + options.instagram.client_id + '&access_token='+options.instagram.instagram_access_token+'&' + 'count=' + options.instagram.limit + '&callback=?'; Utility.request(url, Feed.instagram.utility.getImages); break; case '&': var id = account.substr(1); url = Feed.instagram.api + 'users/' + id + '/?client_id=' + options.instagram.client_id + '&access_token='+options.instagram.instagram_access_token+'&' + 'count=' + options.instagram.limit + '&callback=?'; Utility.request(url, Feed.instagram.utility.getUsers); default: } } }else{ if(options.instagram.loadmore != ''){ url = options.instagram.loadmore; Utility.request(url, Feed.instagram.utility.getImages); } if(options.instagram.loadmore == ''){ sv++; } } }, utility: { getImages: function(json) { //console.log(json['pagination']); if (typeof json['pagination'] == "undefined") { json['pagination'] = 'undefined'; json['pagination']['next_url'] = "undefined"; } if (typeof json['pagination']['next_url'] !== "undefined" && json['pagination']['next_url'] !== "undefined") { $('#social_load_more_btn_'+options.stream_id).attr('data-instagram',json['pagination']['next_url']); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-instagram',''); } if (json.data) { var ic = 0; json.data.forEach(function(element) { ic++; var post = new SocialFeedPost('instagram', Feed.instagram.utility.unifyPostData(element)); post.render(); }); if(json.data.length == ic){ Utility.isotop_loop(); } } }, getUsers: function(json) { if (typeof json['pagination'] === "undefined") { json['pagination'] = "undefined"; json['pagination']['next_url'] = "undefined"; } if (typeof json['pagination']['next_url'] !== "undefined" && json['pagination']['next_url'] !== "undefined") { $('#social_load_more_btn_'+options.stream_id).attr('data-instagram',json['pagination']['next_url']); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-instagram',''); } if( ! jQuery.isArray(json.data)) json.data = [json.data] json.data.forEach(function(user) { var url = Feed.instagram.api + 'users/' + user['id'] + '/media/recent/?' + 'access_token=260796206.0efbe26.89a76a9668934089a2d00d928486fd26&count=' + options.instagram.limit + '&callback=?'; //var url = Feed.instagram.api + 'users/' + user.id + '/media/recent/?' + 'access_token='+options.instagram.instagram_access_token+'&' + 'count=' + options.instagram.limit + '&callback=?'; Utility.request(url, Feed.instagram.utility.getImages); }); }, unifyPostData: function(element) { var post = {}; post.id = element.id; post.dt_create = moment(element.created_time * 1000); post.author_link = 'http://instagram.com/' + element.user.username; post.author_picture = element.user.profile_picture; post.author_name = element.user.full_name; post.message = (element.caption && element.caption) ? element.caption.text : ''; post.description = ''; post.link = element.link; //console.log(element.images); if (options.show_media) { if(options.popup == 'p1'){ post.attachment = ''; }else{ post.attachment = ''; } } post.feed = "svc_instagram"; return post; } } }, tumblr: { posts: [], graph: 'http://api.tumblr.com/v2/blog/', loaded: false, getData: function(account) { var request_url = '', username_url = account.substr(1)+'.tumblr.com/posts?', query_extention = '&api_key=' + options.tumblr.api_key + '¬es_info=true&limit='+options.tumblr.limit; if(typeof options.tumblr.loadmore === 'undefined'){ request_url = Feed.tumblr.graph + username_url + query_extention; Utility.request(request_url, Feed.tumblr.utility.getPosts); }else{ if(options.tumblr.loadmore != ''){ request_url = Feed.tumblr.graph + username_url + query_extention + '&offset='+options.tumblr.loadmore; Utility.request(request_url, Feed.tumblr.utility.getPosts); } if(options.tumblr.loadmore == ''){ sv++; } } }, utility: { prepareAttachment: function(element) { var ori_image_url = element.photos[0]['original_size']['url']; if(element.photos[0]['alt_sizes'].length == 0){ var image_url = ori_image_url; }else{ var image_url = element.photos[0]['alt_sizes'][1]['url']; } if(options.popup == 'p1'){ return ''; } if(options.popup == 'p2'){ var tumb_id = element.id; var blog_name = element.blog_name; return ''; } }, getExternalImageURL: function(image_url, parameter) { image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; if (image_url.indexOf('fbcdn-sphotos') === -1) { return image_url.split('&')[0]; } else { return image_url; } }, getPosts: function(json) { if(typeof options.tumblr.loadmore === 'undefined'){ $('#social_load_more_btn_'+options.stream_id).attr('data-tumblr',options.tumblr.limit); }else{ var page_offset = parseInt(options.tumblr.limit)+parseInt(options.tumblr.loadmore); $('#social_load_more_btn_'+options.stream_id).attr('data-tumblr',page_offset); if(page_offset >= parseInt(json['response']['total_posts'])){ $('#social_load_more_btn_'+options.stream_id).attr('data-tumblr',''); } } if (json['response']){ var tuc = 0; json['response']['posts'].forEach(function(element) { tuc++; var post = new SocialFeedPost('tumblr', Feed.tumblr.utility.unifyPostData(element)); post.render(); }); if(json['response']['posts'].length == tuc){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { var post = {}, text = (element.caption) ? element.caption : element.caption; post.id = element.id; post.dt_create = moment(element.date,'YYYY-MM-DD hh:mm:ss'); post.author_link = 'http://'+element.blog_name+'.tumblr.com/'; post.author_picture = 'http://api.tumblr.com/v2/blog/'+element.blog_name+'.tumblr.com/avatar/512'; post.author_name = element.blog_name; post.name = element.name || ""; post.message = (text) ? text : ''; post.description = '';//(element.caption) ? element.caption : ''; post.link = (element.post_url) ? element.post_url : 'http://'+element.blog_name+'.tumblr.com/'; if (options.show_media === true) { if (element.photos) { var attachment = Feed.tumblr.utility.prepareAttachment(element); if (attachment) { post.attachment = attachment; } } } post.feed = "svc_tumblr"; return post; } } }, youtube: { posts: [], graph: 'https://www.googleapis.com/youtube/v3/', loaded: false, getData: function(account) { var request_url = ''; if(typeof options.youtube.channel_id != 'undefined' && options.youtube.channel_id != ''){ //console.log('channel'); Feed.youtube.utility.getChannels_data(options.youtube.channel_id); }else if(typeof options.youtube.loadmore === 'undefined'){ if(options.youtube.playlistid != '' && typeof options.youtube.playlistid != 'undefined'){ //console.log('playlist'); request_url = Feed.youtube.graph + 'playlistItems?part=snippet,contentDetails,id&playlistId='+options.youtube.playlistid+'&maxResults='+options.youtube.limit+'&key='+ options.youtube.access_token; Utility.request(request_url, Feed.youtube.utility.getChannel_data_for_playlist); }else{ request_url = Feed.youtube.graph + 'channels?part=id&forUsername='+account+'&key='+ options.youtube.access_token; Utility.request(request_url, Feed.youtube.utility.getChannels); } }else{ var nextpage_token_with_playid = $('#social_load_more_btn_'+options.stream_id).attr('data-youtube'); var nextpage_token_exp = nextpage_token_with_playid.split('||'); var nextpage_token = nextpage_token_exp[0]; var playlistid = nextpage_token_exp[1]; var author_logo = nextpage_token_exp[2]; if(nextpage_token != ''){ request_url = Feed.youtube.graph + 'playlistItems?part=snippet&playlistId=' + playlistid + '&pageToken='+nextpage_token+'&maxResults='+options.youtube.limit+'&key='+ options.youtube.access_token; $.ajax({ url: request_url, dataType: 'jsonp', success: function(json){ Feed.youtube.utility.getPosts(json,playlistid,author_logo); } }); } if(nextpage_token == ''){ sv++; } } }, utility: { prepareAttachment: function(element,videoId) { var video_url = 'https://www.youtube.com/watch?v='+videoId; var image_url = element['medium']['url']; if(options.popup == 'p1'){ return ''; } if(options.popup == 'p2'){ return ''; } }, getExternalImageURL: function(image_url, parameter) { image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; if (image_url.indexOf('fbcdn-sphotos') === -1) { return image_url.split('&')[0]; } else { return image_url; } }, getChannels_data: function(cid){ request_url = Feed.youtube.graph + 'channels?part=brandingSettings,snippet,statistics,contentDetails&id='+cid+'&key='+ options.youtube.access_token; Utility.request(request_url, Feed.youtube.utility.getPlaylistid); }, getChannels: function(json){ var cid = json['items'][0]['id']; request_url = Feed.youtube.graph + 'channels?part=brandingSettings,snippet,statistics,contentDetails&id='+cid+'&key='+ options.youtube.access_token; Utility.request(request_url, Feed.youtube.utility.getPlaylistid); }, getPlaylistid: function(json){ var author_logo = json['items'][0]['snippet']['thumbnails']['default']['url']; var playlistid = json['items'][0]['contentDetails']['relatedPlaylists']['uploads']; request_url = Feed.youtube.graph + 'playlistItems?part=snippet&playlistId='+playlistid+'&maxResults='+options.youtube.limit+'&key='+ options.youtube.access_token; $.ajax({ url: request_url, dataType: 'jsonp', success: function(json){ Feed.youtube.utility.getPosts(json,playlistid,author_logo); } }); }, getChannel_data_for_playlist: function(json){ var cid = json['items'][0]['snippet']['channelId']; request_url = Feed.youtube.graph + 'channels?part=brandingSettings,snippet,statistics,contentDetails&id='+cid+'&key='+ options.youtube.access_token; $.ajax({ url: request_url, dataType: 'jsonp', success: function(jsonn){ var author_logo = jsonn['items'][0]['snippet']['thumbnails']['default']['url']; var playlistid = jsonn['items'][0]['contentDetails']['relatedPlaylists']['uploads']; Feed.youtube.utility.getPosts(json,playlistid,author_logo); } }); }, getPosts: function(json,playlistid,author_logo) { if(typeof options.youtube.loadmore === 'undefined'){ $('#social_load_more_btn_'+options.stream_id).attr('data-youtube',json['nextPageToken']+'||'+playlistid+'||'+author_logo); }else{ if(typeof json['nextPageToken'] === 'undefined'){ $('#social_load_more_btn_'+options.stream_id).attr('data-youtube',''); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-youtube',json['nextPageToken']+'||'+playlistid+'||'+author_logo); } } if (json['items']){ var yc = 0; if(json['items'].length == 0){ $('#svc_infinite').hide(); } json['items'].forEach(function(element) { yc++; var post = new SocialFeedPost('youtube', Feed.youtube.utility.unifyPostData(element,author_logo)); post.render(); }); if(json['items'].length == yc){ Utility.isotop_loop(); } } }, unifyPostData: function(element,author_logo) { var yid = element.id; element = element.snippet; var post = {}, text = (element.description) ? element.description : element.description; post.id = yid; post.dt_create = moment(element.publishedAt,'YYYY-MM-DD hh:mm:ss'); post.author_link = 'http://www.youtube.com/user/'+element.channelTitle; post.author_picture = author_logo; post.author_name = element.channelTitle; post.name = element.title || ""; post.message = (text) ? text : ''; post.description = '';//(element.caption) ? element.caption : ''; post.link = (element.resourceId) ? 'https://www.youtube.com/watch?v='+element.resourceId.videoId : 'http://www.youtube.com/user/'+element.channelTitle; if (options.show_media === true) { if (element.thumbnails) { var attachment = Feed.youtube.utility.prepareAttachment(element.thumbnails,element.resourceId.videoId); if (attachment) { post.attachment = attachment; } } } post.feed = "svc_youtube"; return post; } } }, vimeo: { posts: [], graph: 'https://api.vimeo.com', loaded: false, getData: function(account) { var request_url = ''; if(typeof options.vimeo.loadmore === 'undefined'){ request_url = Feed.vimeo.graph +'/users/'+ account +'/videos?per_page='+options.vimeo.limit+'&access_token=73e23e410b2fe14504a59ff863c2eeae' ; Utility.request_json(request_url, Feed.vimeo.utility.getPosts); }else{ var nextpage_url = options.vimeo.loadmore; if(nextpage_url != ''){ request_url = Feed.vimeo.graph + options.vimeo.loadmore; $.ajax({ url: request_url, dataType: 'json', success: function(json){ Feed.vimeo.utility.getPosts(json); } }); } if(nextpage_url == ''){ sv++; } } }, utility: { prepareAttachment: function(element,video_link,elementtt) { var video_id = video_link.split("/"); var image_url = element['sizes'][3]['link']; if(options.popup == 'p1'){ return ''; } if(options.popup == 'p2'){ return ''; } }, getExternalImageURL: function(image_url, parameter) { image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; if (image_url.indexOf('fbcdn-sphotos') === -1) { return image_url.split('&')[0]; } else { return image_url; } }, getPosts: function(json) { if(typeof options.vimeo.loadmore === 'undefined'){ $('#social_load_more_btn_'+options.stream_id).attr('data-vimeo',json['paging']['next']); }else{ if(json['paging']['next'] == null){ $('#social_load_more_btn_'+options.stream_id).attr('data-vimeo',''); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-vimeo',json['paging']['next']); } } if (json['data']){ var vc = 0; json['data'].forEach(function(element) { vc++; var post = new SocialFeedPost('vimeo', Feed.vimeo.utility.unifyPostData(element)); post.render(); }); if(json['data'].length == vc){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { var yid = element.duration; //element = element.snippet; var post = {}, text = (element.description) ? element.description : element.description; post.id = yid; post.dt_create = moment(element.created_time,'YYYY-MM-DD hh:mm:ss'); post.author_link = element.user.link; post.author_picture = element.user.pictures.sizes[1].link; post.author_name = element.user.name; post.name = element.name || ""; post.message = (text) ? text : ''; post.description = '';//(element.caption) ? element.caption : ''; post.link = element.link if (options.show_media === true) { if (element.pictures) { var attachment = Feed.vimeo.utility.prepareAttachment(element.pictures,element.link,element); if (attachment) { post.attachment = attachment; } } } post.feed = "svc_vimeo"; return post; } } }, dribbble: { posts: [], graph: 'http://api.dribbble.com/players', loaded: false, getData: function(account) { var request_url = ''; if(typeof options.dribbble.loadmore === 'undefined'){ request_url = Feed.dribbble.graph +'/'+ account +'/shots?per_page='+options.dribbble.limit; Utility.request(request_url, Feed.dribbble.utility.getPosts); }else{ var nextpage_page = options.dribbble.loadmore; if(nextpage_page != ''){ request_url = Feed.dribbble.graph +'/'+ account +'/shots?per_page='+options.dribbble.limit+'&page='+options.dribbble.loadmore; Utility.request(request_url, Feed.dribbble.utility.getPosts); } if(nextpage_page == ''){ sv++; } } }, utility: { prepareAttachment: function(big_img_link,small_img) { var image_url = big_img_link; return ''; }, getExternalImageURL: function(image_url, parameter) { image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; if (image_url.indexOf('fbcdn-sphotos') === -1) { return image_url.split('&')[0]; } else { return image_url; } }, getPosts: function(json) { if(typeof options.dribbble.loadmore === 'undefined'){ if(json['page'] != json['pages']){ $('#social_load_more_btn_'+options.stream_id).attr('data-dribbble',parseInt(json['page'])+1); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-dribbble',''); } }else{ if(json['page'] == json['pages']){ $('#social_load_more_btn_'+options.stream_id).attr('data-dribbble',''); }else{ $('#social_load_more_btn_'+options.stream_id).attr('data-dribbble',parseInt(json['page'])+1); } } if (json['shots']){ var vc = 0; json['shots'].forEach(function(element) { vc++; var post = new SocialFeedPost('dribbble', Feed.dribbble.utility.unifyPostData(element)); post.render(); }); if(json['shots'].length == vc){ Utility.isotop_loop(); } } }, unifyPostData: function(element) { var ud = element.created_at.replace(" -0400", ""); ud = ud.replace("/", "-"); ud = ud.replace("/", "-"); var yid = element.id; //element = element.snippet; var post = {}, text = (element.description) ? element.description.replace(/<\/?[^>]+>/gi, '') : element.description.replace(/<\/?[^>]+>/gi, ''); post.id = yid; post.dt_create = moment(ud,'YYYY-MM-DD hh:mm:ss'); post.author_link = element.player.url; post.author_picture = element.player.avatar_url; post.author_name = element.player.name; post.name = element.name || ""; post.message = (text) ? text : ''; post.description = '';//(element.caption) ? element.caption : ''; post.link = element.url if (options.show_media === true) { if (element.image_url) { small_img = element.image_400_url; if(typeof element.image_400_url == 'undefined'){ small_img = element.image_url; } var attachment = Feed.dribbble.utility.prepareAttachment(element.image_url,small_img); if (attachment) { post.attachment = attachment; } } } post.feed = "svc_dribbble"; return post; } } }, vk: { posts: [], loaded: true, base: 'http://vk.com/', api: 'https://api.vk.com/method/', user_json_template: 'https://api.vk.com/method/' + 'users.get?fields=first_name,%20last_name,%20screen_name,%20photo&uid=', group_json_template: 'https://api.vk.com/method/' + 'groups.getById?fields=first_name,%20last_name,%20screen_name,%20photo&gid=', getData: function(account) { var request_url; switch (account[0]) { case '@': var username = account.substr(1); request_url = Feed.vk.api + 'wall.get?owner_id=' + username + '&filter=' + options.vk.source + '&count=' + options.vk.limit + '&callback=?'; Utility.get_request(request_url, Feed.vk.utility.getPosts); break; case '#': var hashtag = account.substr(1); request_url = Feed.vk.api + 'newsfeed.search?q=' + hashtag + '&count=' + options.vk.limit + '&callback=?'; Utility.get_request(request_url, Feed.vk.utility.getPosts); break; default: } }, utility: { getPosts: function(json) { if (json.response) { $.each(json.response, function() { if (this != parseInt(this) && this.post_type === 'post') { var owner_id = (this.owner_id) ? this.owner_id : this.from_id, vk_wall_owner_url = (owner_id > 0) ? (Feed.vk.user_json_template + owner_id + '&callback=?') : (Feed.vk.group_json_template + (-1) * owner_id + '&callback=?'), element = this; Utility.get_request(vk_wall_owner_url, function(wall_owner) { Feed.vk.utility.unifyPostData(wall_owner, element, json); }); } }); } }, unifyPostData: function(wall_owner, element, json) { var post = {}; post.id = element.id; post.dt_create = moment.unix(element.date); post.description = ' '; post.message = Utility.stripHTML(element.text); if (options.show_media) { if (element.attachment) { if (element.attachment.type === 'link') post.attachment = ''; if (element.attachment.type === 'video') post.attachment = ''; if (element.attachment.type === 'photo') post.attachment = ''; } } if (element.from_id > 0) { var vk_user_json = Feed.vk.user_json_template + element.from_id + '&callback=?'; Utility.get_request(vk_user_json, function(user_json) { var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getUser(user_json, post, element, json)); vk_post.render(); }); } else { var vk_group_json = Feed.vk.group_json_template + (-1) * element.from_id + '&callback=?'; Utility.get_request(vk_group_json, function(user_json) { var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getGroup(user_json, post, element, json)); vk_post.render(); }); } }, getUser: function(user_json, post, element, json) { post.author_name = user_json.response[0].first_name + ' ' + user_json.response[0].last_name; post.author_picture = user_json.response[0].photo; post.author_link = Feed.vk.base + user_json.response[0].screen_name; post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall' + element.from_id + '_' + element.id; post.feed = "svc_vk"; return post; }, getGroup: function(user_json, post, element, json) { post.author_name = user_json.response[0].name; post.author_picture = user_json.response[0].photo; post.author_link = Feed.vk.base + user_json.response[0].screen_name; post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall-' + user_json.response[0].gid + '_' + element.id; return post; } } }, blogspot: { loaded: true, getData: function(account) { var url; switch (account[0]) { case '@': var username = account.substr(1); url = 'http://' + username + '.blogspot.com/feeds/posts/default?alt=json-in-script&callback=?'; request(url, getPosts); break; default: } }, utility: { getPosts: function(json) { $.each(json.feed.entry, function() { var post = {}, element = this; post.id = element.id['$t'].replace(/[^a-z0-9]/gi, ''); post.dt_create = moment((element.published['$t'])); post.author_link = element.author[0]['uri']['$t']; post.author_picture = 'http:' + element.author[0]['gd$image']['src']; post.author_name = element.author[0]['name']['$t']; post.message = element.title['$t'] + '

' + stripHTML(element.content['$t']); post.description = ''; post.link = element.link.pop().href; if (options.show_media) { if (element['media$thumbnail']) { post.attachment = ''; } } post.render(); }); } } } }; // Initialization Feed.init(); if (options.update_period) { setInterval(function() { return Feed.init(); }, options.update_period); } }; })(jQuery);