| version 1.1, 2012/06/06 10:19:42 |
version 1.2, 2012/06/06 13:07:44 |
| Line 76 function ezin_admin_exports_main($restri |
|
| Line 76 function ezin_admin_exports_main($restri |
|
| echo '<p> |
echo '<p> |
| <form method="post" action="exports.php"> |
<form method="post" action="exports.php"> |
| <fieldset class="pme-left-fieldset"> |
<fieldset class="pme-left-fieldset"> |
| <legend>Data:</legend> |
<legend>Data</legend> |
| <table rules="rows"> |
<table rules="rows"> |
| <tr class="pme-row-0"> |
<tr class="pme-row-0"> |
| <td valign="top"><input type="radio" name="action" value="articles" checked="checked" />Articles</td> |
<td valign="top"><input type="radio" name="action" value="articles" checked="checked" />Articles</td> |
| Line 279 function ezin_admin_exports_main($restri |
|
| Line 279 function ezin_admin_exports_main($restri |
|
| </table> |
</table> |
| </fieldset> |
</fieldset> |
| <fieldset class="pme-right-fieldset"> |
<fieldset class="pme-right-fieldset"> |
| <legend>Output:</legend> |
<legend>Output</legend> |
| <input type="radio" name="output" value="txt" />TXT - standard text file<br /> |
<input type="radio" name="output" value="txt" />TXT - standard text file<br /> |
| <input type="radio" name="output" value="html" />HTML - hypertext markup language<br /> |
<input type="radio" name="output" value="html" />HTML - hypertext markup language<br /> |
| <input type="radio" name="output" value="csv" checked="checked" />CSV - comma-separated values<br /> |
<input type="radio" name="output" value="csv" checked="checked" />CSV - comma-separated values<br /> |
| Line 290 function ezin_admin_exports_main($restri |
|
| Line 290 function ezin_admin_exports_main($restri |
|
| <hr> |
<hr> |
| <div style="clear: both; height:10px;"></div> |
<div style="clear: both; height:10px;"></div> |
| <input type="submit" value="Export"> |
<input type="submit" value="Export"> |
| |
<input type="hidden" name="backup" value="" id="backup"> |
| |
<input type="button" value="Complete Backup" onclick="document.getElementById(\'backup\').value=\'all\'; this.form.submit();"> |
| </form>'; |
</form>'; |
| |
|
| |
|
| Line 309 function ezin_admin_exports_main($restri |
|
| Line 311 function ezin_admin_exports_main($restri |
|
| return '"'.mysql_real_escape_string($input).'"'; |
return '"'.mysql_real_escape_string($input).'"'; |
| } |
} |
| |
|
| $action = $_POST['action']; |
function get_output($action, $output, $out = true) { |
| $cond = array(); |
global $ezin_sys; |
| |
global $ezin_cfg; |
| |
$ret = ''; |
| |
$cond = array(); |
| |
switch ($action) { |
| |
case 'articles': |
| |
$cond[] = strlen($_POST['articles_section']) ? 'section_id = '.intval($_POST['articles_section']) : ''; |
| |
$cond[] = strlen($_POST['articles_author']) ? 'author_id = '.intval($_POST['articles_author']) : ''; |
| |
$cond[] = 'UNIX_TIMESTAMP(datetime) != 0'; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['articles'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['articles_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['articles']; |
| |
break; |
| |
case 'pages': |
| |
$cond[] = strlen($_POST['pages_section']) ? 'section_id = '.intval($_POST['pages_section']) : ''; |
| |
$cond[] = '(datetime IS NULL OR UNIX_TIMESTAMP(datetime) = 0)'; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['articles'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['pages_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['articles']; |
| |
break; |
| |
case 'boxes': |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['boxes'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['boxes_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['boxes']; |
| |
break; |
| |
case 'authors': |
| |
$cond[] = strlen($_POST['authors_type']) ? 'type = '.escape_simple(strtolower($_POST['authors_type'])) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['authors'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['authors_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['authors']; |
| |
break; |
| |
case 'sections': |
| |
$cond[] = strlen($_POST['sections_lang']) ? 'lang = '.escape_simple(strtolower($_POST['sections_lang'])) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['sections'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['sections_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['sections']; |
| |
break; |
| |
case 'editorials': |
| |
$cond[] = strlen($_POST['editorials_section']) ? 'section_id = '.intval($_POST['editorials_section']) : ''; |
| |
$cond[] = strlen($_POST['editorials_article']) ? 'article_id = '.intval($_POST['editorials_article']) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['editorials'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['editorials_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['editorials']; |
| |
break; |
| |
case 'messages': |
| |
$cond[] = strlen($_POST['messages_article']) ? 'article_id = '.intval($_POST['messages_article']) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['messages'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['messages_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['messages']; |
| |
break; |
| |
case 'polls': |
| |
$cond[] = strlen($_POST['polls_section']) ? 'section_id = '.intval($_POST['polls_section']) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['polls'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['polls_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['polls']; |
| |
break; |
| |
case 'feedbacks': |
| |
$cond[] = strlen($_POST['feedbacks_section']) ? 'section_id = '.intval($_POST['feedbacks_section']) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['feedbacks'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['feedbacks_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['feedbacks']; |
| |
break; |
| |
case 'newsletters': |
| |
$cond[] = strlen($_POST['newsletters_section']) ? 'section_id = '.intval($_POST['newsletters_section']) : ''; |
| |
$cond[] = $_POST['newsletters_active'] == 'active' ? 'dt_removed IS NULL' : ''; |
| |
$cond[] = $_POST['newsletters_active'] == 'removed' ? 'dt_removed IS NOT NULL' : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['nl_emails'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['newsletters_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['nl_emails']; |
| |
break; |
| |
case 'users': |
| |
$cond[] = strlen($_POST['users_role']) ? 'role_id = '.intval($_POST['users_role']) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['users'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['users_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['users']; |
| |
break; |
| |
case 'sessions': |
| |
$cond[] = strlen($_POST['sessions_username']) ? 'username = '.escape_simple(strtolower($_POST['sessions_username'])) : ''; |
| |
$cond[] = strlen($_POST['sessions_status']) ? 'status = '.escape_simple(strtolower($_POST['sessions_status'])) : ''; |
| |
$query = sprintf('SELECT *' |
| |
.' FROM %s' |
| |
.' %s' |
| |
.' ORDER BY %s', |
| |
$ezin_sys['db']['tables']['sessions'], |
| |
build_condition($cond), |
| |
escape_simple($_POST['sessions_orderby'])); |
| |
$table = $ezin_sys['db']['tables']['sessions']; |
| |
break; |
| |
|
| switch ($action) { |
default: |
| case 'articles': |
$ret = 'Error: Incorrect action "'.$action.'". <a href="exports.php">Exports</a>'; |
| $cond[] = strlen($_POST['articles_section']) ? 'section_id = '.intval($_POST['articles_section']) : ''; |
if ($out) { |
| $cond[] = strlen($_POST['articles_author']) ? 'author_id = '.intval($_POST['articles_author']) : ''; |
echo $ret; |
| $cond[] = 'UNIX_TIMESTAMP(datetime) != 0'; |
} |
| $query = sprintf('SELECT *' |
return $ret; |
| .' FROM %s' |
break; |
| .' %s' |
} |
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['articles'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['articles_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['articles']; |
|
| break; |
|
| case 'pages': |
|
| $cond[] = strlen($_POST['pages_section']) ? 'section_id = '.intval($_POST['pages_section']) : ''; |
|
| $cond[] = '(datetime IS NULL OR UNIX_TIMESTAMP(datetime) = 0)'; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['articles'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['pages_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['articles']; |
|
| break; |
|
| case 'boxes': |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['boxes'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['boxes_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['boxes']; |
|
| break; |
|
| case 'authors': |
|
| $cond[] = strlen($_POST['authors_type']) ? 'type = '.escape_simple(strtolower($_POST['authors_type'])) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['authors'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['authors_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['authors']; |
|
| break; |
|
| case 'sections': |
|
| $cond[] = strlen($_POST['sections_lang']) ? 'lang = '.escape_simple(strtolower($_POST['sections_lang'])) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['sections'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['sections_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['sections']; |
|
| break; |
|
| case 'editorials': |
|
| $cond[] = strlen($_POST['editorials_section']) ? 'section_id = '.intval($_POST['editorials_section']) : ''; |
|
| $cond[] = strlen($_POST['editorials_article']) ? 'article_id = '.intval($_POST['editorials_article']) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['editorials'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['editorials_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['editorials']; |
|
| break; |
|
| case 'messages': |
|
| $cond[] = strlen($_POST['messages_article']) ? 'article_id = '.intval($_POST['messages_article']) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['messages'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['messages_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['messages']; |
|
| break; |
|
| case 'polls': |
|
| $cond[] = strlen($_POST['polls_section']) ? 'section_id = '.intval($_POST['polls_section']) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['polls'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['polls_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['polls']; |
|
| break; |
|
| case 'feedbacks': |
|
| $cond[] = strlen($_POST['feedbacks_section']) ? 'section_id = '.intval($_POST['feedbacks_section']) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['feedbacks'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['feedbacks_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['feedbacks']; |
|
| break; |
|
| case 'newsletters': |
|
| $cond[] = strlen($_POST['newsletters_section']) ? 'section_id = '.intval($_POST['newsletters_section']) : ''; |
|
| $cond[] = $_POST['newsletters_active'] == 'active' ? 'dt_removed IS NULL' : ''; |
|
| $cond[] = $_POST['newsletters_active'] == 'removed' ? 'dt_removed IS NOT NULL' : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['nl_emails'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['newsletters_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['nl_emails']; |
|
| break; |
|
| case 'users': |
|
| $cond[] = strlen($_POST['users_role']) ? 'role_id = '.intval($_POST['users_role']) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['users'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['users_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['users']; |
|
| break; |
|
| case 'sessions': |
|
| $cond[] = strlen($_POST['sessions_username']) ? 'username = '.escape_simple(strtolower($_POST['sessions_username'])) : ''; |
|
| $cond[] = strlen($_POST['sessions_status']) ? 'status = '.escape_simple(strtolower($_POST['sessions_status'])) : ''; |
|
| $query = sprintf('SELECT *' |
|
| .' FROM %s' |
|
| .' %s' |
|
| .' ORDER BY %s', |
|
| $ezin_sys['db']['tables']['sessions'], |
|
| build_condition($cond), |
|
| escape_simple($_POST['sessions_orderby'])); |
|
| $table = $ezin_sys['db']['tables']['sessions']; |
|
| break; |
|
| |
|
| default: |
|
| echo 'Error: Incorrect action "'.$action.'". <a href="exports.php">Exports</a>'; |
|
| return; |
|
| break; |
|
| } |
|
| |
|
| |
|
| global $ezin_db_handle; |
|
| $arr = array(); |
|
| $result = @mysql_query($query, $ezin_db_handle); |
|
| while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != false) { |
|
| $arr[] = $row; |
|
| } |
|
| |
|
| if (count($arr) > 0) { |
|
| ob_clean(); |
|
| $filename = 'export_'.$ezin_cfg['name'].'_'.$action.'_'.date('Y-m-d_H-i-s', Time()); |
|
| $output = $_POST['output']; |
|
| |
|
| switch($output) { |
|
| case 'txt': |
|
| header('Content-type: text/plain; charset=urf-8'); |
|
| header('Content-Disposition: attachment; filename="'.$filename.'.txt"'); |
|
| |
|
| foreach(array_keys($arr[0]) as $key) { |
global $ezin_db_handle; |
| echo $key."\t"; |
$arr = array(); |
| } |
$result = @mysql_query($query, $ezin_db_handle); |
| echo "\r\n"; |
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) != false) { |
| foreach($arr as $row) { |
$arr[] = $row; |
| foreach ($row as $value) { |
} |
| $value = str_replace("\n", ' ', $value); |
|
| $value = str_replace("\r", ' ', $value); |
if (count($arr) > 0) { |
| echo $value."\t"; |
ob_clean(); |
| |
$ret = ''; |
| |
$filename = 'export_'.$ezin_cfg['name'].'_'.$action.'_'.date('Y-m-d_H-i-s', Time()); |
| |
|
| |
switch($output) { |
| |
case 'txt': |
| |
if ($out) { |
| |
header('Content-type: text/plain; charset=urf-8'); |
| |
header('Content-Disposition: attachment; filename="'.$filename.'.txt"'); |
| |
} |
| |
|
| |
foreach(array_keys($arr[0]) as $key) { |
| |
$ret .= $key."\t"; |
| |
} |
| |
$ret .= "\r\n"; |
| |
foreach($arr as $row) { |
| |
foreach ($row as $value) { |
| |
$value = str_replace("\n", ' ', $value); |
| |
$value = str_replace("\r", ' ', $value); |
| |
$ret .= $value."\t"; |
| |
} |
| |
$ret .= "\r\n"; |
| } |
} |
| echo "\r\n"; |
|
| } |
|
| |
|
| Exit(); |
if ($out) { |
| break; |
echo $ret; |
| case 'html': |
Exit(); |
| header('Content-type: text/html; charset=utf-8'); |
} else { |
| header('Content-Disposition: attachment; filename="'.$filename.'.html"'); |
return $ret; |
| |
|
| echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|
| <html> |
|
| <head> |
|
| <title>'.$filename.'</title> |
|
| <meta name="Generator" content="Metafox"> |
|
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
| </head><body>'."\r\n"; |
|
| echo '<h1>'.$ezin_cfg['name'].' - '.$action.'</h1>'; |
|
| echo '<table border="1" rules="all"><tr>'."\r\n"; |
|
| foreach(array_keys($arr[0]) as $key) { |
|
| echo '<th>'.$key.'</th>'."\r\n"; |
|
| } |
|
| echo "</tr>\r\n"; |
|
| foreach($arr as $row) { |
|
| echo '<tr>'."\r\n"; |
|
| foreach ($row as $value) { |
|
| echo '<td valign="top">'.$value."</td>\r\n"; |
|
| } |
} |
| echo "</tr>\r\n"; |
break; |
| } |
case 'html': |
| echo '</table>'."\r\n"; |
if ($out) { |
| echo '<small>Exported: '.date('Y-m-d H:i').'</small>'."\r\n"; |
header('Content-type: text/html; charset=utf-8'); |
| echo '</body></html>'."\r\n"; |
header('Content-Disposition: attachment; filename="'.$filename.'.html"'); |
| |
|
| Exit(); |
|
| break; |
|
| case 'csv': |
|
| header('Content-type: application/csv; charset=WINDOWS-1250'); |
|
| header('Content-Disposition: attachment; filename="'.$filename.'.csv"'); |
|
| |
|
| foreach(array_keys($arr[0]) as $key) { |
|
| echo $key.';'; |
|
| } |
|
| echo "\n"; |
|
| foreach($arr as $row) { |
|
| foreach ($row as $value) { |
|
| $value = str_replace("\n", ' ', $value); |
|
| $value = str_replace("\r", ' ', $value); |
|
| $value = iconv ($ezin_cfg['encoding'], "WINDOWS-1250", $value); |
|
| echo $value.';'; |
|
| } |
} |
| echo "\n"; |
|
| } |
$ret .= '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| |
<html> |
| Exit(); |
<head> |
| break; |
<title>'.$filename.'</title> |
| case 'sql': |
<meta name="Generator" content="Metafox"> |
| header('Content-type: text/plain; charset='.$ezin_cfg['encoding']); |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| header('Content-Disposition: attachment; filename="'.$filename.'.sql"'); |
</head><body>'."\r\n"; |
| |
$ret .= '<h1>'.$ezin_cfg['name'].' - '.$action.'</h1>'; |
| echo 'INSERT INTO `'.$table.'` ('; |
$ret .= '<table border="1" rules="all"><tr>'."\r\n"; |
| echo implode(', ', array_keys($arr[0])); |
foreach(array_keys($arr[0]) as $key) { |
| echo ") VALUES \r\n"; |
$ret .= '<th>'.$key.'</th>'."\r\n"; |
| $rows = array(); |
} |
| foreach($arr as $row) { |
$ret .= "</tr>\r\n"; |
| $r = '('; |
foreach($arr as $row) { |
| $values = array(); |
$ret .= '<tr>'."\r\n"; |
| foreach ($row as $value) { |
foreach ($row as $value) { |
| $value = str_replace("\n", ' ', $value); |
$ret .= '<td valign="top">'.$value."</td>\r\n"; |
| $value = str_replace("\r", ' ', $value); |
|
| if (strlen($value) > 0) { |
|
| $values[] = escape_simple($value); |
|
| } else { |
|
| $values[] = 'NULL'; |
|
| } |
} |
| |
$ret .= "</tr>\r\n"; |
| |
} |
| |
$ret .= '</table>'."\r\n"; |
| |
$ret .= '<small>Exported: '.date('Y-m-d H:i').'</small>'."\r\n"; |
| |
$ret .= '</body></html>'."\r\n"; |
| |
|
| |
if ($out) { |
| |
echo $ret; |
| |
Exit(); |
| |
} else { |
| |
return $ret; |
| |
} |
| |
break; |
| |
case 'csv': |
| |
if ($out) { |
| |
header('Content-type: application/csv; charset=WINDOWS-1250'); |
| |
header('Content-Disposition: attachment; filename="'.$filename.'.csv"'); |
| } |
} |
| $r .= implode(', ', $values); |
|
| $r .= ")"; |
|
| $rows[] = $r; |
|
| } |
|
| echo implode(", \r\n", $rows); |
|
| echo "; \r\n"; |
|
| |
|
| Exit(); |
foreach(array_keys($arr[0]) as $key) { |
| break; |
$ret .= $key.';'; |
| default: |
} |
| echo 'Incorrect output "'.$output.'", <a href="exports.php">Exports</a>'; |
$ret .= "\n"; |
| break; |
foreach($arr as $row) { |
| |
foreach ($row as $value) { |
| |
$value = str_replace("\n", ' ', $value); |
| |
$value = str_replace("\r", ' ', $value); |
| |
$value = iconv ($ezin_cfg['encoding'], "WINDOWS-1250", $value); |
| |
$ret .= $value.';'; |
| |
} |
| |
$ret .= "\n"; |
| |
} |
| |
|
| |
if ($out) { |
| |
echo $ret; |
| |
Exit(); |
| |
} else { |
| |
return $ret; |
| |
} |
| |
break; |
| |
case 'sql': |
| |
if ($out) { |
| |
header('Content-type: text/plain; charset='.$ezin_cfg['encoding']); |
| |
header('Content-Disposition: attachment; filename="'.$filename.'.sql"'); |
| |
} |
| |
|
| |
$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"; |
| |
|
| |
if ($out) { |
| |
echo $ret; |
| |
Exit(); |
| |
} else { |
| |
return $ret; |
| |
} |
| |
break; |
| |
default: |
| |
$ret = 'Incorrect output "'.$output.'", <a href="exports.php">Exports</a>'; |
| |
if ($out) { |
| |
echo $ret; |
| |
} |
| |
return $ret; |
| |
break; |
| |
} |
| |
// DEBUG |
| |
/*echo '<hr>'; |
| |
print_r($query); |
| |
echo '<hr><pre>'; |
| |
print_r($arr); |
| |
echo '</pre>'; |
| |
echo '<hr> <a href="exports.php">Exports</a>'; |
| |
*/ |
| |
|
| |
Exit(); |
| |
|
| |
} else { |
| |
echo '<p>No matching records, <a href="exports.php">back to Exports</a></p>'; |
| } |
} |
| |
|
| // DEBUG |
} // function get_output |
| /*echo '<hr>'; |
|
| print_r($query); |
$action = $_POST['action']; |
| echo '<hr><pre>'; |
$output = $_POST['output']; |
| print_r($arr); |
if ($_POST['backup'] == 'all') { |
| echo '</pre>'; |
$actions = array('articles', 'pages', 'boxes', 'authors', |
| echo '<hr> <a href="exports.php">Exports</a>'; |
'sections', 'editorials', 'messages', 'polls', 'feedbacks', |
| */ |
'newsletters', 'users', 'sessions'); |
| |
$ret = array(); |
| |
foreach($actions as $action) { |
| |
$ret[] = '-- '; |
| |
$ret[] = '-- '.$action; |
| |
$ret[] = '-- '; |
| |
$ret[] = get_output($action, 'sql', false); |
| |
} |
| |
$filename = 'backup_'.$ezin_cfg['name'].'_'.date('Y-m-d_H-i-s', Time()); |
| |
header('Content-type: text/plain; charset='.$ezin_cfg['encoding']); |
| |
header('Content-Disposition: attachment; filename="'.$filename.'.sql"'); |
| |
echo implode("\r\n", $ret); |
| Exit(); |
Exit(); |
| |
|
| } else { |
} else { |
| echo '<p>No matching records, <a href="exports.php">back to Exports</a></p>'; |
get_output($action, $output); |
| } |
} |
| |
|
| } |
} |
| |
|
| |
|