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

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