Changeset 20965 for branches/version-2_11-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php
- Timestamp:
- 2011/05/31 03:44:22 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php
r20911 r20965 24 24 // {{{ requires 25 25 require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php'; 26 require_once CLASS_EX_REALDIR . 'helper_extends/SC_Helper_CSV_Ex.php'; 26 27 require_once DATA_REALDIR. 'module/Tar.php'; 27 28 /** … … 254 255 * バックアップファイル作成. 255 256 * 257 * TODO $csv_data はデータを大きく保持しすぎに感じる。分割して書き込みたい。 256 258 * @param string $bkup_name 257 259 * @return array $arrErr … … 262 264 263 265 $objQuery =& SC_Query_Ex::getSingletonInstance(); 264 $csv_data = "";266 $csv_data = ''; 265 267 $csv_autoinc = ""; 266 268 $arrData = array(); … … 274 276 275 277 // 各テーブル情報を取得する 276 foreach ($arrTableList as $key => $val){277 278 if (!($ val == "dtb_bkup" || $val== "mtb_zip")) {278 foreach ($arrTableList as $table) { 279 280 if (!($table == "dtb_bkup" || $table == "mtb_zip")) { 279 281 280 282 // 全データを取得 281 if ($ val== "dtb_pagelayout"){282 $arrData = $objQuery->getAll("SELECT * FROM $ valORDER BY page_id");283 if ($table == "dtb_pagelayout"){ 284 $arrData = $objQuery->getAll("SELECT * FROM $table ORDER BY page_id"); 283 285 }else{ 284 $arrData = $objQuery->getAll("SELECT * FROM $ val");286 $arrData = $objQuery->getAll("SELECT * FROM $table"); 285 287 } 286 288 … … 288 290 if (count($arrData) > 0) { 289 291 290 // カラムをCSV形式に整える 291 $arrKyes = SC_Utils_Ex::sfGetCommaList(array_keys($arrData[0]), false); 292 293 // データをCSV形式に整える 294 $data = ""; 295 foreach($arrData as $data_key => $data_val){ 296 $data .= $this->lfGetCSVList($arrData[$data_key]); 292 // テーブル名 293 $csv_data .= $table . "\r\n"; 294 295 // カラム名 296 $csv_data .= SC_Helper_CSV_Ex::sfArrayToCsv(array_keys($arrData[0])) . "\r\n"; 297 298 // データ 299 foreach ($arrData as $data_val) { 300 $csv_data .= SC_Helper_CSV_Ex::sfArrayToCsv($data_val) . "\r\n"; 297 301 } 298 // CSV出力データ生成 299 $csv_data .= $val . "\r\n"; 300 $csv_data .= $arrKyes . "\r\n"; 301 $csv_data .= $data . "\r\n"; 302 303 // テーブル終端 304 $csv_data .= "\r\n"; 302 305 } 303 306 … … 359 362 360 363 return isset($arrErr) ? $arrErr : array(); 361 }362 363 /* 配列の要素をCSVフォーマットで出力する。*/364 function lfGetCSVList($array) {365 $line = '';366 if (count($array) > 0) {367 foreach($array as $key => $val) {368 $val = mb_convert_encoding($val, CHAR_CODE, CHAR_CODE);369 $val = str_replace("\"", "\\\"", $val);370 $line .= "\"".$val."\",";371 }372 $line = ereg_replace(",$", "\r\n", $line);373 }else{374 return false;375 }376 return $line;377 364 } 378 365
Note: See TracChangeset
for help on using the changeset viewer.