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

📄 roomlist.php

📁 flashget43的源代码 一个比较常用的下载程序
💻 PHP
字号:
<?php

//===========================================================================================
//CFG  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//===========================================================================================
$room_option = 'option';

//update rooms post array names
$room_name_post = 'room_name';
$room_password_post = 'room_password';
$room_public_post = 'room_public';
$room_permanent_post = 'room_permanent';
$room_order_post = 'room_order';
$room_identification_post ='room_id';
$room_delete_post = 'room_del';
$max_order_post = 'max_order';

// add room post
$new_room_name_post = 'name';

//===========================================================================================
//CFG  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
//===========================================================================================

include_once('init.php');

if(!inSession()) {
	include('login.php');
	exit;
}

if(!isset($_REQUEST['sort']) || isset($_REQUEST['clear'])) $_REQUEST['sort'] = 'none';

//===========================================================================================
//UPDATING DB <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
//===========================================================================================

$need_reorder = false;

if(isset($_REQUEST['submited'])) {
	if ( isset($_REQUEST[$room_identification_post]) && (count($_REQUEST[$room_identification_post])>0) ){
		$ids = &$_REQUEST[$room_identification_post];

		$need_reorder = true;
		foreach ($ids as $row => $id) {
			if (isset($_REQUEST[$room_delete_post][$row])) {
				// delete row
				$query = "DELETE FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE id=$id";
				$stmt1 = new Statement($query);
				$rs1 = $stmt1->process();
			} else {
				// update row
				if ( isset($_REQUEST[$room_name_post][$row]) ) {
					// set new name
					$new_name = "'".$_POST[$room_name_post][$row]."'";
					// set new password
					$new_password = "'".$_POST[$room_password_post][$row]."'";
					// set ispumlic
					if ( isset($_REQUEST[$room_public_post][$row]) ) {
						$new_ispublic = "'".'y'."'";
					} else {
						$new_ispublic = 'null';
					}
					// set permament
					if ( isset($_REQUEST[$room_order_post][$row]) ) {
						$new_ispermanent = $_REQUEST[$room_order_post][$row];
					} else {
						if ( (isset($_REQUEST[$room_permanent_post][$row])) && (isset($_REQUEST[$max_order_post])) ) {
							//permanent
							$_REQUEST[$max_order_post]++;
							$new_ispermanent = $_REQUEST[$max_order_post];
						} else {
							//not permanent
							$new_ispermanent = 'null';
						}
					}

					$query = "UPDATE {$GLOBALS['fc_config']['db']['pref']}rooms".' set name='.$new_name.', password='.$new_password.', ispublic='.$new_ispublic.', ispermanent='.$new_ispermanent.' WHERE id='.$id;
					$query_array[] = $query;
					$stmt = new Statement($query);
					$rs = $stmt->process();
				}
			}
		}
	}
}
if ( $need_reorder )
{
	$room_place = 1;
	$order_st = new Statement("UPDATE {$GLOBALS['fc_config']['db']['pref']}rooms SET ispermanent=? WHERE id=?");
	$stmt = new Statement("SELECT id FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispermanent IS NOT NULL ORDER BY ispermanent");
	$rs = $stmt->process();
	while($rec = $rs->next()) {
		$order_st->process($room_place, $rec['id']);
		$room_place++;
	}
}

//===========================================================================================
//UPDATING DB <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
//===========================================================================================

$stmt = new Statement("SELECT count(*) as maxnumb FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispermanent IS NOT NULL");
if(($rs = $stmt->process()) && ($rec = $rs->next())) $maxnumb = $rec['maxnumb'];

$stmt = new Statement("SELECT count(*) as rowcount FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE id > 0");
if(($rs = $stmt->process()) && ($rec = $rs->next())) $rowcount = $rec['rowcount']+1;

$stmt = new Statement("SELECT ispermanent FROM {$GLOBALS['fc_config']['db']['pref']}rooms ORDER BY ispermanent");
$rs = $stmt->process();
$row_nr = 1;
while($rec = $rs->next()) {
	if($rec['ispermanent']) $order_array[$row_nr] = $rec['ispermanent'];
	$row_nr++;
}

$stmt = new Statement("SELECT * FROM {$GLOBALS['fc_config']['db']['pref']}rooms ORDER BY ispermanent");
$rs = $stmt->process();

$rooms = array();
$row_nr = 1;
while($rec = $rs->next()) {
	$temp_room 			= array();
	$temp_room['id']		= $rec['id'];
	$temp_room['row_nr']		= $row_nr;
	$temp_room['name']		= $rec['name'];
	$temp_room['password']		= $rec['password'];
	$temp_room['ispublic'] 		= $rec['ispublic']?'checked':'';
	$temp_room['ispermanent'] 	= $rec['ispermanent']?'checked':'';
	$temp_room['public_id'] 	= $room_public_post.'['.$row_nr.']';
	$temp_room['permanent_id'] 	= $room_permanent_post.'['.$row_nr.']';
	$temp_room['permanent_change'] 	= "javascript: perm_change($row_nr);";
	$temp_room['delete_id'] 	= $room_delete_post.'['.$row_nr.']';
	$temp_room['hidden_id'] 	= $room_identification_post.'['.$row_nr.']';

	if(is_array($order_array)){
		foreach($order_array as $num => $order){
			$value = $room_option.'['.$row_nr.']'.'['.$num.']';
			$temp_room['ordersel'][$value] = $order;
		}
	}

	$row_nr++;
	array_push($rooms, $temp_room);
}

if ($_REQUEST['sort'] != 'none') {
	sort_table($_REQUEST['sort'], $rooms);
}

//Assign Smarty variables and load the admin template
$smarty->assign('room_name_post',$room_name_post);
$smarty->assign('room_password_post',$room_password_post);
$smarty->assign('room_permanent_post',$room_permanent_post);
$smarty->assign('room_public_post',$room_public_post);
$smarty->assign('room_order_post',$room_order_post);
$smarty->assign('room_option',$room_option);
$smarty->assign('room_identification_post',$room_identification_post);
$smarty->assign('room_delete_post',$room_delete_post);
$smarty->assign('room_option',$room_option);
$smarty->assign('rowcount',$rowcount);
$smarty->assign('max_order_post',$max_order_post);
$smarty->assign('maxnumb',$maxnumb);
$smarty->assign('rooms',$rooms);
$smarty->display('roomlist.tpl');

?>

⌨️ 快捷键说明

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