source: branches/version-2_11-dev/test/createEcCubeCustomerData-v25.php @ 21360

Revision 21360, 5.3 KB checked in by habu, 11 years ago (diff)

#1569(テスト用の会員データ作成スクリプト)

Line 
1#!/usr/local/bin/php -q
2<?php
3/*
4 * EC-CUBE 動作検証用会員データ生成スクリプト
5 *
6 * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved.
7 *
8 * http://www.lockon.co.jp/
9 *
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License
12 * as published by the Free Software Foundation; either version 2
13 * of the License, or (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23 *
24 * @auther Kentaro Habu
25 * @version $Id: createEcCubeCustomerData-v25.php $
26 */
27
28// {{{ requires
29/** 適宜、htmlディレクトリへのrequire.phpを読み込めるよう パスを書き換えて下さい */
30require_once(dirname(__FILE__) . "/../html/require.php");
31
32// }}}
33// {{{ constants
34
35/** 会員の生成数 */
36define("CUSTOMERS_VOLUME", 100);    // ※最大値:99999までで指定してください
37
38/**
39 * 会員メールアドレスのアカウント名
40 * アカウント名の後ろに「+99999」の形で連番をつけて、別名アドレス(エイリアス)の形でメールアドレスを登録します。
41 * 実際にメールを受信するためには、メールサーバが別名アドレスに対応している必要があります。
42 * (例えば、Gmailは別名アドレスに対応しています)
43 */
44define("EMAIL_ADDRESS_ACCOUNT", "test");
45
46/**
47 * 会員メールアドレスのドメイン名
48 */
49define("EMAIL_ADDRESS_DOMAIN", "@localhost");
50
51// }}}
52// {{{ Logic
53set_time_limit(0);
54while (@ob_end_flush());
55
56$objData = new CreateEcCubeCustomerData();
57$start = microtime_float();
58
59/*
60 * ※このスクリプトは、会員データの作成に
61 * SC_Helper_Customer_Ex::sfEditCustomerData()を利用しており、
62 * この関数内で、begin~commitされているので、
63 * このスクリプト側でbegin~rollback/commitする事はできません。
64 */
65//$objData->objQuery->begin();
66
67// 会員生成
68$objData->createProducts();
69
70//$objData->objQuery->rollback();
71//$objData->objQuery->commit();
72$end = microtime_float();
73/*
74 * Windowsのコマンドプロンプトで文字化けしないように、
75 * 標準出力に出すメッセージにはマルチバイト文字を使用しないようにした。
76 * (「chcp 65001」を実行してもWindows7では文字化けした)
77 */
78print("create customer data DONE!\n");
79printf("elapsed time: %f sec\n", $end - $start);
80
81
82// }}}
83// {{{ classes
84
85/**
86 * EC-CUBE のテスト用会員データを生成する
87 */
88class CreateEcCubeCustomerData {
89
90    /** SC_Query インスタンス */
91    var $objQuery;
92
93    /**
94     * コンストラクタ.
95     */
96    function CreateEcCubeCustomerData() {
97        $this->objQuery = new SC_Query();
98    }
99
100    /**
101     * テスト用 会員データ を生成する.
102     *
103     * @return void
104     */
105    function createProducts() {
106
107        print("creating Customer Data(for Test)...\n");
108        for ($i = 0; $i < CUSTOMERS_VOLUME; $i++) {
109           
110            $sqlval['name01'] = "検証";
111            $sqlval['name02'] = sprintf("太郎%05d", $i+1);
112            $sqlval['kana01'] = "ケンショウ";
113            $sqlval['kana02'] = "タロウ";
114            $sqlval['zip01'] = "101";
115            $sqlval['zip02'] = "0051";
116            $sqlval['pref'] = "13";
117            $sqlval['addr01'] = "千代田区神田神保町";
118            $sqlval['addr02'] = "1-3-5";
119            $sqlval['tel01'] = "012";
120            $sqlval['tel02'] = "3456";
121            $sqlval['tel03'] = "7890";
122            $sqlval['email'] = EMAIL_ADDRESS_ACCOUNT . "+" . sprintf("%05d", $i+1) . EMAIL_ADDRESS_DOMAIN;
123            $sqlval['sex'] = "1";    // 1:男性 2:女性
124            $sqlval['password'] = "test";
125            $sqlval['reminder'] = "1";    // 1:「母親の旧姓は?」
126            $sqlval['reminder_answer'] = "てすと";
127            $sqlval['mailmaga_flg'] = (string) "1";    // 1:HTMLメール+テキストメールを受け取る 2:テキストメールを受け取る 3:受け取らない
128
129            // 生年月日の作成
130            $sqlval['birth']    = SC_Utils_Ex::sfGetTimestamp(2006, 9, 1);
131
132            // 仮会員 1 本会員 2
133            $sqlval['status']   = "2";
134
135            /*
136             * secret_keyは、テーブルで重複許可されていない場合があるので、
137             * 本会員登録では利用されないがセットしておく。
138             */
139            $sqlval["secret_key"] = SC_Helper_Customer_Ex::sfGetUniqSecretKey();
140
141            // 入会時ポイント
142            $CONF = SC_Helper_DB_Ex::sfGetBasisData();
143            $sqlval['point'] = $CONF["welcome_point"];
144
145            // 会員データの生成
146            SC_Helper_Customer_Ex::sfEditCustomerData($sqlval);
147
148            print("*");
149        }
150        print("\n");
151    }
152
153}
154
155/** PHP4対応のための microtime 関数 */
156function microtime_float() {
157    list($usec, $sec) = explode(" ", microtime());
158    return ((float)$usec + (float)$sec);
159}
160
161?>
Note: See TracBrowser for help on using the repository browser.