Mercurial > hgrepos > hgweb.cgi > skipweb
changeset 463:94810a903e12
mail test
author | FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp> |
---|---|
date | Thu, 06 Feb 2014 23:59:48 +0900 |
parents | aa75146ef679 |
children | a9c029af3c1c |
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