Mercurial > hgrepos > hgweb.cgi > skipweb
changeset 2190:887ceead6df3
nakamachi追加
author | fuji <c111126@g.koeki-u.ac.jp> |
---|---|
date | Thu, 06 Feb 2014 19:59:04 +0900 |
parents | b1fadf1efbc6 |
children | f2d259ad9319 |
files | nakamachi/1111.html nakamachi/hoge.dat nakamachi/hoge.html nakamachi/hogege.dat nakamachi/mail.rb nakamachi/mailtest.rb nakamachi/memo.txt nakamachi/pass.dat nakamachi/qr1111.png nakamachi/qupon2.png nakamachi/retry.html nakamachi/retry.rb nakamachi/syobon.jpg nakamachi/test.rb |
diffstat | 13 files changed, 480 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/1111.html Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,15 @@ +<html> +<head> +<title>まだ</title> +</style> +<link rel="stylesheet" type="text/css" href="ほげ.css"> +</head> + +<body> +<h1>パスワード登録ページ予定</h1> +<p>メール送ったりなんだりさせるつもり</p> + +<address>c111126@g.koeki-u.ac.jp</address> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/hoge.dat Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,50 @@ +1 106996 4 ふじ +2 1165563 3 かわ +3 1547608 0 a +4 1637816 0 a +5 1674821 0 a +6 2146728 0 a +7 2246529 0 a +8 2404662 0 a +9 2487941 0 a +10 2579504 0 a +11 2680544 0 a +12 2904846 0 a +13 3185616 0 a +14 3266671 0 a +15 3294276 0 a +16 3613326 0 a +17 4110511 0 a +18 4728617 0 a +19 5077710 0 a +20 5110665 0 a +21 511114 0 a +22 5129960 0 a +23 5521914 0 a +24 5725029 0 a +25 5750404 0 a +26 5907193 0 a +27 5933209 0 a +28 5958001 0 a +29 6097675 0 a +30 6213023 0 a +31 6285579 0 a +32 652143 0 a +33 6603997 0 a +34 6820704 0 a +35 690339 0 a +36 710028 0 a +37 7949720 0 a +38 8471049 0 a +39 8597726 0 a +40 8641298 0 a +41 8938859 0 a +42 9086182 0 a +43 9089721 0 a +44 9172971 0 a +45 9302599 0 a +46 9418431 0 a +47 9443378 0 a +48 9467002 0 a +49 9544566 0 a +50 9757894 0 a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/hoge.html Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,37 @@ +<html> +<head> +<title>たいとる</title> +<link rel="stylesheet" type="text/css" href="ほげ.css"> +</head> + +<body> +<h1>てすと用</h1> +<form method="POST" action="./mailtest.rb"> +<p> +店舗コード<input type="textarea" name="store"><br> +個人コード<input type="textarea" name="num"> +</p> +<input type="submit" value="送信"> +<input type="reset" value="リセット"> +</form> +<p>店舗コードは以下の対応表に基づいて半角数字で入力してください。</p> + +<table border=1> + <tr><th>店舗名</th><th>店舗番号</th></tr> + <tr><td>八月</td><td>1</td></tr> + <tr><td>食い道楽</td><td>2</td></tr> + <tr><td>翠宛</td><td>3</td></tr> + <tr><td>ルポットフー</td><td>4</td></tr> + <tr><td>RAVI</td><td>5</td></tr> + <tr><td>綾</td><td>6</td></tr> + <tr><td>井筒</td><td>7</td></tr> + <tr><td>MAR</td><td>8</td></tr> +</table> + +<p>例:翠宛でほげ様→店舗コード:3 個人コード:ほげ</p> + +<p>再表示したい方は<a href="retry.html">こちら</a>へ</p> +<address>c111126@g.koeki-u.ac.jp</address> + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/hogege.dat Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,30 @@ +1 1111 0 +2 2222 0 +3 3333 0 +4 4444 0 +5 5555 0 +6 6666 0 +7 7777 0 +8 8888 0 +9 9999 0 +10 1010 0 +11 1111 0 +12 1212 0 +13 1313 0 +14 1414 0 +15 1515 0 +16 1616 0 +17 1717 0 +18 1818 0 +19 1919 0 +20 2020 0 +21 2121 0 +22 2222 0 +23 2323 0 +24 2424 0 +25 2525 0 +26 2626 0 +27 2727 0 +28 2828 0 +29 2929 0 +30 3030 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/mail.rb Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,67 @@ +#!/usr/bin/env ruby +#coding: euc-jp + +require 'cgi' +cgi = CGI.new(:accept_charset=>"EUC-JP") +print("Content-type: text/html; charset=EUC-JP\n\n") + +store = cgi["store"].to_i +pas1 = cgi["pas"] +pas2 = cgi["pas2"] +num = cgi["num"].to_i +data = Hash.new +#n = 0 + +open("hoge.dat","r") do |hoge| + while line = hoge.gets + if /(\d+)\s+(\d+)\s+(\d+)\s+(\w+)/ =~ line + data[$1.to_i] = $2.to_i,$3.to_i,$4 + end + end +end + +if pas1 != pas2 + #2個打ったパスワードが違う + printf(<<_EOS_,num,store) +<html> +<head> +<title>ERROR</title> +</head> +<body> +<h1>2回打って頂いたパスワードが違っています</h1> +<p>確認してもう一度打ち直してください。</p> +<form method="POST" action="./mail.rb"> +<p> +<input type="hidden" name="num" value="%d"> +<input type="hidden" name="store" value="%d"> +パスワード<input type="textaria" name="pas"><br> +パスワード2<input type="textaria" name="pas2"><br> +</p> +<input type="submit" value="再送信"> +</form> +</body> +</html> +_EOS_ +else + data[num][2] = pas1 + printf(<<_EOS_,data[num][0]) +<html> +<head> +<title>Complete</title> +</head> +<body> +<h1>登録完了しました。</h1> +<p>商工会議所へ行って以下のリンクをお見せください。</p> +<p>パスワードは本人確認のため必要となるので、忘れないようにしてください。</p> +<p><a href="%d.html">クーポン引換リンク</a></p> +<p><a href="hoge.html">もどる</a></p> +</body> +</html> +_EOS_ +end + +open("hoge.dat","w") do |write| + for x in ban do + write.printf("%d\t%d\t%d\t%s\n",x,data[x][0],data[x][1],data[x][2]) + end +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/mailtest.rb Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,119 @@ +#!/usr/bin/env ruby +# coding: euc-jp + +require 'nkf' +require 'cgi' +require 'kconv' +require 'net/smtp' + +cgi = CGI.new(:accept_charset=>"EUC-JP") + +def sendmail(subject, body, sender, recipient) + mail = '' + # メールヘッダを作る + mail << 'To: ' + recipient + "\n" + mail << 'From: ' + sender + "\n" + mail << 'Subject: ' + "skipメール" + "\n" + mail << 'Date: ' + Time.now.strftime('%a, %d %b %Y %H:%M:%S %z') + "\n" + mail << "\n" + # メールの本文 + mail << body + # 送信! + Net::SMTP.start('localhost',25){|smtp| + smtp.send_mail(mail, sender, recipient) + } +end + +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 + #入力不備 + text = "<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" +elsif s >= 50 + #もう50枚クーポンでました + text = "<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" +else + #使用済みにして処理します + data[ban[s]][1] = store + data[ban[s]][2] = num + output = '' + #output << "" + "\n" + output << "#{num}さんが#{name[store]}で#{s+1}番のクーポンを取得しました".gsub(/\n/, "\n ") + "\n" + + NKF.nkf('-j -m0', output) + + sendmail('skip mail', output, + 'skip@koeki-u.ac.jp', 'c111126@g.koeki-u.ac.jp'){|body| + NKF.nkf('-e -m0', body)} + + text = "<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" + + 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 + +cgi.out('type' => 'text/html', 'charset' => 'euc-jp') { + text +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/memo.txt Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,11 @@ +店舗番号と何らかのコードを受け取る +正しい場合に50個あるうちのまだ使用可能な箇所を一つ使用不可にして +正しいコードがとどいた旨をメールで送信。 + +実際に交換する場所用の自分だけの秘密のパスワードを設定してもらい、 +そのパスワードを交換する場所で打ってもらうとクーポンがもらえるように。 +メールでパスワードを送る必要がある? + +もしも再送信が必要な場合は同じコードでまたできるように。 + +をCGIで作るのです
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/retry.html Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,21 @@ +<html> +<head> +<title>たいとる</title> +</style> +<link rel="stylesheet" type="text/css" href="ほげ.css"> +</head> + +<body> +<h1>必要項目を入力して進むを押して下さい</h1> +<form method="POST" action="./retry.rb"> +<p> +店舗コード<input type="textaria" name="store"><br> +個人コード<input type="textaria" name="num"><br> +クーポン番号<input type="textaria" name="pon"><br> +</p> +<input type="submit" value="進む"> +</form> +<p><a href="hoge.html">もどる</a></p> +<address>c111126@g.koeki-u.ac.jp</address> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/retry.rb Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,57 @@ +#!/usr/bin/env ruby +#coding:euc-jp + +require 'cgi' +require 'kconv' + +cgi = CGI.new(:accept_charset=>"EUC-JP") +print "Content-type: text/html; charset=EUC-JP\n\n" + +pon = cgi["pon"].to_i +store = cgi["store"].to_i +num = cgi["num"].toeuc + +n = 0 +ban = Array.new +data = Hash.new + +open("hoge.dat","r") do |hoge| + while line = hoge.gets + 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 + +if data[ban[pon-1]][2].toeuc == num && data[ban[pon-1]][1] == store then + printf(<<_EOS_,data[ban[pon-1]][0]) +<html> +<head> +<title>OK</title> +</head> +<body> +<h1>確認しました。</h1> +<p>QRコードを再表示します</p> +<p><img src=\"qr%d.png\" alt=\"クーポン表示QRコード\"></p> +<p><a href=\"retry.html\">もどる</a></p> +</body> +</html> +_EOS_ + +else +#print(<<_EOS_) +puts"<html> +<head> +<title>Not found</title> +</head> +<body> +<h1>入力が正しくありません</h1> +<p>正しく入力してやり直してください</p> +<p><a href=\"retry.html\">もどる</a></p> +</body> +</html> +" + +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nakamachi/test.rb Thu Feb 06 19:59:04 2014 +0900 @@ -0,0 +1,73 @@ +#!/usr/bin/env ruby +#coding: euc-jp + +require 'cgi' +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 +ban = Array.new +n = 0 + +name= ["店舗1","店舗2","店舗3","店舗4","店舗5","店舗6","店舗7","店舗8"] + +open("hoge.dat","r") do |hoge| + while line = hoge.gets + 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> +<head> +<title>Not find</title> +</head> +<body> +<h1>入力に誤りがあります</h1> +<p>入力されていない部分があるか、間違っている場合があります。</p> +<p>正しく入力してやり直してください。</p> +<p><a href="hoge.html">もどる</a></p> +</body> +</html> +_EOS_ +else + #使用済みにして処理します + data[ban[s]][1] = store + data[ban[s]][2] = num + printf(<<_EOS_,data[ban[s]][0]) +<html> +<head> +<title>Conglatulation</title> +</head> +<body> +<h1>以下のQRコードを読み取るとクーポンが出てきます。</h1> +<p><img src="qr%d.png" alt="クーポン表示QRコード"></p> +<p><a href="hoge.html">もどる</a></p> +</body> +</html> +_EOS_ + + open("hoge.dat","w") do |write| + for x in ban do + write.printf("%d\t%s\t%d\t%s\n",x,data[x][0],data[x][1],data[x][2]) + end + end +end +