// JavaScript Document function parseTwitterDate(text) { //running regex to grab everything after the time newtext = text.replace(/(\d{1,2}[:]\d{2}[:]\d{2}) (.*)/, '$2 $1'); //moving the time code to the end newtext = newtext.replace(/(\+\S+) (.*)/, '$2 $1'); fulldate = new Date(Date.parse(newtext)).toLocaleDateString(); fulltime = new Date(Date.parse(newtext)).toLocaleTimeString(); time = fulltime.split(' ')[0]; tt = fulltime.split(' ')[1]; hour = time.split(':')[0]; minute = time.split(':')[1]; if(tt == 'PM') hour = parseInt(hour) + 12; day = fulldate.split(', ')[0]; year = fulldate.split(', ')[1]; return hour + ':' + minute + ' - ' + day + ', ' + year; } function remove_duplicate_twitter(){ var html = jQuery('#jv_twitter_li_0:first').clone(true); jQuery('#jv_twitter_ul').empty(); html.appendTo('#jv_twitter_ul'); } function load_twitter(screen_name, count, show_date_created, show_via, show_tweet_image, show_tweet_name, show_tweet_screen_name, show_tweet_text, show_twitter_account_profile, show_tweets){ //Get Json data jQuery.jsonp({ url : "http://api.twitter.com/1/statuses/user_timeline.json?callback=?", data : { "include_entities" : "true", "include_rts" : "true", "screen_name" : screen_name, "count" : count }, dataType : "jsonp", jsonp : "jsoncallback", timeout : 5000, success :function(data) { //Remove old twitter, keep first twitter when refresh module twitter remove_duplicate_twitter(); //Show twitter items var jv_twitter_name; var jv_twitter_screen_name; var jv_twitter_text; var jv_twitter_image_url; var jv_twitter_created_at; var jv_twitter_via; jQuery.each(data, function(i,item){ //Replace url in text jQuery.each(item.entities.urls, function(j,url_val){ item.text = item.text.replace(url_val.url, ""+url_val.display_url+"" ); }); //Get value needed if(item.retweeted_status != null) { jv_twitter_name = item.retweeted_status.user.name; jv_twitter_screen_name = item.retweeted_status.user.screen_name; jv_twitter_text = item.retweeted_status.text; jv_twitter_image_url = item.retweeted_status.user.profile_image_url_https; if(show_date_created) jv_twitter_created_at = parseTwitterDate(item.retweeted_status.created_at); jv_twitter_via = item.retweeted_status.source; }else{ jv_twitter_name = item.user.name; jv_twitter_screen_name = item.user.screen_name; jv_twitter_text = item.text; jv_twitter_image_url = item.user.profile_image_url_https; if(show_date_created) jv_twitter_created_at = parseTwitterDate(item.created_at); jv_twitter_via = item.source; }; //Create new html element from first twitter var html = jQuery('#jv_twitter_li_0:first').clone(true); //Change data of html element if(show_tweet_image == 1){ html.find('#jv_twitter_image_url_0').show().attr('src',jv_twitter_image_url); }else{ html.find('#jv_twitter_image_url_0').hide(); } if(show_tweet_name == 1){ html.find('#jv_twitter_href_0').attr('href','https://twitter.com/#!/' + jv_twitter_screen_name); html.find('#jv_twitter_name_0').text(jv_twitter_name); } if(show_tweet_screen_name == 1){ html.find('#jv_twitter_screen_name_0').text('@' + jv_twitter_screen_name); } if(show_tweet_text == 1){ html.find('#jv_twitter_text_0').html(jv_twitter_text); } if(show_date_created == 1){ html.find('#jv_twitter_created_at_0').html(jv_twitter_created_at); } if(show_via == 1){ html.find('#jv_twitter_via_text_0').show(); html.find('#jv_twitter_via_0').html(jv_twitter_via); }else{ html.find('#jv_twitter_via_text_0').hide(); } //Change id html.attr('id','jv_twitter_li_'+ i); html.find('#jv_twitter_href_0').attr('id','jv_twitter_href_'+ i); html.find('#jv_twitter_image_url_0').attr('id','jv_twitter_image_url_'+ i); html.find('#jv_twitter_name_0').attr('id','jv_twitter_name_'+ i); html.find('#jv_twitter_screen_name_0').attr('id','jv_twitter_screen_name_'+ i); html.find('#jv_twitter_text_0').attr('id','jv_twitter_text_'+ i); html.find('#jv_twitter_created_at_0').attr('id','jv_twitter_created_at_'+ i); html.find('#jv_twitter_via_0').attr('id','jv_twitter_via_'+ i); //Apppend html element to parent html.appendTo('#jv_twitter_ul'); }); //Remove first twitter jQuery('#jv_twitter_li_0:first').remove(); //Show all twitter if(show_twitter_account_profile == 1){ jQuery('#jv_twitter_account_profile').show(); } if(show_tweets == 1){ jQuery('#jv_twitter_items').show(); } }, error : function(XMLHttpRequest, textStatus, errorThrown){ }, beforeSend: function (XMLHttpRequest) { //Show loading image jQuery('#jv_twitter_loading').show(); //Hide all twitter jQuery('#jv_twitter_items').hide(); //Hide div profile jQuery('#jv_twitter_account_profile').hide(); //Find and replace id if(jQuery('#jv_twitter_li').length){ jQuery('#jv_twitter_li').attr('id','jv_twitter_li_0'); jQuery('#jv_twitter_href').attr('id','jv_twitter_href_0'); jQuery('#jv_twitter_image_url').attr('id','jv_twitter_image_url_0'); jQuery('#jv_twitter_name').attr('id','jv_twitter_name_0'); jQuery('#jv_twitter_screen_name').attr('id','jv_twitter_screen_name_0'); jQuery('#jv_twitter_text').attr('id','jv_twitter_text_0'); jQuery('#jv_twitter_created_at').attr('id','jv_twitter_created_at_0'); jQuery('#jv_twitter_via').attr('id','jv_twitter_via_0'); jQuery('#jv_twitter_via_text').attr('id','jv_twitter_via_text_0'); } }, complete: function (XMLHttpRequest, textStatus) { //Hide loading image jQuery('#jv_twitter_loading').hide(); } }); }