view event/oasis2017/idol/home.rb @ 1752:e4aebce2a7f0

homehome
author KASHIWAGURA Aya<c115046@?.koeki-u.ac.jp>
date Sat, 29 Jul 2017 14:34:25 +0900
parents b3f56d39c645
children b31c267e98fe
line wrap: on
line source


# !/usr/bin/env ruby
# coding: utf-8

# tail -f /usr/local/apache2/logs/error_log

require 'sqlite3'
file = "../db/users.sq3"

require 'cgi'
c = CGI.new(:accept_charset => 'utf-8')

gin = c["sam"]
image = ""




# 前回のアクセスで既にcookieが定義されていたら取得
# ブラウザからのcookieは、c.cookies[変数名][0] で受け取る
cookie_id=c.cookies["id"][0]

# 前回のアクセスで入力された値を取得
form_name=c["playname"]        # nameをフォームから取得(もしあれば)
form_kwd=c["keyword"]          # keywordも取得(もしあれば)
form_clr=c["clear"]            # クリアボタン

if cookie_id == nil             # (1)もしcookieからのidがなければ新規生成
  # 新規idは、現在時刻を秒(to_i)にした文字列(to_s)と乱数の組み合わせ
  newid = Time.now.to_i.to_s + "/" + rand(99999).to_s
  id=newid                      # 新規idをidとする
else                            # (2)cookieからのidがあればそれをidとする
  id=cookie_id
end

# idをすぐcookieで相手ブラウザに送る
# 変数の期限を24時間に設定し、expire変数に入れる
expire = (Time.now+24*3600).gmtime.strftime("%a, %d %b %Y %H:%M:%S GMT")
printf("Content-type: text/html; charset=UTF-8\n")
printf("Set-Cookie: id=%s; expires=%s\n\n", id, expire)

db = SQLite3::Database.new(file)
db.execute("PRAGMA foreign_keys=on")
db.execute("CREATE TABLE IF NOT EXISTS " +
           "users(id text primary key, name text, creation text)")
db.execute("CREATE TABLE IF NOT EXISTS " +
           "point(id, keyword text, FOREIGN KEY(id) REFERENCES users(id))")

if form_clr > "" && id > ''# クリアボタンが押されていたら
  db.execute("DELETE FROM point WHERE id=?", id)
end
if form_name > ""             # formからの名前設定がもしあれば
  db.execute("REPLACE INTO users VALUES(?, ?, ?)", id, form_name, Time.now.to_s)
end

pt = 0 # 開始直後は0点
# SELECTの検索結果に値があるかは [0] が nil かどうかで判定できる

name = db.execute("SELECT name FROM users WHERE id=?", id)[0]

print(<<-EOF)


<!DOCTYPE html>

EOF


  if gin ==""
    gin = "red"
  end

  
  r = db.execute("SELECT count(*) FROM point WHERE id=?", id)[0]
  pt = (r ? r[0] : 0)

  print(<<-EOF)
<htm lang="ja">
<head><title>アイキス!★ホーム</title>
EOF

  printf("<link rel=\"stylesheet\" type=\"text/css\" href=\"%s.css\" >", gin)
  puts "<meta name=\"viewport\" content=\"width=device-width\">

</head>
<body>
<form method=\"POST\" action=\"home.rb\">"





case gin
when "red"
  printf(<<-EOF,
<div class="box1">
<img src="red1.png">

<p>
「一緒にQRコード探しにいこうよ! %s さん!」</p>
</div>
EOF
 name)

when "blue" 

print(<<-EOF,
<div class="box1">
<img src="blue1.png">

<p>「%s さん、よ、よろしくお願いします……!」
</p>
</div>

EOF
when "white"

print(<<-EOF,
<div class="box1">
<img src="white1.png">
<p>
「多くのファンに私たちのライブ見てもらえるよう、頑張ります!%sさん!」
</p>
</div>

EOF

end

qr = ARGV[0]


point = nil
if ARGV[0] == "A" #1つ目
  point = "ID1"
elsif ARGV[0] ="B" #二つ目
  point = "ID2"
elsif ARGV[0] =="C" #三つ目
  point = "ID3"
elsif ARGV[0] =="849054474888775292" #四つ目
  point = "80"
elsif ARGV[0] =="61520500659400819" #五つ目
  point = "120"
elsif ARGV[0] =="528856582528717535" #六つ目
  point = "150"
end

if point
  db.execute("REPLACE INTO point VALUES(?, ?)", id, point)
end
r = db.execute("SELECT count(*) FROM point WHERE id=?", id)[0]
pt = (r ? r[0].to_i : 0)

printf("<br>現在の獲得ファン数:%s<br>",pt)

if pt < 100
  printf("次の話までの目標獲得ファン数:%s<br>",100-pt)
elsif pt < 200
  printf("<br>次の話までの目標獲得ファン数:%s<br>",200-pt)
elsif pt < 560
  printf("<br>次の話までの目標獲得ファン数:%s<br>",pt)
end

#print("(`・ω・´)< QRコードは全部で6種類あるよ!")

case gin
when "red"
  if pt >= 100 && pt < 200

    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="red_1.rb">Episode 1</a>
Episode 2<br>
Episode 3<br>
EOF


  elsif pt >= 200 && pt < 560
    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="red_1.rb">Episode 1</a><br>
<a href="red_2.rb">Episode 2</a><br>
Episode 3<br>
EOF

  elsif pt >= 560
    print(<<-"EOF")
<a href="red_1.rb">Episode 1</a><br>
<a href="red_2.rb">Episode 2</a><br>
<a href="red_3.rb">Episode 3</a>

EOF
elsif pt < 100
   print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
Episode 1<br>
Episode 2<br>
Episode 3<br>

EOF
  end

when "blue"
  if  pt >= 100 && pt < 200

    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>

<a href="blue_1.rb">Episode 1</a>
Episode 2<br>
Episode 3<br>
EOF


  elsif pt >= 200 && pt < 560
    print(<<-"EOF")
<a href="blue_1.rb">Episode 1</a><br>
<a href="blue_2.rb">Episode 2</a>
Episode 3<br>
EOF

  elsif pt >= 560
    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="blue_1.rb">Episode 1</a><br>
<a href="blue_2.rb">Episode 2</a><br>
<a href="blue_3.rb">Episode 3</a>

EOF
elsif pt < 100
   print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
Episode 1<br>
Episode 2<br>
Episode 3<br>

EOF
  end

when "white"
  if pt >= 100 && pt < 200

    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="white_1.rb">Episode 1</a>
Episode 2<br>
Episode 3<br>
EOF


  elsif pt >= 560
    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="white_1.rb">Episode 1</a><br>
<a href="white_2.rb">Episode 2</a><br>
Episode 3<br>
EOF

  elsif pt >= 450
    print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
<a href="white_1.rb">Episode 1</a><br>
<a href="white_2.rb">Episode 2</a><br>
<a href="white_3.rb">Episode 3</a>

EOF

elsif pt < 100
   print(<<-"EOF")
<br><br>
☆ ★ ☆ ★ ☆ ★ ☆
<br>
Episode 1<br>
Episode 2<br>
Episode 3<br>

EOF
  end
end




#puts "<div class=\"box1\">"
#printf("<img src=\"%s\">\n",image)

puts "
</form>
</body>
</html>"


yatex.org