| version 1.2, 2012/06/06 13:07:44 |
version 1.3, 2012/06/06 13:29:00 |
| Line 474 function ezin_admin_exports_main($restri |
|
| Line 474 function ezin_admin_exports_main($restri |
|
| } |
} |
| |
|
| if (count($arr) > 0) { |
if (count($arr) > 0) { |
| ob_clean(); |
if ($out) { |
| |
ob_clean(); |
| |
} |
| $ret = ''; |
$ret = ''; |
| $filename = 'export_'.$ezin_cfg['name'].'_'.$action.'_'.date('Y-m-d_H-i-s', Time()); |
$filename = 'export_'.$ezin_cfg['name'].'_'.$action.'_'.date('Y-m-d_H-i-s', Time()); |
| |
|
| Line 630 function ezin_admin_exports_main($restri |
|
| Line 632 function ezin_admin_exports_main($restri |
|
| |
|
| } // function get_output |
} // function get_output |
| |
|
| $action = $_POST['action']; |
function get_backup_table($table) { |
| $output = $_POST['output']; |
global $ezin_db_handle; |
| if ($_POST['backup'] == 'all') { |
global $ezin_sys; |
| $actions = array('articles', 'pages', 'boxes', 'authors', |
global $ezin_cfg; |
| 'sections', 'editorials', 'messages', 'polls', 'feedbacks', |
$arr = array(); |
| 'newsletters', 'users', 'sessions'); |
$query = 'SELECT * FROM '.$table; |
| $ret = array(); |
$result = @mysql_query($query, $ezin_db_handle); |
| foreach($actions as $action) { |
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != false) { |
| |
$arr[] = $row; |
| |
} |
| |
if (count($arr) <= 0) { |
| |
return '-- empty'."\r\n"; |
| |
} |
| |
$ret = 'INSERT INTO `'.$table.'` (`'; |
| |
$ret .= implode('`, `', array_keys($arr[0])); |
| |
$ret .= "`) VALUES \r\n"; |
| |
$rows = array(); |
| |
foreach($arr as $row) { |
| |
$r = '('; |
| |
$values = array(); |
| |
foreach ($row as $value) { |
| |
$value = str_replace("\n", ' ', $value); |
| |
$value = str_replace("\r", ' ', $value); |
| |
if (strlen($value) > 0) { |
| |
$values[] = escape_simple($value); |
| |
} else { |
| |
$values[] = 'NULL'; |
| |
} |
| |
} |
| |
$r .= implode(', ', $values); |
| |
$r .= ")"; |
| |
$rows[] = $r; |
| |
} |
| |
$ret .= implode(", \r\n", $rows); |
| |
$ret .= "; \r\n"; |
| |
return $ret; |
| |
} |
| |
|
| |
function get_backup() { |
| |
global $ezin_sys; |
| |
$ret = array(); |
| |
foreach ($ezin_sys['db']['tables'] as $name => $table) { |
| $ret[] = '-- '; |
$ret[] = '-- '; |
| $ret[] = '-- '.$action; |
$ret[] = '-- '.$name.' ('.$table.')'; |
| $ret[] = '-- '; |
$ret[] = '-- '; |
| $ret[] = get_output($action, 'sql', false); |
$ret[] = get_backup_table($table); |
| } |
} |
| |
return implode("\r\n", $ret); |
| |
} |
| |
|
| |
$action = $_POST['action']; |
| |
$output = $_POST['output']; |
| |
if ($_POST['backup'] == 'all') { |
| $filename = 'backup_'.$ezin_cfg['name'].'_'.date('Y-m-d_H-i-s', Time()); |
$filename = 'backup_'.$ezin_cfg['name'].'_'.date('Y-m-d_H-i-s', Time()); |
| |
ob_clean(); |
| header('Content-type: text/plain; charset='.$ezin_cfg['encoding']); |
header('Content-type: text/plain; charset='.$ezin_cfg['encoding']); |
| header('Content-Disposition: attachment; filename="'.$filename.'.sql"'); |
header('Content-Disposition: attachment; filename="'.$filename.'.sql"'); |
| echo implode("\r\n", $ret); |
echo get_backup(); |
| Exit(); |
Exit(); |
| } else { |
} else { |
| get_output($action, $output); |
get_output($action, $output); |