From 9440072ee03805bcab953521036e6fd53cf05c53 Mon Sep 17 00:00:00 2001 From: Ricsi Date: Thu, 23 Feb 2017 23:32:02 +0100 Subject: [PATCH] backup list and backup download (.sql) --- .gitignore | 3 + _class/class_backup.php | 49 ++++++++++++++++ _class/class_page.php | 4 ++ _class/class_sql.php | 71 ++++++++++++++++++++++- _image/backup.png | Bin 0 -> 19018 bytes _include/include_create.php | 20 +++++++ _include/include_download_backup.php | 35 +++++++++++ _include/include_settings.php | 16 +++++ template/templates/setting_data_edit.tpl | 20 +++++++ 9 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 _class/class_backup.php create mode 100644 _image/backup.png create mode 100644 _include/include_download_backup.php diff --git a/.gitignore b/.gitignore index 743fe44..7e24176 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ php_errors.log /_developer /jQuery /ckeditor +/backup/* +!/backup/.gitkeep + diff --git a/_class/class_backup.php b/_class/class_backup.php new file mode 100644 index 0000000..2a86cab --- /dev/null +++ b/_class/class_backup.php @@ -0,0 +1,49 @@ +bu_id = $_item; + } + + public function set_bu_name($_item) { + $this->bu_name = $_item; + } + + public function set_bu_date($_item) { + $this->bu_date = $_item; + } + + public function get_bu_id() { + return $this->bu_id; + } + + public function get_bu_name() { + return $this->bu_name; + } + + public function get_bu_date() { + return $this->bu_date; + } + + public function set_backup_data_by_id($_id) { + //SETTING ID ALAPJÁN KÉRI LE; + //HA KELL, LEHET KÜLÖN FUNCTION-T ÍRNI HOGY ID ALAPJÁN KÉRJE + global $sql; + $set_data_assoc_array = $sql->assoc_array("select * from backup where bu_id = " . $_id); + $set_data_array = $set_data_assoc_array[0]; + foreach ($set_data_array as $field => $value) { + $function_name = "set_" . $field; + $this->$function_name($value); //alapadatok beállítása + } + + } + +} + + +?> \ No newline at end of file diff --git a/_class/class_page.php b/_class/class_page.php index 73dddde..9c6859f 100755 --- a/_class/class_page.php +++ b/_class/class_page.php @@ -164,6 +164,10 @@ class page { # STATISZTIKÁK include('include_stats.php'); break; + case 'download_backup': + # BIZTONSÁGI MENTÉS LETÖLTÉS + include('include_download_backup.php'); + break; case 'delete_training_type': # EDZÉS TÍPUS TÖRLÉS include('include_delete_training_type.php'); diff --git a/_class/class_sql.php b/_class/class_sql.php index 784056c..a92db84 100755 --- a/_class/class_sql.php +++ b/_class/class_sql.php @@ -85,8 +85,77 @@ class sql extends mysqli { return self::query($_query); } + function export_database($tables=false, $backup_name=false ) + { + $name = "badminton_coach"; + $this->query("SET NAMES 'utf8'"); + + $queryTables = $this->query('SHOW TABLES'); + while($row = $queryTables->fetch_row()) + { + $target_tables[] = $row[0]; + } + if($tables !== false) + { + $target_tables = array_intersect( $target_tables, $tables); + } + foreach($target_tables as $table) + { + $result = $this->query('SELECT * FROM '.$table); + $fields_amount = $result->field_count; + $rows_num=$this->affected_rows; + $res = $this->query('SHOW CREATE TABLE '.$table); + $TableMLine = $res->fetch_row(); + $content = (!isset($content) ? '' : $content) . "\n\n".$TableMLine[1].";\n\n"; + + for ($i = 0, $st_counter = 0; $i < $fields_amount; $i++, $st_counter=0) + { + while($row = $result->fetch_row()) + { //when started (and every after 100 command cycle): + if ($st_counter%100 == 0 || $st_counter == 0 ) + { + $content .= "\nINSERT INTO ".$table." VALUES"; + } + $content .= "\n("; + for($j=0; $j<$fields_amount; $j++) + { + $row[$j] = str_replace("\n","\\n", addslashes($row[$j]) ); + if (isset($row[$j])) + { + $content .= '"'.$row[$j].'"' ; + } + else + { + $content .= '""'; + } + if ($j<($fields_amount-1)) + { + $content.= ','; + } + } + $content .=")"; + //every after 100 command cycle [or at last line] ....p.s. but should be inserted 1 cycle eariler + if ( (($st_counter+1)%100==0 && $st_counter!=0) || $st_counter+1==$rows_num) + { + $content .= ";"; + } + else + { + $content .= ","; + } + $st_counter=$st_counter+1; + } + } $content .="\n\n\n"; + } + //$backup_name = $backup_name ? $backup_name : $name."___(".date('H-i-s')."_".date('d-m-Y').")__rand".rand(1,11111111).".sql"; + $backup_name = $backup_name ? $backup_name : $name.".sql"; + //header('Content-Type: application/octet-stream'); + //header("Content-Transfer-Encoding: Binary"); + //header("Content-disposition: attachment; filename=\"".$backup_name."\""); + return $content; + + } } - ?> \ No newline at end of file diff --git a/_image/backup.png b/_image/backup.png new file mode 100644 index 0000000000000000000000000000000000000000..9b304e36f58149ca3575d2b8bc7d280d17ea1217 GIT binary patch literal 19018 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 literal 0 HcmV?d00001 diff --git a/_include/include_create.php b/_include/include_create.php index 500eed6..a5aeb46 100755 --- a/_include/include_create.php +++ b/_include/include_create.php @@ -136,6 +136,26 @@ switch ($this->get_id()) { case 'money_expense_category': # ÚJ KIADÁS KATEGÓRIA $smarty->display('money_expense_category_create.tpl'); + break; + case 'backup': + # BACKUP + //létrehozzá, és hozzáfűzi az ID-t a dátumhoz + //visszatér a backup oldalra + //backup classből hívogat, statikusan + + $new_bu_id = $sql->insert_into('backup', array('bu_date' => date('Y-m-d'))); + $sql->update_table('backup', array('bu_name' => date('Ymd') . '_' . $new_bu_id), array('bu_id' => $new_bu_id)); + //log + + $dump_content = $sql->export_database(); + $file_name = date('Ymd') . '_' . $new_bu_id . '.sql'; + $path = 'backup/'; + touch($path.$file_name); + file_put_contents($path.$file_name, $dump_content); + + header("Location: /admin/settings/3"); + + break; default: # code... diff --git a/_include/include_download_backup.php b/_include/include_download_backup.php new file mode 100644 index 0000000..694696f --- /dev/null +++ b/_include/include_download_backup.php @@ -0,0 +1,35 @@ +is_id()) { + + $backup = new backup(); + $backup->set_backup_data_by_id($this->get_id()); + + $filename = "\backup\/".$backup->get_bu_name() . "\.sql"; + + header('Content-Type: application/octet-stream'); + header("Content-Transfer-Encoding: Binary"); + //header("Content-disposition: attachment; filename='backup/".$backup->get_bu_name().".sql'"); + //header("Content-disposition: attachment; filename=\"backup/".$backup->get_bu_name().".sql\""); + header("Content-disposition: attachment; filename=\"".$filename."\""); + + //var_dump(is_file("backup/".$backup->get_bu_name() . ".sql")); + + //header('Location: /admin/settings/3'); +} + +else { + + # NEM LEHET + + +} + + + + + +?> \ No newline at end of file diff --git a/_include/include_settings.php b/_include/include_settings.php index 0926082..e401e21 100644 --- a/_include/include_settings.php +++ b/_include/include_settings.php @@ -17,6 +17,22 @@ if ($this->is_id()) { $new_setting = new setting_value(); $new_setting->set_setting_value_data_by_id($this->get_id()); + if ($new_setting->get_setv_setting()->get_set_setting_type_st_id() == 1) { + //textarea + } + + elseif ($new_setting->get_setv_setting()->get_set_setting_type_st_id() == 2) { + //biztonsági mentés + $backup_assoc_array = $sql->assoc_array("SELECT * FROM backup ORDER BY bu_date DESC, bu_id DESC limit 14;"); + $backups = array(); + foreach ($backup_assoc_array as $value) { + $new_backup = new backup(); + $new_backup->set_backup_data_by_id($value['bu_id']); + $backups[] = $new_backup; + } + $smarty->assign('backups', $backups); + } + $smarty->assign("setting", $new_setting); diff --git a/template/templates/setting_data_edit.tpl b/template/templates/setting_data_edit.tpl index e9a6a0e..673466f 100644 --- a/template/templates/setting_data_edit.tpl +++ b/template/templates/setting_data_edit.tpl @@ -20,6 +20,26 @@ + + {elseif $setting->get_setv_setting()->get_set_setting_type_st_id() == 2} + + +
+ + {foreach $backups as $backup} + +
+ + {$backup->get_bu_date()} #{$backup->get_bu_id()} +
+
+ {/foreach} +
+ {/if}