param_oid=$param_oid
"; if($_SERVER['REQUEST_METHOD'] == "POST") { echo "coding_scheme_select=$coding_scheme_select
"; echo "network_name_text=$network_name_text
"; echo "ci_select=$ci_select
"; echo "time_update_option_select=$time_update_option_select
"; echo "time_zone_select=$time_zone_select
"; $network_name_7bit_vec=string8bitTo7bit($network_name_text); $network_name_7bit_hexlen=sizeof($network_name_7bit_vec); $network_name_7bit_hexlen=$global_len; $network_name_7bit_hexstr=""; for($i=0;$i<$network_name_7bit_hexlen;$i++) { $tmp=dechex($network_name_7bit_vec[$i]); $tmp=omc_keep_length($tmp,0,2); $network_name_7bit_hexstr.=$tmp; } $network_name_7bit_hexstr=omc_keep_length($network_name_7bit_hexstr,0,62,0); $tmp=dechex($network_name_7bit_hexlen); $tmp=omc_keep_length($tmp,0,2); $last_hex_value=$tmp; $spare_bit_num=strlen($network_name_text)%8; $byte3bin="1"; if($coding_scheme_select == 0) $byte3bin.="000"; else $byte3bin.="001"; if($ci_select == 1) $byte3bin.="1"; else $byte3bin.="0"; $spare_bit_num_bin=decbin($spare_bit_num); $spare_bit_num_bin=omc_keep_length($spare_bit_num_bin,0,3); $byte3bin.=$spare_bit_num_bin; $byte3hex=omc_keep_length(dechex(bindec($byte3bin)),0,2); $last_hex_value.=$byte3hex; $last_hex_value.=$network_name_7bit_hexstr; $time_update_option_hex=omc_keep_length(dechex($time_update_option_select),0,2); $time_zone_hex=omc_keep_length(dechex($time_zone_select),0,2); $daylight_savetime_hex=omc_keep_length(dechex($daylight_savetime_select),0,2); $last_hex_value.=$time_update_option_hex; $last_hex_value.=$time_zone_hex; $last_hex_value.=$daylight_savetime_hex; //echo "last_hex_value=$last_hex_value
"; $levels=getLevelWhere($param_oid); $updSql = "UPDATE OBJ_320.param_99 SET initValue='$last_hex_value' WHERE $levels and instanceNo='$instanceNo' "; mysqli_query($pubConn,$updSql); echo mysqli_error($pubConn); echo ""; echo "\n\n"; } $pubDb="OMC_PUB"; $mscTable="OBJ_320.param_99"; $levels=getLevelWhere($param_oid); $sql="SELECT * FROM $mscTable WHERE $levels AND instanceNo=$instanceNo"; $res=mysqli_query($pubConn,$sql); $rows=@mysqli_fetch_array($res); $initValue=$rows[initValue]; //$initValue="0484d4f29c0e0000000000000000000000000000000000000000000000000000000101"; $readValue=$rows[readValue]; //decode $byte3=substr($initValue,2,2); $byte3bin=decbin(hexdec($byte3)); $coding_scheme_value=bindec(substr($byte3bin,1,3)); $ci_value=bindec(substr($byte3bin,4,1)); $spare_bit_num=bindec(substr($byte3bin,5,3)); $network_name_len=hexdec(substr($initValue,0,2)); $network_name_value=substr($initValue,4,$network_name_len*2); $network_name_vec=string7bitTo8bit($network_name_value); $network_name_l=$global_len; if($spare_bit_num == 0 && $network_name_len != 0) $network_name_l++; //$network_name_l-=$network_name_l/8; $network_name_value=""; for($i=0;$i<$network_name_l;$i++) { $network_name_value.=chr($network_name_vec[$i]); } //echo "network_name_value=$network_name_value,$network_name_l"; //exit(); $time_update_option_value=hexdec(substr($initValue,66,2)); $time_zone_value=hexdec(substr($initValue,68,2)); $daylight_savetime_value=hexdec(substr($initValue,70,2)); /* echo "coding_scheme_value=$coding_scheme_value
"; echo "ci_value=$ci_value
"; echo "network_name_len=$network_name_len,network_name_value=$network_name_value
"; echo "time_update_option_value=$time_update_option_value
"; echo "time_zone_value=$time_zone_value
"; */ echo "
"; echo ""; //Coding Scheme echo ""; echo ""; echo ""; echo ""; //CI echo ""; echo ""; echo ""; echo ""; //Network name echo ""; echo ""; echo ""; echo ""; //Time update option echo ""; echo ""; echo ""; echo ""; //Time zone echo ""; echo ""; echo ""; echo ""; //Daylight Saving Time echo ""; echo ""; echo ""; echo ""; echo "
"; echo "Coding Scheme"; echo ""; echo ""; echo "
"; echo "Add CI"; echo ""; echo ""; echo "
Network Name"; echo ""; echo "
"; echo "Time Update Option"; echo ""; echo ""; echo "
"; echo "Time Zone"; echo ""; echo ""; echo "
"; echo "Daylight Saving Time"; echo ""; echo ""; echo "
"; echo "
Remark:

"; echo "Network Identity and Time Zone

"; echo "- Coding Scheme: Indicate that 7-bit or UCS2 coding scheme is used.
"; echo "- Add CI: Indicate whether the MS should add the letters for the Country's Initials to the text string.
"; echo "- Network Name: A text string is to pass to the MS via NITZ.
"; echo "- Time Update Option: Determine whether time and time zone info is transferred to MS via NITZ.
"; echo "- Time Zone: Specify the local time zone.
"; echo "
"; echo ""; echo "  "; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; $global_len=0; function string8bitTo7bit($strin) { global $global_len; $len=strlen($strin); if($len <= 0) return ""; $global_len=$len-floor($len/8);; for($i=0;$i<$len;$i++) { $inHex[$i]=ord($strin[$i]); switch($inHex[$i]) { //'@' case 64: $inHex[$i]=0x00; break; //'$' case 36: $inHex[$i]=0x02; break; //'_' case 95: $inHex[$i]=0x11; break; //'[' case 91: $inHex[$i]=0x28; break; //']' case 93: $inHex[$i]=0x29; break; //'/' case 47: $inHex[$i]=0x2f; break; //''' case 96: $inHex[$i]=0x27; break; //'{' case 123: $inHex[$i]=0x28; break; //'}' case 125: $inHex[$i]=0x29; break; case 0x82: $inHex[$i]=0x05; break; case 0x85: $inHex[$i]=0x7F; break; case 0x8A: $inHex[$i]=0x04; break; case 0x8D: $inHex[$i]=0x07; break; case 0x95: $inHex[$i]=0x08; break; case 0x97: $inHex[$i]=0x06; break; case 0x9D: $inHex[$i]=0x03; break; default: break; } } $n=0; $index=0; for($i=0;$i<=$len;$i++) { if($i<$len-1) { $mid1=$inHex[$i]+0; $mid2=$inHex[$i+1]+0; $cur=($mid1 >> $n) |(($mid2 << (7-$n)) & 0xff); } else { $mid1=$inHex[$i]; $cur=($mid1 >> $n) & 0xff; } $outHex[$index++]=$cur; echo "$cur "; $n=($n+1)%7; if($n==0 ) $i++; } //for($i=0;$i<$index;$i++) // $strout[$i]=chr($outHex[$i]); return $outHex; } function string7bitTo8bit($strin) { global $global_len; $len=strlen($strin); $ti=0; for($i=0;$i<$len;$i+=2) { $tmp=substr($strin,$i,2); $inHex[$ti]=hexdec($tmp); $ti++; } $global_len=$ti+floor($ti/8); $n=0; $j=0; for($i=0;$i <= $ti;) { if($i>0) { $mid1=$inHex[$i]; $mid2=$inHex[$i-1]; $cur=(($mid1 << $n) & 0x7f) |($mid2 >> (8-$n)); } else { $mid1=$inHex[$i] & 0x7f; $cur=$mid1; } $outHex[$j++] = $cur; $n =($n+1)%8; if($n!=0) $i++; } return $outHex; } ?>