source: temp/trunk/html/admin/system/bkup.php @ 5640

Revision 5640, 12.7 KB checked in by kakinaka, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2
3require_once("../require.php");
4require_once("../../../data/module/Tar.php");
5//require_once("./Tar.php");
6
7//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹
8class LC_Page {
9    //¥³¥ó¥¹¥È¥é¥¯¥¿
10    function LC_Page() {
11        //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê
12        $this->tpl_mainpage = 'system/bkup.tpl';
13        $this->tpl_subnavi = 'system/subnavi.tpl';
14        $this->tpl_mainno = 'system';       
15        $this->tpl_subno = 'bkup';
16        $this->tpl_subtitle = '¥Ð¥Ã¥¯¥¢¥Ã¥×´ÉÍý';
17       
18//      $this->bkup_dir = ROOT_DIR . USER_DIR . "bkup/";
19        $this->bkup_dir = "../../test/bkup/";
20    }
21}
22
23$objPage = new LC_Page();
24$objView = new SC_AdminView();
25$objQuery = new SC_Query();
26
27// ¥»¥Ã¥·¥ç¥ó¥¯¥é¥¹
28$objSess = new SC_Session();
29// ǧ¾Ú²ÄÈݤÎȽÄê
30sfIsSuccess($objSess);
31
32switch($_POST['mode']) {
33// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤¹¤ë
34case 'bkup':
35    // ÆþÎÏʸ»úÎó¤ÎÊÑ´¹
36    $arrData = lfConvertParam($_POST);
37
38    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
39    $arrErr = lfCheckError($arrData);
40
41    // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¥Ð¥Ã¥¯¥¢¥Ã¥×½èÍý¤ò¹Ô¤¦   
42    if (count($arrErr) <= 0) {
43        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ëºîÀ®
44        $arrErr = lfCreateBkupData($arrData['bkup_name']);
45       
46        // DB¤Ë¥Ç¡¼¥¿¹¹¿·
47        if (count($arrErr) <= 0) {
48            lfUpdBkupData($arrData);
49        }else{
50            $arrForm = $arrData;
51        }
52    }else{
53        $arrForm = $arrData;
54    }
55
56    break;
57   
58// ¥¤¥ó¥¹¥È¡¼¥ë
59case 'install':
60    // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
61    lfLoadUpdateList();
62    // ¥â¥¸¥å¡¼¥ë·´¤Î¥¤¥ó¥¹¥È¡¼¥ë
63    lfInstallModule();
64    break;
65   
66// ºï½ü
67case 'del':
68
69    // ¥Õ¥¡¥¤¥ë¤Îºï½ü
70   
71
72    // DB¤«¤éºï½ü
73    $delsql = "DELETE FROM dtb_bkup WHERE bkup_name = ?";
74    $objQuery->query($delsql, array($_POST['list_name']));
75
76    break;
77default:
78    break;
79}
80
81// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
82$arrBkupList = lfGetBkupData("ORDER BY create_date DESC");
83
84// ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ËÅϤ¹¥Ç¡¼¥¿¤ò¥»¥Ã¥È
85$objPage->arrErr = $arrErr;
86$objPage->arrForm = $arrForm;
87$objPage->arrBkupList = $arrBkupList;
88
89$objView->assignobj($objPage);      //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë
90$objView->display(MAIN_FRAME);      //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ
91
92//-------------------------------------------------------------------------------------------------------
93/* ¼èÆÀʸ»úÎó¤ÎÊÑ´¹ */
94function lfConvertParam($array) {
95    /*
96     *  ʸ»úÎó¤ÎÊÑ´¹
97     *  K :  ¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
98     *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
99     *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹ 
100     *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)¡×¤ËÊÑ´¹
101     *  a :  Á´³Ñ±Ñ¿ô»ú¤òȾ³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë
102     */
103    $arrConvList['bkup_name'] = "a";
104    $arrConvList['bkup_memo'] = "KVa";
105   
106    // ʸ»úÊÑ´¹
107    foreach ($arrConvList as $key => $val) {
108        // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£
109        if(isset($array[$key])) {
110            $array[$key] = mb_convert_kana($array[$key] ,$val);
111        }
112    }
113    return $array;
114}
115
116// ¥¨¥é¡¼¥Á¥§¥Ã¥¯
117function lfCheckError($array){
118    $objErr = new SC_CheckError($array);
119   
120    $objErr->doFunc(array("¥Ð¥Ã¥¯¥¢¥Ã¥×̾", "bkup_name", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK","NO_SPTAB","ALNUM_CHECK"));
121    $objErr->doFunc(array("¥Ð¥Ã¥¯¥¢¥Ã¥×¥á¥â", "bkup_memo", MTEXT_LEN), array("MAX_LENGTH_CHECK"));
122   
123    // ½ÅÊ£¥Á¥§¥Ã¥¯
124    $ret = lfGetBkupData("WHERE bkup_name = ?", array($array['bkup_name']));
125    if (count($ret) > 0) {
126        $objErr->arrErr['bkup_name'] = "¥Ð¥Ã¥¯¥¢¥Ã¥×̾¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£ÊÌ̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£";
127    }
128
129    return $objErr->arrErr;
130}
131
132// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ëºîÀ®
133function lfCreateBkupData($bkup_name){
134    global $objPage;
135    $objQuery = new SC_Query();
136    $csv_data = "";
137    $err = true;
138   
139    $bkup_dir = $objPage->bkup_dir;
140    $bkup_dir = $bkup_dir . $bkup_name . "/";
141
142    // Á´¥Æ¡¼¥Ö¥ë¼èÆÀ
143    $arrTableList = lfGetTableList();
144   
145    // ³Æ¥Æ¡¼¥Ö¥ë¾ðÊó¤ò¼èÆÀ¤¹¤ë
146    foreach($arrTableList as $key => $val){
147       
148        if ($val != "dtb_bkup") {
149            // ¥Æ¡¼¥Ö¥ë¹½À®¤ò¼èÆÀ
150            $arrColumnList = lfGetColumnList($val);
151           
152            // Á´¥Ç¡¼¥¿¤ò¼èÆÀ
153            $arrData = $objQuery->getAll("SELECT * FROM $val");
154   
155            // CSV¥Ç¡¼¥¿À¸À®
156            if (count($arrData) > 0) {
157               
158                // ¥«¥é¥à¤òCSV·Á¼°¤ËÀ°¤¨¤ë
159                $arrKyes = sfGetCommaList(array_keys($arrData[0]), false);
160               
161                // ¥Ç¡¼¥¿¤òCSV·Á¼°¤ËÀ°¤¨¤ë
162                $data = "";
163                foreach($arrData as $data_key => $data_val){
164                    $data .= sfGetCSVList($arrData[$data_key]);
165                }
166               
167                // CSV½ÐÎϥǡ¼¥¿À¸À®
168                $csv_data .= $val . "\n";
169                $csv_data .= $arrKyes . "\n";
170                $csv_data .= $data;
171                $csv_data .= "\n";
172            }   
173        }
174    }
175
176    $csv_file = $bkup_dir . "bkup_data.csv";
177    // CSV½ÐÎÏ
178    // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë     
179    if (!is_dir(dirname($csv_file))) {
180        $err = mkdir(dirname($csv_file));
181    }
182    if ($err) {
183        $fp = fopen($csv_file,"w");
184        if($fp) {
185            $err = fwrite($fp, $csv_data);
186            fclose($fp);
187        }
188    }
189
190    // ¾¦ÉʲèÁü¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼
191    if ($err) {
192        $copy_mess = "";
193        $copy_mess = sfCopyDir("../../upload/save_image/", $bkup_dir, $copy_mess);
194
195        //¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë
196        //new Archive_Tar(¥Õ¥¡¥¤¥ë̾,°µ½Ì¥Õ¥é¥°);
197        //°µ½Ì¥Õ¥é¥°TRUE¤Ïgzip°µ½Ì¤ò¤ª¤³¤Ê¤¦
198        $tar = new Archive_Tar($objPage->bkup_dir . $bkup_name.".tar.gz", TRUE);
199   
200        //°µ½Ì¤ò¤ª¤³¤Ê¤¦
201        $zip = $tar->create($bkup_dir);
202       
203        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Ç¡¼¥¿¤Îºï½ü
204        if (!$zip) {
205            sfDelFile($bkup_dir);
206        }
207       
208    }
209   
210
211    if (!$err) {
212        $arrErr['bkup_name'] = "¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£";
213    }
214   
215    return $arrErr;
216}
217
218// Á´¥Æ¡¼¥Ö¥ë¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
219function lfGetTableList(){
220    $objQuery = new SC_Query();
221   
222    if(DB_TYPE == "pgsql"){
223        $sql = "SELECT tablename FROM pg_tables WHERE tableowner = ? ORDER BY tablename ; ";
224        $arrRet = $objQuery->getAll($sql, array(DB_USER));
225        $arrRet = sfSwapArray($arrRet);
226        $arrRet = $arrRet['tablename'];
227    }else if(DB_TYPE == "mysql"){
228       
229    }
230   
231    return $arrRet;
232}
233
234// ¥Æ¡¼¥Ö¥ë¹½À®¤ò¼èÆÀ¤¹¤ë
235function lfGetColumnList($table_name){
236    $objQuery = new SC_Query();
237
238    if(DB_TYPE == "pgsql"){
239        $sql = "SELECT
240                    a.attname, t.typname, a.attnotnull, d.adsrc as defval, a.atttypmod, a.attnum as fldnum, e.description
241                FROM
242                    pg_class c,
243                    pg_type t,
244                    pg_attribute a left join pg_attrdef d on (a.attrelid=d.adrelid and a.attnum=d.adnum)
245                                   left join pg_description e on (a.attrelid=e.objoid and a.attnum=e.objsubid)
246                WHERE (c.relname=?) AND (c.oid=a.attrelid) AND (a.atttypid=t.oid) AND a.attnum > 0
247                ORDER BY fldnum";
248        $arrRet = $objQuery->getAll($sql, array($table_name));
249    }
250   
251    return sfswaparray($arrRet);
252
253}
254
255// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ë¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
256function lfUpdBkupData($data){
257    $objQuery = new SC_Query();
258   
259    $sql = "INSERT INTO dtb_bkup (bkup_name,bkup_memo,create_date) values (?,?,now())";
260    $objQuery->query($sql, array($data['bkup_name'],$data['bkup_memo']));
261}
262
263// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
264function lfGetBkupData($where = "", $data = array()){
265    $objQuery = new SC_Query();
266   
267    $sql = "SELECT bkup_name, bkup_memo, create_date FROM dtb_bkup ";
268    if ($where != "")   $sql .= $where;
269   
270    $ret = $objQuery->getall($sql,$data);
271   
272    return $ret;
273}
274
275// »ØÄꤷ¤¿¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤òÁ´¤Æºï½ü¤¹¤ë
276function sfDelFile($dir){
277    $dh = opendir($dir);
278    // ¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤òºï½ü
279    while($file = readdir($dh)){
280        if ($file == "." or $file == "..") continue;
281        $del_file = $dir . "/" . $file;
282        if(is_file($del_file)){
283            unlink($dir . "/" . $file);
284        }else if (is_dir($del_file)){
285            sfDelFile($del_file);
286        }
287    }
288    // ¥Õ¥©¥ë¥À¤òºï½ü
289    rmdir($dir);
290}
291
292
293
294
295
296
297
298
299
300
301// ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ
302function lfCopyUpdateFile($val) {
303    global $objPage;
304   
305    $src_path = sfRmDupSlash(UPDATE_HTTP . $val . ".txt");
306    $dst_path = sfRmDupSlash(ROOT_DIR . $val);
307    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê
308   
309    $src_fp = @fopen($src_path, "rb");
310   
311    if(!$src_fp) {
312        sfErrorHeader(">> " . $src_path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£");
313        $flg_ok = false;
314    } else {
315        // ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÆÉ¤ß¹þ¤à
316        $contents = '';
317        while (!feof($src_fp)) {
318            $contents .= fread($src_fp, 1024);
319        }
320        fclose($src_fp);
321       
322        // ¥Ç¥£¥ì¥¯¥È¥êºîÀ®¤ò»î¤ß¤ë
323        lfMakeDirectory($dst_path);
324        // ¥Õ¥¡¥¤¥ë½ñ¹þ¤ß       
325        $dst_fp = @fopen($dst_path, "wb");
326        if(!$dst_fp) {
327            sfErrorHeader(">> " . $dst_path . "¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£");
328            $flg_ok = false;
329        } else {
330            fwrite($dst_fp, $contents);
331            fclose($dst_fp);
332        }
333    }
334   
335    if($flg_ok) {
336        $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼À®¸ù<br>";
337    } else {
338        $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼¼ºÇÔ<br>";     
339    }
340   
341    return $flg_ok;
342}
343
344// ¤¹¤Ù¤Æ¤Î¥Ñ¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë
345function lfMakeDirectory($path) {
346    $pos = 0;
347    $cnt = 0;               // ̵¸Â¥ë¡¼¥×Âкö
348    $len = strlen($path);   // ̵¸Â¥ë¡¼¥×Âкö
349   
350    while($cnt <= $len) {
351        $pos = strpos($path, "/", $pos);
352        // ¤³¤³¤Ç¤ÎȽÄê¤Ï¡¢Åù¹æ3¤Ä¤ò»ÈÍÑ
353        if($pos === false) {
354            // ¥¹¥é¥Ã¥·¥å¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¥ë¡¼¥×¤«¤éÈ´¤±¤ë
355            break;
356        }
357        $pos++; // ʸ»úȯ¸«°ÌÃÖ¤ò°ìʸ»ú¿Ê¤á¤ë
358        $dir = substr($path, 0, $pos);
359       
360        // ¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë
361        if(!file_exists($dir)) {
362            mkdir($dir);
363        }
364        $cnt++; // ̵¸Â¥ë¡¼¥×Âкö
365    }
366}
367
368// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
369function lfLoadUpdateList() {
370    $objQuery = new SC_Query();
371    $path = UPDATE_HTTP . "update.txt";
372    $fp = @fopen($path, "rb");
373   
374    if(!$fp) {
375        sfErrorHeader(">> " . $path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£");
376    } else {
377        while (!feof($fp)) {
378            $arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX);
379            // ¥«¥é¥à¿ô¤¬Àµ¾ï¤Ç¤¢¤Ã¤¿¾ì¹ç¤Î¤ß
380            if(count($arrCSV) == UPDATE_CSV_COL_MAX) {
381                // ¼èÆÀ¤·¤¿¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¤òDB¤Ë½ñ¤­¹þ¤à
382                $sqlval['module_id'] = $arrCSV[0];
383                $sqlval['module_name'] = $arrCSV[1];
384                $sqlval['latest_version'] = $arrCSV[3];
385                $sqlval['module_explain'] = $arrCSV[4];
386                $sqlval['main_php'] = $arrCSV[5];
387                $sqlval['extern_php'] = $arrCSV[6];
388                $sqlval['install_sql'] = $arrCSV[7];
389                $sqlval['uninstall_sql'] = $arrCSV[8];             
390                $sqlval['other_files'] = $arrCSV[9];
391                $sqlval['del_flg'] = $arrCSV[10];
392                $sqlval['update_date'] = "now()";
393                $sqlval['release_date'] = $arrCSV[12];
394                // ´û¸¥ì¥³¡¼¥É¤Î¥Á¥§¥Ã¥¯
395                $cnt = $objQuery->count("dtb_update", "module_id = ?", array($sqlval['module_id']));
396                if($cnt > 0) {
397                    // ¤¹¤Ç¤Ë¼èÆÀ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¹¹¿·¤¹¤ë¡£
398                    $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($sqlval['module_id']));
399                } else {
400                    // ¿·µ¬¥ì¥³¡¼¥É¤ÎÄɲÃ
401                    $sqlval['create_date'] = "now()";
402                    $objQuery->insert("dtb_update", $sqlval);
403                }
404            }
405        }
406        fclose($fp);
407    }
408}
409
410// ¥¤¥ó¥¹¥È¡¼¥ë½èÍý
411function lfInstallModule() {
412    global $objPage;
413   
414    $objQuery = new SC_Query();
415    $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, latest_version", "dtb_update", "module_id = ?", array($_POST['module_id']));
416    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê
417   
418    if(count($arrRet) > 0) {
419        $arrFiles = array();
420        if($arrRet[0]['other_files'] != "") {
421            $arrFiles = split("\|", $arrRet[0]['other_files']);
422        }
423        $arrFiles[] = $arrRet[0]['extern_php'];
424        foreach($arrFiles as $val) {
425            // ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ
426            $ret=lfCopyUpdateFile($val);
427            if(!$ret) {
428                $flg_ok = false;
429            }
430        }
431    } else {
432        sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£");
433        $flg_ok = false;
434    }
435   
436    // ɬÍפÊSQLʸ¤Î¼Â¹Ô
437    if($arrRet[0]['install_sql'] != "") {
438        // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë
439        $arrInstallSql = split(";",$arrRet[0]['install_sql']);
440        foreach($arrInstallSql as $key => $val){
441            if (trim($val) != ""){
442                $ret = $objQuery->query(trim($val),"",true);
443            }
444        }
445        if(DB::isError($ret)) {
446            // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë
447            ereg("\[(.*)\]", $ret->userinfo, $arrKey);
448            $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>";
449            $objPage->update_mess.= $arrKey[0] . "<br>";
450            $flg_ok = false;
451        } else {
452            $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>";
453        }
454    }
455   
456    if($flg_ok) {
457        $sqlval['now_version'] = $arrRet[0]['latest_version'];
458        $sqlval['update_date'] = "now()";
459        $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($arrRet[0]['module_id']));
460    }
461}
462
463// ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë½èÍý
464function lfUninstallModule() {
465    global $objPage;
466   
467    $objQuery = new SC_Query();
468    $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, uninstall_sql, latest_version", "dtb_update", "module_id = ?", array($_POST['module_id']));
469    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê
470   
471    if(count($arrRet) > 0) {
472        $arrFiles = array();
473        if($arrRet[0]['other_files'] != "") {
474            $arrFiles = split("\|", $arrRet[0]['other_files']);
475        }
476        $arrFiles[] = $arrRet[0]['extern_php'];
477        foreach($arrFiles as $val) {
478            $path = ROOT_DIR . $val;
479            if(file_exists($path)) {
480                // ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë
481                if(unlink($path)) {
482                    $objPage->update_mess.= ">> " . $path . "¡§ºï½üÀ®¸ù<br>";
483                } else {
484                    $objPage->update_mess.= ">> " . $path . "¡§ºï½ü¼ºÇÔ<br>";
485                }
486            }
487        }
488       
489        // ɬÍפÊSQLʸ¤Î¼Â¹Ô
490        if($arrRet[0]['uninstall_sql'] != "") {
491            // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë
492            $ret = $objQuery->query($arrRet[0]['uninstall_sql'],"",true);
493            if(DB::isError($ret)) {
494                // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë
495                ereg("\[(.*)\]", $ret->userinfo, $arrKey);
496                $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>";
497                $objPage->update_mess.= $arrKey[0] . "<br>";
498                $flg_ok = false;
499            } else {
500                $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>";
501            }
502        }       
503    } else {
504        sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£");
505    }
506   
507    if($flg_ok) {
508        // ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òºï½ü¤¹¤ë¡£
509        $sqlval['now_version'] = "";
510        $sqlval['update_date'] = "now()";
511        $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($arrRet[0]['module_id']));
512    }
513}
514
515
516?>
Note: See TracBrowser for help on using the repository browser.