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

📄 batbackup.php

📁 bmb的论坛
💻 PHP
字号:
<?
/*
 BMForum Plus! Bulletin Board Systems
 Version : Plus!
 
 This is a freeware, but don't change the copyright information.
 A SourceForge Project - GNU Licence project.
 Web Site: http://www.bmforum.com
 Copyright (C) Bluview Technology
*/
$thisisout="yes";
$thisprog="batbackup.php";
$forumfile="datafile/forumdata.php";
require("adminglobal.php");
require("datafile/config.php");
if($useraccess!="1" || $admgroupdata[19]!="1") {
adminlogin();
}
@set_time_limit(300);

print <<<EOT
	<html>
    <head>
    <title>$arr_ad_lng[39]</title>
    
    <style type="text/css">
    BODY { COLOR: #3F3849; FONT-FAMILY: Verdana,Arial; FONT-SIZE: 9pt;
	SCROLLBAR-FACE-COLOR: #799AE1; 
	SCROLLBAR-HIGHLIGHT-COLOR: #799AE1; 
	SCROLLBAR-SHADOW-COLOR: #799AE1; 
	SCROLLBAR-DARKSHADOW-COLOR: #799AE1; 
	SCROLLBAR-3DLIGHT-COLOR: #799AE1; 
	SCROLLBAR-ARROW-COLOR: #FFFFFF;
	SCROLLBAR-TRACK-COLOR: #AABFEC; 
}
A:LINK		{COLOR: #3F3849; TEXT-DECORATION: none}
A:VISITED	{COLOR: #3F3849; TEXT-DECORATION: none}
/* hover color for links (Internet Explorer only) */
A:HOVER		{COLOR: #F5D300; BACKGROUND-COLOR: #40364d}
A:ACTIVE	{COLOR: #F5D300; BACKGROUND-COLOR: #40364d}
		
		.t     {	LINE-HEIGHT: 1.4}
		TD,SELECT,TEXTAREA,DIV,FORM,OPTION,P{COLOR:333333; FONT-FAMILY: Tahoma; FONT-SIZE: 9pt}
		INPUT  {	FONT-FAMILY: Tahoma; FONT-SIZE: 9pt; height:22px;	}
    </style>
    </head>
    <body bgcolor=#799AE1 topmargin=5 leftmargin=5>

    </td><td width=70% valign=top bgcolor=#D6DFF7>
    <table width=100% cellpadding=6 cellspacing=0 border=0>
EOT;

print "<tr><td bgcolor=#0041BD colspan=2><font color=#D6DFF7>
            <b>$arr_ad_lng[260]</b>
            </td></tr>";
if($action=="delfolder" && is_dir($dirname)){
kill_dir($dirname);
@rmdir($dirname);
$title="$arr_ad_lng[802]";
$status="$arr_ad_lng[870]";
print_info();
echo $showerror;
exit;
}
if (empty($action)) {
if(function_exists('gzopen')){
	$isgzipopen="<input type=checkbox checked name=gzip value=yes>$arr_ad_lng[872]";
}
print <<<EOT
    <tr>
    <td bgcolor=#F9FAFE align=center colspan=2>
    <b>$arr_ad_lng[261]</b>
    </td>
    </tr>          
	<form action=batbackup.php?action=forum&id=get method=post>  
    <tr>
    <td bgcolor=#D6DFF7 colspan=2><br>$tab_top
    $arr_ad_lng[262]<br><input type=checkbox value=yes checked name=lianm>$arr_ad_lng[263] <input type=checkbox checked value=yes name=banzhu>$arr_ad_lng[264] <input type=checkbox checked value=yes name=usergroup>$arr_ad_lng[265] <input type=checkbox checked value=yes name=bbsusergroup>$arr_ad_lng[266] <input type=checkbox checked value=yes name=emoticons>$arr_ad_lng[267] <input type=checkbox checked value=yes name=zxfz>$arr_ad_lng[268] <input type=checkbox checked value=yes name=welcomeinfor>$arr_ad_lng[269]<br><input type=checkbox checked value=yes name=annms>$arr_ad_lng[270] &nbsp;&nbsp; <input type=checkbox checked value=yes name=fuser>$arr_ad_lng[271] <input type=checkbox checked value=yes name=adsinfo>$arr_ad_lng[272]<br><br>$arr_ad_lng[273]
    $tab_bottom <br><br>
    <b>$arr_ad_lng[274]</a></b><br><br>
    $tab_top
    $isgzipopen<br>$arr_ad_lng[275] <input type=text name=everytis value=1000> <br>
    <input type=radio checked value='' name=bakdirtypes>$arr_ad_lng[276]<br>
    <input type=radio value='spec' name=bakdirtypes>$arr_ad_lng[277]<input type=text value='bak$timestamp' name='specdirname'><br><b>$arr_ad_lng[278]</b><br><br>
    $arr_ad_lng[279]<br>
    <br>&gt;&gt;<input type=submit value=$arr_ad_lng[280]></a>
    $tab_bottom
</form>
    </td>
    </tr>
    </td></tr></table></body></html>
EOT;
	exit;
}elseif($action=="forum") {
	if($id=="get") {
		if (file_exists($forumfile)) {
			$forumdata=file($forumfile);
			$count=count($forumdata);
			for($i=0; $i<$count; $i++) {
				$detail=explode("|",$forumdata[$i]);
				if ($detail[0]!="<?exit;?>category" ) {
					$id=$detail[3]; 
		 			$title="$arr_ad_lng[281]";
		 			if($bakdirtypes!="spec"){
		 				$newdir="bak$timestamp";
			 			@mkdir($newdir,0777);
			 			@mkdir($newdir."/other",0777);
			 		}else{
			 			$newdir=$specdirname;
			 			if(!file_exists($newdir)){
			 				@mkdir($newdir,0777);
			 			}
			 			if(!file_exists($newdir."/other")){
			 				@mkdir($newdir."/other",0777);
			 			}
			 		}
			 		$filelists="";
			 		if($lianm=="yes"){
			 			@copy("datafile/shareforum.php","$newdir/other/shareforum.php");
			 			$filelists.="shareforum.php|$arr_ad_lng[263]|\n";
			 			$status="$arr_ad_lng[282]<br>";
			 		}
			 		if($banzhu=="yes"){
			 			@copy("datafile/admin.php","$newdir/other/admin.php");
			 			$filelists.="admin.php|$arr_ad_lng[264]|\n";
			 			$status.="$arr_ad_lng[283]<br>";
			 		}
			 		if($usergroup=="yes"){
			 			@copy("datafile/usergroup.php","$newdir/other/usergroup.php");
			 			@copy("datafile/admingroup.php","$newdir/other/admingroup.php");
			 			$filelists.="usergroup.php|$arr_ad_lng[265]|\n";
			 			$filelists.="admingroup.php|$arr_ad_lng[285]|\n";
			 			$status.="$arr_ad_lng[284]<br>";
			 		}
			 		if($bbsusergroup=="yes"){
			 			@mkdir($newdir."/other/usergroup",0777);
			 			$dh=opendir("datafile/usergroup");
			 			while (false !== ($abusergroup = readdir($dh))) {
							if (($abusergroup!=".") && ($abusergroup!="..") && ($abusergroup!=""))
								$filelists.="usergroup/".$abusergroup.",";
			 					@copy("datafile/usergroup/$abusergroup","$newdir/other/usergroup/$abusergroup");
						}
						closedir($dh);
			 			$filelists.="|$arr_ad_lng[266]|\n";
			 			$status.="$arr_ad_lng[286]<br>";
			 		}
			 		if($emoticons=="yes"){
			 			@copy("datafile/emoticon.php","$newdir/other/emoticon.php");
			 			$filelists.="emoticon.php|$arr_ad_lng[267]|\n";
			 			$status.="$arr_ad_lng[287]<br>";
			 		}
			 		if($zxfz=="yes"){
			 			@copy("datafile/zy.php","$newdir/other/zy.php");
			 			$filelists.="zy.php|$arr_ad_lng[268]|\n";
			 			$status.="$arr_ad_lng[288]<br>";
			 		}
		 			@copy("datafile/lastreply.php","$newdir/other/lastreply.php");
		 			$filelists.="lastreply.php|$arr_ad_lng[268]-2|\n";
			 		if($annms=="yes"){
			 			@copy("datafile/announcesys.php","$newdir/other/announcesys.php");
			 			@copy("datafile/announcement.php","$newdir/other/announcement.php");
			 			$filelists.="announcesys.php,announcement.php|$arr_ad_lng[270]|\n";
			 			$status.="$arr_ad_lng[289]<br>";
			 		}
			 		if($welcomeinfor=="yes"){
			 			@copy("datafile/welcome.php","$newdir/other/welcome.php");
			 			$filelists.="welcome.php|$arr_ad_lng[269]|\n";
			 			$status.="$arr_ad_lng[290]<br>";
			 		}
			 		if($fuser=="yes"){
			 			@copy("datafile/idbans.php","$newdir/other/idbans.php");
			 			@copy("datafile/ipbans.php","$newdir/other/ipbans.php");
			 			@copy("datafile/bannames.php","$newdir/other/bannames.php");
			 			@copy("datafile/regipbans.php","$newdir/other/regipbans.php");
			 			@copy("datafile/banuserposts.php","$newdir/other/banuserposts.php");
			 			@copy("datafile/postbans.php","$newdir/other/postbans.php");
			 			$filelists.="idbans.php,ipbans.php,bannames.php,regipbans.php,banuserposts.php,postbans.php|$arr_ad_lng[271]|\n";
			 			$status.="$arr_ad_lng[291]<br>";
			 		}
			 		if($adsinfo=="yes"){
			 			@copy("datafile/ads2.php","$newdir/other/ads2.php");
			 			@copy("datafile/topads.php","$newdir/other/topads.php");
			 			@copy("datafile/ads.php","$newdir/other/ads.php");
			 			@copy("datafile/postads.php","$newdir/other/postads.php");
			 			$filelists.="ads2.php,topads.php,ads.php,postads.php|$arr_ad_lng[272]|\n";
			 			$status.="$arr_ad_lng[292]<br>";
			 		}
			 		
			 		writetofile($newdir."/filelist.bs5",$filelists);
			 		
			 		$gotourl="batbackup.php?action=forum&gzip=$gzip&everytis=$everytis&lasti=$i&id=$id&dir=$newdir&lastpf=new";
					$status.="$arr_ad_lng[293]<br><a href=batbackup.php?action=forum&gzip=$gzip&everytis=$everytis&lasti=$i&id=$id&dir=$newdir&lastpf=new>$arr_ad_lng[294]</a>";
					print_info();
					echo $showerror;
					break; 
				}
			}
		}else{
			$title="$arr_ad_lng[295]";
			$status="$arr_ad_lng[296]";
			print_info();
			echo $showerror;
		}
	}else{
		$everyok=$everytis+1;
		$icount=0;
		$dh=opendir("{$idpath}forum$id/");
		while (false !== ($postfile = readdir($dh))) {
			if (ereg("^f_[0-9]+$",$postfile)) {
				if($lastpf=="new" || $postfile==$lastpf){
					if ($icount==$everyok) break;
					if ($postfile==$lastpf) $lastpf="new";
					$icount++;
					$pfile="{$idpath}forum$id/$postfile";
					$echoinfo.="-post-\n";
					$echoinfo.=readfromfile($pfile);
					if (file_exists("$pfile.buy")) {
						$echoinfo.="--buy--\n";
						$temp=trim(readfromfile("$pfile.buy"));
						$temp.="\n";
						$echoinfo.=$temp;
					} elseif (file_exists("$pfile.sta")) {
						$echoinfo.="-sta-\n";
						$temp=trim(readfromfile("$pfile.sta"));
						$temp.="\n";
						$echoinfo.=$temp;
					}
				}
			}
		}
		
		closedir($dh);
		$newfilename="$dir/forum$id.$timestamp.bmb";
		if($gzip=="yes"){
			gzipbackup($newfilename,str_replace("[/img]\n\n","[/img]<br><br>",$echoinfo));
		}else{
			writetofile($newfilename,str_replace("[/img]\n\n","[/img]<br><br>",$echoinfo));
		}
		writetofile("$dir/fdatabak.bm5","forum$id.$timestamp.bmb|$id|\n","a");
		$forumdata=file($forumfile);
		$count=count($forumdata);
		
		if ($icount==$everyok){
			$gotourl="batbackup.php?action=forum&gzip=$gzip&everytis=$everytis&lasti=$lasti&id=$id&dir=$dir&lastpf=$postfile";
		}else{
			$lasti=$lasti+1;
			$gotourl="batbackup.php?action=user&gzip=$gzip&dir=$dir";
			for($i=$lasti; $i<$count; $i++) {
				$detail=explode("|",$forumdata[$i]);
				if ($detail[0]!="<?exit;?>category") { $newid=$detail[3];
					$gotourl="batbackup.php?action=forum&gzip=$gzip&everytis=$everytis&lasti=$i&id=$newid&dir=$dir&lastpf=new";
					break; 
				}
			}
		}
				 	
		$title="$arr_ad_lng[297]";
		$status="$arr_ad_lng[297](ID:$id @ $timestamp)$arr_ad_lng[298]<br><a href=$gotourl>$arr_ad_lng[299]</a>";
		print_info();
		echo $showerror;
	}
	
}elseif($action=="user") {
		$dh=opendir("$id_unique/");
		while (false !== ($userfile = readdir($dh))) {
		if (($userfile!=".") && ($userfile!="..") && !strpos($userfile,".snd") && !strpos($userfile,".add") && !strpos($userfile,".frd") && !strpos($userfile,".rec")) {
			$echoinfo.=trim(readfromfile("$id_unique/$userfile"))."\n";
		}
	}
	closedir($dh);
	$newfilename="$dir/user.bmb";
	if($gzip=="yes"){
		gzipbackup($newfilename,str_replace("\n%","%",$echoinfo));
	}else	writetofile($newfilename,str_replace("\n%","%",$echoinfo));
	$txtofrec.="$arr_ad_lng[300]";
	$forumdata=file($forumfile);
	$count=count($forumdata);
	for($i=0; $i<$count; $i++) {
	$detail=explode("|",$forumdata[$i]);
		if ($detail[0]!="<?exit;?>category") {
		$txtofrec.="forum{$detail[3]}.*.bmb 銆巤$detail[1]}銆

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -