mode = $mode, submode = $submode";
//key_led_num shape key_status key_src_page_type key_src_page_num dst_page_type dst_page_num point_x point_y width height remark update_time
//===========================================单个LED更新或添加=====================================================
//---------------------------更新-----------------------------
if($mode == 'edit' && isset($selected_led_num)){
$update_sql = "UPDATE $table_name
SET shape ='$shape',
key_src_page_type = '$src_page_type',
key_src_page_num = '$src_page_num',
dst_page_type = '$dst_page_type',
dst_page_num = '$dst_page_num',
point_x = '$point_x',
point_y = '$point_y',
remark = '$remark',
sync_from_led = '$src_led'
WHERE key_led_num ='$selected_led_num'
";
mysqli_query($pubConn,$update_sql);
if($DEBUG) echo "
update_sql = $update_sql";
echo mysqli_error($pubConn);
//---------------------------添加-----------------------------
}elseif($mode == 'add'){
$insert_sql = "INSERT INTO $table_name
(key_led_num,shape,key_status,key_src_page_type,key_src_page_num,dst_page_type,dst_page_num,point_x,point_y,width,height,remark)
VALUES
('$add_led_num','$shape','15','$src_page_type','$src_page_num','$dst_page_type','$dst_page_num','$point_x','$point_y','1','1','$remark')
";
if($DEBUG) echo "
$insert_sql";
mysqli_query($pubConn,$insert_sql);
echo mysqli_error($pubConn);
//==================================================批量LED更新============================================================
//--------------------------设置批量更新------------------------------
}elseif($mode == 'batch' && $submode == 'move'){
$move_x = $move_x -0;
$move_y = $move_y -0;
if($DEBUG) echo "
sel_src_page = $sel_src_page,sel_dst_page = $sel_dst_page,sel_shape = $sel_shape,sel_status = $sel_status";
$src_page_sql = ($sel_src_page == 'on')?" key_src_page_type = '$src_page_type', key_src_page_num = '$src_page_num', ":'';
$dst_page_sql = ($sel_dst_page == 'on')?" dst_page_type = '$dst_page_type', dst_page_num = '$dst_page_num', ":'';
$shape_sql = ($sel_shape == 'on')?" shape ='$shape', ":'';
$status_sql = ($sel_status == 'on')?" key_status ='$status', ":'';
$point_sql = "point_x = (point_x + $move_x), point_y = (point_y + $move_y) ";
$where_sql = "WHERE key_led_num >='$bgn_led' AND key_led_num <='$end_led'";
//-------更新原始表的状态数据-------
$update_sql = "UPDATE $table_name SET ".$src_page_sql.$dst_page_sql.$shape_sql.$status_sql.$point_sql.$where_sql;
mysqli_query($pubConn,$update_sql);
if($DEBUG) echo "
update_sql = $update_sql";
echo mysqli_error($pubConn);
//-----------更新内存表的LED状态----------
if($sel_status == 'on'){
//--更新内存表的状态数据---
$update_status_sql = "UPDATE sysLedStat
SET key_status='15151515151515151515151515151515'
WHERE if(key_led_num < '$divide_number',key_led_num >= FLOOR($bgn_led/16),key_led_num >= '$bgn_led')
AND if(key_led_num < '$divide_number',key_led_num <= FLOOR($end_led/16),key_led_num <= '$end_led')
";
mysqli_query($pubConn,$update_status_sql);
if($DEBUG) echo "
update_status_sql = $update_status_sql";
echo mysqli_error($pubConn);
//--标识共享内存---
//删除LED状态命令,如果命令5秒钟无响应,作为超时处理
//byte0:0/1/2/3=无命令/命令待处理/处理成功/处理失败
//byte1-4:待清除LED起始编号
//byte5-8:待清除LED结束编号
//注:LED灯编号为16进制字符,如果只删除一个LED,LED起止编号一样即可
//例如:“1000F000F”表示删除LED15
$shm_offset = 1;
$bgn_led_hex = dechex($bgn_led);
$bgn_led_hex = omc_keep_length($bgn_led_hex,0,4);
$end_led_hex = dechex($end_led);
$end_led_hex = omc_keep_length($end_led_hex,0,4);
$shm_value = '1'.$bgn_led_hex.$end_led_hex;
if($DEBUG) echo "
set:$shm_value";
$shm_result = omc_set_shm($shm_value,$shm_offset);
if($shm_result < 0){
echo "
Set LED(from $bgn_led to $end_led) fail,Please try again[can not write share memory]";
}else{
sleep(5);
$shm_count = 9;
$shm_result = omc_get_shm($shm_offset,$shm_count);
if($DEBUG) echo "
get:$shm_result";
$shm_result = substr($shm_result,0,1);
if($shm_result != '2'){
echo "
Set LED(from $bgn_led to $end_led) fail,Please try again[return error]";
}
}
}
//---------------------------间隔批量更新-----------------------------
}elseif($mode == 'batch' && $submode == 'mid'){
for($i = $bgn_led; $i < $end_led; $i++){
$update_sql = "UPDATE $table_name
SET point_x = '$bgn_x' ,
point_y = '$bgn_y'
WHERE key_led_num ='$i'
";
mysqli_query($pubConn,$update_sql);
if($DEBUG) echo "
update_sql = $update_sql";
echo mysqli_error($pubConn);
$bgn_x += $move_x;
$bgn_y += $move_y;
}
}
//==================================================LED列表显示============================================================
$offset = array(20480,20489,20577);
function get_page_id($page_type,$page_num,$offset){
if($page_type < 50){
$type_offset = $offset[$page_type];
switch($page_type){
case 0:
$page_type = "Map";
break;
case 1:
$page_type = "Center";
break;
case 2:
$page_type = "BSS";
break;
default:
$page_type = "unkown";
return($page_type);
}
$page_num = $page_num - $type_offset;
$page_id = $page_type.' - '.$page_num;
}else{
$sys_code = $page_type - 50;
$sys_type = omc_sys_code2type($sys_code);
//echo "
sys_type=$sys_type";
$sys_num = substr($page_num,0,2);
$subsys_num = substr($page_num,2,2);
$sys_id = $sys_type.$sys_num.'_'.$subsys_num;
$page_id = $sys_id;
}
return($page_id);
}
function get_status($status_num)
{
$status=array('blink gray','blink green','blink yellow','blink red','blink blue','blink umbra','blink white','not use','gray','green','yellow','red','blue','umbra','white','not use');
for($i=0;$i < sizeOf($status);$i++){
if($i == $status_num){
return($status[$i]);
}elseif($i == sizeOf($status)){
return('unkown');
}else{
continue;
}
}
}
//--------------------------- 初始化页面显示变量-----------------------------------------
if (!$number_of_records){
$initial_record = 0;//初始纪录号
$str_sql_all = "SELECT count(*) as number_of_records FROM $table_name";
if($DEBUG)echo "
str_sql_all = $str_sql_all";
$count_result = @mysqli_query($pubConn,$str_sql_all);
$count_record = @mysql_fetch_object($count_result);
$number_of_records = $count_record->number_of_records;
if(!$number_of_records){
echo "
$strNotFindRecord";
exit();
}
$all_page_num = ceil($number_of_records / $number_records_to_display); //总页码
}
$this_page_num = round($initial_record / $number_records_to_display)+1; //本页页码
//------------------------------下面是控制分页显示,传递变量------------------------------
if ($number_of_records >= 1) {
//下一页的开始编号
$next_index = $initial_record + $number_records_to_display;
if($next_index > $number_of_records){
$next_index = $number_of_records;
}
//上一页的开始编号
$prev_index = $initial_record - $number_records_to_display;
if ($prev_index < 0) {
$prev_index = 0;
}
}
//上一页连接图标
if ($initial_record != 0) {
$t1 = "all_page_num=$all_page_num&initial_record=$prev_index&number_of_records=$number_of_records";
$prev_img ="";
$prev_img .= "
";
}
//下一页连接图标
if ($next_index != $number_of_records && $number_of_records >0) {
$t2 = "all_page_num=$all_page_num&initial_record=$next_index&number_of_records=$number_of_records";
$next_img ="";
$next_img .="
";
}
$last_num_this_page = $next_index -1;
//--------------------------------列表显示-----------------------------------------------
echo "
| "; echo "Records:$initial_record - $last_num_this_page of $number_of_records, Page: $this_page_num "; echo " | "; echo "$prev_img $next_img"; //echo " | "; //echo "$strAddLED"; echo " | "; echo "$strBatchOfLEDDefineSetting"; echo " | "; echo "$strBatchOfLEDClearanceSetting"; echo " |