8 require_once(
'../inc/header.inc.php' );
9 require_once( CH_DIRECTORY_PATH_INC .
'design.inc.php' );
10 require_once( CH_DIRECTORY_PATH_INC .
'admin_design.inc.php' );
15 set_time_limit(36000);
41 <script
type=
"text/javascript">
43 function switchAdmPage(oLink)
45 var sType = jQuery(oLink).attr(
'id').replace(
'main_menu',
'');
46 var sName =
'#page' + sType;
48 jQuery(oLink).parent(
'.notActive').hide().siblings(
'.notActive:hidden').show().siblings(
'.active').hide().siblings(
'#' + jQuery(oLink).attr(
'id') +
'-act').show();
49 jQuery(sName).siblings(
'div:visible').ch_anim(
'hide',
'fade',
'slow',
function(){
50 jQuery(sName).ch_anim(
'show',
'fade',
'slow');
58 <div
class=
"boxContent" id=
"adm_pages">
65 'main_menu1' => array(
'href' =>
'javascript:void(0)',
'onclick' =>
'javascript:switchAdmPage(this)',
'title' =>
_t(
'_adm_dbtools_Tables_backup_tools'),
'active' => 1),
66 'main_menu2' => array(
'href' =>
'javascript:void(0)',
'onclick' =>
'javascript:switchAdmPage(this)',
'title' =>
_t(
'_adm_dbtools_Database_backup_tools'),
'active' => 0)
76 'css_name' => array(
'forms_adv.css'),
77 'header' =>
_t(
'_adm_dbtools_title'),
82 $oZ =
new ChWsbAlerts(
'system',
'admin_db_backup_page', 0, 0, array(
94 $sSuccDumpedIntoFileC =
_t(
'_adm_dbtools_succ_dumped_into_file');
95 $sDumpFileSuccDeletedC =
_t(
'_adm_dbtools_Dump_file_succefully_deleted');
96 $sPleaseSelectDumpFileC =
_t(
'_adm_dbtools_Please_select_dump_file');
97 $sDateRestoredFromDumpC =
_t(
'_adm_dbtools_Data_succefully_restored_from_dump');
98 $sPleaseSelectCorrectDumpFileC =
_t(
'_adm_dbtools_Please_select_correct_dump_file');
99 $sDateRestoredFromPcC =
_t(
'_adm_dbtools_Data_succefully_restored_from_PC');
101 $status_text = $status_text_restore =
'';
103 if (isset($_POST[
'TablesBackup'])) { ##Block
of table backup create
106 $OutPutType = preg_replace(
"/[^0-9]/",
'', $_POST[
'tbl_op']);
108 $oNewBackup -> _getTableStruct($_POST[
'tbl'], $OutPutType);
110 if ($_POST[
'savetype'] ==
'client') {
111 $sqlfile = date(
"Y-m-d_H:i:s").
'_'.$_POST[
'tbl'].
'.sql';
112 header(
"Content-Type: text/plain");
113 header(
"Content-Disposition: attachment;filename=\"".$sqlfile.
"\"");
114 echo $oNewBackup -> sInputs;
117 if ($_POST[
'savetype'] ==
'server') {
118 $sqlfile = CH_DIRECTORY_PATH_ROOT .
'backup/'.date(
"Y-m-d_H-i-s").
'_'.$_POST[
'tbl'].
'.sql';
119 $file = fopen($sqlfile,
'w');
120 fputs($file, $oNewBackup -> sInputs);
121 $status_text .=
"<hr size=1 /><font color='green'><center>{$sSuccDumpedIntoFileC} <b>{$sqlfile}</b></center></font>\n";
124 if ($_POST[
'savetype'] ==
'show') {
125 $status_text =
"<center><textarea cols='100' rows='30' name='content' style='font-family: Arial; font-size: 11px' readonly='readonly'>" . $oNewBackup -> sInputs .
"</textarea></center>";
129 if (isset($_POST[
'DatabasesBackup'])) {
130 $OutPutType = preg_replace(
"/[^0-9]/",
'', $_POST[
'db_op']);
132 $oNewBackup -> _getAllTables($OutPutType);
134 if ($_POST[
'savetype'] ==
'show') {
135 $status_text =
"<center><textarea cols='100' rows='30' name='content' style='font-family: Arial; font-size: 11px' readonly='readonly'>" . $oNewBackup -> sInputs .
"</textarea></center>";
137 if ($_POST[
'savetype'] ==
'server') {
138 $sqlfile = CH_DIRECTORY_PATH_ROOT .
'backup/'.date(
"Y-m-d_H-i-s").
'_all.sql';
139 $file = fopen($sqlfile,
'w');
140 fputs($file, $oNewBackup -> sInputs);
141 $status_text .=
"<hr size=1 /><font color='green'><center>{$sSuccDumpedIntoFileC} <b>{$sqlfile}</b></center></font>\n";
144 if ($_POST[
'savetype'] ==
'client') {
145 $sqlfile = date(
"Y-m-d_H:i:s").
'_all.sql';
146 header(
"Content-Type: text/plain");
147 header(
"Content-Disposition: attachment;filename=\"".$sqlfile.
"\"");
148 echo $oNewBackup -> sInputs;
153 if (isset($_POST[
'DatabasesRestore'])) {
154 if ($_POST[
'savetype'] ==
'delete') {
155 if(is_file(CH_DIRECTORY_PATH_ROOT.
'backup/'.$_POST[
'dump_file'])) {
156 @unlink(CH_DIRECTORY_PATH_ROOT.
'backup/'.$_POST[
'dump_file']);
157 $status_text_restore .=
"<hr size=1 /><font color='green'><center>{$sDumpFileSuccDeletedC} <b>{$sqlfile}</b></center></font>\n";
159 $status_text_restore .=
"<hr size=1 /><font color='red'><center>{$sPleaseSelectDumpFileC} <b>{$sqlfile}</b></center></font>\n";
161 if ($_POST[
'savetype'] ==
'restore') {
162 if(is_file(CH_DIRECTORY_PATH_ROOT.
'backup/'.$_POST[
'dump_file'])) {
164 $oNewBackup -> _restoreFromDumpFile(CH_DIRECTORY_PATH_ROOT.
'backup/'.$_POST[
'dump_file']);
165 $status_text_restore .=
"<hr size=1 /><font color='green'><center>{$sDateRestoredFromDumpC}</center></font>\n";
167 $status_text_restore .=
"<hr size=1 /><font color='red'><center>{$sPleaseSelectDumpFileC} <b>{$sqlfile}</b></center></font>\n";
171 if (isset($_FILES[
'sqlfile'])) {
172 if (preg_match(
"/.sql/", $_FILES[
'sqlfile'][
'name'])) { #
it is correct
174 $oNewBackup -> _restoreFromDumpFile($_FILES[
'sqlfile'][
'tmp_name'] );
175 @unlink($_FILES[
'sqlfile'][
'tmp_name']);
176 $status_text_restore .=
"<hr size=1 /><font color='green'><center>{$sDateRestoredFromPcC} </center></font>\n";
178 $status_text_restore .=
"<hr size=1 /><font color='red'><center>{$sPleaseSelectCorrectDumpFileC}</center></font>\n";
181 return array($status_text, $status_text_restore);
186 $sChooseOperationC =
_t(
'_adm_dbtools_Choose_operation_and_table');
187 $sBackup1C =
_t(
'_adm_dbtools_Backup_structure_content');
188 $sBackup2C =
_t(
'_adm_dbtools_Backup_structure');
189 $sBackup3C =
_t(
'_adm_dbtools_Backup_content');
190 $sSaveOption1C =
_t(
'_adm_dbtools_Save_to_server');
191 $sSaveOption2C =
_t(
'_adm_dbtools_Save_to_your_PC');
192 $sSaveOption3C =
_t(
'_adm_dbtools_Show_on_the_screen');
193 $sBackupTableC =
_t(
'_adm_dbtools_Backup_table');
194 $sActionC =
_t(
'_Action');
197 $aTablesOptions = array();
199 foreach ($tbls
as $tbl) {
200 $aTablesOptions[$tbl] = $tbl;
203 $sStatusText = ($status_text
and isset($_POST[
'TablesBackup'])) ? $status_text :
'';
206 'form_attrs' => array(
207 'name' =>
'TablesBackupTools_form',
208 'action' =>
$GLOBALS[
'site'][
'url_admin'] .
'db.php',
212 'TablesBackup' => array(
214 'name' =>
'TablesBackup',
220 'caption' => $sChooseOperationC,
231 'values' => $aTablesOptions,
234 'type' =>
'radio_set',
235 'name' =>
'savetype',
236 'caption' => $sActionC,
238 'server' => $sSaveOption1C,
239 'client' => $sSaveOption2C,
240 'show' => $sSaveOption3C,
243 'tables_backup_tool' => array(
245 'name' =>
'tables_backup_tool',
247 'value' => $sBackupTableC,
253 return $GLOBALS[
'oAdmTemplate']->parseHtmlByName(
'design_box_content.html', array(
'content' =>
$oForm->getCode() .
$sStatusText));
259 $sChooseOperationC =
_t(
'_adm_dbtools_Choose_operation');
260 $sBackup1C =
_t(
'_adm_dbtools_Backup_structure_content');
261 $sBackup2C =
_t(
'_adm_dbtools_Backup_structure');
262 $sSaveOption1C =
_t(
'_adm_dbtools_Save_to_server');
263 $sSaveOption2C =
_t(
'_adm_dbtools_Save_to_your_PC');
264 $sSaveOption3C =
_t(
'_adm_dbtools_Show_on_the_screen');
265 $sBackupDatabaseC =
_t(
'_adm_dbtools_Backup_database');
266 $sActionC =
_t(
'_Action');
268 $sStatusText = ($status_text
and isset($_POST[
'DatabasesBackup'])) ? $status_text :
'';
271 'form_attrs' => array(
272 'name' =>
'DatabaseBackupTools_form',
273 'action' =>
$GLOBALS[
'site'][
'url_admin'] .
'db.php',
277 'DatabasesBackup' => array(
279 'name' =>
'DatabasesBackup',
285 'caption' => $sChooseOperationC,
292 'type' =>
'radio_set',
293 'name' =>
'savetype',
294 'caption' => $sActionC,
296 'server' => $sSaveOption1C,
297 'client' => $sSaveOption2C,
298 'show' => $sSaveOption3C,
301 'database_backup_tool' => array(
303 'name' =>
'database_backup_tool',
305 'value' => $sBackupDatabaseC,
311 return $GLOBALS[
'oAdmTemplate']->parseHtmlByName(
'design_box_content.html', array(
'content' =>
$oForm->getCode() .
$sStatusText));
317 $sPleaseSelectDumpFileC =
_t(
'_adm_dbtools_Please_select_dump_file');
318 $sRestoreDataFromDumpC =
_t(
'_adm_dbtools_Restore_data_from_dump');
319 $sDeleteDumpFromServerC =
_t(
'_adm_dbtools_Delete_dump_from_server');
320 $sDatabaseRestoreFromPCC =
_t(
'_adm_dbtools_Database_restore_from_your_PC');
321 $sSendC =
_t(
'_Send');
322 $sSubmitC =
_t(
'_Submit');
323 $sActionC =
_t(
'_Action');
325 $aExistedFilesOptions = array();
326 if ( $handle = @opendir(CH_DIRECTORY_PATH_ROOT.
'backup/') ) {
327 while ( $file = readdir($handle) ) {
328 if ( preg_match(
"/.sql/", $file) )
329 $aExistedFilesOptions[$file] = $file;
333 $sStatusText = ($status_text
and isset($_POST[
'DatabasesRestore'])
or isset($_FILES[
'sqlfile']) ) ? $status_text :
'';
336 'form_attrs' => array(
337 'name' =>
'DatabaseRestore1_form',
338 'action' =>
$GLOBALS[
'site'][
'url_admin'] .
'db.php',
342 'DatabasesRestore' => array(
344 'name' =>
'DatabasesRestore',
347 'dump_file' => array(
349 'name' =>
'dump_file',
350 'caption' => $sPleaseSelectDumpFileC,
351 'values' => $aExistedFilesOptions,
354 'type' =>
'radio_set',
355 'name' =>
'savetype',
356 'caption' => $sActionC,
358 'restore' => $sRestoreDataFromDumpC,
359 'delete' => $sDeleteDumpFromServerC,
361 'value' =>
'restore',
363 'DatabaseRestore1' => array(
365 'name' =>
'DatabaseRestore1',
367 'value' => $sSubmitC,
374 'form_attrs' => array(
375 'name' =>
'DatabaseRestore1_form',
376 'action' =>
$GLOBALS[
'site'][
'url_admin'] .
'db.php',
378 'enctype' =>
'multipart/form-data',
382 'type' =>
'block_header',
383 'caption' => $sDatabaseRestoreFromPCC,
388 'caption' => $sPleaseSelectDumpFileC,
391 'DatabaseRestore2' => array(
393 'name' =>
'DatabaseRestore2',
401 return $GLOBALS[
'oAdmTemplate']->parseHtmlByName(
'design_box_content.html', array(
'content' =>
$oForm->getCode() .
'<br />' . $oForm2->getCode() .
$sStatusText));