test/emission_fichiers/fc_widget_twitter.js
author hamidouk
Mon, 19 Dec 2011 15:25:22 +0100
branchpopcorn-port
changeset 481 a46cfeee6d77
parent 0 c357d5b60635
permissions -rw-r--r--
using jquery ui draggable changes the state of an element from absolute to relative positioning, which breaks the way our seek button expands itself, so we need to force absolute positioning, quite uglily, using jquery.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
function twitterCallback2(twitters) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
  var statusHTML = [];
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
  var username = "";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
  for (var i=0; i<twitters.length; i++){  
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	username = twitters[i].user.screen_name;
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
      return '<a href="'+url+'">'+url+'</a>';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    });
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    statusHTML.push('<li><span>'+status+'</span><a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
  }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  document.getElementById('twitter_update_list_'+username).innerHTML = statusHTML.join('');
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
}
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
function relative_time(time_value) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	  var values = time_value.split(" ");
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	  var parsed_date = Date.parse(time_value);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
	  if (delta < 60) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
	    return " il y a moins d'une minute";
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
	  } else if(delta < 120) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	    return ' il y a une minute';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	  } else if(delta < (60*60)) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	    return ' il y a '+(parseInt(delta / 60)).toString() + ' minutes ';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	  } else if(delta < (120*60)) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	    return ' il y a une heure';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	  } else if(delta < (24*60*60)) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
	    return ' il y a ' + (parseInt(delta / 3600)).toString() + ' heures';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	  } else if(delta < (48*60*60)) {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
	    return ' il y a un jour';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	  } else {
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	    return ' il y a '+(parseInt(delta / 86400)).toString() + ' jours';
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	  }
c357d5b60635 First import. Last version from France culture
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	}