Changeset 16285 for branches/feature-module-update/html/install/index.php
- Timestamp:
- 2007/10/05 23:20:09 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/install/index.php
r16257 r16285 12 12 13 13 class LC_Page { 14 function LC_Page() {15 $this->arrDB_TYPE = array(16 'pgsql' => 'PostgreSQL',17 'mysql' => 'MySQL'18 );19 $this->arrDB_PORT = array(20 'pgsql' => '',21 'mysql' => ''22 );23 }14 function LC_Page() { 15 $this->arrDB_TYPE = array( 16 'pgsql' => 'PostgreSQL', 17 'mysql' => 'MySQL' 18 ); 19 $this->arrDB_PORT = array( 20 'pgsql' => '', 21 'mysql' => '' 22 ); 23 } 24 24 } 25 25 26 26 $objPage = new LC_Page(); 27 $objDb = new SC_Helper_DB_Ex(); 27 28 28 29 // テンプレートコンパイルディレクトリの書込み権限チェック … … 31 32 32 33 if(!is_writed($temp_dir)) { 33 sfErrorHeader($temp_dir . "にユーザ書込み権限(777等)を付与して下さい。", true);34 exit;34 SC_Utils_Ex::sfErrorHeader($temp_dir . "にユーザ書込み権限(777等)を付与して下さい。", true); 35 exit; 35 36 } 36 37 … … 51 52 // ようこそ 52 53 case 'welcome': 53 //$objPage = lfDispAgreement($objPage);54 $objPage = lfDispStep0($objPage);55 //$objPage->tpl_onload .= "fnChangeVisible('agreement_yes', 'next');";56 break;54 //$objPage = lfDispAgreement($objPage); 55 $objPage = lfDispStep0($objPage); 56 //$objPage->tpl_onload .= "fnChangeVisible('agreement_yes', 'next');"; 57 break; 57 58 58 59 /* 現在保留中 … … 60 61 // 使用許諾契約書の同意 61 62 case 'agreement': 62 $objPage = lfDispStep0($objPage);63 break;63 $objPage = lfDispStep0($objPage); 64 break; 64 65 */ 65 66 66 67 // アクセス権限のチェック 67 68 case 'step0': 68 $objPage = lfDispStep0_1($objPage);69 break;69 $objPage = lfDispStep0_1($objPage); 70 break; 70 71 // ファイルのコピー 71 72 case 'step0_1': 72 $objPage = lfDispStep1($objPage);73 break;73 $objPage = lfDispStep1($objPage); 74 break; 74 75 // WEBサイトの設定 75 76 case 'step1': 76 //入力値のエラーチェック77 $objPage->arrErr = lfCheckWEBError($objWebParam);78 if(count($objPage->arrErr) == 0) {79 $objPage = lfDispStep2($objPage);80 } else {81 $objPage = lfDispStep1($objPage);82 }83 break;77 //入力値のエラーチェック 78 $objPage->arrErr = lfCheckWEBError($objWebParam); 79 if(count($objPage->arrErr) == 0) { 80 $objPage = lfDispStep2($objPage); 81 } else { 82 $objPage = lfDispStep1($objPage); 83 } 84 break; 84 85 // データベースの設定 85 86 case 'step2': 86 //入力値のエラーチェック87 $objPage->arrErr = lfCheckDBError($objDBParam);88 if(count($objPage->arrErr) == 0) {89 $objPage = lfDispStep3($objPage);90 } else {91 $objPage = lfDispStep2($objPage);92 }93 break;87 //入力値のエラーチェック 88 $objPage->arrErr = lfCheckDBError($objDBParam); 89 if(count($objPage->arrErr) == 0) { 90 $objPage = lfDispStep3($objPage); 91 } else { 92 $objPage = lfDispStep2($objPage); 93 } 94 break; 94 95 // テーブルの作成 95 96 case 'step3': 96 // 入力データを渡す。97 $arrRet = $objDBParam->getHashArray();98 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name'];99 100 /*101 lfAddTableは、バージョンアップ等で追加テーブルが発生した場合に実行する。102 (DB構成の下位互換のためスキップ時も強制)103 */104 // テーブルが存在しない場合に追加される。105 $objPage->arrErr = lfAddTable("dtb_session", $dsn);// セッション管理テーブル106 $objPage->arrErr = lfAddTable("dtb_module", $dsn);// モジュール管理テーブル107 $objPage->arrErr = lfAddTable("dtb_campaign_order", $dsn);// キャンペーン受注テーブル108 $objPage->arrErr = lfAddTable("dtb_mobile_kara_mail", $dsn);// 空メール管理テーブル109 $objPage->arrErr = lfAddTable("dtb_mobile_ext_session_id", $dsn);// セッションID管理テーブル110 $objPage->arrErr = lfAddTable("dtb_site_control", $dsn);// サイト情報管理テーブル111 $objPage->arrErr = lfAddTable("dtb_trackback", $dsn);// トラックバック管理テーブル112 113 114 // カラムを追加115 lfAddColumn($dsn);116 117 // データを追加118 lfAddData($dsn);119 120 if(count($objPage->arrErr) == 0) {121 // スキップする場合には次画面へ遷移122 $skip = $_POST["db_skip"];123 if ($skip == "on") {124 // 設定ファイルの生成125 lfMakeConfigFile();126 $objPage = lfDispComplete($objPage);127 //$objPage = lfDispStep4($objPage);128 break;129 }130 }131 132 // テーブルの作成133 $objPage->arrErr = lfExecuteSQL("./sql/create_table_".$arrRet['db_type'].".sql", $dsn);134 if(count($objPage->arrErr) == 0) {135 $objPage->tpl_message.="○:テーブルの作成に成功しました。<br>";136 } else {137 $objPage->tpl_message.="×:テーブルの作成に失敗しました。<br>";138 }139 140 // ビューの作成141 if(count($objPage->arrErr) == 0 and $arrRet['db_type'] == 'pgsql') {142 // ビューの作成143 $objPage->arrErr = lfExecuteSQL("./sql/create_view.sql", $dsn);144 if(count($objPage->arrErr) == 0) {145 $objPage->tpl_message.="○:ビューの作成に成功しました。<br>";146 } else {147 $objPage->tpl_message.="×:ビューの作成に失敗しました。<br>";148 }149 }150 151 // 初期データの作成152 if(count($objPage->arrErr) == 0) {153 $objPage->arrErr = lfExecuteSQL("./sql/insert_data.sql", $dsn);154 155 if(count($objPage->arrErr) == 0) {156 $objPage->tpl_message.="○:初期データの作成に成功しました。<br>";157 } else {158 $objPage->tpl_message.="×:初期データの作成に失敗しました。<br>";159 }160 }161 162 // カラムコメントの書込み163 if(count($objPage->arrErr) == 0) {164 $objPage->arrErr = lfExecuteSQL("./sql/column_comment.sql", $dsn);165 if(count($objPage->arrErr) == 0) {166 $objPage->tpl_message.="○:カラムコメントの書込みに成功しました。<br>";167 } else {168 $objPage->tpl_message.="×:カラムコメントの書込みに失敗しました。<br>";169 }170 }171 172 // テーブルコメントの書込み173 if(count($objPage->arrErr) == 0) {174 $objPage->arrErr = lfExecuteSQL("./sql/table_comment.sql", $dsn);175 if(count($objPage->arrErr) == 0) {176 $objPage->tpl_message.="○:テーブルコメントの書込みに成功しました。<br>";177 } else {178 $objPage->tpl_message.="×:テーブルコメントの書込みに失敗しました。<br>";179 }180 }181 182 if(count($objPage->arrErr) == 0) {183 // 設定ファイルの生成184 lfMakeConfigFile();185 $objPage = lfDispStep3($objPage);186 $objPage->tpl_mode = 'step4';187 } else {188 $objPage = lfDispStep3($objPage);189 }190 break;97 // 入力データを渡す。 98 $arrRet = $objDBParam->getHashArray(); 99 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name']; 100 101 /* 102 lfAddTableは、バージョンアップ等で追加テーブルが発生した場合に実行する。 103 (DB構成の下位互換のためスキップ時も強制) 104 */ 105 // テーブルが存在しない場合に追加される。 106 $objPage->arrErr = lfAddTable("dtb_session", $dsn); // セッション管理テーブル 107 $objPage->arrErr = lfAddTable("dtb_module", $dsn); // モジュール管理テーブル 108 $objPage->arrErr = lfAddTable("dtb_campaign_order", $dsn); // キャンペーン受注テーブル 109 $objPage->arrErr = lfAddTable("dtb_mobile_kara_mail", $dsn); // 空メール管理テーブル 110 $objPage->arrErr = lfAddTable("dtb_mobile_ext_session_id", $dsn); // セッションID管理テーブル 111 $objPage->arrErr = lfAddTable("dtb_site_control", $dsn); // サイト情報管理テーブル 112 $objPage->arrErr = lfAddTable("dtb_trackback", $dsn); // トラックバック管理テーブル 113 114 115 // カラムを追加 116 lfAddColumn($dsn); 117 118 // データを追加 119 lfAddData($dsn); 120 121 if(count($objPage->arrErr) == 0) { 122 // スキップする場合には次画面へ遷移 123 $skip = $_POST["db_skip"]; 124 if ($skip == "on") { 125 // 設定ファイルの生成 126 lfMakeConfigFile(); 127 $objPage = lfDispComplete($objPage); 128 //$objPage = lfDispStep4($objPage); 129 break; 130 } 131 } 132 133 // テーブルの作成 134 $objPage->arrErr = lfExecuteSQL("./sql/create_table_".$arrRet['db_type'].".sql", $dsn); 135 if(count($objPage->arrErr) == 0) { 136 $objPage->tpl_message.="○:テーブルの作成に成功しました。<br>"; 137 } else { 138 $objPage->tpl_message.="×:テーブルの作成に失敗しました。<br>"; 139 } 140 141 // ビューの作成 142 if(count($objPage->arrErr) == 0 and $arrRet['db_type'] == 'pgsql') { 143 // ビューの作成 144 $objPage->arrErr = lfExecuteSQL("./sql/create_view.sql", $dsn); 145 if(count($objPage->arrErr) == 0) { 146 $objPage->tpl_message.="○:ビューの作成に成功しました。<br>"; 147 } else { 148 $objPage->tpl_message.="×:ビューの作成に失敗しました。<br>"; 149 } 150 } 151 152 // 初期データの作成 153 if(count($objPage->arrErr) == 0) { 154 $objPage->arrErr = lfExecuteSQL("./sql/insert_data.sql", $dsn); 155 156 if(count($objPage->arrErr) == 0) { 157 $objPage->tpl_message.="○:初期データの作成に成功しました。<br>"; 158 } else { 159 $objPage->tpl_message.="×:初期データの作成に失敗しました。<br>"; 160 } 161 } 162 163 // カラムコメントの書込み 164 if(count($objPage->arrErr) == 0) { 165 $objPage->arrErr = lfExecuteSQL("./sql/column_comment.sql", $dsn); 166 if(count($objPage->arrErr) == 0) { 167 $objPage->tpl_message.="○:カラムコメントの書込みに成功しました。<br>"; 168 } else { 169 $objPage->tpl_message.="×:カラムコメントの書込みに失敗しました。<br>"; 170 } 171 } 172 173 // テーブルコメントの書込み 174 if(count($objPage->arrErr) == 0) { 175 $objPage->arrErr = lfExecuteSQL("./sql/table_comment.sql", $dsn); 176 if(count($objPage->arrErr) == 0) { 177 $objPage->tpl_message.="○:テーブルコメントの書込みに成功しました。<br>"; 178 } else { 179 $objPage->tpl_message.="×:テーブルコメントの書込みに失敗しました。<br>"; 180 } 181 } 182 183 if(count($objPage->arrErr) == 0) { 184 // 設定ファイルの生成 185 lfMakeConfigFile(); 186 $objPage = lfDispStep3($objPage); 187 $objPage->tpl_mode = 'step4'; 188 } else { 189 $objPage = lfDispStep3($objPage); 190 } 191 break; 191 192 case 'step4': 192 $objPage = lfDispStep4($objPage);193 break;193 $objPage = lfDispStep4($objPage); 194 break; 194 195 195 196 // テーブル類削除 196 197 case 'drop': 197 // 入力データを渡す。198 $arrRet = $objDBParam->getHashArray();199 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name'];200 201 // 追加テーブルがあれば削除する。202 lfDropTable("dtb_module", $dsn);203 lfDropTable("dtb_session", $dsn);204 lfDropTable("dtb_campaign_order", $dsn);205 lfDropTable("dtb_mobile_ext_session_id", $dsn);206 lfDropTable("dtb_mobile_kara_mail", $dsn);207 lfDropTable("dtb_site_control", $dsn);208 lfDropTable("dtb_trackback", $dsn);209 210 if ($arrRet['db_type'] == 'pgsql'){211 // ビューの削除212 $objPage->arrErr = lfExecuteSQL("./sql/drop_view.sql", $dsn, false);213 if(count($objPage->arrErr) == 0) {214 $objPage->tpl_message.="○:ビューの削除に成功しました。<br>";215 } else {216 $objPage->tpl_message.="×:ビューの削除に失敗しました。<br>";217 }218 }219 220 // テーブルの削除221 if(count($objPage->arrErr) == 0) {222 $objPage->arrErr = lfExecuteSQL("./sql/drop_table.sql", $dsn, false);223 if(count($objPage->arrErr) == 0) {224 $objPage->tpl_message.="○:テーブルの削除に成功しました。<br>";225 } else {226 $objPage->tpl_message.="×:テーブルの削除に失敗しました。<br>";227 }228 }229 $objPage = lfDispStep3($objPage);230 break;198 // 入力データを渡す。 199 $arrRet = $objDBParam->getHashArray(); 200 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name']; 201 202 // 追加テーブルがあれば削除する。 203 lfDropTable("dtb_module", $dsn); 204 lfDropTable("dtb_session", $dsn); 205 lfDropTable("dtb_campaign_order", $dsn); 206 lfDropTable("dtb_mobile_ext_session_id", $dsn); 207 lfDropTable("dtb_mobile_kara_mail", $dsn); 208 lfDropTable("dtb_site_control", $dsn); 209 lfDropTable("dtb_trackback", $dsn); 210 211 if ($arrRet['db_type'] == 'pgsql'){ 212 // ビューの削除 213 $objPage->arrErr = lfExecuteSQL("./sql/drop_view.sql", $dsn, false); 214 if(count($objPage->arrErr) == 0) { 215 $objPage->tpl_message.="○:ビューの削除に成功しました。<br>"; 216 } else { 217 $objPage->tpl_message.="×:ビューの削除に失敗しました。<br>"; 218 } 219 } 220 221 // テーブルの削除 222 if(count($objPage->arrErr) == 0) { 223 $objPage->arrErr = lfExecuteSQL("./sql/drop_table.sql", $dsn, false); 224 if(count($objPage->arrErr) == 0) { 225 $objPage->tpl_message.="○:テーブルの削除に成功しました。<br>"; 226 } else { 227 $objPage->tpl_message.="×:テーブルの削除に失敗しました。<br>"; 228 } 229 } 230 $objPage = lfDispStep3($objPage); 231 break; 231 232 // 完了画面 232 233 case 'complete': 233 // ショップマスタ情報の書き込み234 $arrRet = $objDBParam->getHashArray();235 236 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name'];237 $sqlval['shop_name'] = $objWebParam->getValue('shop_name');238 $sqlval['email01'] = $objWebParam->getValue('admin_mail');239 $sqlval['email02'] = $objWebParam->getValue('admin_mail');240 $sqlval['email03'] = $objWebParam->getValue('admin_mail');241 $sqlval['email04'] = $objWebParam->getValue('admin_mail');242 $sqlval['email05'] = $objWebParam->getValue('admin_mail');243 $sqlval['top_tpl'] = "default1";244 $sqlval['product_tpl'] = "default1";245 $sqlval['detail_tpl'] = "default1";246 $sqlval['mypage_tpl'] = "default1";247 $objQuery = new SC_Query($dsn);248 $cnt = $objQuery->count("dtb_baseinfo");249 if($cnt > 0) {250 $objQuery->update("dtb_baseinfo", $sqlval);251 } else {252 $objQuery->insert("dtb_baseinfo", $sqlval);253 }254 255 // 管理者登録256 $login_id = $objWebParam->getValue('login_id');257 $login_pass = sha1($objWebParam->getValue('login_pass') . ":" . AUTH_MAGIC);258 259 $sql = "DELETE FROM dtb_member WHERE login_id = ?";260 $objQuery->query($sql, array($login_id));261 262 $sql = "INSERT INTO dtb_member (name, login_id, password, creator_id, authority, work, del_flg, rank, create_date, update_date)263 VALUES ('管理者',?,?,0,0,1,0,1, now(), now());";264 265 $objQuery->query($sql, array($login_id, $login_pass));266 267 global $GLOBAL_ERR;268 $GLOBAL_ERR = "";269 $objPage = lfDispComplete($objPage);270 271 // サイト情報を送信272 $req = new HTTP_Request("http://www.ec-cube.net/mall/use_site.php");273 $req->setMethod(HTTP_REQUEST_METHOD_POST);274 275 $arrSendData = array();276 foreach($_POST as $key => $val){277 if (ereg("^senddata_*", $key)){278 $arrSendDataTmp = array(str_replace("senddata_", "", $key) => $val);279 $arrSendData = array_merge($arrSendData, $arrSendDataTmp);280 }281 }282 283 $req->addPostDataArray($arrSendData);284 285 if (!PEAR::isError($req->sendRequest())) {286 $response1 = $req->getResponseBody();287 } else {288 $response1 = "";289 }290 $req->clearPostData();291 292 break;234 // ショップマスタ情報の書き込み 235 $arrRet = $objDBParam->getHashArray(); 236 237 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name']; 238 $sqlval['shop_name'] = $objWebParam->getValue('shop_name'); 239 $sqlval['email01'] = $objWebParam->getValue('admin_mail'); 240 $sqlval['email02'] = $objWebParam->getValue('admin_mail'); 241 $sqlval['email03'] = $objWebParam->getValue('admin_mail'); 242 $sqlval['email04'] = $objWebParam->getValue('admin_mail'); 243 $sqlval['email05'] = $objWebParam->getValue('admin_mail'); 244 $sqlval['top_tpl'] = "default1"; 245 $sqlval['product_tpl'] = "default1"; 246 $sqlval['detail_tpl'] = "default1"; 247 $sqlval['mypage_tpl'] = "default1"; 248 $objQuery = new SC_Query($dsn); 249 $cnt = $objQuery->count("dtb_baseinfo"); 250 if($cnt > 0) { 251 $objQuery->update("dtb_baseinfo", $sqlval); 252 } else { 253 $objQuery->insert("dtb_baseinfo", $sqlval); 254 } 255 256 // 管理者登録 257 $login_id = $objWebParam->getValue('login_id'); 258 $login_pass = sha1($objWebParam->getValue('login_pass') . ":" . AUTH_MAGIC); 259 260 $sql = "DELETE FROM dtb_member WHERE login_id = ?"; 261 $objQuery->query($sql, array($login_id)); 262 263 $sql = "INSERT INTO dtb_member (name, login_id, password, creator_id, authority, work, del_flg, rank, create_date, update_date) 264 VALUES ('管理者',?,?,0,0,1,0,1, now(), now());"; 265 266 $objQuery->query($sql, array($login_id, $login_pass)); 267 268 global $GLOBAL_ERR; 269 $GLOBAL_ERR = ""; 270 $objPage = lfDispComplete($objPage); 271 272 // サイト情報を送信 273 $req = new HTTP_Request("http://www.ec-cube.net/mall/use_site.php"); 274 $req->setMethod(HTTP_REQUEST_METHOD_POST); 275 276 $arrSendData = array(); 277 foreach($_POST as $key => $val){ 278 if (ereg("^senddata_*", $key)){ 279 $arrSendDataTmp = array(str_replace("senddata_", "", $key) => $val); 280 $arrSendData = array_merge($arrSendData, $arrSendDataTmp); 281 } 282 } 283 284 $req->addPostDataArray($arrSendData); 285 286 if (!PEAR::isError($req->sendRequest())) { 287 $response1 = $req->getResponseBody(); 288 } else { 289 $response1 = ""; 290 } 291 $req->clearPostData(); 292 293 break; 293 294 case 'return_step0': 294 $objPage = lfDispStep0($objPage);295 break;295 $objPage = lfDispStep0($objPage); 296 break; 296 297 case 'return_step1': 297 $objPage = lfDispStep1($objPage);298 break;298 $objPage = lfDispStep1($objPage); 299 break; 299 300 case 'return_step2': 300 $objPage = lfDispStep2($objPage);301 break;301 $objPage = lfDispStep2($objPage); 302 break; 302 303 case 'return_step3': 303 $objPage = lfDispStep3($objPage);304 break;304 $objPage = lfDispStep3($objPage); 305 break; 305 306 case 'return_agreement': 306 $objPage = lfDispAgreement($objPage);307 $objPage->tpl_onload .= "fnChangeVisible('agreement_yes', 'next');";308 break;307 $objPage = lfDispAgreement($objPage); 308 $objPage->tpl_onload .= "fnChangeVisible('agreement_yes', 'next');"; 309 break; 309 310 case 'return_welcome': 310 311 default: 311 $objPage = lfDispWelcome($objPage);312 break;312 $objPage = lfDispWelcome($objPage); 313 break; 313 314 } 314 315 … … 323 324 // ようこそ画面の表示 324 325 function lfDispWelcome($objPage) { 325 global $objWebParam;326 global $objDBParam;327 // hiddenに入力値を保持328 $objPage->arrHidden = $objWebParam->getHashArray();329 // hiddenに入力値を保持330 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());331 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];332 $objPage->arrHidden['agreement'] = $_POST['agreement'];333 $objPage->tpl_mainpage = 'welcome.tpl';334 $objPage->tpl_mode = 'welcome';335 return $objPage;326 global $objWebParam; 327 global $objDBParam; 328 // hiddenに入力値を保持 329 $objPage->arrHidden = $objWebParam->getHashArray(); 330 // hiddenに入力値を保持 331 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 332 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 333 $objPage->arrHidden['agreement'] = $_POST['agreement']; 334 $objPage->tpl_mainpage = 'welcome.tpl'; 335 $objPage->tpl_mode = 'welcome'; 336 return $objPage; 336 337 } 337 338 338 339 // 使用許諾契約書の表示 339 340 function lfDispAgreement($objPage) { 340 global $objWebParam;341 global $objDBParam;342 // hiddenに入力値を保持343 $objPage->arrHidden = $objWebParam->getHashArray();344 // hiddenに入力値を保持345 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());346 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];347 $objPage->arrHidden['agreement'] = $_POST['agreement'];348 $objPage->tpl_mainpage = 'agreement.tpl';349 $objPage->tpl_mode = 'agreement';350 return $objPage;341 global $objWebParam; 342 global $objDBParam; 343 // hiddenに入力値を保持 344 $objPage->arrHidden = $objWebParam->getHashArray(); 345 // hiddenに入力値を保持 346 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 347 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 348 $objPage->arrHidden['agreement'] = $_POST['agreement']; 349 $objPage->tpl_mainpage = 'agreement.tpl'; 350 $objPage->tpl_mode = 'agreement'; 351 return $objPage; 351 352 } 352 353 353 354 // STEP0画面の表示(ファイル権限チェック) 354 355 function lfDispStep0($objPage) { 355 global $objWebParam; 356 global $objDBParam; 357 // hiddenに入力値を保持 358 $objPage->arrHidden = $objWebParam->getHashArray(); 359 // hiddenに入力値を保持 360 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 361 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 362 $objPage->arrHidden['agreement'] = $_POST['agreement']; 363 $objPage->tpl_mainpage = 'step0.tpl'; 364 $objPage->tpl_mode = 'step0'; 365 366 // プログラムで書込みされるファイル・ディレクトリ 367 $arrWriteFile = array( 368 ".." . HTML2DATA_DIR . "install.php", 369 "../user_data", 370 "../cp", 371 "../upload", 372 ".." . HTML2DATA_DIR . "Smarty/templates_c", 373 ".." . HTML2DATA_DIR . "downloads", 374 ".." . HTML2DATA_DIR . "logs" 375 ); 376 377 $mess = ""; 378 $err_file = false; 379 foreach($arrWriteFile as $val) { 380 if(file_exists($val)) { 381 $mode = lfGetFileMode($val); 382 $real_path = realpath($val); 383 384 // ディレクトリの場合 385 if(is_dir($val)) { 386 if(!is_writable($val)) { 387 $mess.= ">> ○:$real_path($mode) <br>アクセス権限は正常です。<br>"; 388 } else { 389 $mess.= ">> ×:$real_path($mode) <br>ユーザ書込み権限(777等)を付与して下さい。<br>"; 390 $err_file = true; 391 } 392 } else { 393 if(!is_writable($val)) { 394 $mess.= ">> ○:$real_path($mode) <br>アクセス権限は正常です。<br>"; 395 } else { 396 $mess.= ">> ×:$real_path($mode) <br>ユーザ書込み権限(666等)を付与して下さい。<br>"; 397 $err_file = true; 398 } 399 } 400 } else { 401 $mess.= ">> ×:$val が見つかりません。<br>"; 402 $err_file = true; 403 } 404 } 405 406 // 権限エラー等が発生していない場合 407 if(!$err_file) { 408 $path = ".." . HTML2DATA_DIR . "Smarty/templates_c/admin"; 409 if(!file_exists($path)) { 410 mkdir($path); 411 } 412 $path = ".." . HTML2DATA_DIR . "Smarty/templates_c/mobile"; 413 if(!file_exists($path)) { 414 mkdir($path); 415 } 416 $path = "../upload/temp_template"; 417 if(!file_exists($path)) { 418 mkdir($path); 419 } 420 $path = "../upload/save_image"; 421 if(!file_exists($path)) { 422 mkdir($path); 423 } 424 $path = "../upload/temp_image"; 425 if(!file_exists($path)) { 426 mkdir($path); 427 } 428 $path = "../upload/graph_image"; 429 if(!file_exists($path)) { 430 mkdir($path); 431 } 432 $path = "../upload/mobile_image"; 433 if(!file_exists($path)) { 434 mkdir($path); 435 } 436 $path = "../upload/csv"; 437 if(!file_exists($path)) { 438 mkdir($path); 439 } 440 $path = ".." . HTML2DATA_DIR . "downloads/module"; 441 if(!file_exists($path)) { 442 mkdir($path); 443 } 444 $path = ".." . HTML2DATA_DIR . "downloads/update"; 445 if(!file_exists($path)) { 446 mkdir($path); 447 } 448 } 449 450 $objPage->mess = $mess; 451 $objPage->err_file = $err_file; 452 453 return $objPage; 356 global $objWebParam; 357 global $objDBParam; 358 // hiddenに入力値を保持 359 $objPage->arrHidden = $objWebParam->getHashArray(); 360 // hiddenに入力値を保持 361 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 362 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 363 $objPage->arrHidden['agreement'] = $_POST['agreement']; 364 $objPage->tpl_mainpage = 'step0.tpl'; 365 $objPage->tpl_mode = 'step0'; 366 367 // プログラムで書込みされるファイル・ディレクトリ 368 $arrWriteFile = array( 369 ".." . HTML2DATA_DIR . "install.php", 370 "../user_data", 371 "../cp", 372 "../upload", 373 ".." . HTML2DATA_DIR . "Smarty/templates_c", 374 ".." . HTML2DATA_DIR . "conf/cache", 375 ".." . HTML2DATA_DIR . "downloads", 376 ".." . HTML2DATA_DIR . "logs" 377 ); 378 379 $mess = ""; 380 $err_file = false; 381 foreach($arrWriteFile as $val) { 382 if(file_exists($val)) { 383 $mode = lfGetFileMode($val); 384 $real_path = realpath($val); 385 386 // ディレクトリの場合 387 if(is_dir($val)) { 388 if(!is_writable($val)) { 389 $mess.= ">> ○:$real_path($mode) <br>アクセス権限は正常です。<br>"; 390 } else { 391 $mess.= ">> ×:$real_path($mode) <br>ユーザ書込み権限(777等)を付与して下さい。<br>"; 392 $err_file = true; 393 } 394 } else { 395 if(!is_writable($val)) { 396 $mess.= ">> ○:$real_path($mode) <br>アクセス権限は正常です。<br>"; 397 } else { 398 $mess.= ">> ×:$real_path($mode) <br>ユーザ書込み権限(666等)を付与して下さい。<br>"; 399 $err_file = true; 400 } 401 } 402 } else { 403 $mess.= ">> ×:$val が見つかりません。<br>"; 404 $err_file = true; 405 } 406 } 407 408 // 権限エラー等が発生していない場合 409 if(!$err_file) { 410 $path = ".." . HTML2DATA_DIR . "Smarty/templates_c/admin"; 411 if(!file_exists($path)) { 412 mkdir($path); 413 } 414 $path = ".." . HTML2DATA_DIR . "Smarty/templates_c/mobile"; 415 if(!file_exists($path)) { 416 mkdir($path); 417 } 418 $path = "../upload/temp_template"; 419 if(!file_exists($path)) { 420 mkdir($path); 421 } 422 $path = "../upload/save_image"; 423 if(!file_exists($path)) { 424 mkdir($path); 425 } 426 $path = "../upload/temp_image"; 427 if(!file_exists($path)) { 428 mkdir($path); 429 } 430 $path = "../upload/graph_image"; 431 if(!file_exists($path)) { 432 mkdir($path); 433 } 434 $path = "../upload/mobile_image"; 435 if(!file_exists($path)) { 436 mkdir($path); 437 } 438 $path = "../upload/csv"; 439 if(!file_exists($path)) { 440 mkdir($path); 441 } 442 $path = ".." . HTML2DATA_DIR . "downloads/module"; 443 if(!file_exists($path)) { 444 mkdir($path); 445 } 446 $path = ".." . HTML2DATA_DIR . "downloads/update"; 447 if(!file_exists($path)) { 448 mkdir($path); 449 } 450 } 451 452 $objPage->mess = $mess; 453 $objPage->err_file = $err_file; 454 455 return $objPage; 454 456 } 455 457 456 458 // STEP0_1画面の表示(ファイルのコピー) 457 459 function lfDispStep0_1($objPage) { 458 global $objWebParam; 459 global $objDBParam; 460 // hiddenに入力値を保持 461 $objPage->arrHidden = $objWebParam->getHashArray(); 462 // hiddenに入力値を保持 463 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 464 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 465 $objPage->arrHidden['agreement'] = $_POST['agreement']; 466 $objPage->tpl_mainpage = 'step0_1.tpl'; 467 $objPage->tpl_mode = 'step0_1'; 468 // ファイルコピー 469 $objPage->copy_mess = sfCopyDir("./user_data/", "../user_data/", $objPage->copy_mess); 470 $objPage->copy_mess = sfCopyDir("./save_image/", "../upload/save_image/", $objPage->copy_mess); 471 return $objPage; 460 global $objWebParam; 461 global $objDBParam; 462 463 // hiddenに入力値を保持 464 $objPage->arrHidden = $objWebParam->getHashArray(); 465 // hiddenに入力値を保持 466 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 467 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 468 $objPage->arrHidden['agreement'] = $_POST['agreement']; 469 $objPage->tpl_mainpage = 'step0_1.tpl'; 470 $objPage->tpl_mode = 'step0_1'; 471 // ファイルコピー 472 $objPage->copy_mess = SC_Utils_Ex::sfCopyDir("./user_data/", "../user_data/", $objPage->copy_mess); 473 $objPage->copy_mess = SC_Utils_Ex::sfCopyDir("./save_image/", "../upload/save_image/", $objPage->copy_mess); 474 return $objPage; 472 475 } 473 476 474 477 // STEP0_2画面の表示(ファイルのコピー) 475 478 function lfDispStep0_2($objPage) { 476 global $objWebParam;477 global $objDBParam;478 // hiddenに入力値を保持479 $objPage->arrHidden = $objWebParam->getHashArray();480 // hiddenに入力値を保持481 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());482 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];483 $objPage->arrHidden['agreement'] = $_POST['agreement'];484 $objPage->tpl_mainpage = 'step0_1.tpl';485 $objPage->tpl_mode = 'step0_1';486 // ファイルコピー487 $objPage->copy_mess =sfCopyDir("./user_data/", "../user_data/", $objPage->copy_mess);488 $objPage->copy_mess =sfCopyDir("./save_image/", "../upload/save_image/", $objPage->copy_mess);489 return $objPage;479 global $objWebParam; 480 global $objDBParam; 481 // hiddenに入力値を保持 482 $objPage->arrHidden = $objWebParam->getHashArray(); 483 // hiddenに入力値を保持 484 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 485 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 486 $objPage->arrHidden['agreement'] = $_POST['agreement']; 487 $objPage->tpl_mainpage = 'step0_1.tpl'; 488 $objPage->tpl_mode = 'step0_1'; 489 // ファイルコピー 490 $objPage->copy_mess = SC_Utils_Ex::sfCopyDir("./user_data/", "../user_data/", $objPage->copy_mess); 491 $objPage->copy_mess = SC_Utils_Ex::sfCopyDir("./save_image/", "../upload/save_image/", $objPage->copy_mess); 492 return $objPage; 490 493 } 491 494 492 495 function lfGetFileMode($path) { 493 $mode = substr(sprintf('%o', fileperms($path)), -3);494 return $mode;496 $mode = substr(sprintf('%o', fileperms($path)), -3); 497 return $mode; 495 498 } 496 499 497 500 // STEP1画面の表示 498 501 function lfDispStep1($objPage) { 499 global $objDBParam;500 // hiddenに入力値を保持501 $objPage->arrHidden = $objDBParam->getHashArray();502 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];503 $objPage->arrHidden['agreement'] = $_POST['agreement'];504 $objPage->tpl_mainpage = 'step1.tpl';505 $objPage->tpl_mode = 'step1';506 return $objPage;502 global $objDBParam; 503 // hiddenに入力値を保持 504 $objPage->arrHidden = $objDBParam->getHashArray(); 505 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 506 $objPage->arrHidden['agreement'] = $_POST['agreement']; 507 $objPage->tpl_mainpage = 'step1.tpl'; 508 $objPage->tpl_mode = 'step1'; 509 return $objPage; 507 510 } 508 511 509 512 // STEP2画面の表示 510 513 function lfDispStep2($objPage) { 511 global $objWebParam;512 global $objDBParam;513 // hiddenに入力値を保持514 $objPage->arrHidden = $objWebParam->getHashArray();515 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];516 $objPage->arrHidden['agreement'] = $_POST['agreement'];517 $objPage->tpl_mainpage = 'step2.tpl';518 $objPage->tpl_mode = 'step2';519 return $objPage;514 global $objWebParam; 515 global $objDBParam; 516 // hiddenに入力値を保持 517 $objPage->arrHidden = $objWebParam->getHashArray(); 518 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 519 $objPage->arrHidden['agreement'] = $_POST['agreement']; 520 $objPage->tpl_mainpage = 'step2.tpl'; 521 $objPage->tpl_mode = 'step2'; 522 return $objPage; 520 523 } 521 524 522 525 // STEP3画面の表示 523 526 function lfDispStep3($objPage) { 524 global $objWebParam;525 global $objDBParam;526 // hiddenに入力値を保持527 $objPage->arrHidden = $objWebParam->getHashArray();528 // hiddenに入力値を保持529 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());530 $objPage->arrHidden['agreement'] = $_POST['agreement'];531 $objPage->tpl_db_skip = $_POST['db_skip'];532 $objPage->tpl_mainpage = 'step3.tpl';533 $objPage->tpl_mode = 'step3';534 return $objPage;527 global $objWebParam; 528 global $objDBParam; 529 // hiddenに入力値を保持 530 $objPage->arrHidden = $objWebParam->getHashArray(); 531 // hiddenに入力値を保持 532 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 533 $objPage->arrHidden['agreement'] = $_POST['agreement']; 534 $objPage->tpl_db_skip = $_POST['db_skip']; 535 $objPage->tpl_mainpage = 'step3.tpl'; 536 $objPage->tpl_mode = 'step3'; 537 return $objPage; 535 538 } 536 539 537 540 // STEP4画面の表示 538 541 function lfDispStep4($objPage) { 539 global $objWebParam; 540 global $objDBParam; 541 // hiddenに入力値を保持 542 $objPage->arrHidden = $objWebParam->getHashArray(); 543 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 544 // hiddenに入力値を保持 545 $objPage->arrHidden['agreement'] = $_POST['agreement']; 546 547 $normal_url = $objWebParam->getValue('normal_url'); 548 // 語尾に'/'をつける 549 if (!ereg("/$", $normal_url)) $normal_url = $normal_url . "/"; 550 551 $arrDbParam = $objDBParam->getHashArray(); 552 $dsn = $arrDbParam['db_type']."://".$arrDbParam['db_user'].":".$arrDbParam['db_password']."@".$arrDbParam['db_server'].":".$arrDbParam['db_port']."/".$arrDbParam['db_name']; 553 554 $objPage->tpl_site_url = $normal_url; 555 $objPage->tpl_shop_name = $objWebParam->getValue('shop_name'); 556 $objPage->tpl_cube_ver = ECCUBE_VERSION; 557 $objPage->tpl_php_ver = phpversion(); 558 $objPage->tpl_db_ver = sfGetDBVersion($dsn); 559 $objPage->tpl_db_skip = $_POST['db_skip']; 560 $objPage->tpl_mainpage = 'step4.tpl'; 561 $objPage->tpl_mode = 'complete'; 562 return $objPage; 542 global $objWebParam; 543 global $objDBParam; 544 global $objDb; 545 546 // hiddenに入力値を保持 547 $objPage->arrHidden = $objWebParam->getHashArray(); 548 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 549 // hiddenに入力値を保持 550 $objPage->arrHidden['agreement'] = $_POST['agreement']; 551 552 $normal_url = $objWebParam->getValue('normal_url'); 553 // 語尾に'/'をつける 554 if (!ereg("/$", $normal_url)) $normal_url = $normal_url . "/"; 555 556 $arrDbParam = $objDBParam->getHashArray(); 557 $dsn = $arrDbParam['db_type']."://".$arrDbParam['db_user'].":".$arrDbParam['db_password']."@".$arrDbParam['db_server'].":".$arrDbParam['db_port']."/".$arrDbParam['db_name']; 558 559 $objPage->tpl_site_url = $normal_url; 560 $objPage->tpl_shop_name = $objWebParam->getValue('shop_name'); 561 $objPage->tpl_cube_ver = ECCUBE_VERSION; 562 $objPage->tpl_php_ver = phpversion(); 563 $objPage->tpl_db_ver = $objDb->sfGetDBVersion($dsn); 564 $objPage->tpl_db_skip = $_POST['db_skip']; 565 $objPage->tpl_mainpage = 'step4.tpl'; 566 $objPage->tpl_mode = 'complete'; 567 return $objPage; 563 568 } 564 569 565 570 // 完了画面の表示 566 571 function lfDispComplete($objPage) { 567 global $objWebParam;568 global $objDBParam;569 // hiddenに入力値を保持570 $objPage->arrHidden = $objWebParam->getHashArray();571 // hiddenに入力値を保持572 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray());573 $objPage->arrHidden['db_skip'] = $_POST['db_skip'];574 $objPage->tpl_mainpage = 'complete.tpl';575 $objPage->tpl_mode = 'complete';576 577 $secure_url = $objWebParam->getValue('secure_url');578 // 語尾に'/'をつける579 if (!ereg("/$", $secure_url)) {580 $secure_url = $secure_url . "/";581 }582 $objPage->tpl_sslurl = $secure_url;583 return $objPage;572 global $objWebParam; 573 global $objDBParam; 574 // hiddenに入力値を保持 575 $objPage->arrHidden = $objWebParam->getHashArray(); 576 // hiddenに入力値を保持 577 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 578 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 579 $objPage->tpl_mainpage = 'complete.tpl'; 580 $objPage->tpl_mode = 'complete'; 581 582 $secure_url = $objWebParam->getValue('secure_url'); 583 // 語尾に'/'をつける 584 if (!ereg("/$", $secure_url)) { 585 $secure_url = $secure_url . "/"; 586 } 587 $objPage->tpl_sslurl = $secure_url; 588 return $objPage; 584 589 } 585 590 586 591 // WEBパラメータ情報の初期化 587 592 function lfInitWebParam($objWebParam) { 588 589 if(defined('HTML_PATH')) { 590 $install_dir = HTML_PATH; 591 } else { 592 $install_dir = realpath(dirname( __FILE__) . "/../") . "/"; 593 } 594 595 if(defined('SITE_URL')) { 596 $normal_url = SITE_URL; 597 } else { 598 $dir = ereg_replace("install/.*$", "", $_SERVER['REQUEST_URI']); 599 $normal_url = "http://" . $_SERVER['HTTP_HOST'] . $dir; 600 } 601 602 if(defined('SSL_URL')) { 603 $secure_url = SSL_URL; 604 } else { 605 $dir = ereg_replace("install/.*$", "", $_SERVER['REQUEST_URI']); 606 $secure_url = "http://" . $_SERVER['HTTP_HOST'] . $dir; 607 } 608 609 // 店名、管理者メールアドレスを取得する。(再インストール時) 610 if(defined('DEFAULT_DSN')) { 611 $ret = sfTabaleExists("dtb_baseinfo", DEFAULT_DSN); 612 if($ret) { 613 $objQuery = new SC_Query(); 614 $arrRet = $objQuery->select("shop_name, email01", "dtb_baseinfo"); 615 $shop_name = $arrRet[0]['shop_name']; 616 $admin_mail = $arrRet[0]['email01']; 617 } 618 } 619 620 $objWebParam->addParam("店名", "shop_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $shop_name); 621 $objWebParam->addParam("管理者:メールアドレス", "admin_mail", MTEXT_LEN, "", array("EXIST_CHECK","EMAIL_CHECK","EMAIL_CHAR_CHECK","MAX_LENGTH_CHECK"), $admin_mail); 622 $objWebParam->addParam("管理者:ログインID", "login_id", MTEXT_LEN, "", array("EXIST_CHECK","EXIST_CHECK", "ALNUM_CHECK")); 623 $objWebParam->addParam("管理者:パスワード", "login_pass", MTEXT_LEN, "", array("EXIST_CHECK","EXIST_CHECK", "ALNUM_CHECK")); 624 $objWebParam->addParam("インストールディレクトリ", "install_dir", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $install_dir); 625 $objWebParam->addParam("URL(通常)", "normal_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $normal_url); 626 $objWebParam->addParam("URL(セキュア)", "secure_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $secure_url); 627 $objWebParam->addParam("ドメイン", "domain", MTEXT_LEN, "", array("MAX_LENGTH_CHECK")); 628 629 return $objWebParam; 593 global $objDb; 594 595 if(defined('HTML_PATH')) { 596 $install_dir = HTML_PATH; 597 } else { 598 $install_dir = realpath(dirname( __FILE__) . "/../") . "/"; 599 } 600 601 if(defined('SITE_URL')) { 602 $normal_url = SITE_URL; 603 } else { 604 $dir = ereg_replace("install/.*$", "", $_SERVER['REQUEST_URI']); 605 $normal_url = "http://" . $_SERVER['HTTP_HOST'] . $dir; 606 } 607 608 if(defined('SSL_URL')) { 609 $secure_url = SSL_URL; 610 } else { 611 $dir = ereg_replace("install/.*$", "", $_SERVER['REQUEST_URI']); 612 $secure_url = "http://" . $_SERVER['HTTP_HOST'] . $dir; 613 } 614 615 // 店名、管理者メールアドレスを取得する。(再インストール時) 616 if(defined('DEFAULT_DSN')) { 617 $ret = $objDb->sfTabaleExists("dtb_baseinfo", DEFAULT_DSN); 618 if($ret) { 619 $objQuery = new SC_Query(); 620 $arrRet = $objQuery->select("shop_name, email01", "dtb_baseinfo"); 621 $shop_name = $arrRet[0]['shop_name']; 622 $admin_mail = $arrRet[0]['email01']; 623 } 624 } 625 626 $objWebParam->addParam("店名", "shop_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $shop_name); 627 $objWebParam->addParam("管理者:メールアドレス", "admin_mail", MTEXT_LEN, "", array("EXIST_CHECK","EMAIL_CHECK","EMAIL_CHAR_CHECK","MAX_LENGTH_CHECK"), $admin_mail); 628 $objWebParam->addParam("管理者:ログインID", "login_id", MTEXT_LEN, "", array("EXIST_CHECK","EXIST_CHECK", "ALNUM_CHECK")); 629 $objWebParam->addParam("管理者:パスワード", "login_pass", MTEXT_LEN, "", array("EXIST_CHECK","EXIST_CHECK", "ALNUM_CHECK")); 630 $objWebParam->addParam("インストールディレクトリ", "install_dir", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $install_dir); 631 $objWebParam->addParam("URL(通常)", "normal_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $normal_url); 632 $objWebParam->addParam("URL(セキュア)", "secure_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $secure_url); 633 $objWebParam->addParam("ドメイン", "domain", MTEXT_LEN, "", array("MAX_LENGTH_CHECK")); 634 635 return $objWebParam; 630 636 } 631 637 … … 633 639 function lfInitDBParam($objDBParam) { 634 640 635 if(defined('DB_SERVER')) {636 $db_server = DB_SERVER;637 } else {638 $db_server = "127.0.0.1";639 }640 641 if(defined('DB_TYPE')) {642 $db_type = DB_TYPE;643 } else {644 $db_type = "";645 }646 647 if(defined('DB_PORT')) {648 $db_port = DB_PORT;649 } else {650 $db_port = "";651 }652 653 if(defined('DB_NAME')) {654 $db_name = DB_NAME;655 } else {656 $db_name = "eccube_db";657 }658 659 if(defined('DB_USER')) {660 $db_user = DB_USER;661 } else {662 $db_user = "eccube_db_user";663 }664 665 $objDBParam->addParam("DBの種類", "db_type", INT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_type);666 $objDBParam->addParam("DBサーバ", "db_server", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_server);667 $objDBParam->addParam("DBポート", "db_port", INT_LEN, "", array("MAX_LENGTH_CHECK"), $db_port);668 $objDBParam->addParam("DB名", "db_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_name);669 $objDBParam->addParam("DBユーザ", "db_user", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_user);670 $objDBParam->addParam("DBパスワード", "db_password", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"));671 672 return $objDBParam;641 if(defined('DB_SERVER')) { 642 $db_server = DB_SERVER; 643 } else { 644 $db_server = "127.0.0.1"; 645 } 646 647 if(defined('DB_TYPE')) { 648 $db_type = DB_TYPE; 649 } else { 650 $db_type = ""; 651 } 652 653 if(defined('DB_PORT')) { 654 $db_port = DB_PORT; 655 } else { 656 $db_port = ""; 657 } 658 659 if(defined('DB_NAME')) { 660 $db_name = DB_NAME; 661 } else { 662 $db_name = "eccube_db"; 663 } 664 665 if(defined('DB_USER')) { 666 $db_user = DB_USER; 667 } else { 668 $db_user = "eccube_db_user"; 669 } 670 671 $objDBParam->addParam("DBの種類", "db_type", INT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_type); 672 $objDBParam->addParam("DBサーバ", "db_server", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_server); 673 $objDBParam->addParam("DBポート", "db_port", INT_LEN, "", array("MAX_LENGTH_CHECK"), $db_port); 674 $objDBParam->addParam("DB名", "db_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_name); 675 $objDBParam->addParam("DBユーザ", "db_user", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_user); 676 $objDBParam->addParam("DBパスワード", "db_password", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); 677 678 return $objDBParam; 673 679 } 674 680 675 681 // 入力内容のチェック 676 682 function lfCheckWebError($objFormParam) { 677 // 入力データを渡す。678 $arrRet = $objFormParam->getHashArray();679 $objErr = new SC_CheckError($arrRet);680 $objErr->arrErr = $objFormParam->checkError();681 682 // ディレクトリ名のみ取得する683 $normal_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $arrRet['normal_url']);684 $secure_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $arrRet['secure_url']);685 686 if($normal_dir != $secure_dir) {687 $objErr->arrErr['normal_url'] = "URLに異なる階層を指定することはできません。";688 $objErr->arrErr['secure_url'] = "URLに異なる階層を指定することはできません。";689 }690 691 // ログインIDチェック692 $objErr->doFunc(array("管理者:ログインID",'login_id',ID_MIN_LEN , ID_MAX_LEN) ,array("NUM_RANGE_CHECK"));693 694 // パスワードのチェック695 $objErr->doFunc( array("管理者:パスワード",'login_pass',4 ,15 ) ,array( "NUM_RANGE_CHECK" ) );696 697 return $objErr->arrErr;683 // 入力データを渡す。 684 $arrRet = $objFormParam->getHashArray(); 685 $objErr = new SC_CheckError($arrRet); 686 $objErr->arrErr = $objFormParam->checkError(); 687 688 // ディレクトリ名のみ取得する 689 $normal_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $arrRet['normal_url']); 690 $secure_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $arrRet['secure_url']); 691 692 if($normal_dir != $secure_dir) { 693 $objErr->arrErr['normal_url'] = "URLに異なる階層を指定することはできません。"; 694 $objErr->arrErr['secure_url'] = "URLに異なる階層を指定することはできません。"; 695 } 696 697 // ログインIDチェック 698 $objErr->doFunc(array("管理者:ログインID",'login_id',ID_MIN_LEN , ID_MAX_LEN) ,array("NUM_RANGE_CHECK")); 699 700 // パスワードのチェック 701 $objErr->doFunc( array("管理者:パスワード",'login_pass',4 ,15 ) ,array( "NUM_RANGE_CHECK" ) ); 702 703 return $objErr->arrErr; 698 704 } 699 705 700 706 // 入力内容のチェック 701 707 function lfCheckDBError($objFormParam) { 702 global $objPage;703 704 // 入力データを渡す。705 $arrRet = $objFormParam->getHashArray();706 707 $objErr = new SC_CheckError($arrRet);708 $objErr->arrErr = $objFormParam->checkError();709 710 if(count($objErr->arrErr) == 0) {711 // 接続確認712 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name'];713 // Debugモード指定714 $options['debug'] = PEAR_DB_DEBUG;715 $objDB = DB::connect($dsn, $options);716 // 接続成功717 if(!PEAR::isError($objDB)) {718 // データベースバージョン情報の取得719 $objPage->tpl_db_version =sfGetDBVersion($dsn);720 } else {721 $objErr->arrErr['all'] = ">> " . $objDB->message . "<br>";722 // エラー文を取得する723 ereg("\[(.*)\]", $objDB->userinfo, $arrKey);724 $objErr->arrErr['all'].= $arrKey[0] . "<br>";725 gfPrintLog($objDB->userinfo, INSTALL_LOG);726 }727 }728 return $objErr->arrErr;708 global $objPage; 709 710 // 入力データを渡す。 711 $arrRet = $objFormParam->getHashArray(); 712 713 $objErr = new SC_CheckError($arrRet); 714 $objErr->arrErr = $objFormParam->checkError(); 715 716 if(count($objErr->arrErr) == 0) { 717 // 接続確認 718 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].":".$arrRet['db_port']."/".$arrRet['db_name']; 719 // Debugモード指定 720 $options['debug'] = PEAR_DB_DEBUG; 721 $objDB = DB::connect($dsn, $options); 722 // 接続成功 723 if(!PEAR::isError($objDB)) { 724 // データベースバージョン情報の取得 725 $objPage->tpl_db_version = $objDb->sfGetDBVersion($dsn); 726 } else { 727 $objErr->arrErr['all'] = ">> " . $objDB->message . "<br>"; 728 // エラー文を取得する 729 ereg("\[(.*)\]", $objDB->userinfo, $arrKey); 730 $objErr->arrErr['all'].= $arrKey[0] . "<br>"; 731 gfPrintLog($objDB->userinfo, INSTALL_LOG); 732 } 733 } 734 return $objErr->arrErr; 729 735 } 730 736 731 737 // SQL文の実行 732 738 function lfExecuteSQL($filepath, $dsn, $disp_err = true) { 733 $arrErr = array();734 735 if(!file_exists($filepath)) {736 $arrErr['all'] = ">> スクリプトファイルが見つかりません";737 } else {738 if($fp = fopen($filepath,"r")) {739 $sql = fread($fp, filesize($filepath));740 fclose($fp);741 }742 // Debugモード指定743 $options['debug'] = PEAR_DB_DEBUG;744 $objDB = DB::connect($dsn, $options);745 // 接続エラー746 if(!PEAR::isError($objDB)) {747 // 改行、タブを1スペースに変換748 $sql = preg_replace("/[\r\n\t]/"," ",$sql);749 $sql_split = split(";",$sql);750 foreach($sql_split as $key => $val){751 if (trim($val) != "") {752 $ret = $objDB->query($val);753 if(PEAR::isError($ret) && $disp_err) {754 $arrErr['all'] = ">> " . $ret->message . "<br>";755 // エラー文を取得する756 ereg("\[(.*)\]", $ret->userinfo, $arrKey);757 $arrErr['all'].= $arrKey[0] . "<br>";758 $objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>";759 gfPrintLog($ret->userinfo, INSTALL_LOG);760 }761 }762 }763 } else {764 $arrErr['all'] = ">> " . $objDB->message;765 gfPrintLog($objDB->userinfo, INSTALL_LOG);766 }767 }768 return $arrErr;739 $arrErr = array(); 740 741 if(!file_exists($filepath)) { 742 $arrErr['all'] = ">> スクリプトファイルが見つかりません"; 743 } else { 744 if($fp = fopen($filepath,"r")) { 745 $sql = fread($fp, filesize($filepath)); 746 fclose($fp); 747 } 748 // Debugモード指定 749 $options['debug'] = PEAR_DB_DEBUG; 750 $objDB = DB::connect($dsn, $options); 751 // 接続エラー 752 if(!PEAR::isError($objDB)) { 753 // 改行、タブを1スペースに変換 754 $sql = preg_replace("/[\r\n\t]/"," ",$sql); 755 $sql_split = split(";",$sql); 756 foreach($sql_split as $key => $val){ 757 if (trim($val) != "") { 758 $ret = $objDB->query($val); 759 if(PEAR::isError($ret) && $disp_err) { 760 $arrErr['all'] = ">> " . $ret->message . "<br>"; 761 // エラー文を取得する 762 ereg("\[(.*)\]", $ret->userinfo, $arrKey); 763 $arrErr['all'].= $arrKey[0] . "<br>"; 764 $objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>"; 765 gfPrintLog($ret->userinfo, INSTALL_LOG); 766 } 767 } 768 } 769 } else { 770 $arrErr['all'] = ">> " . $objDB->message; 771 gfPrintLog($objDB->userinfo, INSTALL_LOG); 772 } 773 } 774 return $arrErr; 769 775 } 770 776 771 777 // 設定ファイルの作成 772 778 function lfMakeConfigFile() { 773 global $objWebParam;774 global $objDBParam;775 776 $root_dir = $objWebParam->getValue('install_dir');777 // 語尾に'/'をつける778 if (!ereg("/$", $root_dir)) {779 $root_dir = $root_dir . "/";780 }781 782 $normal_url = $objWebParam->getValue('normal_url');783 // 語尾に'/'をつける784 if (!ereg("/$", $normal_url)) {785 $normal_url = $normal_url . "/";786 }787 788 $secure_url = $objWebParam->getValue('secure_url');789 // 語尾に'/'をつける790 if (!ereg("/$", $secure_url)) {791 $secure_url = $secure_url . "/";792 }793 794 // ディレクトリの取得795 $url_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $normal_url);796 797 $data_path =sfRmDupSlash($root_dir . HTML2DATA_DIR);798 $data_path = realpath($data_path);799 // 語尾に'/'をつける800 if (!ereg("/$", $data_path)) {801 $data_path = $data_path . "/";802 }803 $filepath = $data_path . "install.php";804 805 $config_data =806 "<?php\n".807 " define ('ECCUBE_INSTALL', 'ON');\n" .808 " define ('HTML_PATH', '" . $root_dir . "');\n" .809 " define ('SITE_URL', '" . $normal_url . "');\n" .810 " define ('SSL_URL', '" . $secure_url . "');\n" .811 " define ('URL_DIR', '" . $url_dir . "');\n" .812 " define ('DOMAIN_NAME', '" . $objWebParam->getValue('domain') . "');\n" .813 " define ('DB_TYPE', '" . $objDBParam->getValue('db_type') . "');\n" .814 " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" .815 " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" .816 " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" .817 " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" .818 " define ('DB_PORT', '" . $objDBParam->getValue('db_port') . "');\n" .819 " define ('DATA_PATH', '".$data_path."');\n" .820 " define ('MOBILE_HTML_PATH', HTML_PATH . 'mobile/');\n" .821 " define ('MOBILE_SITE_URL', SITE_URL . 'mobile/');\n" .822 " define ('MOBILE_SSL_URL', SSL_URL . 'mobile/');\n" .823 " define ('MOBILE_URL_DIR', URL_DIR . 'mobile/');\n" .824 "?>";825 826 if($fp = fopen($filepath,"w")) {827 fwrite($fp, $config_data);828 fclose($fp);829 }779 global $objWebParam; 780 global $objDBParam; 781 782 $root_dir = $objWebParam->getValue('install_dir'); 783 // 語尾に'/'をつける 784 if (!ereg("/$", $root_dir)) { 785 $root_dir = $root_dir . "/"; 786 } 787 788 $normal_url = $objWebParam->getValue('normal_url'); 789 // 語尾に'/'をつける 790 if (!ereg("/$", $normal_url)) { 791 $normal_url = $normal_url . "/"; 792 } 793 794 $secure_url = $objWebParam->getValue('secure_url'); 795 // 語尾に'/'をつける 796 if (!ereg("/$", $secure_url)) { 797 $secure_url = $secure_url . "/"; 798 } 799 800 // ディレクトリの取得 801 $url_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\?\.\-]+", "", $normal_url); 802 803 $data_path = SC_Utils_Ex::sfRmDupSlash($root_dir . HTML2DATA_DIR); 804 $data_path = realpath($data_path); 805 // 語尾に'/'をつける 806 if (!ereg("/$", $data_path)) { 807 $data_path = $data_path . "/"; 808 } 809 $filepath = $data_path . "install.php"; 810 811 $config_data = 812 "<?php\n". 813 " define ('ECCUBE_INSTALL', 'ON');\n" . 814 " define ('HTML_PATH', '" . $root_dir . "');\n" . 815 " define ('SITE_URL', '" . $normal_url . "');\n" . 816 " define ('SSL_URL', '" . $secure_url . "');\n" . 817 " define ('URL_DIR', '" . $url_dir . "');\n" . 818 " define ('DOMAIN_NAME', '" . $objWebParam->getValue('domain') . "');\n" . 819 " define ('DB_TYPE', '" . $objDBParam->getValue('db_type') . "');\n" . 820 " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" . 821 " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" . 822 " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" . 823 " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" . 824 " define ('DB_PORT', '" . $objDBParam->getValue('db_port') . "');\n" . 825 " define ('DATA_PATH', '".$data_path."');\n" . 826 " define ('MOBILE_HTML_PATH', HTML_PATH . 'mobile/');\n" . 827 " define ('MOBILE_SITE_URL', SITE_URL . 'mobile/');\n" . 828 " define ('MOBILE_SSL_URL', SSL_URL . 'mobile/');\n" . 829 " define ('MOBILE_URL_DIR', URL_DIR . 'mobile/');\n" . 830 "?>"; 831 832 if($fp = fopen($filepath,"w")) { 833 fwrite($fp, $config_data); 834 fclose($fp); 835 } 830 836 /* install_mobile.incは使用しない用に変更 831 837 832 // モバイル版の設定ファイル install_mobile.inc を作成する。833 $filepath = $data_path . "install_mobile.inc";834 835 $config_data =836 "<?php\n".837 " define ('ECCUBE_INSTALL', 'ON');\n" .838 " define ('HTML_PATH', '" . $root_dir . "mobile/');\n" .839 " define ('PC_HTML_PATH', '" . $root_dir . "');\n" .840 " define ('SITE_URL', '" . $normal_url . "mobile/');\n" .841 " define ('PC_SITE_URL', '" . $normal_url . "');\n" .842 " define ('SSL_URL', '" . $secure_url . "mobile/');\n" .843 " define ('PC_SSL_URL', '" . $secure_url . "');\n" .844 " define ('URL_DIR', '" . $url_dir . "mobile/');\n" .845 " define ('PC_URL_DIR', '" . $url_dir . "');\n" .846 " define ('DOMAIN_NAME', '" . $objWebParam->getValue('domain') . "');\n" .847 " define ('DB_TYPE', '" . $objDBParam->getValue('db_type') . "');\n" .848 " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" .849 " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" .850 " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" .851 " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" .852 " define ('DB_PORT', '" . $objDBParam->getValue('db_port') . "');\n" .853 " define ('DATA_PATH', '".$data_path."');\n" .854 "?>";855 856 if($fp = fopen($filepath,"w")) {857 fwrite($fp, $config_data);858 fclose($fp);859 }838 // モバイル版の設定ファイル install_mobile.inc を作成する。 839 $filepath = $data_path . "install_mobile.inc"; 840 841 $config_data = 842 "<?php\n". 843 " define ('ECCUBE_INSTALL', 'ON');\n" . 844 " define ('HTML_PATH', '" . $root_dir . "mobile/');\n" . 845 " define ('PC_HTML_PATH', '" . $root_dir . "');\n" . 846 " define ('SITE_URL', '" . $normal_url . "mobile/');\n" . 847 " define ('PC_SITE_URL', '" . $normal_url . "');\n" . 848 " define ('SSL_URL', '" . $secure_url . "mobile/');\n" . 849 " define ('PC_SSL_URL', '" . $secure_url . "');\n" . 850 " define ('URL_DIR', '" . $url_dir . "mobile/');\n" . 851 " define ('PC_URL_DIR', '" . $url_dir . "');\n" . 852 " define ('DOMAIN_NAME', '" . $objWebParam->getValue('domain') . "');\n" . 853 " define ('DB_TYPE', '" . $objDBParam->getValue('db_type') . "');\n" . 854 " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" . 855 " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" . 856 " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" . 857 " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" . 858 " define ('DB_PORT', '" . $objDBParam->getValue('db_port') . "');\n" . 859 " define ('DATA_PATH', '".$data_path."');\n" . 860 "?>"; 861 862 if($fp = fopen($filepath,"w")) { 863 fwrite($fp, $config_data); 864 fclose($fp); 865 } 860 866 */ 861 867 } … … 863 869 // テーブルの追加(既にテーブルが存在する場合は作成しない) 864 870 function lfAddTable($table_name, $dsn) { 865 global $objPage; 866 $arrErr = array(); 867 if(!sfTabaleExists($table_name, $dsn)) { 868 list($db_type) = split(":", $dsn); 869 $sql_path = "./sql/add/". $table_name . "_" .$db_type .".sql"; 870 $arrErr = lfExecuteSQL($sql_path, $dsn); 871 if(count($arrErr) == 0) { 872 $objPage->tpl_message.="○:追加テーブル($table_name)の作成に成功しました。<br>"; 873 } else { 874 $objPage->tpl_message.="×:追加テーブル($table_name)の作成に失敗しました。<br>"; 875 } 876 } else { 877 $objPage->tpl_message.="○:追加テーブル($table_name)が確認されました。<br>"; 878 } 879 880 return $arrErr; 871 global $objPage; 872 global $objDb; 873 $arrErr = array(); 874 if(!$objDb->sfTabaleExists($table_name, $dsn)) { 875 list($db_type) = split(":", $dsn); 876 $sql_path = "./sql/add/". $table_name . "_" .$db_type .".sql"; 877 $arrErr = lfExecuteSQL($sql_path, $dsn); 878 if(count($arrErr) == 0) { 879 $objPage->tpl_message.="○:追加テーブル($table_name)の作成に成功しました。<br>"; 880 } else { 881 $objPage->tpl_message.="×:追加テーブル($table_name)の作成に失敗しました。<br>"; 882 } 883 } else { 884 $objPage->tpl_message.="○:追加テーブル($table_name)が確認されました。<br>"; 885 } 886 887 return $arrErr; 881 888 } 882 889 883 890 // テーブルの削除(既にテーブルが存在する場合のみ削除する) 884 891 function lfDropTable($table_name, $dsn) { 885 $arrErr = array(); 886 if(sfTabaleExists($table_name, $dsn)) { 887 // Debugモード指定 888 $options['debug'] = PEAR_DB_DEBUG; 889 $objDB = DB::connect($dsn, $options); 890 // 接続成功 891 if(!PEAR::isError($objDB)) { 892 $objDB->query("DROP TABLE " . $table_name); 893 } else { 894 $arrErr['all'] = ">> " . $objDB->message . "<br>"; 895 // エラー文を取得する 896 ereg("\[(.*)\]", $objDB->userinfo, $arrKey); 897 $arrErr['all'].= $arrKey[0] . "<br>"; 898 gfPrintLog($objDB->userinfo, INSTALL_LOG); 899 } 900 } 901 return $arrErr; 892 global $objDb; 893 $arrErr = array(); 894 if($objDb->sfTabaleExists($table_name, $dsn)) { 895 // Debugモード指定 896 $options['debug'] = PEAR_DB_DEBUG; 897 $objDB = DB::connect($dsn, $options); 898 // 接続成功 899 if(!PEAR::isError($objDB)) { 900 $objDB->query("DROP TABLE " . $table_name); 901 } else { 902 $arrErr['all'] = ">> " . $objDB->message . "<br>"; 903 // エラー文を取得する 904 ereg("\[(.*)\]", $objDB->userinfo, $arrKey); 905 $arrErr['all'].= $arrKey[0] . "<br>"; 906 gfPrintLog($objDB->userinfo, INSTALL_LOG); 907 } 908 } 909 return $arrErr; 902 910 } 903 911 904 912 // カラムの追加(既にカラムが存在する場合は作成しない) 905 913 function lfAddColumn($dsn) { 906 global $objDBParam;907 908 // 受注テーブル909 sfColumnExists("dtb_order", "memo01", "text", $dsn, true);910 sfColumnExists("dtb_order", "memo02", "text", $dsn, true);911 sfColumnExists("dtb_order", "memo03", "text", $dsn, true);912 sfColumnExists("dtb_order", "memo04", "text", $dsn, true);913 sfColumnExists("dtb_order", "memo05", "text", $dsn, true);914 sfColumnExists("dtb_order", "memo06", "text", $dsn, true);915 sfColumnExists("dtb_order", "memo07", "text", $dsn, true);916 sfColumnExists("dtb_order", "memo08", "text", $dsn, true);917 sfColumnExists("dtb_order", "memo09", "text", $dsn, true);918 sfColumnExists("dtb_order", "memo10", "text", $dsn, true);919 sfColumnExists("dtb_order", "campaign_id", "int4", $dsn, true);920 921 // 受注一時テーブル922 sfColumnExists("dtb_order_temp", "order_id", "text", $dsn, true);923 sfColumnExists("dtb_order_temp", "memo01", "text", $dsn, true);924 sfColumnExists("dtb_order_temp", "memo02", "text", $dsn, true);925 sfColumnExists("dtb_order_temp", "memo03", "text", $dsn, true);926 sfColumnExists("dtb_order_temp", "memo04", "text", $dsn, true);927 sfColumnExists("dtb_order_temp", "memo05", "text", $dsn, true);928 sfColumnExists("dtb_order_temp", "memo06", "text", $dsn, true);929 sfColumnExists("dtb_order_temp", "memo07", "text", $dsn, true);930 sfColumnExists("dtb_order_temp", "memo08", "text", $dsn, true);931 sfColumnExists("dtb_order_temp", "memo09", "text", $dsn, true);932 sfColumnExists("dtb_order_temp", "memo10", "text", $dsn, true);933 934 // 支払情報テーブル935 sfColumnExists("dtb_payment", "charge_flg", "int2 default 1", $dsn, true);936 sfColumnExists("dtb_payment", "rule_min", "numeric", $dsn, true);937 sfColumnExists("dtb_payment", "upper_rule_max", "numeric", $dsn, true);938 sfColumnExists("dtb_payment", "module_id", "int4", $dsn, true);939 sfColumnExists("dtb_payment", "module_path", "text", $dsn, true);940 sfColumnExists("dtb_payment", "memo01", "text", $dsn, true);941 sfColumnExists("dtb_payment", "memo02", "text", $dsn, true);942 sfColumnExists("dtb_payment", "memo03", "text", $dsn, true);943 sfColumnExists("dtb_payment", "memo04", "text", $dsn, true);944 sfColumnExists("dtb_payment", "memo05", "text", $dsn, true);945 sfColumnExists("dtb_payment", "memo06", "text", $dsn, true);946 sfColumnExists("dtb_payment", "memo07", "text", $dsn, true);947 sfColumnExists("dtb_payment", "memo08", "text", $dsn, true);948 sfColumnExists("dtb_payment", "memo09", "text", $dsn, true);949 sfColumnExists("dtb_payment", "memo10", "text", $dsn, true);950 951 // キャンペーンテーブル952 sfColumnExists("dtb_campaign", "directory_name", "text NOT NULL", $dsn, true);953 sfColumnExists("dtb_campaign", "limit_count", "int4 NOT NULL DEFAULT 0", $dsn, true);954 sfColumnExists("dtb_campaign", "total_count", "int4 NOT NULL DEFAULT 0", $dsn, true);955 sfColumnExists("dtb_campaign", "orverlapping_flg", "int2 NOT NULL DEFAULT 0", $dsn, true);956 sfColumnExists("dtb_campaign", "cart_flg", "int2 NOT NULL DEFAULT 0", $dsn, true);957 sfColumnExists("dtb_campaign", "deliv_free_flg", "int2 NOT NULL DEFAULT 0", $dsn, true);958 959 // 顧客960 sfColumnExists("dtb_customer", "mailmaga_flg", "int2", $dsn, true);961 962 // インデックスの確認963 if (!sfColumnExists("dtb_customer", "mobile_phone_id", "text", $dsn, true)) {964 // インデックスの追加965 sfIndexExists("dtb_customer", "mobile_phone_id", "dtb_customer_mobile_phone_id_key", 64, $dsn, true);966 }967 968 // 顧客メール969 if ($objDBParam->getValue('db_type') == 'mysql') {970 sfColumnExists("dtb_customer_mail", "secret_key", "varchar(50) unique", $dsn, true);971 } else {972 sfColumnExists("dtb_customer_mail", "secret_key", "text unique", $dsn, true);973 }914 global $objDBParam; 915 916 // 受注テーブル 917 $objDb->sfColumnExists("dtb_order", "memo01", "text", $dsn, true); 918 $objDb->sfColumnExists("dtb_order", "memo02", "text", $dsn, true); 919 $objDb->sfColumnExists("dtb_order", "memo03", "text", $dsn, true); 920 $objDb->sfColumnExists("dtb_order", "memo04", "text", $dsn, true); 921 $objDb->sfColumnExists("dtb_order", "memo05", "text", $dsn, true); 922 $objDb->sfColumnExists("dtb_order", "memo06", "text", $dsn, true); 923 $objDb->sfColumnExists("dtb_order", "memo07", "text", $dsn, true); 924 $objDb->sfColumnExists("dtb_order", "memo08", "text", $dsn, true); 925 $objDb->sfColumnExists("dtb_order", "memo09", "text", $dsn, true); 926 $objDb->sfColumnExists("dtb_order", "memo10", "text", $dsn, true); 927 $objDb->sfColumnExists("dtb_order", "campaign_id", "int4", $dsn, true); 928 929 // 受注一時テーブル 930 $objDb->sfColumnExists("dtb_order_temp", "order_id", "text", $dsn, true); 931 $objDb->sfColumnExists("dtb_order_temp", "memo01", "text", $dsn, true); 932 $objDb->sfColumnExists("dtb_order_temp", "memo02", "text", $dsn, true); 933 $objDb->sfColumnExists("dtb_order_temp", "memo03", "text", $dsn, true); 934 $objDb->sfColumnExists("dtb_order_temp", "memo04", "text", $dsn, true); 935 $objDb->sfColumnExists("dtb_order_temp", "memo05", "text", $dsn, true); 936 $objDb->sfColumnExists("dtb_order_temp", "memo06", "text", $dsn, true); 937 $objDb->sfColumnExists("dtb_order_temp", "memo07", "text", $dsn, true); 938 $objDb->sfColumnExists("dtb_order_temp", "memo08", "text", $dsn, true); 939 $objDb->sfColumnExists("dtb_order_temp", "memo09", "text", $dsn, true); 940 $objDb->sfColumnExists("dtb_order_temp", "memo10", "text", $dsn, true); 941 942 // 支払情報テーブル 943 $objDb->sfColumnExists("dtb_payment", "charge_flg", "int2 default 1", $dsn, true); 944 $objDb->sfColumnExists("dtb_payment", "rule_min", "numeric", $dsn, true); 945 $objDb->sfColumnExists("dtb_payment", "upper_rule_max", "numeric", $dsn, true); 946 $objDb->sfColumnExists("dtb_payment", "module_id", "int4", $dsn, true); 947 $objDb->sfColumnExists("dtb_payment", "module_path", "text", $dsn, true); 948 $objDb->sfColumnExists("dtb_payment", "memo01", "text", $dsn, true); 949 $objDb->sfColumnExists("dtb_payment", "memo02", "text", $dsn, true); 950 $objDb->sfColumnExists("dtb_payment", "memo03", "text", $dsn, true); 951 $objDb->sfColumnExists("dtb_payment", "memo04", "text", $dsn, true); 952 $objDb->sfColumnExists("dtb_payment", "memo05", "text", $dsn, true); 953 $objDb->sfColumnExists("dtb_payment", "memo06", "text", $dsn, true); 954 $objDb->sfColumnExists("dtb_payment", "memo07", "text", $dsn, true); 955 $objDb->sfColumnExists("dtb_payment", "memo08", "text", $dsn, true); 956 $objDb->sfColumnExists("dtb_payment", "memo09", "text", $dsn, true); 957 $objDb->sfColumnExists("dtb_payment", "memo10", "text", $dsn, true); 958 959 // キャンペーンテーブル 960 $objDb->sfColumnExists("dtb_campaign", "directory_name", "text NOT NULL", $dsn, true); 961 $objDb->sfColumnExists("dtb_campaign", "limit_count", "int4 NOT NULL DEFAULT 0", $dsn, true); 962 $objDb->sfColumnExists("dtb_campaign", "total_count", "int4 NOT NULL DEFAULT 0", $dsn, true); 963 $objDb->sfColumnExists("dtb_campaign", "orverlapping_flg", "int2 NOT NULL DEFAULT 0", $dsn, true); 964 $objDb->sfColumnExists("dtb_campaign", "cart_flg", "int2 NOT NULL DEFAULT 0", $dsn, true); 965 $objDb->sfColumnExists("dtb_campaign", "deliv_free_flg", "int2 NOT NULL DEFAULT 0", $dsn, true); 966 967 // 顧客 968 $objDb->sfColumnExists("dtb_customer", "mailmaga_flg", "int2", $dsn, true); 969 970 // インデックスの確認 971 if (!$objDb->sfColumnExists("dtb_customer", "mobile_phone_id", "text", $dsn, true)) { 972 // インデックスの追加 973 sfIndexExists("dtb_customer", "mobile_phone_id", "dtb_customer_mobile_phone_id_key", 64, $dsn, true); 974 } 975 976 // 顧客メール 977 if ($objDBParam->getValue('db_type') == 'mysql') { 978 $objDb->sfColumnExists("dtb_customer_mail", "secret_key", "varchar(50) unique", $dsn, true); 979 } else { 980 $objDb->sfColumnExists("dtb_customer_mail", "secret_key", "text unique", $dsn, true); 981 } 974 982 } 975 983 976 984 // データの追加(既にデータが存在する場合は作成しない) 977 985 function lfAddData($dsn) { 978 // CSVテーブル 979 if(sfTabaleExists('dtb_csv', $dsn)) { 980 lfInsertCSVData(1,'category_id','カテゴリID',53,'now()','now()', $dsn); 981 lfInsertCSVData(4,'order_id','注文ID',1,'now()','now()', $dsn); 982 lfInsertCSVData(4,'campaign_id','キャンペーンID',2,'now()','now()', $dsn); 983 lfInsertCSVData(4,'customer_id','顧客ID',3,'now()','now()', $dsn); 984 lfInsertCSVData(4,'message','要望等',4,'now()','now()', $dsn); 985 lfInsertCSVData(4,'order_name01','顧客名1',5,'now()','now()', $dsn); 986 lfInsertCSVData(4,'order_name02','顧客名2',6,'now()','now()', $dsn); 987 lfInsertCSVData(4,'order_kana01','顧客名カナ1',7,'now()','now()', $dsn); 988 lfInsertCSVData(4,'order_kana02','顧客名カナ2',8,'now()','now()', $dsn); 989 lfInsertCSVData(4,'order_email','メールアドレス',9,'now()','now()', $dsn); 990 lfInsertCSVData(4,'order_tel01','電話番号1',10,'now()','now()', $dsn); 991 lfInsertCSVData(4,'order_tel02','電話番号2',11,'now()','now()', $dsn); 992 lfInsertCSVData(4,'order_tel03','電話番号3',12,'now()','now()', $dsn); 993 lfInsertCSVData(4,'order_fax01','FAX1',13,'now()','now()', $dsn); 994 lfInsertCSVData(4,'order_fax02','FAX2',14,'now()','now()', $dsn); 995 lfInsertCSVData(4,'order_fax03','FAX3',15,'now()','now()', $dsn); 996 lfInsertCSVData(4,'order_zip01','郵便番号1',16,'now()','now()', $dsn); 997 lfInsertCSVData(4,'order_zip02','郵便番号2',17,'now()','now()', $dsn); 998 lfInsertCSVData(4,'order_pref','都道府県',18,'now()','now()', $dsn); 999 lfInsertCSVData(4,'order_addr01','住所1',19,'now()','now()', $dsn); 1000 lfInsertCSVData(4,'order_addr02','住所2',20,'now()','now()', $dsn); 1001 lfInsertCSVData(4,'order_sex','性別',21,'now()','now()', $dsn); 1002 lfInsertCSVData(4,'order_birth','生年月日',22,'now()','now()', $dsn); 1003 lfInsertCSVData(4,'order_job','職種',23,'now()','now()', $dsn); 1004 lfInsertCSVData(4,'deliv_name01','配送先名前',24,'now()','now()', $dsn); 1005 lfInsertCSVData(4,'deliv_name02','配送先名前',25,'now()','now()', $dsn); 1006 lfInsertCSVData(4,'deliv_kana01','配送先カナ',26,'now()','now()', $dsn); 1007 lfInsertCSVData(4,'deliv_kana02','配送先カナ',27,'now()','now()', $dsn); 1008 lfInsertCSVData(4,'deliv_tel01','電話番号1',28,'now()','now()', $dsn); 1009 lfInsertCSVData(4,'deliv_tel02','電話番号2',29,'now()','now()', $dsn); 1010 lfInsertCSVData(4,'deliv_tel03','電話番号3',30,'now()','now()', $dsn); 1011 lfInsertCSVData(4,'deliv_fax01','FAX1',31,'now()','now()', $dsn); 1012 lfInsertCSVData(4,'deliv_fax02','FAX2',32,'now()','now()', $dsn); 1013 lfInsertCSVData(4,'deliv_fax03','FAX3',33,'now()','now()', $dsn); 1014 lfInsertCSVData(4,'deliv_zip01','郵便番号1',34,'now()','now()', $dsn); 1015 lfInsertCSVData(4,'deliv_zip02','郵便番号2',35,'now()','now()', $dsn); 1016 lfInsertCSVData(4,'deliv_pref','都道府県',36,'now()','now()', $dsn); 1017 lfInsertCSVData(4,'deliv_addr01','住所1',37,'now()','now()', $dsn); 1018 lfInsertCSVData(4,'deliv_addr02','住所2',38,'now()','now()', $dsn); 1019 lfInsertCSVData(4,'payment_total','お支払い合計',39,'now()','now()', $dsn); 1020 } 986 global $objDb; 987 // CSVテーブル 988 if($objDb->sfTabaleExists('dtb_csv', $dsn)) { 989 lfInsertCSVData(1,'category_id','カテゴリID',53,'now()','now()', $dsn); 990 lfInsertCSVData(4,'order_id','注文ID',1,'now()','now()', $dsn); 991 lfInsertCSVData(4,'campaign_id','キャンペーンID',2,'now()','now()', $dsn); 992 lfInsertCSVData(4,'customer_id','顧客ID',3,'now()','now()', $dsn); 993 lfInsertCSVData(4,'message','要望等',4,'now()','now()', $dsn); 994 lfInsertCSVData(4,'order_name01','顧客名1',5,'now()','now()', $dsn); 995 lfInsertCSVData(4,'order_name02','顧客名2',6,'now()','now()', $dsn); 996 lfInsertCSVData(4,'order_kana01','顧客名カナ1',7,'now()','now()', $dsn); 997 lfInsertCSVData(4,'order_kana02','顧客名カナ2',8,'now()','now()', $dsn); 998 lfInsertCSVData(4,'order_email','メールアドレス',9,'now()','now()', $dsn); 999 lfInsertCSVData(4,'order_tel01','電話番号1',10,'now()','now()', $dsn); 1000 lfInsertCSVData(4,'order_tel02','電話番号2',11,'now()','now()', $dsn); 1001 lfInsertCSVData(4,'order_tel03','電話番号3',12,'now()','now()', $dsn); 1002 lfInsertCSVData(4,'order_fax01','FAX1',13,'now()','now()', $dsn); 1003 lfInsertCSVData(4,'order_fax02','FAX2',14,'now()','now()', $dsn); 1004 lfInsertCSVData(4,'order_fax03','FAX3',15,'now()','now()', $dsn); 1005 lfInsertCSVData(4,'order_zip01','郵便番号1',16,'now()','now()', $dsn); 1006 lfInsertCSVData(4,'order_zip02','郵便番号2',17,'now()','now()', $dsn); 1007 lfInsertCSVData(4,'order_pref','都道府県',18,'now()','now()', $dsn); 1008 lfInsertCSVData(4,'order_addr01','住所1',19,'now()','now()', $dsn); 1009 lfInsertCSVData(4,'order_addr02','住所2',20,'now()','now()', $dsn); 1010 lfInsertCSVData(4,'order_sex','性別',21,'now()','now()', $dsn); 1011 lfInsertCSVData(4,'order_birth','生年月日',22,'now()','now()', $dsn); 1012 lfInsertCSVData(4,'order_job','職種',23,'now()','now()', $dsn); 1013 lfInsertCSVData(4,'deliv_name01','配送先名前',24,'now()','now()', $dsn); 1014 lfInsertCSVData(4,'deliv_name02','配送先名前',25,'now()','now()', $dsn); 1015 lfInsertCSVData(4,'deliv_kana01','配送先カナ',26,'now()','now()', $dsn); 1016 lfInsertCSVData(4,'deliv_kana02','配送先カナ',27,'now()','now()', $dsn); 1017 lfInsertCSVData(4,'deliv_tel01','電話番号1',28,'now()','now()', $dsn); 1018 lfInsertCSVData(4,'deliv_tel02','電話番号2',29,'now()','now()', $dsn); 1019 lfInsertCSVData(4,'deliv_tel03','電話番号3',30,'now()','now()', $dsn); 1020 lfInsertCSVData(4,'deliv_fax01','FAX1',31,'now()','now()', $dsn); 1021 lfInsertCSVData(4,'deliv_fax02','FAX2',32,'now()','now()', $dsn); 1022 lfInsertCSVData(4,'deliv_fax03','FAX3',33,'now()','now()', $dsn); 1023 lfInsertCSVData(4,'deliv_zip01','郵便番号1',34,'now()','now()', $dsn); 1024 lfInsertCSVData(4,'deliv_zip02','郵便番号2',35,'now()','now()', $dsn); 1025 lfInsertCSVData(4,'deliv_pref','都道府県',36,'now()','now()', $dsn); 1026 lfInsertCSVData(4,'deliv_addr01','住所1',37,'now()','now()', $dsn); 1027 lfInsertCSVData(4,'deliv_addr02','住所2',38,'now()','now()', $dsn); 1028 lfInsertCSVData(4,'payment_total','お支払い合計',39,'now()','now()', $dsn); 1029 } 1021 1030 } 1022 1031 1023 1032 // CSVテーブルへのデータの追加 1024 1033 function lfInsertCSVData($csv_id,$col,$disp_name,$rank,$create_date,$update_date, $dsn) { 1025 $sql = "insert into dtb_csv(csv_id,col,disp_name,rank,create_date,update_date) values($csv_id,'$col','$disp_name',$rank,$create_date,$update_date);"; 1026 sfDataExists("dtb_csv", "csv_id = ? AND col = ?", array($csv_id, $col), $dsn, $sql, true); 1034 global $objDb; 1035 $sql = "insert into dtb_csv(csv_id,col,disp_name,rank,create_date,update_date) values($csv_id,'$col','$disp_name',$rank,$create_date,$update_date);"; 1036 $objDb->sfDataExists("dtb_csv", "csv_id = ? AND col = ?", array($csv_id, $col), $dsn, $sql, true); 1027 1037 } 1028 1038 ?>
Note: See TracChangeset
for help on using the changeset viewer.
