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

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