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

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