1 | <?php |
---|
2 | require_once("../require.php"); |
---|
3 | |
---|
4 | class LC_Page { |
---|
5 | function LC_Page() { |
---|
6 | $this->arrDB_TYPE = array( |
---|
7 | 1 => 'PostgreSQL', |
---|
8 | // 2 => 'mySQL' // ̤Âбþ |
---|
9 | ); |
---|
10 | |
---|
11 | } |
---|
12 | } |
---|
13 | |
---|
14 | $objPage = new LC_Page(); |
---|
15 | $objView = new SC_UserView('./templates', './temp'); |
---|
16 | |
---|
17 | // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ |
---|
18 | $objWebParam = new SC_FormParam(); |
---|
19 | $objDBParam = new SC_FormParam(); |
---|
20 | // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ |
---|
21 | $objWebParam = lfInitWebParam($objWebParam); |
---|
22 | $objDBParam = lfInitDBParam($objDBParam); |
---|
23 | |
---|
24 | //¥Õ¥©¡¼¥àÇÛÎó¤Î¼èÆÀ |
---|
25 | $objWebParam->setParam($_POST); |
---|
26 | $objDBParam->setParam($_POST); |
---|
27 | |
---|
28 | switch($_POST['mode']) { |
---|
29 | // ¤è¤¦¤³¤½ |
---|
30 | case 'welcome': |
---|
31 | $objPage = lfDispStep0($objPage); |
---|
32 | break; |
---|
33 | // ¥¢¥¯¥»¥¹¸¢¸Â¤Î¥Á¥§¥Ã¥¯ |
---|
34 | case 'step0': |
---|
35 | $objPage = lfDispStep0_1($objPage); |
---|
36 | break; |
---|
37 | // ¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼ |
---|
38 | case 'step0_1': |
---|
39 | $objPage = lfDispStep1($objPage); |
---|
40 | break; |
---|
41 | // WEB¥µ¥¤¥È¤ÎÀßÄê |
---|
42 | case 'step1': |
---|
43 | //ÆþÎÏÃͤΥ¨¥é¡¼¥Á¥§¥Ã¥¯ |
---|
44 | $objPage->arrErr = lfCheckWEBError($objWebParam); |
---|
45 | if(count($objPage->arrErr) == 0) { |
---|
46 | $objPage = lfDispStep2($objPage); |
---|
47 | } else { |
---|
48 | $objPage = lfDispStep1($objPage); |
---|
49 | } |
---|
50 | break; |
---|
51 | // ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀßÄê |
---|
52 | case 'step2': |
---|
53 | //ÆþÎÏÃͤΥ¨¥é¡¼¥Á¥§¥Ã¥¯ |
---|
54 | $objPage->arrErr = lfCheckDBError($objDBParam); |
---|
55 | if(count($objPage->arrErr) == 0) { |
---|
56 | $objPage = lfDispStep3($objPage); |
---|
57 | } else { |
---|
58 | $objPage = lfDispStep2($objPage); |
---|
59 | } |
---|
60 | break; |
---|
61 | // ¥Æ¡¼¥Ö¥ë¤ÎºîÀ® |
---|
62 | case 'step3': |
---|
63 | // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ |
---|
64 | $arrRet = $objDBParam->getHashArray(); |
---|
65 | // ¥Æ¡¼¥Ö¥ë¤ÎºîÀ® |
---|
66 | $objPage->arrErr = lfExecuteSQL("./create_table.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name']); |
---|
67 | if(count($objPage->arrErr) == 0) { |
---|
68 | $objPage->tpl_message.="¡û¡§¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; |
---|
69 | } else { |
---|
70 | $objPage->tpl_message.="¡ß¡§¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; |
---|
71 | } |
---|
72 | |
---|
73 | // ¥Ó¥å¡¼¤ÎºîÀ® |
---|
74 | if(count($objPage->arrErr) == 0) { |
---|
75 | // ¥Ó¥å¡¼¤ÎºîÀ® |
---|
76 | $objPage->arrErr = lfExecuteSQL("./create_view.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name']); |
---|
77 | if(count($objPage->arrErr) == 0) { |
---|
78 | $objPage->tpl_message.="¡û¡§¥Ó¥å¡¼¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; |
---|
79 | } else { |
---|
80 | $objPage->tpl_message.="¡ß¡§¥Ó¥å¡¼¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; |
---|
81 | } |
---|
82 | } |
---|
83 | |
---|
84 | // ½é´ü¥Ç¡¼¥¿¤ÎºîÀ® |
---|
85 | if(count($objPage->arrErr) == 0) { |
---|
86 | $objPage->arrErr = lfExecuteSQL("./insert_data.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name']); |
---|
87 | if(count($objPage->arrErr) == 0) { |
---|
88 | $objPage->tpl_message.="¡û¡§½é´ü¥Ç¡¼¥¿¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; |
---|
89 | } else { |
---|
90 | $objPage->tpl_message.="¡ß¡§½é´ü¥Ç¡¼¥¿¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; |
---|
91 | } |
---|
92 | } |
---|
93 | |
---|
94 | // ¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß |
---|
95 | if(count($objPage->arrErr) == 0) { |
---|
96 | $objPage->arrErr = lfExecuteSQL("./column_comment.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name']); |
---|
97 | if(count($objPage->arrErr) == 0) { |
---|
98 | $objPage->tpl_message.="¡û¡§¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; |
---|
99 | } else { |
---|
100 | $objPage->tpl_message.="¡ß¡§¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; |
---|
101 | } |
---|
102 | } |
---|
103 | |
---|
104 | // ¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß |
---|
105 | if(count($objPage->arrErr) == 0) { |
---|
106 | $objPage->arrErr = lfExecuteSQL("./table_comment.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name']); |
---|
107 | if(count($objPage->arrErr) == 0) { |
---|
108 | $objPage->tpl_message.="¡û¡§¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; |
---|
109 | } else { |
---|
110 | $objPage->tpl_message.="¡ß¡§¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; |
---|
111 | } |
---|
112 | } |
---|
113 | |
---|
114 | if(count($objPage->arrErr) == 0) { |
---|
115 | lfMakeConfigFile(); |
---|
116 | $objPage = lfDispComplete($objPage); |
---|
117 | } else { |
---|
118 | $objPage = lfDispStep3($objPage); |
---|
119 | } |
---|
120 | break; |
---|
121 | case 'return_step0': |
---|
122 | $objPage = lfDispStep0($objPage); |
---|
123 | break; |
---|
124 | case 'return_step1': |
---|
125 | $objPage = lfDispStep1($objPage); |
---|
126 | break; |
---|
127 | case 'return_step2': |
---|
128 | $objPage = lfDispStep2($objPage); |
---|
129 | break; |
---|
130 | case 'return_welcome': |
---|
131 | default: |
---|
132 | $objPage = lfDispWelcome($objPage); |
---|
133 | break; |
---|
134 | } |
---|
135 | |
---|
136 | //¥Õ¥©¡¼¥àÍѤΥѥé¥á¡¼¥¿¤òÊÖ¤¹ |
---|
137 | $objPage->arrForm = $objWebParam->getFormParamList(); |
---|
138 | $objPage->arrForm = array_merge($objPage->arrForm, $objDBParam->getFormParamList()); |
---|
139 | |
---|
140 | $objView->assignobj($objPage); |
---|
141 | $objView->display('install/install_frame.tpl'); |
---|
142 | //----------------------------------------------------------------------------------------------------------------------------------- |
---|
143 | // ¤è¤¦¤³¤½²èÌ̤Îɽ¼¨ |
---|
144 | function lfDispWelcome($objPage) { |
---|
145 | global $objWebParam; |
---|
146 | global $objDBParam; |
---|
147 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
148 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
149 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
150 | $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); |
---|
151 | $objPage->tpl_mainpage = 'install/welcome.tpl'; |
---|
152 | $objPage->tpl_mode = 'welcome'; |
---|
153 | return $objPage; |
---|
154 | } |
---|
155 | |
---|
156 | // STEP0²èÌ̤Îɽ¼¨(¥Õ¥¡¥¤¥ë¸¢¸Â¥Á¥§¥Ã¥¯) |
---|
157 | function lfDispStep0($objPage) { |
---|
158 | global $objWebParam; |
---|
159 | global $objDBParam; |
---|
160 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
161 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
162 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
163 | $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); |
---|
164 | $objPage->tpl_mainpage = 'install/step0.tpl'; |
---|
165 | $objPage->tpl_mode = 'step0'; |
---|
166 | |
---|
167 | // ¥×¥í¥°¥é¥à¤Ç½ñ¹þ¤ß¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê |
---|
168 | $arrWriteFile = array( |
---|
169 | "html/install.inc", |
---|
170 | "html/user_data", |
---|
171 | "html/upload", |
---|
172 | "html/upload/save_image", |
---|
173 | "html/upload/temp_image", |
---|
174 | "html/upload/graph_image", |
---|
175 | "html/upload/csv", |
---|
176 | "data/Smarty/templates_c", |
---|
177 | "data/Smarty/templates_c/admin", |
---|
178 | "data/update", |
---|
179 | "data/logs", |
---|
180 | ); |
---|
181 | |
---|
182 | $mess = ""; |
---|
183 | $err_file = false; |
---|
184 | foreach($arrWriteFile as $val) { |
---|
185 | $path = "../../" . $val; |
---|
186 | if(file_exists($path)) { |
---|
187 | $mode = lfGetFileMode("../../" . $val); |
---|
188 | |
---|
189 | // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç |
---|
190 | if(is_dir($path)) { |
---|
191 | if($mode == "777") { |
---|
192 | $mess.= ">> ¡û¡§$val($mode) ¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£<br>"; |
---|
193 | } else { |
---|
194 | $mess.= ">> ¡ß¡§$val($mode) ¤Ë¥æ¡¼¥¶½ñ¹þ¤ß¸¢¸Â¤òÉÕÍ¿¤·¤Æ²¼¤µ¤¤¡£<br>"; |
---|
195 | $err_file = true; |
---|
196 | } |
---|
197 | } else { |
---|
198 | if($mode == "666") { |
---|
199 | $mess.= ">> ¡û¡§$val($mode) ¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£<br>"; |
---|
200 | } else { |
---|
201 | $mess.= ">> ¡ß¡§$val($mode) ¤Ë¥æ¡¼¥¶½ñ¹þ¤ß¸¢¸Â¤òÉÕÍ¿¤·¤Æ²¼¤µ¤¤¡£<br>"; |
---|
202 | $err_file = true; |
---|
203 | } |
---|
204 | } |
---|
205 | |
---|
206 | } else { |
---|
207 | $mess.= ">> ¡ß¡§$val ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£<br>"; |
---|
208 | $err_file = true; |
---|
209 | } |
---|
210 | } |
---|
211 | |
---|
212 | $objPage->mess = $mess; |
---|
213 | $objPage->err_file = $err_file; |
---|
214 | |
---|
215 | return $objPage; |
---|
216 | } |
---|
217 | |
---|
218 | |
---|
219 | // STEP0_1²èÌ̤Îɽ¼¨(¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼) |
---|
220 | function lfDispStep0_1($objPage) { |
---|
221 | global $objWebParam; |
---|
222 | global $objDBParam; |
---|
223 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
224 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
225 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
226 | $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); |
---|
227 | $objPage->tpl_mainpage = 'install/step0_1.tpl'; |
---|
228 | $objPage->tpl_mode = 'step0_1'; |
---|
229 | $objPage->copy_mess = lfCopyDir("./user_data/", "../../html/user_data/", $objPage->copy_mess); |
---|
230 | return $objPage; |
---|
231 | } |
---|
232 | |
---|
233 | function lfGetFileMode($path) { |
---|
234 | $mode = substr(sprintf('%o', fileperms($path)), -3); |
---|
235 | return $mode; |
---|
236 | } |
---|
237 | |
---|
238 | // STEP1²èÌ̤Îɽ¼¨ |
---|
239 | function lfDispStep1($objPage) { |
---|
240 | global $objDBParam; |
---|
241 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
242 | $objPage->arrHidden = $objDBParam->getHashArray(); |
---|
243 | $objPage->tpl_mainpage = 'install/step1.tpl'; |
---|
244 | $objPage->tpl_mode = 'step1'; |
---|
245 | return $objPage; |
---|
246 | } |
---|
247 | |
---|
248 | // STEP2²èÌ̤Îɽ¼¨ |
---|
249 | function lfDispStep2($objPage) { |
---|
250 | global $objWebParam; |
---|
251 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
252 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
253 | $objPage->tpl_mainpage = 'install/step2.tpl'; |
---|
254 | $objPage->tpl_mode = 'step2'; |
---|
255 | return $objPage; |
---|
256 | } |
---|
257 | |
---|
258 | // STEP3²èÌ̤Îɽ¼¨ |
---|
259 | function lfDispStep3($objPage) { |
---|
260 | global $objWebParam; |
---|
261 | global $objDBParam; |
---|
262 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
263 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
264 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
265 | $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); |
---|
266 | $objPage->tpl_mainpage = 'install/step3.tpl'; |
---|
267 | $objPage->tpl_mode = 'step3'; |
---|
268 | return $objPage; |
---|
269 | } |
---|
270 | |
---|
271 | // ´°Î»²èÌ̤Îɽ¼¨ |
---|
272 | function lfDispComplete($objPage) { |
---|
273 | global $objWebParam; |
---|
274 | global $objDBParam; |
---|
275 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
276 | $objPage->arrHidden = $objWebParam->getHashArray(); |
---|
277 | // hidden¤ËÆþÎÏÃͤòÊÝ»ý |
---|
278 | $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); |
---|
279 | $objPage->tpl_mainpage = 'install/complete.tpl'; |
---|
280 | $objPage->tpl_mode = 'complete'; |
---|
281 | return $objPage; |
---|
282 | } |
---|
283 | |
---|
284 | // WEB¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ |
---|
285 | function lfInitWebParam($objWebParam) { |
---|
286 | |
---|
287 | $install_dir = ereg_replace("html/", "", $_SERVER['DOCUMENT_ROOT']); |
---|
288 | $normal_url = "http://" . $_SERVER['HTTP_HOST'] . "/"; |
---|
289 | $secure_url = "https://" . $_SERVER['HTTP_HOST'] . "/"; |
---|
290 | $domain = ereg_replace("^[a-zA-Z0-9_~=&\?\/-]+\.", "", $_SERVER['HTTP_HOST']); |
---|
291 | |
---|
292 | $objWebParam->addParam("¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê", "install_dir", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $install_dir); |
---|
293 | $objWebParam->addParam("URL(Ä̾ï)", "normal_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $normal_url); |
---|
294 | $objWebParam->addParam("URL(¥»¥¥å¥¢)", "secure_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $secure_url); |
---|
295 | $objWebParam->addParam("¥É¥á¥¤¥ó", "domain", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $domain); |
---|
296 | |
---|
297 | return $objWebParam; |
---|
298 | } |
---|
299 | |
---|
300 | // WEB¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ |
---|
301 | function lfInitDBParam($objDBParam) { |
---|
302 | |
---|
303 | $db_server = "127.0.0.1"; |
---|
304 | $db_name = "eccube_db"; |
---|
305 | $db_user = "eccube_db_user"; |
---|
306 | |
---|
307 | $objDBParam->addParam("DB¤Î¼ïÎà", "db_type", INT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); |
---|
308 | $objDBParam->addParam("DB¥µ¡¼¥Ð", "db_server", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_server); |
---|
309 | $objDBParam->addParam("DB̾", "db_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_name); |
---|
310 | $objDBParam->addParam("DB¥æ¡¼¥¶", "db_user", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_user); |
---|
311 | $objDBParam->addParam("DB¥Ñ¥¹¥ï¡¼¥É", "db_password", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); |
---|
312 | return $objDBParam; |
---|
313 | } |
---|
314 | |
---|
315 | // ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ |
---|
316 | function lfCheckWebError($objFormParam) { |
---|
317 | // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ |
---|
318 | $arrRet = $objFormParam->getHashArray(); |
---|
319 | $objErr = new SC_CheckError($arrRet); |
---|
320 | $objErr->arrErr = $objFormParam->checkError(); |
---|
321 | return $objErr->arrErr; |
---|
322 | } |
---|
323 | |
---|
324 | // ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ |
---|
325 | function lfCheckDBError($objFormParam) { |
---|
326 | // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ |
---|
327 | $arrRet = $objFormParam->getHashArray(); |
---|
328 | $objErr = new SC_CheckError($arrRet); |
---|
329 | $objErr->arrErr = $objFormParam->checkError(); |
---|
330 | |
---|
331 | if(count($objErr->arrErr) == 0) { |
---|
332 | // Àܳ³Îǧ |
---|
333 | $dsn = "pgsql://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server']."/".$arrRet['db_name']; |
---|
334 | $objDB = DB::connect($dsn); |
---|
335 | // Àܳ¥¨¥é¡¼ |
---|
336 | if(PEAR::isError($objDB)) { |
---|
337 | $objErr->arrErr['all'] = ">> " . $objDB->message; |
---|
338 | gfPrintLog($objDB->userinfo); |
---|
339 | } |
---|
340 | } |
---|
341 | return $objErr->arrErr; |
---|
342 | } |
---|
343 | |
---|
344 | // SQLʸ¤Î¼Â¹Ô |
---|
345 | function lfExecuteSQL($filepath, $db_user, $db_password, $db_server, $db_name) { |
---|
346 | $arrErr = array(); |
---|
347 | |
---|
348 | if(!file_exists($filepath)) { |
---|
349 | $arrErr['all'] = ">> ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"; |
---|
350 | } else { |
---|
351 | if($fp = fopen($filepath,"r")) { |
---|
352 | $sql = fread($fp, filesize($filepath)); |
---|
353 | fclose($fp); |
---|
354 | } |
---|
355 | |
---|
356 | $dsn = "pgsql://".$db_user.":".$db_password."@".$db_server."/".$db_name; |
---|
357 | $objDB = DB::connect($dsn); |
---|
358 | // Àܳ¥¨¥é¡¼ |
---|
359 | if(!PEAR::isError($objDB)) { |
---|
360 | $ret = $objDB->query($sql); |
---|
361 | if(PEAR::isError($ret)) { |
---|
362 | $arrErr['all'] = ">> " . $ret->message; |
---|
363 | gfPrintLog($ret->userinfo); |
---|
364 | } |
---|
365 | } else { |
---|
366 | $arrErr['all'] = ">> " . $objDB->message; |
---|
367 | gfPrintLog($objDB->userinfo); |
---|
368 | } |
---|
369 | } |
---|
370 | return $arrErr; |
---|
371 | } |
---|
372 | |
---|
373 | // ÀßÄê¥Õ¥¡¥¤¥ë¤ÎºîÀ® |
---|
374 | function lfMakeConfigFile() { |
---|
375 | global $objWebParam; |
---|
376 | global $objDBParam; |
---|
377 | |
---|
378 | $filepath = $objWebParam->getValue('install_dir') . "/html/install.inc"; |
---|
379 | $domain = $objWebParam->getValue('domain'); |
---|
380 | if(!ereg("^\.", $domain)) { |
---|
381 | $domain = "." . $domain; |
---|
382 | } |
---|
383 | |
---|
384 | $root_dir = $objWebParam->getValue('install_dir'); |
---|
385 | if (!ereg("/$", $root_dir)) { |
---|
386 | $root_dir = $root_dir . "/"; |
---|
387 | } |
---|
388 | |
---|
389 | $config_data = |
---|
390 | "<?php\n". |
---|
391 | " define ('ECCUBE_INSTALL', 'ON');\n" . |
---|
392 | " define ('ROOT_DIR', '" . $root_dir . "');\n" . |
---|
393 | " define ('SITE_URL', '" . $objWebParam->getValue('normal_url') . "');\n" . |
---|
394 | " define ('SSL_URL', '" . $objWebParam->getValue('secure_url') . "');\n" . |
---|
395 | " define ('DOMAIN_NAME', '" . $domain . "');\n" . |
---|
396 | " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" . |
---|
397 | " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" . |
---|
398 | " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" . |
---|
399 | " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" . |
---|
400 | "?>"; |
---|
401 | |
---|
402 | if($fp = fopen($filepath,"w")) { |
---|
403 | fwrite($fp, $config_data); |
---|
404 | fclose($fp); |
---|
405 | } |
---|
406 | } |
---|
407 | |
---|
408 | // ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë¥³¥Ô¡¼ |
---|
409 | function lfCopyDir($src, $des, $mess, $override = false){ |
---|
410 | if(!is_dir($src)){ |
---|
411 | return false; |
---|
412 | } |
---|
413 | |
---|
414 | $oldmask = umask(0); |
---|
415 | $mod= stat($src); |
---|
416 | |
---|
417 | // ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë |
---|
418 | if(!file_exists($des)) { |
---|
419 | mkdir($des, $mod[2]); |
---|
420 | } |
---|
421 | |
---|
422 | $fileArray=glob( $src."*" ); |
---|
423 | foreach( $fileArray as $key => $data_ ){ |
---|
424 | // CVS´ÉÍý¥Õ¥¡¥¤¥ë¤Ï¥³¥Ô¡¼¤·¤Ê¤¤ |
---|
425 | if(ereg("/CVS/Entries", $data_)) { |
---|
426 | break; |
---|
427 | } |
---|
428 | if(ereg("/CVS/Repository", $data_)) { |
---|
429 | break; |
---|
430 | } |
---|
431 | if(ereg("/CVS/Root", $data_)) { |
---|
432 | break; |
---|
433 | } |
---|
434 | |
---|
435 | mb_ereg("^(.*[\/])(.*)",$data_, $matches); |
---|
436 | $data=$matches[2]; |
---|
437 | if( is_dir( $data_ ) ){ |
---|
438 | $mess = lfCopyDir( $data_.'/', $des.$data.'/', $mess); |
---|
439 | }else{ |
---|
440 | if(!$override && file_exists($des.$data)) { |
---|
441 | $mess.= $des.$data . "¡§¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹\n"; |
---|
442 | } else { |
---|
443 | if(copy( $data_, $des.$data)) { |
---|
444 | $mess.= $des.$data . "¡§¥³¥Ô¡¼À®¸ù\n"; |
---|
445 | } else { |
---|
446 | $mess.= $des.$data . "¡§¥³¥Ô¡¼¼ºÇÔ\n"; |
---|
447 | } |
---|
448 | } |
---|
449 | $mod=stat($data_ ); |
---|
450 | } |
---|
451 | } |
---|
452 | umask($oldmask); |
---|
453 | return $mess; |
---|
454 | } |
---|
455 | ?> |
---|