📄 backup.php
字号:
<?php
/**
* Title: backup/recover data
* File Name: ./mods/backup.php
* Copyright (c) 2004 M-logger
* Author: milkliker
* Modify: milkliker
* Last Change: 12:34 04-8-10
* Version: 0.3.1
**/
//---[Add Func]---------------------------------------------
function addzip($dirName,$zipName){
global $zip,$compress;
$dirHandle=@opendir($dirName);
unset($data);
while($file_s=@readdir($dirHandle)){
if($file_s!="." && $file_s!=".." && !is_dir($dirName.$file_s)){
$data[]=array($file_s,join('',file($dirName.$file_s)));
}
}
@closedir($dirHandle);
$zip->Add($data,$compress);
fputs(fopen($zipName,"wb"),$zip->get_file());
}
//---[Check Rank]-------------------------------------------
if($user->user['rank']!=1){
$tpl->set_file('tplModule','outmsg.htm');
$tpl->set_var('MASTERMAIL',$config['MasterMail']);
$pageTitle=$lang['Defeat'];
$tpl->set_var('MSGTITLE',$lang['Defeat']);
$tpl->set_var('MSGCONTENT',$lang['NoRightToBackupData']);
}else{
$user->close();
$backup['log']='./tmp/backup_log.zip';
$backup['list']='./tmp/backup_list.zip';
$backup['other']='./tmp/backup_other.zip';
//---[Backup]-----------------------------------------------
if($_GET['m']=='backup'){
include_once('./class/ZipLab.inc.php');
@set_time_limit(100);
$zip = new Zip;
$compress = empty($_POST['compress']) ? trim($_GET['compress']) : trim($_POST['compress']);
$type = empty($_POST['type']) ? trim($_GET['type']) : trim($_POST['type']);
$name=trim($_GET['name']);
if($type=='log'){
if(file_exists($backup['log'])) @unlink($backup['log']);
addzip('./db/content/',$backup['log']);
header("location:./?a=backup&m=backup&over=y&name=log");
}elseif($type=='list'){
if(file_exists($backup['list'])) @unlink($backup['list']);
addzip('./db/list/',$backup['list']);
header("location:./?a=backup&m=backup&over=y&name=list");
}elseif($type=='other'){
if(file_exists($backup['other'])) @unlink($backup['other']);
addzip('./db/',$backup['other']);
header("location:./?a=backup&m=backup&over=y&name=other");
}elseif($_GET['over']=='y'){
$tpl->set_file('tplModule','outmsg.htm');
$tpl->set_var('MASTERMAIL',$config['MasterMail']);
if(file_exists($backup[$name])){
$pageTitle=$lang['Success'];
$tpl->set_var('MSGTITLE',$lang['Success']);
$tpl->set_var('MSGCONTENT',$lang['BackupDataSuc'].'<a href="'.$backup[$name].'"><font class="warning"><b>'.$lang['Download'].'</b></font></a>'.$lang['DownloadThenDelete']);
}else{
$pageTitle=$lang['Defeat'];
$tpl->set_var('MSGTITLE',$lang['Defeat']);
$tpl->set_var('MSGCONTENT',$lang['BackupDataDef']);
}
}
//---[Delete]-----------------------------------------------
}elseif($_GET[m]=='delete'){
if(file_exists($backup['log'])) @unlink($backup['log']);
if(file_exists($backup['list'])) @unlink($backup['list']);
if(file_exists($backup['other'])) @unlink($backup['other']);
header("location:./?a=backup");
//---[Upload]------------------------------------------------
}elseif($_GET['m']=='upload'){
if(file_exists($backup['log'])) @unlink($backup['log']);
if(file_exists($backup['list'])) @unlink($backup['list']);
if(file_exists($backup['other'])) @unlink($backup['other']);
$type = trim($_POST['type']);
$tpl->set_file('tplModule','outmsg.htm');
$tpl->set_var('MASTERMAIL',$config['MasterMail']);
$pageTitle=$lang['Defeat'];
$tpl->set_var('MSGTITLE',$lang['Defeat']);
if($_FILES['backupdata']['type']!="application/x-zip-compressed"){
$tpl->set_var('MSGCONTENT',$lang['InvalidBackupFile']);
}elseif(@move_uploaded_file($_FILES['backupdata']['tmp_name'],$backup[$type])){
header("location:./?a=backup&m=recover&type=".$type);
}else{
$tpl->set_var('MSGCONTENT',$lang['UploadFileDef']);
}
//---[Recover]-----------------------------------------------
}elseif($_GET['m']=='recover'){
$type=trim($_GET['type']);
$name=trim($_GET['name']);
include_once('./class/zip.php');
@set_time_limit(100);
$zip = new Zip;
if($type=='log'){
$zip->Extract($backup['log'],'./db/content/');
header("location:./?a=backup&m=recover&over=y&name=log");
@unlink($backup['log']);
}elseif($type=='list'){
$zip->Extract($backup['list'],'./db/list/');
header("location:./?a=backup&m=recover&over=y&name=list");
@unlink($backup['list']);
}elseif($type=='other'){
$zip->Extract($backup['other'],'./db/');
header("location:./?a=backup&m=recover&over=y&name=other");
@unlink($backup['other']);
}elseif($_GET['over']=='y'){
$tpl->set_file('tplModule','outmsg.htm');
$tpl->set_var('MASTERMAIL',$config['MasterMail']);
$pageTitle=$lang['Success'];
$tpl->set_var('MSGTITLE',$lang['Success']);
$tpl->set_var('MSGCONTENT',$lang['RecoverDataSuc']);
}
//---[Display Form]------------------------------------------
}else{
$pageTitle='BackUp';
$tpl->set_file('tplModule','backup.htm');
if(file_exists($backup['log'])){
$tpl->set_block_vars('FILE',array('name'=>$lang['BLogData'],'url'=>$backup['log']));
$file='undelelte';
}
if(file_exists($backup['list'])){
$tpl->set_block_vars('FILE',array('name'=>$lang['ListData'],'url'=>$backup['list']));
$file='undelelte';
}
if(file_exists($backup['other'])){
$tpl->set_block_vars('FILE',array('name'=>$lang['OtherData'],'url'=>$backup['other']));
$file='undelelte';
}
if($file!='undelelte'){
$tpl->set_block_vars('BACKUP');
$tpl->set_var('HOSTTIME',date($config['DateFormat'],$thisTime));
}else{
$tpl->set_block_vars('WARNING');
}
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -