root/platform/tdiary/plugin/twitter_js.rb

Revision 5487, 1.9 kB (checked in by hsbt, 10 months ago)

platform/tdiary/*/twitter_js*.rb: escape user_id.

Line 
1# twitter_js.rb $Revision: 1.1 $
2# Copyright (C) 2007 Michitaka Ohno <elpeo@mars.dti.ne.jp>
3# You can redistribute it and/or modify it under GPL2.
4
5if /^(?:latest|day)$/ =~ @mode then
6        if @conf['twitter.user'] then
7                twitter_user = @conf['twitter.user']
8                add_header_proc do
9                        result = <<-HTML
10                        <script type="text/javascript"><!--
11                        function twitter_cb(a){
12                                var f=function(n){return (n<10?"0":"")+n};
13                                for(var i=0;i<a.length;i++){
14                                        var d=new Date(a[i]['created_at'].replace('+0000','UTC'));
15                                        var id="twitter_statuses_"+f(d.getFullYear())+f(d.getMonth()+1)+f(d.getDate());
16                                        var e=document.getElementById(id);
17                                        if(!e) continue;
18                                        if(!e.innerHTML) e.innerHTML='<h3><a href="http://twitter.com/#{h twitter_user}">Twitter statuses</a></h3>';
19                                        e.innerHTML+='<p><strong>'+a[i]['text']+'</strong> ('+f(d.getHours())+':'+f(d.getMinutes())+':'+f(d.getSeconds())+')</p>';
20                                }
21                        }
22                        function twitter_js(){
23                                var e=document.createElement("script");
24                                e.type="text/javascript";
25                                e.src="http://twitter.com/statuses/user_timeline/#{h twitter_user}.json?callback=twitter_cb&amp;count=20";
26                                document.documentElement.appendChild(e);
27                        }
28                        if(window.addEventListener){
29                                window.addEventListener('load',twitter_js,false);
30                        }else if(window.attachEvent){
31                                window.attachEvent('onload',twitter_js);
32                        }else{
33                                window.onload=twitter_js;
34                        }
35                        // --></script>
36                        HTML
37                        result.gsub( /^\t\t/, '' )
38                end
39
40                add_body_leave_proc do |date|
41                        result = <<-HTML
42                        <div id="twitter_statuses_#{date.strftime( "%Y%m%d" )}" class="section"></div>
43                        HTML
44                        result.gsub( /^\t\t/, '' )
45                end
46        end
47end
48
49add_conf_proc( 'twitter_js', 'Twitter' ) do
50
51        if @mode == 'saveconf' then
52           @conf['twitter.user'] = @cgi.params['twitter.user'][0]
53        end
54
55        <<-HTML
56   <h3 class="subtitle">Account Name</h3>
57   <p><input name="twitter.user" value="#{h @conf['twitter.user']}" /></p>
58   HTML
59end
Note: See TracBrowser for help on using the browser.