Changeset 2455

Show
Ignore:
Timestamp:
12/05/07 04:27:37 (12 months ago)
Author:
coji
Message:

lang/ruby/ssb: generate QR code by server-side. You should run rake vendor:qrcode to enabling QR code

Location:
lang/ruby/ssb/trunk
Files:
3 added
1 removed
5 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/ssb/trunk/Rakefile

    r2217 r2455  
    1414task :setup => [:scrape] 
    1515task :setup => ["ktai:update"] 
     16task :setup => ["vendor"] 
    1617 
    1718desc "Scrape all emoji" 
     
    6263end 
    6364 
     65desc "download vendor library" 
     66task :vendor => ["vendor:qrcode"] 
     67namespace :vendor do 
     68  desc "download QR code library" 
     69  task :qrcode => ["vendor/qrcode"] do 
     70    puts "Retrieving QR code library" 
     71    ruby "scripts/download_qrcode_library.rb" 
     72    puts "done." 
     73  end 
     74end 
     75 
    6476directory "public_html/emoji/docomo" 
    6577directory "public_html/emoji/kddi" 
    6678directory "public_html/emoji/softbank" 
    6779directory "logs" 
     80directory "vendor/qrcode" 
    6881task "chmod_logs" => ["logs"] do chmod(0777, "logs") end 
    6982file "config/config.yaml" do |t| cp "#{t.name}.default", t.name end 
  • lang/ruby/ssb/trunk/config/common.rb

    r2282 r2455  
    1414  CONFIG[:public_dir] = File.join(SSB::CONFIG[:home_dir], 'public_html') 
    1515  CONFIG[:template_dir] = File.join(SSB::CONFIG[:home_dir], 'templates') 
    16   CONFIG[:library_dir] = ['libs', File.join('vender', 'qrcode')] 
     16  CONFIG[:vendor_dir] = File.join(SSB::CONFIG[:home_dir], 'vendor') 
     17  CONFIG[:library_dir] = ['libs', 'vendor'] 
    1718  CONFIG[:config_dir] = File.join(SSB::CONFIG[:home_dir], 'config') 
    1819  CONFIG[:config_file] = File.join(SSB::CONFIG[:config_dir], 'config.yaml') 
     
    2324$LOAD_PATH.concat SSB::CONFIG[:library_dir].map{|d| File.join(SSB::CONFIG[:home_dir], d)} 
    2425 
    25  
  • lang/ruby/ssb/trunk/libs/ssb.rb

    r2451 r2455  
    1515require 'ssb/misc' 
    1616require 'ssb/request' 
     17require 'ssb/qrcode' 
    1718 
    1819module SSB 
     
    147148      title = $1 
    148149 
    149       page_js = page.gsub(/(\r|\n|\")/im) { |s| 
    150         case $1 
    151         when "\r" 
    152           "\\r" 
    153         when "\n" 
    154           "\\n" 
    155         # when "\"" 
    156         #  "\\" + $1 
    157         else 
    158           $1 
    159         end 
    160       } 
     150      # qrcode 
     151      qrcode = SSB::Qrcode.make_qrcode(request_uri.to_s) 
    161152 
    162153      begin 
  • lang/ruby/ssb/trunk/public_html/javascripts/ssb.js

    r2415 r2455  
    8181} 
    8282 
    83 function make_qrcode(str) { 
    84     var qr = new QRCode(6, QRErrorCorrectLevel.L); 
    85     qr.addData(str); 
    86     qr.make(); 
    87  
    88     var src = ''; 
    89     src += "<table style='border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse;'>"; 
    90     for (var r = 0; r < qr.getModuleCount(); r++) { 
    91         src += "<tr>"; 
    92         for (var c = 0; c < qr.getModuleCount(); c++) { 
    93             if (qr.isDark(r, c) ) { 
    94                 src += "<td style='border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #000000;'/>"; 
    95             } else { 
    96                 src += "<td style='border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #ffffff;'/>"; 
    97             } 
    98         } 
    99  
    100         src += "</tr>"; 
    101     } 
    102     src += "</table>"; 
    103     return src; 
    104 } 
    105  
    10683function initialize() { 
    10784    // page focus 
     
    147124                        Event.stop(event); 
    148125                }, true); 
    149          
    150     // show qrcode 
    151         $('qrcode').innerHTML = make_qrcode($('uri_input').value); 
    152126} 
    153127 
  • lang/ruby/ssb/trunk/templates/ssb.rhtml

    r2410 r2455  
    55  <script type="text/javascript" src="javascripts/prototype.js"></script> 
    66  <script type="text/javascript" src="javascripts/cookiemanager.js"></script> 
    7   <script type="text/javascript" src="javascripts/qrcode.js"></script> 
    87  <script type="text/javascript" src="javascripts/ktai_db.js"></script> 
    98  <script type="text/javascript" src="javascripts/suggest.js"></script> 
     
    3130    <div id="sidebar"> 
    3231      <div id="status_bar"> 
    33         <div id="qrcode"></div> 
     32        <div id="qrcode"> 
     33                  <table style="border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse;"> 
     34                        <% qrcode.each_line do |qr_line| %> 
     35                        <tr> 
     36                          <% qr_line.chomp.each_byte do |qr_c| %> 
     37                            <% if qr_c == 48 then %> 
     38                              <td style="border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #ffffff;"/> 
     39                            <% else %> 
     40                              <td style="border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #000000;"/> 
     41                            <% end %> 
     42                  <% end %> 
     43                        </tr> 
     44                        <% end %> 
     45                  </table> 
     46                </div> 
    3447 
    3548        <table id="time_status">