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

📄 quickdel.php

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

	  	        Dream Fly GuestBook 3.2 for Text (v20050206)

       程序设计:浪 者
       版权所有:(C)1999-2005 酷虫工作室
       演    示:http://xpower.jsphome.com

*************************************************************************/
	
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);
			JumpUrl('index.php?MOD=quickdel');
		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);
			JumpUrl('index.php?MOD=quickdel');
		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);
			JumpUrl('index.php?MOD=quickdel');
		break;
		case 'DEL_ALL_SAFE' :
			// 移动 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);
			JumpUrl('index.php?MOD=quickdel');
		break;
		case 'DEL_ALL_KILL' :
			foreach (glob(DATA_PATH."*.php") as $filename) {
    			@unlink($filename);
			}
			writetofile( DATA_LIST_FILE, "<? die() ?>\n" );
			ShowMsg('您已经成功的删除了所有留言记录!您还想作些什么呢?',MSG_OK, $act);
			JumpUrl('index.php?MOD=quickdel');
		break;
		case 'DEL_MID' :
		//break;
		case 'DEL_IDX' :
		//break;
		default:
			ShowMsg('非法操作!参数设置错误。');
			JumpUrl(-1);
	}

}else{
	SetupBar('批量删除');
	if( $msgCount ){
		$msgTime[0] = date('Y 年 m 月 d 日', trim(min($ListDatas)) );
		$msgTime[1] = date('Y 年 m 月 d 日', trim(max($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>留言顺序:
       <select size="1" id=delOrder>
         <option value='_NEW'>最新留言</option>
         <option value='_OLD'>最旧留言</option>
       </select></li>
       <li><label for=delOrder_val>留言数量:</label> <input id=delOrder_val type="text" class=text size="8" value="1" maxlength="2" onKeydown="checkInput()" onChange="if(!(this.value>0 && this.value<100)) {alert('请输入 1-99 条的留言数量。');this.focus();this.select();return false}"></li>
     </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>留言时间: <b><?=$msg ?></b></li>
       <li>起始时间:
       <input type="text" class=text size=6 id=dateBeginYear value=2004 maxlength=4 onKeydown="checkInput()" onblur="if(!(this.value>=1990 && this.value<=3000)) {alert('输入年份错误!请输入正确的 4 位年份。');this.focus();return false}"> 年
       <select size="1" id=dateBeginMonth>
         <option>1</option>
         <option>2</option>
         <option>3</option>
         <option>4</option>
         <option>5</option>
         <option>6</option>
         <option>7</option>
         <option>8</option>
         <option>9</option>
         <option>10</option>
         <option>11</option>
         <option>12</option>
       </select> 月
       <select size="1" id=dateBeginDay>
         <option>1</option>
         <option>2</option>
         <option>3</option>
         <option>4</option>
         <option>5</option>
         <option>6</option>
         <option>7</option>
         <option>8</option>
         <option>9</option>
         <option>10</option>
         <option>11</option>
         <option>12</option>
         <option>13</option>
         <option>14</option>
         <option>15</option>
         <option>16</option>
         <option>17</option>
         <option>18</option>
         <option>19</option>
         <option>20</option>
         <option>21</option>
         <option>22</option>
         <option>23</option>
         <option>24</option>
         <option>25</option>
         <option>26</option>
         <option>27</option>
         <option>28</option>
         <option>29</option>
         <option>30</option>
         <option>31</option>
       </select> 日</li>
       <li>截止时间:
       <input type="text" class=text size=6 id=dateCloseYear value=2004 maxlength=4 onKeydown="checkInput()" onChange="if(!(this.value>=1990 && this.value<=3000)) {alert('输入年份错误!请输入正确的 4 位年份。');this.focus();this.select();return false}"> 年
       <select size="1" id=dateCloseMonth>
         <option>1</option>
         <option>2</option>
         <option>3</option>
         <option>4</option>
         <option>5</option>
         <option>6</option>
         <option>7</option>
         <option>8</option>
         <option>9</option>
         <option>10</option>
         <option>11</option>
         <option>12</option>
         </select> 月 <select size="1" id=dateCloseDay>
         <option>1</option>
         <option>2</option>
         <option>3</option>
         <option>4</option>
         <option>5</option>
         <option>6</option>
         <option>7</option>
         <option>8</option>
         <option>9</option>
         <option>10</option>
         <option>11</option>
         <option>12</option>
         <option>13</option>
         <option>14</option>
         <option>15</option>
         <option>16</option>
         <option>17</option>
         <option>18</option>
         <option>19</option>
         <option>20</option>
         <option>21</option>
         <option>22</option>
         <option>23</option>
         <option>24</option>
         <option>25</option>
         <option>26</option>
         <option>27</option>
         <option>28</option>
         <option>29</option>
         <option>30</option>
         <option>31</option>
       </select> 日</li>
     </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>选择特定操作:<br>
&nbsp; <input type="radio" value="V8" name="DelIndicated" id=del3_r1 disabled> <label for=del3_r1 disabled>删除所有未回复的留言</label><br>
&nbsp; <input type="radio" value="V9" name="DelIndicated" id=del3_r2 disabled> <label for=del3_r2 disabled>删除所有已经回复的留言</label><br>
&nbsp; <input type="radio" value="V1" name="DelIndicated" id=del3_r3 disabled> <label for=del3_r3 disabled>留言人姓名:</label><input type="text" class=text name="T2" size="16" value="(无效)" maxlength="2" disabled><font disabled>(多个姓名用逗号分隔)</font><br>
<!--
&nbsp; <input type="radio" value="DEL_IDX" name="DelIndicated" id=delIDX title="删除为指定流水号的所有留言">   <label for=delIDX>留言流水号:</label><input type="text" class=text id=delIDX_val size="16" value="1">(即从 1 开始的第几条留言,多个用逗号分隔)<br>
&nbsp; <input type="radio" value="DEL_MID" name="DelIndicated" id=delMID title="删除为指定 ID 值的所有留言">   <label for=delMID>留言 ID 号:</label><input type="text" class=text id=delMID_val size="16" value="">(多个 ID 用逗号分隔)<br>
-->
&nbsp; <input type="radio" value="DEL_ALL" name="DelIndicated" id=delALL title="删除当前所有留言" checked> <label for=delALL>删除当前所有留言</label>
	<select size="1" id=DelIndicatedType>
     <option selected value="_SAFE">安全模式(推荐)</option>
     <option value="_KILL">完全删除</option>
     </select></li>
    </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);
	JumpUrl('index.php?MOD=login');
}


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 + -