⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backup.php

📁 M-logger v0.3.1 中文版
💻 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 + -