// JQuery Twitter Feed. Coded by www.tom-elliott.net (2012) and modified from https://twitter.com/javascripts/blogger.js //UPDATED TO AUTHENTICATE TO API 1.1 jQuery(function($){ var twitter_feed = $('.twitter-feed'); var displaylimit = twitter_feed.attr('data-count'); var screenname = "Dan Fisher"; var showdirecttweets = false; var showretweets = true; var showtweetlinks = true; var showprofilepic = true; var showtweetactions = true; var showretweetindicator = false; var headerHTML = ''; var loadingHTML = ''; loadingHTML += '
Please wait...
'; twitter_feed.html(headerHTML + loadingHTML); $.getJSON('php/get-tweets.php', function(feeds) { var feedHTML = ''; var displayCounter = 1; for (var i=0; i 1) && (displayCounter <= displaylimit)) { if (showtweetlinks == true) { status = addlinks(status); } if (displayCounter == 1) { feedHTML += headerHTML; } feedHTML += '
  • '; feedHTML += ''; feedHTML += ''; feedHTML += '
    '; feedHTML += ''; if (showtweetactions == true) { feedHTML += ''; } feedHTML += '
    '; feedHTML += '
  • '; displayCounter++; } } } $('.twitter-feed').html(feedHTML); //Add new window for action clicks if (showtweetactions == true) { $('.twitter-feed__actions a').click(function(){ var url = $(this).attr('href'); window.open(url, 'tweet action window', 'width=580,height=500'); return false; }); } }); //Function modified from Stack Overflow function addlinks(data) { //Add link to all http:// links within tweets data = data.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { return ''+url+''; }); //Add link to @usernames used within tweets data = data.replace(/\B@([_a-z0-9]+)/ig, function(reply) { return ''+reply.charAt(0)+reply.substring(1)+''; }); return data; } function relative_time(time_value) { var values = time_value.split(" "); time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; var parsed_date = Date.parse(time_value); var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); delta = delta + (relative_to.getTimezoneOffset() * 60); if (delta < 60) { return 'less than a minute ago'; } else if(delta < 120) { return 'about a minute ago'; } else if(delta < (60*60)) { return (parseInt(delta / 60)).toString() + ' minutes ago'; } else if(delta < (120*60)) { return 'about an hour ago'; } else if(delta < (24*60*60)) { return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago'; } else if(delta < (48*60*60)) { return '1 day ago'; } else { return (parseInt(delta / 86400)).toString() + ' days ago'; } } });