changeset 2198:f7d7c7473143

mail test
author FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
date Thu, 06 Feb 2014 23:59:48 +0900
parents 74decaf85b3c
children 9bf933a41123
files nakamachi/hoge.dat nakamachi/hoge.html nakamachi/mtest.rb
diffstat 3 files changed, 104 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/nakamachi/hoge.dat	Thu Feb 06 20:57:32 2014 +0900
+++ b/nakamachi/hoge.dat	Thu Feb 06 23:59:48 2014 +0900
@@ -1,4 +1,4 @@
-1	106996	0	a
+1	106996	0	asfjlka
 2	1165563 0       a	
 3	1547608	0	a
 4	1637816	0	a
--- a/nakamachi/hoge.html	Thu Feb 06 20:57:32 2014 +0900
+++ b/nakamachi/hoge.html	Thu Feb 06 23:59:48 2014 +0900
@@ -6,7 +6,7 @@
 
 <body>
 <h1>てすと用</h1>
-<form method="POST" action="./mailtest.rb">
+<form method="POST" action="./mtest.rb">
 <p>
 店舗コード<input type="textarea" name="store"><br>
 個人コード<input type="textarea" name="num">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nakamachi/mtest.rb	Thu Feb 06 23:59:48 2014 +0900
@@ -0,0 +1,102 @@
+#!/usr/bin/env ruby
+# coding: euc-jp
+
+require 'nkf'
+require 'cgi'
+require 'kconv'
+require 'net/smtp'
+
+cgi = CGI.new(:accept_charset=>"EUC-JP")
+print("Content-type: text/html; charset=EUC-JP\n\n")
+
+store = cgi["store"].to_i
+num = cgi["num"]
+
+data = Hash.new
+data.default = 0
+ban = Array.new
+n = 0
+
+name= ["","八月","食い道楽","翠宛","ルポットフー","RAVI","綾","井筒","MAR"]
+
+open("hoge.dat","r") do |hoge|
+  while line = hoge.gets
+    line = line.toeuc
+    if /(\d+)\s+(\d+)\s+(\d+)\s+(\S+)/ =~ line
+      ban[n] = $1.to_i
+      data[$1.to_i] = $2.to_i,$3.to_i,$4
+      n += 1
+    end
+  end
+end
+
+s = 0
+while true
+  if data[ban[s]][1] == 0
+    break
+  end
+  s += 1
+end
+
+if num == "" || store < 1 || store > 8
+  #入力不備
+  printf(<<_EOS_)
+<html>\n
+<head>\n
+<title>Not find</title>\n
+</head>\n
+<body>\n
+<h1>入力されていない部分があるか、間違っている場合があります。</h1>\n
+<h1>正しく入力してやり直してください。</h1>\n
+<p>個人コードは入っていますか?</p>
+<p>店舗コードは1から8の間で選んでいますか?</p>
+<p><a href=\"hoge.html\">もどる</a></p>\n
+</body>\n
+</html>\n
+_EOS_
+  
+elsif s >= 50
+  #もう50枚クーポンでました
+  printf(<<_EOS_)
+<html>\n
+<head>\n
+<title>Sorry</title>\n
+</head>\n
+<body>\n
+<h1>申し訳有りません。</h1>\n
+<p>もうクーポン50枚全て出てしまいました。<p>\n
+<p>またの機会に。<p>\n
+<p><a href=\"hoge.html\">もどる</a></p>\n
+</body>\n
+</html>\n
+_EOS_
+  
+else
+  #使用済みにして処理します
+  data[ban[s]][1] = store
+  data[ban[s]][2] = num
+  resilt = "|mail -s 'skip mail' c111126@g.koeki-u.ac.jp"
+  open(resilt, "w") do |mail|
+    mail.print "{num}さんが#{name[store]}で#{s+1}番のクーポンを取得しました\n"
+  end
+  printf(<<_EOS_)
+<html>\n
+<head>\n
+<title>Conglatulation</title>\n
+</head>\n
+<body>\n
+<h1>以下のQRコードを読み取るとクーポンが出てきます。</h1>\n
+<p><img src=\"/~c110128/mycgi/skip/web/coupon/image/#{data[ban[s]][0]}.png\" alt=\"クーポン表示QRコード\"></p>\n
+<p>個人コードとQRコードを読んで出てきたクーポンの番号を控えるようにしてください</p>\n
+<p>消してしまった際の再表示や実際に受け取る際に用います。</p>
+<p><a href=\"hoge.html\">もどる</a></p>\n
+</body>\n
+</html>\n
+_EOS_
+         
+  open("hoge.dat","w") do |write|
+    for x in ban do
+      write.printf("%s\t%s\t%d\t%s\n",x,data[x][0],data[x][1],data[x][2])
+    end
+  end
+end

yatex.org