📄 roomlist.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 + -