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

📄 backup.php

📁 酷蝶XP留言本(TEXT)这款留言薄软件是为单机用户专门量身定做
💻 PHP
字号:
<?php
/**********************************************************************

	  	   Dream Fly GuestBook 3.1 for Text (v20040421)

           程序设计:浪 者
           版权所有:(C)1999-2003 酷虫工作室
       	   修    改:2004-04-21
           演    示:http://xpower.51j.cn
           	   		 http://hotage.1816.net

************************************************************************/
die('未完成');
if(!defined('INDEX_POST')) die('非法操作!<a href=../index.php>返回</a>');

if($ADMIN){
	$ListDatas = file( DATA_LIST_FILE ) ;
	array_shift( $ListDatas );
	$msgCount = count($ListDatas);

// 以下为主模块,斑竹使用
if($submit){
	$act = array('[ <a href=index.php?MOD=system>返回控制面板</a> ]',
				 '<a href=index.php>进入留言内容管理</a>',
				 '<a href=index.php?MOD=logout>退出登录</a>');
	switch($submit){
		case 'DEL_ORDER_NEW' :
			rsort( $ListDatas );// 高 --> 低
			$delCount = ( $msgCount < $submitVal) ? $msgCount : $submitVal;
			
			for( $i=0; $i< $delCount; $i++ ){
				@unlink(DATA_PATH.trim($ListDatas[$i]).".php");
				$ListDatas[$i]='';
			}
			
			writetofile(DATA_LIST_FILE, "<? die() ?>\n".implode('', $ListDatas) );
			ShowMsg("成功的删除了 $delCount 条最新的留言记录!您还想作些什么呢?",MSG_OK, $act);
		break;
		case 'DEL_ORDER_OLD' :
			rsort( $ListDatas );// 高 --> 低
			$delCount = ( $msgCount < $submitVal) ? $msgCount : $submitVal;
			
			for( $i=$msgCount-1 ; $i>= $msgCount - $delCount; $i-- ){
				@unlink(DATA_PATH.trim($ListDatas[$i]).".php");
				$ListDatas[$i]='';
			}
			
			writetofile(DATA_LIST_FILE, "<? die() ?>\n".implode('', $ListDatas) );
			ShowMsg("成功删除了 $delCount 条最旧的留言记录!您还想作些什么呢?",MSG_OK, $act);
		break;
		case 'DEL_DATE':
			$timemap = split(",",$submitVal);
			rsort( $ListDatas );// 高 --> 低
			$delCount = 0;
			foreach($ListDatas as $fname){
				if($fname >= $timemap[0] && $fname <= $timemap[1]){
					@unlink(DATA_PATH.trim($ListDatas[$i]).".php");
					$ListDatas[$i]='';
					$delCount ++;
				}
			}
			if(	$delCount > 0 ) writetofile(DATA_LIST_FILE, "<? die() ?>\n".implode('', $ListDatas) );
			ShowMsg("成功删除了 $delCount 条指定的留言记录!您还想作些什么呢?",MSG_OK, $act);
		break;
		case 'DEL_ALL_SAFE' :
			tempnam ( "." , "__TMP_DATA");
			// 移动 DATA_PATH
			if(!file_exists(BACKUP_PATH))
				mkdir(BACKUP_PATH);
			rename(DATA_PATH, BACKUP_PATH."TMP_".date("Ymd_His") );
			// 重建 DATA_PATH
			mkdir(DATA_PATH);
			writetofile( DATA_LIST_FILE, "<? die() ?>\n" );
			ShowMsg('您已经成功的删除了所有留言记录!您还想作些什么呢?',MSG_OK, $act);
		break;
		case 'DEL_ALL_KILL' :
			foreach (glob(DATA_PATH."*.php") as $filename) {
    			@unlink($filename);
			}
			writetofile( DATA_LIST_FILE, "<? die() ?>\n" );
			ShowMsg('您已经成功的删除了所有留言记录!您还想作些什么呢?',MSG_OK, $act);
		break;
		case 'DEL_MID' :
		//break;
		case 'DEL_IDX' :
		//break;
		default:
			ShowMsg('非法操作!参数设置错误。');
	}

}else{
	SetupBar('数据备份');
	if( $msgCount ){
		$msgTime[0] = date('Y 年 m 月 d 日', trim(max($ListDatas)) );
		$msgTime[1] = date('Y 年 m 月 d 日', trim(min($ListDatas)) );
		$msg = "$msgTime[0] - $msgTime[1]";
	}else{
		$msg = '没有留言';
	}
?>
<input type=hidden name=submit value="" id=submit>
<input type=hidden name=submitVal value="" id=submitVal>
<table border=0 cellpadding=2 cellspacing=0 width=500>
   <tr><td><br><span class=insist>☆</span> 优 化 数 据 &gt;&gt;&gt;<hr size=1 width=70% align="left"></td></tr>
   <tr><td>
     <ul>
       <li>当使用一段时间后建议使用该选项<br>
     </ul><br>
     <p align="right"><input type=submit class=button value="执行优化" onClick="if(msgCount){ return  doDelOrder() }else{alert('没有留言数据,无法进行数据优化!'); return false}">
     </td></tr>
   <tr><td><span class=insist>☆</span> 数 据 备 份 &gt;&gt;&gt;<hr size=1 width=70% align="left"></td></tr>
   <tr><td>
     <ul>
       <li>说明文字:<input type="text" class=text size=16 id=dateBeginYear value=2004 maxlength=4 onKeydown="checkInput()" onChange="if(!(this.value>=1990 && this.value<=3000)) {alert('输入年份错误!请输入正确的 4 位年份。');this.focus();this.select();return false}"></li>
	   <li>选择操作:<br>
       	 <input type=radio name=r1> <label for>备份后删除当前留言数据</label><br>
     	 <input type=radio name=r1> <label for>仅备份当前留言数据</label>
     </ul><br>
     <p align="right"><input class=button type=submit value="立即备份" onClick="if(msgCount){ return  doDelDate() }else{alert('没有留言数据,无法进行数据备份!'); return false}">
     </td></tr>
   <tr><td><span class=insist>☆</span> 数 据 恢 复 &gt;&gt;&gt;<hr size=1 width=70% align="left"></td></tr>
   <tr><td>
   	<ul><li> 选择一个留言备份 <select size="1" id=DelIndicatedType>
	    <option selected value="_SAFE">安全模式(推荐)</option>
    	<option value="_KILL">完全删除</option>
     </select></li>
     <li> 选择操作<br> <input type=radio name=r1> <label for>恢复留言备份,并与当前留言数据合并(保留最新的数据)</label><br>
     	 <input type=radio name=r1> <label for>仅恢复留言备份,不与当前留言数据合并(删除当前留言)</label><br>
     	 <input type=radio name=r1> <label for>仅删除该留言备份</label>
    </ul><br>
    <p align="right"><input class=button type=submit value="执行操作" onClick="if(msgCount){ return doDelIndicated() }else{alert('没有留言数据,不必删除!'); return false}">
      </td></tr>

    <tr><td valign=top><hr size=1 align="left"><b>使用说明:</b>
      <ol>
        <li>批量删除操作是不可恢复的,在此之前请做好备份。</li>
        <li>当您删除所有留言(清空留言数据)时,推荐使用“安全模式”:所有数据将被保存到一个备份文件夹中,建议随后使用 Ftp 手动删除。</li>
      </ol>
      <p> </td></tr>
    </table>
<script>
var oForm  = document.forms[0];
var msgCount = <?=$msgCount ?>;

function doConfirm(msg){
	var retval = confirm("你选择了:\n“" + msg + "”\n\n该项操作不可恢复,确定继续进行吗?");
	return retval;
}

function checkInput() {
	if (event.shiftKey || event.ctrlKey || event.altKey) {
		event.returnValue=false;
	}else if (event.keyCode >= 48 && event.keyCode <= 57) {
		event.returnValue=true;
	} else if (event.keyCode >= 35 && event.keyCode <= 40 || event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 9) {
		event.returnValue=true;
	} else
		event.returnValue=false;
}

function selectVal(el, isvalue){
	var retval;
	var oSelect = document.getElementById(el) ;
	if(isvalue)
	 	retval = oSelect.options[oSelect.selectedIndex].value;
	else
	 	retval = oSelect.options[oSelect.selectedIndex].text;
	return retval;
}

function doDelDate(){
	var s0 = Date.UTC(oForm.dateBeginYear.value, selectVal("dateBeginMonth")-1, selectVal("dateBeginDay"), 0)/1000;
	var s1 = Date.UTC(oForm.dateCloseYear.value, selectVal("dateCloseMonth")-1, selectVal("dateCloseDay"), 24)/1000;
	
	if(s0>s1){
		alert("输入的起始日期不能小于截止日期。");
		oForm.dateBeginYear.focus();
		return false;
	}
	if(doConfirm ("删除指定时间内的所有留言")){
		oForm.submitVal.value = s0 + "," + s1;
		oForm.submit.value = "DEL_DATE";
		oForm.submit();
	}else
		return false;
}
function doDelOrder(){
	var v = oForm.delOrder_val.value;
	if(doConfirm ("删除 "+selectVal('delOrder')+" 的 " + v + " 条留言")){
		oForm.submitVal.value = v;
		oForm.submit.value = "DEL_ORDER" + selectVal('delOrder', 1);
		oForm.submit();
	}else
		return false;
}
function doDelIndicated(){
	var oRadio = oForm.DelIndicated;
	var radioUnchecked = true;
	for(var i=0; i<oRadio.length; i++){
		if(oRadio[i].checked==true) {
			radioUnchecked = false;
			if(oRadio[i].value=="DEL_ALL"){
				if(doConfirm (oRadio[i].title)){
					oForm.submit.value = oRadio[i].value + oForm.DelIndicatedType.value
					oForm.submitVal.value = "";
					oForm.submit();
				}
				return false;
/*			}else if(oRadio[i].value=="DEL_MID"){
				if(doConfirm (oRadio[i].title)){
					oForm.submit.value = oRadio[i].value;
					oForm.submitVal.value = oForm.delMID_val.value;
					oForm.submit();
				}
				return false;
			}else if(oRadio[i].value=="DEL_IDX"){
				if(doConfirm (oRadio[i].title)){
					oForm.submit.value = oRadio[i].value;
					oForm.submitVal.value = oForm.delIDX_val.value;
					oForm.submit();
				}
				return false;
*/			}

			break;
		}
	}
	if(radioUnchecked){
		alert("请选择指定的操作!");
	}
	return false;
}
</script>
<?
   SetupLine();
}
// 以上为主模块,斑竹使用

}else{
	ShowMsg('您不是斑竹,或者登陆超时,无法进行此项操作!',MSG_FAIL);
}


function killfile($mid){
	$fname = DATA_PATH.$mid.".php";
	if(file_exists($fname)){
		if( @unlike($fname) ) return true;
		else return false;
	}else{
		return false;
	}
}

function newlist(){
	
}
?>

⌨️ 快捷键说明

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