source: branches/eccube-donation/html/mobile/frontparts/bloc/send_point.php @ 20622

Revision 20622, 6.3 KB checked in by tao, 11 years ago (diff)

現状をコミット

  • Property svn:executable set to *
Line 
1<?php
2/*
3 * This file is part of EC-CUBE
4 *
5 * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
6 *
7 * http://www.lockon.co.jp/
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 *
23 * 2011-03-12 Tao Sasaki (tao@xross-cube.com)
24 *
25 */
26
27// {{{ requires
28if( !defined("CLASS_PATH") ){
29    require_once("../../require.php");
30}
31require_once(CLASS_PATH . "pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php");
32
33// }}}
34// {{{ generate page
35class LC_Page_FrontParts_Bloc_SendPoint extends LC_Page_FrontParts_Bloc {
36
37    // }}}
38    // {{{ functions
39
40    /**
41     * Page を初期化する.
42     *
43     * @return void
44     */
45    function init() {
46        parent::init();
47        $this->tpl_login = false;
48        $this->tpl_disable_logout = false;
49        $this->tpl_error = "";
50    }
51
52    /**
53     * Page のプロセス.
54     *
55     * @return void
56     */
57    function process() {
58
59        $objCustomer = new SC_Customer();
60        $objCustomer->updateSession();
61        // クッキー管理クラス
62        $objCookie = new SC_Cookie(COOKIE_EXPIRE);
63
64        // ログイン判定
65        if($objCustomer->isLoginSuccess()) {
66            $this->tpl_user_point = $objCustomer->getValue('point');
67            if (strlen($this->tpl_user_point) == 0) $this->tpl_user_point = 0;
68            if(isset($_POST["sendpoint"]) and $this->isValidToken()){
69                //ポイント寄付処理
70                $point = intval(mb_convert_kana($_POST["sendpoint"],"n"));
71                if(!$point or $this->tpl_user_point < $point){
72                    $this->tpl_error = "1以上のポイントを保有ポイント内で半角数字で入力してください。";
73                }else{
74                    $objQuery = new SC_Query;
75                    $sqlval = array('point' => ($this->tpl_user_point - $point));
76                    $where = 'customer_id = ? AND del_flg = 0 AND status = 2';
77                    $rs = $objQuery->update('dtb_customer', $sqlval, $where, array($objCustomer->getValue('customer_id')));
78                    if($rs){
79                        $fp = fopen(DATA_PATH.'downloads/donation.csv','a+');
80                        fwrite($fp,date("Y-m-d G:i:s").",".$objCustomer->getValue('customer_id').",".$point."\n");
81                        $objCustomer->setValue("point", ($this->tpl_user_point - $point));
82                        $this->tpl_error = "ご協力ありがとうございます。".$point."ptを承りました。<br />寄付頂いたポイント分を、東北地方太平洋沖地震の復旧活動へ寄付いたします。";
83                    } else {
84                        $this->tpl_error = "システムエラー"; 
85                    }
86                }
87            }
88            $this->tpl_login = true;
89            $objCustomer->updateSession();
90            $this->tpl_user_point = $objCustomer->getValue('point');
91            if (strlen($this->tpl_user_point) == 0) $this->tpl_user_point = 0;
92            $this->tpl_name1 = $objCustomer->getValue('name01');
93            $this->tpl_name2 = $objCustomer->getValue('name02');
94        } else {
95            // クッキー判定
96            $this->tpl_login_email = $objCookie->getCookie('login_email');
97            if($this->tpl_login_email != "") {
98                $this->tpl_login_memory = "1";
99            }
100
101            // POSTされてきたIDがある場合は優先する。
102            if($_POST['login_email'] != "") {
103                $this->tpl_login_email = $_POST['login_email'];
104            }
105        }
106        $this->transactionid = $this->getToken();
107    }
108
109    /**
110     * デストラクタ.
111     *
112     * @return void
113     */
114    function destroy() {
115        parent::destroy();
116    }
117}
118
119$objPage = new LC_Page_FrontParts_Bloc_SendPoint();
120register_shutdown_function(array($objPage, "destroy"));
121$objPage->init();
122$objPage->process();
123
124?>
125<a name="sendPoint"></a>
126<div id="sendPoint" style="border: none;background: #FFF6CF;text-align: center;overflow: auto;">
127<div id="innner" style="border: 3px solid red;margin:8px;">
128<p><font color="red">東北地方太平洋沖地震へのポイント寄付のお願い</font></p>
129<?php if($objPage->tpl_login){?>
130<p><font size="-2" color="#333">現在お客様が保有している当店のポイントを東北地方太平洋沖地震の復旧活動へ寄付出来ます。<br />
131下記フォームに寄付するポイント数を入力の上、「寄付」ボタンをクリックしてください。<br />
132運営担当者が寄付されたポイントを集計し、東北地方太平洋沖地震の復旧活動に寄付させて頂きます。<br />
133<div id="sendForm">
134<p><font color="#FF0000"><?php echo $objPage->tpl_error; ?></font></p>
135    <form method="post" action="#sendPoint" name="sendPoint">
136        <input type="hidden" name="transactionid" value="<?php echo $objPage->transactionid ?>" />
137        <p><font size="-2" color="#333">現在お客様が保有しているポイント:<?php echo $objPage->tpl_user_point ?>pt</font></p>
138        <p>
139            <font size="-2" color="#333"><input type="text" maxlength="10" name="sendpoint" id="sendpointValue" value="" size="5" istyle="4" />ptを寄付</font><br />
140            <input type="submit" value="寄付" />
141        </p>
142    </form>
143</div>
144<?php }else{ ?>
145<p><font size="-2" color="#333">会員のお客様は、現在お客様が保有している当店のポイントを東北地方太平洋沖地震の復旧活動へ寄付できます。ログインしてご協力をお願いします。<br />
146</font><font size="3">- <a href="./mypage/index.php?">ログイン</a> -<br /></font>
147<font size="-2" color="#333">運営担当者が寄付されたポイントを集計し、東北地方太平洋沖地震の復旧活動へ寄付させて頂きます。</font></p>
148<?php } ?>
149</div>
150</div>
151
Note: See TracBrowser for help on using the repository browser.