Skip to content

Instantly share code, notes, and snippets.

@thinkphp
Created June 5, 2010 09:51
Show Gist options
  • Save thinkphp/426499 to your computer and use it in GitHub Desktop.
Save thinkphp/426499 to your computer and use it in GitHub Desktop.
var ShowTweets = new Class({
Extends: Request.JSONP,
options: {
url: '',
data: {
format: 'xml'
}
},
initialize: function(username,options){
this.parent(options);
var root = "http://query.yahooapis.com/v1/public/yql?q=",
yql = 'select * from html where url="http://twitter.com/'+username+'" and xpath="//span[@class=\'entry-content\']"',
url = root + encodeURIComponent(yql);
this.options.url = url;
this.username = username;
},
clean: function(text) {
text = text.replace('<span','<li').replace('</span>','</li>');
return text;
}
});
new ShowTweets('mootools',{
onComplete: function(o) {
if(window.console){console.log(o);}
var data = o.results;
if(data && data.length>0){
var output = '<ul>';
for(var i=0;i<data.length;i++) {
output += this.clean(data[i]);
}
output += '</ul>';
document.id('tweets').set('html',output);
}else{document.id('tweets').innerHTML = 'No results found.';}
/* new request JSON for header username+avatar*/
var username = this.username;
new Request.JSONP({
url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Ftwitter.com%2F"+username+"%22%20and%20xpath%3D%22%2F%2Fh2%5B%40class%3D'thumb%20clearfix'%5D%22",
data: {format: 'json'},
onComplete: function(o){
if(window.console){console.log(o);}
var template = '<h2 class="thumb clearfix">'+
'<a href="http://twitter.com{account}">'+
'<img alt="" border="0" height="73" id="profile-image" src="{src}" valign="middle" width="73"/>'+
'</a>{username}</h2>';
var data = o.query.results.h2;
var h2 = data[0];
var username = h2.content;
var href = h2.a.href;
var src = h2.a.img.src
document.id('owner').innerHTML = template.replace('{src}',src).replace('{username}',username).replace('{account}',href);
},
onRequest: function(script) {
var badge = document.id('owner');
if(!badge) {return;}
badge.set('text','Loading...');
}
}).send();
},
onRequest: function(script) {
var badge = document.id('tweets');
if(!badge) {return;}
badge.set('text','Loading...');
}
}).send();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment