1// JQuery Twitter Feed. Coded by www.webdevdoor.com (2012) and modified from https://twitter.com/javascripts/blogger.js 2jQuery(document).ready(function () { 3 4 var displaylimit = 3; 5 var twitterprofile = ""; 6 var screenname = ""; 7 var showdirecttweets = false; 8 var showretweets = true; 9 var showtweetlinks = true; 10 var showprofilepic = true; 11 12 var headerHTML = ''; 13 var loadingHTML = ''; 14 //headerHTML += '<a href="https://twitter.com/" ><img src="images/twitter-bird-light.png" width="34" style="float:left;padding:3px 12px 0px 6px" alt="twitter bird" /></a>'; 15 //headerHTML += '<h1>'+screenname+' <span style="font-size:13px"><a href="https://twitter.com/'+twitterprofile+'" >@'+twitterprofile+'</a></span></h1>'; 16 var loader_image_path = twitter_load_parameters.theme_default_path; 17 loadingHTML += '<div id="loading-container"><img src="'+loader_image_path+'/images/loader.gif" alt="tweet loader" /></div>'; 18 19 jQuery('#twitter-feed').html(headerHTML + loadingHTML); 20 jQuery('#twitter-feed2').html(headerHTML + loadingHTML); 21 22 jQuery.getJSON(loader_image_path+'/functions/get-tweets1.1.php', 23 function(feeds) { 24 //alert(feeds); 25 var feedHTML = ''; 26 var displayCounter = 1; 27 for (var i=0; i<feeds.length; i++) { 28 var tweetscreenname = feeds[i].user.name; 29 var tweetusername = feeds[i].user.screen_name; 30 var profileimage = feeds[i].user.profile_image_url_https; 31 var status = feeds[i].text; 32 var isaretweet = false; 33 var isdirect = false; 34 var tweetid = feeds[i].id_str; 35 36 //If the tweet has been retweeted, get the profile pic of the tweeter 37 if(typeof feeds[i].retweeted_status != 'undefined'){ 38 profileimage = feeds[i].retweeted_status.user.profile_image_url_https; 39 tweetscreenname = feeds[i].retweeted_status.user.name; 40 tweetusername = feeds[i].retweeted_status.user.screen_name; 41 tweetid = feeds[i].retweeted_status.id_str 42 isaretweet = true; 43 }; 44 45 //Check to see if the tweet is a direct message 46 if (feeds[i].text.substr(0,1) == "@") { 47 isdirect = true; 48 } 49 50 //console.log(feeds[i]); 51 52 if (((showretweets == true) || ((isaretweet == false) && (showretweets == false))) && ((showdirecttweets == true) || ((showdirecttweets == false) && (isdirect == false)))) { 53 if ((feeds[i].text.length > 1) && (displayCounter <= displaylimit)) { 54 if (showtweetlinks == true) { 55 status = addlinks(status); 56 } 57 58 if (displayCounter == 1) { 59 feedHTML += headerHTML; 60 } 61 62 feedHTML += '<div class="twitter-article">'; 63 feedHTML += '<div class="twitter-pic"><a href="https://twitter.com/'+tweetusername+'" ><img src="'+profileimage+'"images/twitter-feed-icon.png" width="42" height="42" alt="twitter icon" /></a></div>'; 64 feedHTML += '<div class="twitter-text"><p><span class="tweetprofilelink"><strong><a href="https://twitter.com/'+tweetusername+'" >'+tweetscreenname+'</a></strong> <a href="https://twitter.com/'+tweetusername+'" >@'+tweetusername+'</a></span><span class="tweet-time"><a href="https://twitter.com/'+tweetusername+'/status/'+tweetid+'">'+relative_time(feeds[i].created_at)+'</a></span><br/>'+status+'</p></div>'; 65 feedHTML += '</div>'; 66 displayCounter++; 67 } 68 } 69 } 70 71 jQuery('#twitter-feed').html(feedHTML); 72 jQuery('#twitter-feed2').html(feedHTML); 73 }); 74 75 //Function modified from Stack Overflow 76 function addlinks(data) { 77 //Add link to all http:// links within tweets 78 data = data.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { 79 return '<a href="'+url+'" >
79'+url+'</a>'; 80 }); 81 82 //Add link to @usernames used within tweets 83 data = data.replace(/\B@([_a-z0-9]+)/ig, function(reply) { 84 return '<a href="http://twitter.com/'+reply.substring(1)+'" style="font-weight:lighter;" >'+reply.charAt(0)+reply.substring(1)+'</a>'; 85 }); 86 return data; 87 } 88 89 function relative_time(time_value) { 90 var values = time_value.split(" "); 91 time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; 92 var parsed_date = Date.parse(time_value); 93 var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); 94 var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); 95 var shortdate = time_value.substr(4,2) + " " + time_value.substr(0,3); 96 delta = delta + (relative_to.getTimezoneOffset() * 60); 97 98 if (delta < 60) { 99 return '1m'; 100 } else if(delta < 120) { 101 return '1m'; 102 } else if(delta < (60*60)) { 103 return (parseInt(delta / 60)).toString() + 'm'; 104 } else if(delta < (120*60)) { 105 return '1h'; 106 } else if(delta < (24*60*60)) { 107 return (parseInt(delta / 3600)).toString() + 'h'; 108 } else if(delta < (48*60*60)) { 109 //return '1 day'; 110 return shortdate; 111 } else { 112 return shortdate; 113 } 114 } 115 116});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.