通达OA公共代码 php常用检测函数


Posted in PHP onDecember 14, 2011

check_type.php(使用类型检验函数)

<?php 
/*********************/ 
/* */ 
/* Version : 5.1.0 */ 
/* Author : RM */ 
/* Comment : 071223 */ 
/* */ 
/*********************/ 
function is_number( $str ) 
{ 
if ( substr( $str, 0, 1 ) == "-" ) 
{ 
$str = substr( $str, 1 ); 
} 
$length = strlen( $str ); 
$i = 0; 
for ( ; $i < $length; ++$i ) 
{ 
$ascii_value = ord( substr( $str, $i, 1 ) ); 
if ( 48 <= $ascii_value && $ascii_value <= 57 ) 
{ 
continue; 
} 
return FALSE; 
} 
if ( $str != "0" ) 
{ 
$str = intval( $str ); 
if ( $str == 0 ) 
{ 
return FALSE; 
} 
} 
return TRUE; 
} 
function is_decimal( $str ) 
{ 
if ( substr( $str, 0, 1 ) == "-" ) 
{ 
$str = substr( $str, 1 ); 
} 
$length = strlen( $str ); 
$i = 0; 
for ( ; $i < $length; ++$i ) 
{ 
$ascii_value = ord( substr( $str, $i, 1 ) ); 
if ( 0 < $i && $ascii_value == 46 || 48 <= $ascii_value && $ascii_value <= 57 ) 
{ 
continue; 
} 
return FALSE; 
} 
return TRUE; 
} 
function is_money( $str ) 
{ 
$dot_pos = strpos( $str, "." ); 
if ( !$dot_pos ) 
{ 
return FALSE; 
} 
$str1 = substr( $str, 0, $dot_pos ); 
if ( 14 < strlen( $str1 ) ) 
{ 
return FALSE; 
} 
if ( !is_number( $str1 ) ) 
{ 
return FALSE; 
} 
$str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos ); 
if ( strlen( $str2 ) != 2 ) 
{ 
return FALSE; 
} 
if ( !is_number( $str2 ) ) 
{ 
return FALSE; 
} 
return TRUE; 
} 
function is_money_len( $str, $int_len, $dot_len ) 
{ 
$dot_pos = strpos( $str, "." ); 
if ( !$dot_pos ) 
{ 
return FALSE; 
} 
$str1 = substr( $str, 0, $dot_pos ); 
if ( $int_len < strlen( $str1 ) ) 
{ 
return FALSE; 
} 
if ( !is_number( $str1 ) ) 
{ 
return FALSE; 
} 
$str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos ); 
if ( strlen( $str2 ) != $dot_len ) 
{ 
return FALSE; 
} 
if ( !is_number( $str2 ) ) 
{ 
return FALSE; 
} 
return TRUE; 
} 
function is_date( $str ) 
{ 
$YEAR = ""; 
$MONTH = ""; 
$DAY = ""; 
$len = strlen( $str ); 
$offset = 0; 
$i = strpos( $str, "-", $offset ); 
$YEAR = substr( $str, $offset, $i - $offset ); 
$offset = $i + 1; 
if ( $len < $offset ) 
{ 
return FALSE; 
} 
if ( $i ) 
{ 
$i = strpos( $str, "-", $offset ); 
$MONTH = substr( $str, $offset, $i - $offset ); 
$offset = $i + 1; 
if ( $len < $offset ) 
{ 
return FALSE; 
} 
if ( $i ) 
{ 
$DAY = substr( $str, $offset, $len - $offset ); 
} 
} 
if ( $YEAR == "" || $MONTH == "" || $DAY == "" ) 
{ 
return FALSE; 
} 
if ( !checkdate( intval( $MONTH ), intval( $DAY ), intval( $YEAR ) ) ) 
{ 
return FALSE; 
} 
return TRUE; 
} 
function is_time( $str ) 
{ 
$TEMP = ""; 
$HOUR = ""; 
$MIN = ""; 
$SEC = ""; 
$TEMP = strtok( $str, ":" ); 
$HOUR = $TEMP; 
if ( $HOUR == "" || 24 <= $HOUR || $HOUR < 0 || !is_number( $HOUR ) ) 
{ 
return FALSE; 
} 
$TEMP = strtok( ":" ); 
$MIN = $TEMP; 
if ( $MIN == "" || 60 <= $MIN || $MIN < 0 || !is_number( $MIN ) ) 
{ 
return FALSE; 
} 
$TEMP = strtok( ":" ); 
$SEC = $TEMP; 
if ( $SEC == "" || 60 <= $SEC || $SEC < 0 || !is_number( $SEC ) ) 
{ 
return FALSE; 
} 
return TRUE; 
} 
function is_date_time( $DATE_TIME_STR ) 
{ 
if ( $DATE_TIME_STR == NULL || strlen( $DATE_TIME_STR ) == 0 ) 
{ 
return FALSE; 
} 
$DATE_TIME_ARRY = explode( " ", $DATE_TIME_STR ); 
if ( is_date( $DATE_TIME_ARRY[0] ) && is_time( $DATE_TIME_ARRY[1] ) ) 
{ 
return TRUE; 
} 
return FALSE; 
} 
?>

auth.php登录验证
<?php 
/*********************/ 
/* */ 
/* Version : 5.1.0 */ 
/* Author : RM */ 
/* Comment : 071223 */ 
/* */ 
/*********************/ 
if ( $USER_ID == "" || $PASSWORD == "" ) 
{ 
echo "201#|#用户名或密码为空"; 
exit( ); 
} 
if ( $USER_ID != "OfficeTask" ) 
{ 
echo "205#|#用户名错误"; 
exit( ); 
} 
include_once( "../inc/conn.php" ); 
include_once( "../inc/utility.php" ); 
ob_end_clean( ); 
$query = "select * from EXT_USER where USER_ID='".$USER_ID."'"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$PWD = $ROW['PASSWORD']; 
$USE_FLAG = $ROW['USE_FLAG']; 
$AUTH_MODULE = $ROW['AUTH_MODULE']; 
$POSTFIX = $ROW['POSTFIX']; 
if ( md5( $PWD ) != $PASSWORD ) 
{ 
echo "203#|#密码错误"; 
exit( ); 
} 
if ( $USE_FLAG == "0" ) 
{ 
echo "204#|#帐号已停用"; 
exit( ); 
} 
} 
else 
{ 
echo "202#|#".$USER_ID; 
exit( ); 
} 
?>

utility_all公用函数
<?php 
/*********************/ 
/* */ 
/* Version : 5.1.0 */ 
/* Author : RM */ 
/* Comment : 071223 */ 
/* */ 
/*********************/ 
function format_date( $STRING1 ) 
{ 
$STRING1 = str_replace( "-0", "-", $STRING1 ); 
$STR = strtok( $STRING1, "-" ); 
$STRING2 = $STR."年"; 
$STR = strtok( "-" ); 
$STRING2 .= $STR."月"; 
$STR = strtok( " " ); 
$STRING2 .= $STR."日"; 
return $STRING2; 
} 
function format_date_short1( $STRING1 ) 
{ 
$STRING1 = str_replace( "-0", "-", $STRING1 ); 
$STR = strtok( $STRING1, "-" ); 
$STRING2 = $STR."年"; 
$STR = strtok( "-" ); 
$STRING2 .= $STR."月"; 
return $STRING2; 
} 
function format_date_short2( $STRING1 ) 
{ 
$STRING1 = str_replace( "-0", "-", $STRING1 ); 
$STR = strtok( $STRING1, "-" ); 
$STR = strtok( "-" ); 
$STRING2 .= $STR."月"; 
$STR = strtok( " " ); 
$STRING2 .= $STR."日"; 
return $STRING2; 
} 
function format_date_short3( $STRING1 ) 
{ 
$STRING1 = str_replace( "-0", "-", $STRING1 ); 
$STR = strtok( $STRING1, "-" ); 
$STRING2 .= $STR."年"; 
return $STRING2; 
} 
function format_date_number( $STRING1 ) 
{ 
$STRING1 = str_replace( "-0", "-", $STRING1 ); 
$STR = strtok( $STRING1, "-" ); 
$STRING2 = $STR; 
$STR = strtok( "-" ); 
$STRING2 .= strlen( $STR ) == 1 ? "0".$STR : $STR; 
$STR = strtok( " " ); 
$STRING2 .= strlen( $STR ) == 1 ? "0".$STR : $STR; 
return $STRING2; 
} 
function get_week( $STRING ) 
{ 
switch ( date( "w", strtotime( $STRING ) ) ) 
{ 
case 0 : 
return "日"; 
case 1 : 
return "一"; 
case 2 : 
return "二"; 
case 3 : 
return "三"; 
case 4 : 
return "四"; 
case 5 : 
return "五"; 
case 6 : 
return "六"; 
} 
} 
function format_money( $STR ) 
{ 
if ( $STR == "" ) 
{ 
return ""; 
} 
if ( $STR == ".00" ) 
{ 
return "0.00"; 
} 
$TOK = strtok( $STR, "." ); 
if ( strcmp( $STR, $TOK ) == "0" ) 
{ 
$STR .= ".00"; 
} 
else 
{ 
$TOK = strtok( "." ); 
$I = 1; 
for ( ; $I <= 2 - strlen( $TOK ); ++$I ) 
{ 
$STR .= "0"; 
} 
} 
if ( substr( $STR, 0, 1 ) == "." ) 
{ 
$STR = "0".$STR; 
} 
return $STR; 
} 
function compare_date( $DATE1, $DATE2 ) 
{ 
$STR = strtok( $DATE1, "-" ); 
$YEAR1 = $STR; 
$STR = strtok( "-" ); 
$MON1 = $STR; 
$STR = strtok( "-" ); 
$DAY1 = $STR; 
$STR = strtok( $DATE2, "-" ); 
$YEAR2 = $STR; 
$STR = strtok( "-" ); 
$MON2 = $STR; 
$STR = strtok( "-" ); 
$DAY2 = $STR; 
if ( $YEAR2 < $YEAR1 ) 
{ 
return 1; 
} 
if ( $YEAR1 < $YEAR2 ) 
{ 
return -1; 
} 
if ( $MON2 < $MON1 ) 
{ 
return 1; 
} 
if ( $MON1 < $MON2 ) 
{ 
return -1; 
} 
if ( $DAY2 < $DAY1 ) 
{ 
return 1; 
} 
if ( $DAY1 < $DAY2 ) 
{ 
return -1; 
} 
return 0; 
} 
function compare_time( $TIME1, $TIME2 ) 
{ 
$STR = strtok( $TIME1, ":" ); 
$HOUR1 = $STR; 
$STR = strtok( ":" ); 
$MIN1 = $STR; 
$STR = strtok( ":" ); 
$SEC1 = $STR; 
$STR = strtok( $TIME2, ":" ); 
$HOUR2 = $STR; 
$STR = strtok( ":" ); 
$MIN2 = $STR; 
$STR = strtok( ":" ); 
$SEC2 = $STR; 
if ( $HOUR2 < $HOUR1 ) 
{ 
return 1; 
} 
if ( $HOUR1 < $HOUR2 ) 
{ 
return -1; 
} 
if ( $MIN2 < $MIN1 ) 
{ 
return 1; 
} 
if ( $MIN1 < $MIN2 ) 
{ 
return -1; 
} 
if ( $SEC2 < $SEC1 ) 
{ 
return 1; 
} 
if ( $SEC1 < $SEC2 ) 
{ 
return -1; 
} 
return 0; 
} 
function compare_date_time( $DATE_TIME1, $DATE_TIME2 ) 
{ 
if ( $DATE_TIME1 == NULL || strlen( $DATE_TIME1 ) == 0 || $DATE_TIME2 == NULL || strlen( $DATE_TIME2 ) == 0 ) 
{ 
return -1; 
} 
$DATE_TIME1_ARRY = explode( " ", $DATE_TIME1 ); 
$DATE_TIME2_ARRY = explode( " ", $DATE_TIME2 ); 
if ( compare_date( $DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0] ) == 1 ) 
{ 
return 1; 
} 
if ( compare_date( $DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0] ) == 0 ) 
{ 
if ( compare_time( $DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1] ) == 1 ) 
{ 
return 1; 
} 
if ( compare_time( $DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1] ) == 0 ) 
{ 
return 0; 
} 
return -1; 
} 
return -1; 
} 
function is_chinese( &$str, $location ) 
{ 
$ch = TRUE; 
$i = $location; 
while ( 160 < ord( $str[$i] ) && 0 <= $i ) 
{ 
$ch = !$ch; 
--$i; 
} 
if ( $i != $location ) 
{ 
$f_str = $ch ? 1 : -1; 
return $f_str; 
} 
$f_str = FALSE; 
return $f_str; 
} 
function csubstr( &$str, $start = 0, $long = 0, $ltor = TRUE, $cn_len = 2 ) 
{ 
if ( $long == 0 ) 
{ 
$long = strlen( $str ); 
} 
if ( !$ltor ) 
{ 
$str = cstrrev( $str ); 
} 
if ( $cn_len == 1 ) 
{ 
$i = 0; 
$fs = 0; 
for ( ; $i < $start; ++$fs ) 
{ 
$i += ord( $str[$fs] ) <= 160 ? 1 : 0.5; 
} 
$i = 0; 
$fe = $fs; 
for ( ; $i < $long; ++$fe ) 
{ 
$i += ord( $str[$fe] ) <= 160 ? 1 : 0.5; 
} 
$long = $fe - $fs; 
} 
else 
{ 
$fs = is_chinese( &$str, $start ) == 1 ? $start - 1 : $start; 
$fe = $long + $start - 1; 
$end = is_chinese( &$str, $fe ) == -1 ? $fe - 1 : $fe; 
$long = $end - $fs + 1; 
} 
$f_str = substr( $str, $fs, $long ); 
if ( !$ltor ) 
{ 
$f_str = cstrrev( $f_str ); 
} 
return $f_str; 
} 
function is_ip( $IP ) 
{ 
$IP_ARRAY = explode( ".", $IP ); 
$IP_ARRAY_NUM = sizeof( $IP_ARRAY ); 
if ( $IP_ARRAY_NUM != 4 ) 
{ 
return FALSE; 
} 
$I = 0; 
for ( ; $I < $IP_ARRAY_NUM; ++$I ) 
{ 
if ( !is_numeric( $IP_ARRAY[$I] ) && $IP_ARRAY[$I] < 0 || 255 < $IP_ARRAY[$I] ) 
{ 
return FALSE; 
} 
if ( !( $I == 3 ) && !( $IP_ARRAY[$I] == 255 ) ) 
{ 
continue; 
} 
return FALSE; 
} 
return TRUE; 
} 
function check_ip( $USER_IP, $TYPE, $USER_ID ) 
{ 
global $connection; 
$query = "SELECT PARA_VALUE from SYS_PARA where PARA_NAME='IP_UNLIMITED_USER'"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$IP_UNLIMITED_USER = $ROW['PARA_VALUE']; 
} 
if ( find_id( $IP_UNLIMITED_USER, $USER_ID ) ) 
{ 
return TRUE; 
} 
$query = "select * from IP_RULE where TYPE='".$TYPE."'"; 
$cursor = exequery( $connection, $query ); 
$RULE_COUNT = 0; 
$FLAG = 0; 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
++$RULE_COUNT; 
$BEGIN_IP = $ROW['BEGIN_IP']; 
$END_IP = $ROW['END_IP']; 
if ( !( ip2long( $BEGIN_IP ) <= ip2long( $USER_IP ) ) && !( ip2long( $USER_IP ) <= ip2long( $END_IP ) ) ) 
{ 
continue; 
} 
$FLAG = 1; 
break; 
} 
if ( $RULE_COUNT == 0 || $FLAG == 1 ) 
{ 
return TRUE; 
} 
return FALSE; 
} 
function maskstr( $STR, $FIRST, $LAST ) 
{ 
if ( is_numeric( $FIRST ) ) 
{ 
} 
if ( !is_numeric( $LAST ) ) 
{ 
return; 
} 
if ( strlen( $STR ) <= $FIRST + $LAST ) 
{ 
return $STR; 
} 
$RETURN_STR = substr( $STR, 0, $FIRST ); 
$I = 0; 
for ( ; $I < strlen( substr( $STR, $FIRST, 0 - $LAST ) ); ++$I ) 
{ 
$RETURN_STR .= "*"; 
} 
$RETURN_STR .= substr( $STR, 0 - $LAST ); 
return $RETURN_STR; 
} 
function add_log( $TYPE, $REMARK, $OPERATOR ) 
{ 
global $connection; 
$CUR_TIME = date( "Y-m-d H:i:s", time( ) ); 
$USER_IP = get_client_ip( ); 
if ( $TYPE == 1 ) 
{ 
$query = "update USER set LAST_VISIT_IP='".$USER_IP."' where USER_ID='{$OPERATOR}'"; 
exequery( $connection, $query ); 
} 
else 
{ 
if ( $TYPE == 3 || $TYPE == 4 || $TYPE == 5 ) 
{ 
include_once( "inc/itask/itask.php" ); 
global $DEPT_PARENT; 
if ( $TYPE == 3 || $TYPE == 4 ) 
{ 
$result = itask( array( 
"LOG_".$TYPE." ".$REMARK.",".$DEPT_PARENT 
) ); 
} 
$query = "SELECT DEPT_ID,DEPT_NAME from DEPARTMENT where DEPT_ID='".$REMARK."'"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$DEPT_ID = $ROW['DEPT_ID']; 
$DEPT_NAME = $ROW['DEPT_NAME']; 
} 
$REMARK = "{$DEPT_NAME},DEPT_ID={$DEPT_ID},DEPT_PARENT={$DEPT_PARENT}"; 
if ( $result === FALSE ) 
{ 
message( "错误", itask_last_error( ) ); 
button_back( ); 
exit( ); 
} 
} 
else if ( $TYPE == 6 || $TYPE == 7 || $TYPE == 8 || $TYPE == 11 ) 
{ 
include_once( "inc/itask/itask.php" ); 
global $DEPT_ID; 
global $NOT_LOGIN; 
if ( $TYPE == 6 || $TYPE == 7 ) 
{ 
$result = itask( array( 
"LOG_".$TYPE." ".$REMARK.",".$DEPT_ID.",".$NOT_LOGIN 
) ); 
} 
$query = "SELECT USER_ID,USER_NAME,DEPT_ID from USER where find_in_set(USER_ID,'".$REMARK."')"; 
$cursor = exequery( $connection, $query ); 
$REMARK = ""; 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$USER_ID = $ROW['USER_ID']; 
$USER_NAME = $ROW['USER_NAME']; 
$DEPT_ID = $ROW['DEPT_ID']; 
$query = "SELECT DEPT_NAME from DEPARTMENT where DEPT_ID='".$DEPT_ID."'"; 
$cursor1 = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor1 ) ) 
{ 
$DEPT_NAME = $ROW['DEPT_NAME']; 
} 
$REMARK .= "[".$DEPT_NAME."]{$USER_NAME},USER_ID={$USER_ID}<br>"; 
} 
if ( $result === FALSE ) 
{ 
message( "错误", itask_last_error( ) ); 
button_back( ); 
exit( ); 
} 
} 
} 
$REMARK = str_replace( "'", "\\'", $REMARK ); 
$REMARK = str_replace( "\\\\'", "\\'", $REMARK ); 
$query = "insert into SYS_LOG (USER_ID,TIME,IP,TYPE,REMARK) values ('".$OPERATOR."','{$CUR_TIME}','{$USER_IP}','{$TYPE}','{$REMARK}')"; 
exequery( $connection, $query ); 
if ( 21 < $TYPE && !find_id( "40,41,", $TYPE ) || get_code_name( $TYPE, "SYS_LOG" ) == "" ) 
{ 
$query1 = "INSERT INTO `SYS_CODE` ( `CODE_NO` , `CODE_NAME` , `CODE_ORDER` , `PARENT_NO` , `CODE_FLAG` ) VALUES ('".$TYPE."', '未知类型', '99', 'SYS_LOG', '1');"; 
exequery( $connection, $query1 ); 
} 
return $query; 
} 
function affair_sms( ) 
{ 
include_once( "inc/utility_sms1.php" ); 
global $connection; 
global $LOGIN_USER_ID; 
$CUR_DATE = date( "Y-m-d", time( ) ); 
$CUR_TIME = date( "Y-m-d H:i:s", time( ) ); 
$query = "SELECT * from AFFAIR where USER_ID='".$LOGIN_USER_ID."' and BEGIN_TIME <='{$CUR_TIME}' and (LAST_REMIND<'{$CUR_DATE}' or LAST_REMIND='0000-00-00')"; 
$cursor = exequery( $connection, $query ); 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$AFF_ID = $ROW['AFF_ID']; 
$USER_ID = $ROW['USER_ID']; 
$TYPE = $ROW['TYPE']; 
$REMIND_DATE = $ROW['REMIND_DATE']; 
$REMIND_TIME = $ROW['REMIND_TIME']; 
$CONTENT = $ROW['CONTENT']; 
$SEND_TIME = date( "Y-m-d", time( ) )." ".$REMIND_TIME; 
$SMS_CONTENT = "日常事务提醒:".csubstr( &$CONTENT, 0, 100 ); 
$FLAG = 0; 
if ( $TYPE == "2" ) 
{ 
$FLAG = 1; 
} 
else if ( $TYPE == "3" && date( "w", time( ) ) == $REMIND_DATE ) 
{ 
$FLAG = 1; 
} 
else if ( $TYPE == "4" && date( "j", time( ) ) == $REMIND_DATE ) 
{ 
$FLAG = 1; 
} 
else if ( $TYPE == "5" ) 
{ 
$REMIND_ARR = explode( "-", $REMIND_DATE ); 
$REMIND_DATE_MON = $REMIND_ARR[0]; 
$REMIND_DATE_DAY = $REMIND_ARR[1]; 
if ( date( "n", time( ) ) == $REMIND_DATE_MON && date( "j", time( ) ) == $REMIND_DATE_DAY ) 
{ 
$FLAG = 1; 
} 
} 
if ( $FLAG == 1 ) 
{ 
send_sms( $SEND_TIME, $LOGIN_USER_ID, $LOGIN_USER_ID, 5, $SMS_CONTENT, "1:calendar/affair/note.php?AFF_ID=".$AFF_ID ); 
$query = "update AFFAIR set LAST_REMIND='".$CUR_DATE."' where AFF_ID='{$AFF_ID}'"; 
exequery( $connection, $query ); 
} 
} 
} 
function get_code_name( $CODE_NO, $PARENT_NO ) 
{ 
if ( $CODE_NO == "" || $PARENT_NO == "" ) 
{ 
return ""; 
} 
global $connection; 
$query = "SELECT CODE_NAME from SYS_CODE where PARENT_NO='".$PARENT_NO."' and find_in_set(CODE_NO,'{$CODE_NO}')"; 
$cursor = exequery( $connection, $query ); 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$CODE_NAME .= $ROW['CODE_NAME'].","; 
} 
return substr( $CODE_NAME, 0, -2 ); 
} 
function code_list( $PARENT_NO, $SELECTED = "", $TYPE = "D", $FIELD_NAME = "" ) 
{ 
if ( $PARENT_NO == "" ) 
{ 
return; 
} 
global $connection; 
$query = "select CODE_NO,CODE_NAME from SYS_CODE where PARENT_NO='".$PARENT_NO."' order by CODE_ORDER"; 
$cursor = exequery( $connection, $query ); 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$CODE_NO = $ROW['CODE_NO']; 
$CODE_NAME = $ROW['CODE_NAME']; 
if ( $TYPE == "D" ) 
{ 
$OPTION_STR .= "<option value=\"".$CODE_NO."\""; 
if ( $CODE_NO == $SELECTED ) 
{ 
$OPTION_STR .= " selected"; 
} 
$OPTION_STR .= ">".$CODE_NAME."</option>\n"; 
} 
else if ( $TYPE == "R" ) 
{ 
$OPTION_STR .= "<input type=\"radio\" name=\"".$FIELD_NAME."\" id=\"".$FIELD_NAME."_".$CODE_NO."\" value=\"".$CODE_NO."\""; 
if ( $CODE_NO == $SELECTED ) 
{ 
$OPTION_STR .= " checked"; 
} 
$OPTION_STR .= "><label for=\"".$FIELD_NAME."_".$CODE_NO."\">".$CODE_NAME."</label>\n"; 
} 
else if ( $TYPE == "C" ) 
{ 
$OPTION_STR .= "<input type=\"checkbox\" name=\"".$FIELD_NAME."_".$CODE_NO."\" id=\"".$FIELD_NAME."_".$CODE_NO."\" value=\"".$CODE_NO."\""; 
if ( find_id( $SELECTED, $CODE_NO ) ) 
{ 
$OPTION_STR .= " checked"; 
} 
$OPTION_STR .= "><label for=\"".$FIELD_NAME."_".$CODE_NO."\">".$CODE_NAME."</label>\n"; 
} 
} 
return $OPTION_STR; 
} 
function get_code_array( $PARENT_NO, $REVERSE = FALSE ) 
{ 
$CODE_ARRAY = array( ); 
if ( $PARENT_NO == "" ) 
{ 
return $CODE_ARRAY; 
} 
global $connection; 
$query = "select CODE_NO,CODE_NAME from SYS_CODE where PARENT_NO='".$PARENT_NO."' order by CODE_ORDER"; 
$cursor = exequery( $connection, $query ); 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$CODE_NO = $ROW['CODE_NO']; 
$CODE_NAME = $ROW['CODE_NAME']; 
if ( !$REVERSE ) 
{ 
$CODE_ARRAY[$CODE_NO] = $CODE_NAME; 
} 
else 
{ 
$CODE_ARRAY[$CODE_NAME] = $CODE_NO; 
} 
} 
return $CODE_ARRAY; 
} 
function sms_type_url( $SMS_TYPE, $CONTENT ) 
{ 
switch ( $SMS_TYPE ) 
{ 
case "0" : 
$URL = "/general/sms/receive/"; 
return $URL; 
case "1" : 
$URL = "/general/notify/show/"; 
return $URL; 
case "2" : 
$URL = "/general/email/inbox/?BOX_ID=0"; 
return $URL; 
case "3" : 
$URL = "/general/netmeeting/"; 
return $URL; 
case "4" : 
$URL = "/general/salary/report/"; 
return $URL; 
case "5" : 
$URL = "/general/calendar/"; 
return $URL; 
case "6" : 
if ( strstr( $CONTENT, "提交" ) && strstr( $CONTENT, "申请" ) && strstr( $CONTENT, "请批示" ) ) 
{ 
$URL = "/general/attendance/manage/"; 
return $URL; 
} 
$URL = "/general/attendance/personal/"; 
return $URL; 
case "7" : 
$URL = "/general/workflow/list"; 
return $URL; 
case "8" : 
$URL = "/general/meeting/manage/"; 
return $URL; 
case "9" : 
if ( strstr( $CONTENT, "提交" ) ) 
{ 
if ( strstr( $CONTENT, "申请" ) ) 
{ 
} 
} 
if ( strstr( $CONTENT, "请批示" ) || strstr( $CONTENT, "部门领导" ) && strstr( $CONTENT, "批准了" ) ) 
{ 
$URL = "/general/vehicle/checkup/"; 
return $URL; 
} 
if ( strstr( $CONTENT, "部门审批" ) ) 
{ 
$URL = "/general/vehicle/dept_manage/"; 
return $URL; 
} 
$URL = "/general/vehicle/"; 
return $URL; 
case "10" : 
$URL = "/general/mobile_sms/"; 
return $URL; 
case "11" : 
$URL = "/general/vote/show/"; 
return $URL; 
case "12" : 
$URL = "/general/work_plan/show/"; 
return $URL; 
case "13" : 
$URL = "/general/diary/"; 
return $URL; 
case "14" : 
$URL = "/general/news/show/"; 
return $URL; 
case "15" : 
$URL = "/general/score/submit/"; 
return $URL; 
case "16" : 
$URL = "/general/file_folder/index1.php"; 
return $URL; 
case "17" : 
$URL = "/general/netdisk"; 
return $URL; 
case "18" : 
$URL = "/general/bbs"; 
return $URL; 
case "20" : 
$URL = "/general/file_folder?FILE_SORT=2&SORT_ID=0"; 
return $URL; 
case "30" : 
$URL = "/general/training/manage/show"; 
return $URL; 
case "31" : 
if ( strstr( $CONTENT, "批准了" ) || strstr( $CONTENT, "未批准" ) || strstr( $CONTENT, "撤销了" ) ) 
{ 
$URL = "/general/training/train/apply/"; 
return $URL; 
} 
$URL = "/general/training/manage/apply_manage/"; 
return $URL; 
case "32" : 
$URL = "/general/training/train/survey/"; 
return $URL; 
case "33" : 
$URL = "/general/training/train/information/"; 
return $URL; 
case "34" : 
$URL = "/general/training/train/assessment/"; 
return $URL; 
case "35" : 
$URL = "/general/hrms/manage/"; 
} 
return $URL; 
} 
function avatar_size( $AVATAR ) 
{ 
global $ROOT_PATH; 
global $connection; 
global $AVATAR_WIDTH; 
global $AVATAR_HEIGHT; 
$FILENAME = $ROOT_PATH."images/avatar/".$AVATAR.".gif"; 
if ( !$AVATAR_WIDTH && !$AVATAR_HEIGHT ) 
{ 
$query = "SELECT AVATAR_WIDTH,AVATAR_HEIGHT from INTERFACE"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$AVATAR_WIDTH = $ROW['AVATAR_WIDTH']; 
$AVATAR_HEIGHT = $ROW['AVATAR_HEIGHT']; 
} 
} 
$IMG_ATTR = @getimagesize( $FILENAME ); 
if ( $AVATAR_WIDTH < $IMG_ATTR[0] ) 
{ 
$IMG_ATTR[0] = $AVATAR_WIDTH; 
} 
if ( $AVATAR_HEIGHT < $IMG_ATTR[1] ) 
{ 
$IMG_ATTR[1] = $AVATAR_HEIGHT; 
} 
if ( $IMG_ATTR[0] < 15 ) 
{ 
$IMG_ATTR[0] = 15; 
} 
if ( $IMG_ATTR[1] < 15 ) 
{ 
$IMG_ATTR[1] = 15; 
} 
return "width=\"".$IMG_ATTR['0']."\" height=\"{$IMG_ATTR['1']}\""; 
} 
function format_cvs( $STR ) 
{ 
$STR = str_replace( "\"", "", $STR ); 
$STR = str_replace( "\n", "", $STR ); 
$STR = str_replace( "\r", "", $STR ); 
$STR = str_replace( "'", "\\'", $STR ); 
if ( strpos( $STR, "," ) === FALSE ) 
{ 
return $STR; 
} 
$STR = "\"".$STR."\""; 
return $STR; 
} 
function keyed_str( $TXT, $ENCRYPT_KEY ) 
{ 
$ENCRYPT_KEY = md5( $ENCRYPT_KEY ); 
$CTR = 0; 
$TMP = ""; 
$I = 0; 
for ( ; $I < strlen( $TXT ); ++$I ) 
{ 
if ( $CTR == strlen( $ENCRYPT_KEY ) ) 
{ 
$CTR = 0; 
} 
$TMP .= substr( $TXT, $I, 1 ) ^ substr( $ENCRYPT_KEY, $CTR, 1 ); 
++$CTR; 
} 
return $TMP; 
} 
function encrypt_str( $TXT, $KEY ) 
{ 
srand( ( double )microtime( ) * 1000000 ); 
$ENCRYPT_KEY = md5( rand( 0, 32000 ) ); 
$CTR = 0; 
$TMP = ""; 
$I = 0; 
for ( ; $I < strlen( $TXT ); ++$I ) 
{ 
if ( $CTR == strlen( $ENCRYPT_KEY ) ) 
{ 
$CTR = 0; 
} 
$TMP .= substr( $ENCRYPT_KEY, $CTR, 1 ).( substr( $TXT, $I, 1 ) ^ substr( $ENCRYPT_KEY, $CTR, 1 ) ); 
++$CTR; 
} 
return keyed_str( $TMP, $KEY ); 
} 
function decrypt_str( $TXT, $KEY ) 
{ 
$TXT = keyed_str( $TXT, $KEY ); 
$TMP = ""; 
$I = 0; 
for ( ; $I < strlen( $TXT ); ++$I ) 
{ 
$MD5 = substr( $TXT, $I, 1 ); 
++$I; 
$TMP .= substr( $TXT, $I, 1 ) ^ $MD5; 
} 
return $TMP; 
} 
function get_client_ip( ) 
{ 
if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) ) 
{ 
$onlineip = getenv( "REMOTE_ADDR" ); 
return $onlineip; 
} 
if ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) ) 
{ 
$onlineip = $_SERVER['REMOTE_ADDR']; 
return $onlineip; 
} 
if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) ) 
{ 
$onlineip = getenv( "HTTP_CLIENT_IP" ); 
return $onlineip; 
} 
if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) ) 
{ 
$onlineip = getenv( "HTTP_X_FORWARDED_FOR" ); 
} 
return $onlineip; 
} 
function dept_long_name( $DEPT_ID ) 
{ 
global $SYS_DEPARTMENT; 
include_once( "inc/department.php" ); 
if ( is_array( $SYS_DEPARTMENT ) ) 
{ 
} 
if ( !array_key_exists( $DEPT_ID, $SYS_DEPARTMENT ) ) 
{ 
include_once( "inc/utility_org.php" ); 
cache_department( ); 
include( "inc/department.php" ); 
} 
return $SYS_DEPARTMENT[$DEPT_ID]['DEPT_LONG_NAME']; 
} 
function sms_remind( $SMS_TYPE, $SMS_CHECKED = "" ) 
{ 
global $connection; 
global $LOGIN_USER_ID; 
$query = "select * from SYS_PARA where PARA_NAME='SMS_REMIND'"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$PARA_VALUE = $ROW['PARA_VALUE']; 
} 
$REMIND_ARRAY = explode( "|", $PARA_VALUE ); 
$SMS_REMIND = $REMIND_ARRAY[0]; 
$SMS2_REMIND = $REMIND_ARRAY[1]; 
$SMS3_REMIND = $REMIND_ARRAY[2]; 
if ( find_id( $SMS3_REMIND, $SMS_TYPE ) ) 
{ 
echo "<input type=\"checkbox\" name=\"SMS_REMIND\" id=\"SMS_REMIND\""; 
if ( $SMS_CHECKED == "1" || find_id( $SMS_REMIND, $SMS_TYPE ) ) 
{ 
echo " checked"; 
} 
echo "><label for=\"SMS_REMIND\">使用内部短信提醒</label>  "; 
} 
$query = "select * from SMS2_PRIV"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$TYPE_PRIV = $ROW['TYPE_PRIV']; 
$SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV']; 
} 
if ( find_id( $TYPE_PRIV, $SMS_TYPE ) && find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) ) 
{ 
echo "<input type=\"checkbox\" name=\"SMS2_REMIND\" id=\"SMS2_REMIND\""; 
if ( find_id( $SMS2_REMIND, $SMS_TYPE ) ) 
{ 
echo " checked"; 
} 
echo "><label for=\"SMS2_REMIND\">使用手机短信提醒</label>"; 
} 
} 
function sms_select_remind( $SMS_TYPE, $SMS_CHECKED = "" ) 
{ 
return "<input type=\"radio\" name=\"SMS_SELECT_REMIND\" id=\"SMS_SELECT_REMIND0\" value=\"0\" onclick=\"document.getElementById('SMS_SELECT_REMIND_SPAN').style.display='';\"".( $SMS_CHECKED != "1" ? " checked" : "" )."><label for=\"SMS_SELECT_REMIND0\">手动选择被提醒人员</label>\r\n <input type=\"radio\" name=\"SMS_SELECT_REMIND\" id=\"SMS_SELECT_REMIND1\" value=\"1\" onclick=\"document.getElementById('SMS_SELECT_REMIND_SPAN').style.display='none';\"".( $SMS_CHECKED == "1" ? " checked" : "" )."><label for=\"SMS_SELECT_REMIND1\">提醒全部有权限人员</label><br>\r\n <span id=\"SMS_SELECT_REMIND_SPAN\">\r\n <textarea cols=40 name=\"SMS_SELECT_REMIND_TO_NAME\" rows=\"2\" class=\"BigStatic\" wrap=\"yes\" readonly></textarea>\r\n <input type=\"hidden\" name=\"SMS_SELECT_REMIND_TO_ID\" value=\"\">\r\n <a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectUser('','SMS_SELECT_REMIND_TO_ID', 'SMS_SELECT_REMIND_TO_NAME')\">添加</a>\r\n <a href=\"javascript:;\" class=\"orgClear\" onClick=\"ClearUser('SMS_SELECT_REMIND_TO_ID', 'SMS_SELECT_REMIND_TO_NAME')\">清空</a></span>"; 
} 
function sms2_select_remind( $SMS_TYPE, $SMS_CHECKED = "" ) 
{ 
global $connection; 
global $LOGIN_USER_ID; 
$query = "select * from SMS2_PRIV"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$TYPE_PRIV = $ROW['TYPE_PRIV']; 
$SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV']; 
} 
if ( find_id( $TYPE_PRIV, $SMS_TYPE ) && find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) ) 
{ 
return "<input type=\"radio\" name=\"SMS2_SELECT_REMIND\" id=\"SMS2_SELECT_REMIND0\" value=\"0\" onclick=\"document.getElementById('SMS2_SELECT_REMIND_SPAN').style.display='';\"".( $SMS_CHECKED != "1" ? " checked" : "" )."><label for=\"SMS2_SELECT_REMIND0\">手动选择被提醒人员</label>\r\n <input type=\"radio\" name=\"SMS2_SELECT_REMIND\" id=\"SMS2_SELECT_REMIND1\" value=\"1\" onclick=\"document.getElementById('SMS2_SELECT_REMIND_SPAN').style.display='none';\"".( $SMS_CHECKED == "1" ? " checked" : "" )."><label for=\"SMS2_SELECT_REMIND1\">提醒全部有权限人员</label><br>\r\n <span id=\"SMS2_SELECT_REMIND_SPAN\">\r\n <textarea cols=40 name=\"SMS2_SELECT_REMIND_TO_NAME\" rows=\"2\" class=\"BigStatic\" wrap=\"yes\" readonly></textarea>\r\n <input type=\"hidden\" name=\"SMS2_SELECT_REMIND_TO_ID\" value=\"\">\r\n <a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectUser('','SMS2_SELECT_REMIND_TO_ID', 'SMS2_SELECT_REMIND_TO_NAME')\">添加</a>\r\n <a href=\"javascript:;\" class=\"orgClear\" onClick=\"ClearUser('SMS2_SELECT_REMIND_TO_ID', 'SMS2_SELECT_REMIND_TO_NAME')\">清空</a></span>"; 
} 
} 
function page_bar( $current_start_item, $total_items, $page_size = 10, $var_name = "start", $script_href = NULL, $direct_print = FALSE ) 
{ 
if ( $current_start_item < 0 || $total_items < $current_start_item ) 
{ 
$current_start_item = 0; 
} 
if ( $script_href == NULL ) 
{ 
$script_href = $_SERVER['PHP_SELF']; 
} 
if ( $_SERVER['QUERY_STRING'] != "" ) 
{ 
$script_href .= "?".$_SERVER['QUERY_STRING']; 
} 
$script_href = preg_replace( "/^(.+)(\\?|&)TOTAL_ITEMS=[^&]+&?(.*)\$/i", "\$1\$2\$3", $script_href ); 
$script_href = preg_replace( "/^(.+)(\\?|&)PAGE_SIZE=[^&]+&?(.*)\$/i", "\$1\$2\$3", $script_href ); 
$script_href = preg_replace( "/^(.+)(\\?|&)".$var_name."=[^&]+&?(.*)\$/i", "\$1\$2\$3", $script_href ); 
if ( substr( $script_href, -1 ) == "&" || substr( $script_href, -1 ) == "?" ) 
{ 
$script_href = substr( $script_href, 0, -1 ); 
} 
$hyphen = strstr( $script_href, "?" ) === FALSE ? "?" : "&"; 
$num_pages = ceil( $total_items / $page_size ); 
$cur_page = floor( $current_start_item / $page_size ) + 1; 
$result_str .= "<script>function goto_page(){var page_no=parseInt(document.getElementById('page_no').value);if(isNaN(page_no)||page_no<1||page_no>".$num_pages."){alert(\"页数必须为1-".$num_pages."\");return;}window.location=\"".$script_href.$hyphen.$var_name."=\"+(page_no-1)*".$page_size."+\"&TOTAL_ITEMS=".$total_items."&PAGE_SIZE=".$page_size."\";} function input_page_no(){if(event.keyCode==13) goto_page();if(event.keyCode<47||event.keyCode>57) event.returnValue=false;}</script>"; 
$result_str .= "<div id=\"pageArea\" class=\"pageArea\">\n第<span id=\"pageNumber\" class=\"pageNumber\">".$cur_page."/".$num_pages."</span>页"; 
if ( $cur_page <= 1 ) 
{ 
$result_str .= "<a href=\"javascript:;\" id=\"pageFirst\" class=\"pageFirstDisable\" title=\"首页\"></a>\r\n <a href=\"javascript:;\" id=\"pagePrevious\" class=\"pagePreviousDisable\" title=\"上一页\"></a>"; 
} 
else 
{ 
$result_str .= "<a href=\"".$script_href.$hyphen.$var_name."=0&TOTAL_ITEMS=".$total_items."&PAGE_SIZE=".$page_size."\" id=\"pageFirst\" class=\"pageFirst\" title=\"首页\"></a>\r\n <a href=\"".$script_href.$hyphen.$var_name."=".( $current_start_item - $page_size )."&TOTAL_ITEMS=".$total_items."&PAGE_SIZE=".$page_size."\" id=\"pagePrevious\" class=\"pagePrevious\" title=\"上一页\"></a>"; 
} 
if ( $num_pages <= $cur_page ) 
{ 
$result_str .= "<a href=\"javascript:;\" id=\"pageNext\" class=\"pageNextDisable\" title=\"下一页\"></a>\r\n <a href=\"javascript:;\" id=\"pageLast\" class=\"pageLastDisable\" title=\"末页\"></a>"; 
} 
else 
{ 
$result_str .= "<a href=\"".$script_href.$hyphen.$var_name."=".( $current_start_item + $page_size )."&TOTAL_ITEMS=".$total_items."&PAGE_SIZE=".$page_size."\" id=\"pageNext\" class=\"pageNext\" title=\"下一页\"></a>\r\n <a href=\"".$script_href.$hyphen.$var_name."=".( 0 < $total_items % $page_size ? $total_items - $total_items % $page_size : $total_items - $page_size )."&TOTAL_ITEMS=".$total_items."&PAGE_SIZE=".$page_size."\" id=\"pageLast\" class=\"pageLast\" title=\"末页\"></a>"; 
} 
$result_str .= "转到 第 <input type=\"text\" size=\"3\" class=\"SmallInput\" name=\"page_no\" id=\"page_no\" onkeypress=\"input_page_no()\" style='text-align:center;'> 页 <a href=\"javascript:goto_page();\" id=\"pageGoto\" class=\"pageGoto\" title=\"转到\"></a>"; 
if ( $direct_print ) 
{ 
echo $result_str; 
} 
return $result_str; 
} 
function get_page_size( $MODULE, $DEFAULT_SIZE = 10 ) 
{ 
$PARA_ARRAY = get_sys_para( "PAGE_BAR_SIZE" ); 
$PAGE_SIZE_ARRAY = unserialize( $PARA_ARRAY['PAGE_BAR_SIZE'] ); 
$PAGE_SIZE = intval( $PAGE_SIZE_ARRAY[$MODULE] ); 
$PAGE_SIZE = 0 < $PAGE_SIZE ? $PAGE_SIZE : $DEFAULT_SIZE; 
return $PAGE_SIZE; 
} 
function send_mail( $FROM, $TO, $SUBJECT, $BODY, $SMTP_SERVER, $SMTP_USER, $SMTP_PASS, $SMTP_AUTH = TRUE, $FROM_NAME = "通达科技", $REPLY_TO = "", $CC = "", $BCC = "", $ATTACHMENT = "", $IS_HTML = TRUE, $SMTP_PORT = 25, $SMTPSecure = "" ) 
{ 
global $ATTACH_PATH2; 
include_once( "inc/phpmailer/class.phpmailer.php" ); 
include_once( "inc/utility_file.php" ); 
$mail = new PHPMailer( ); 
$mail->SetLanguage( "zh" ); 
$mail->IsSMTP( ); 
$mail->Host = $SMTP_SERVER; 
$mail->Port = $SMTP_PORT; 
$mail->SMTPAuth = $SMTP_AUTH; 
$mail->SMTPSecure = $SMTPSecure; 
$mail->Username = $SMTP_USER; 
$mail->Password = $SMTP_PASS; 
$mail->From = $FROM; 
$mail->FromName = $FROM_NAME; 
$mail->AddReplyTo( $FROM, $FROM_NAME ); 
$mail->WordWrap = 50; 
$mail->IsHTML( $IS_HTML ); 
$mail->Subject = $SUBJECT; 
$mail->Body = $BODY; 
$mail->AltBody = strip_tags( $BODY ); 
$TOK = strtok( $TO, "," ); 
while ( $TOK != "" ) 
{ 
$mail->AddAddress( $TOK ); 
$TOK = strtok( "," ); 
} 
$TOK = strtok( $CC, "," ); 
while ( $TOK != "" ) 
{ 
$mail->AddCC( $TOK ); 
$TOK = strtok( "," ); 
} 
$TOK = strtok( $BCC, "," ); 
while ( $TOK != "" ) 
{ 
$mail->AddBCC( $TOK ); 
$TOK = strtok( "," ); 
} 
$TOK = strtok( $ATTACHMENT, "*" ); 
while ( $TOK != "" ) 
{ 
$FILENAME = substr( $TOK, strrpos( $TOK, "/" ) + 1 ); 
if ( strtolower( substr( $TOK, 0, strlen( $ATTACH_PATH2 ) + strlen( attach_sub_dir( ) ) ) ) == strtolower( $ATTACH_PATH2 ).attach_sub_dir( ) ) 
{ 
$FILENAME = substr( $FILENAME, strpos( $FILENAME, "." ) + 1 ); 
} 
$mail->AddAttachment( $TOK, $FILENAME ); 
$TOK = strtok( "*" ); 
} 
if ( $mail->Send( ) ) 
{ 
return TRUE; 
} 
return $mail->ErrorInfo; 
} 
function send_email( $LOGIN_USER_ID, $FORM_EMAIL, $TO_EMAIL_STR, $EMAIL_CONTENT, $MAIL_TITLE ) 
{ 
global $connection; 
global $LOGIN_USER_NAME; 
$query = "SELECT * from WEBMAIL where EMAIL='".$FORM_EMAIL."' and USER_ID='{$LOGIN_USER_ID}'"; 
$cursor = exequery( $connection, $query ); 
if ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$POP_SERVER = $ROW['POP_SERVER']; 
$SMTP_SERVER = $ROW['SMTP_SERVER']; 
$LOGIN_TYPE = $ROW['LOGIN_TYPE']; 
$SMTP_PASS = $ROW['SMTP_PASS']; 
$SMTP_PORT = $ROW['SMTP_PORT']; 
$SMTP_SSL = $ROW['SMTP_SSL'] == "1" ? "ssl" : ""; 
$EMAIL_PASS = $ROW['EMAIL_PASS']; 
$EMAIL_PASS = decrypt_str( $EMAIL_PASS, "webmail" ); 
} 
return send_mail( $FORM_EMAIL, $TO_EMAIL_STR, $MAIL_TITLE, $EMAIL_CONTENT, $SMTP_SERVER, $FORM_EMAIL, $EMAIL_PASS, TRUE, $LOGIN_USER_NAME, "", "", "", "", TRUE, $SMTP_PORT, $SMTP_SSL ); 
} 
function unescape( $str ) 
{ 
$str = rawurldecode( $str ); 
preg_match_all( "/(?:%u.{4})|&#x.{4};|&#\\d+;|.+/U", $str, $r ); 
$ar = $r[0]; 
foreach ( $ar as $k => $v ) 
{ 
if ( substr( $v, 0, 2 ) == "%u" ) 
{ 
$ar[$k] = iconv( "UCS-2", ini_get( "default_charset" ), pack( "H4", substr( $v, -4 ) ) ); 
} 
else if ( substr( $v, 0, 3 ) == "&#x" ) 
{ 
$ar[$k] = iconv( "UCS-2", ini_get( "default_charset" ), pack( "H4", substr( $v, 3, -1 ) ) ); 
} 
else if ( substr( $v, 0, 2 ) == "&#" ) 
{ 
$ar[$k] = iconv( "UCS-2", ini_get( "default_charset" ), pack( "n", substr( $v, 2, -1 ) ) ); 
} 
} 
return str_replace( "\\\\", "\\", join( "", $ar ) ); 
} 
function flow_sort_tree( $SORT_ID, $SORT_CHOOSE ) 
{ 
include_once( "inc/utility_org.php" ); 
global $connection; 
global $DEEP_COUNT; 
global $LOGIN_USER_PRIV; 
global $LOGIN_DEPT_ID; 
global $LOGIN_USER_PRIV_OTHER; 
$query = "SELECT * from FLOW_SORT where SORT_PARENT=".$SORT_ID." order by SORT_NO"; 
$cursor = exequery( $connection, $query ); 
$OPTION_TEXT = ""; 
$DEEP_COUNT1 = $DEEP_COUNT; 
$DEEP_COUNT .= "│"; 
$COUNT = 0; 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
++$COUNT; 
$SORT_ID = $ROW['SORT_ID']; 
$SORT_NAME = $ROW['SORT_NAME']; 
$SORT_PARENT = $ROW['SORT_PARENT']; 
$HAVE_CHILD = $ROW['HAVE_CHILD']; 
$DEPT_ID = $ROW['DEPT_ID']; 
if ( $LOGIN_USER_PRIV != 1 && !find_id( $LOGIN_USER_PRIV_OTHER, 1 ) || $DEPT_ID != $LOGIN_DEPT_ID && $DEPT_ID != 0 && !is_dept_parent( $LOGIN_DEPT_ID, $DEPT_ID ) ) 
{ 
} 
else 
{ 
$SORT_NAME = htmlspecialchars( $SORT_NAME ); 
if ( $COUNT == mysql_num_rows( $cursor ) ) 
{ 
$DEEP_COUNT = substr( $DEEP_COUNT, 0, -2 )." "; 
} 
if ( $HAVE_CHILD == 1 ) 
{ 
$OPTION_TEXT_CHILD = flow_sort_tree( $SORT_ID, $SORT_CHOOSE ); 
} 
$OPTION_TEXT .= "<option "; 
if ( $SORT_ID == $SORT_CHOOSE ) 
{ 
$OPTION_TEXT .= "selected "; 
} 
if ( $COUNT == mysql_num_rows( $cursor ) ) 
{ 
$OPTION_TEXT .= "value=".$SORT_ID.">".$DEEP_COUNT1."└".$SORT_NAME."</option>\n"; 
} 
else 
{ 
$OPTION_TEXT .= "value=".$SORT_ID.">".$DEEP_COUNT1."├".$SORT_NAME."</option>\n"; 
} 
if ( !( $HAVE_CHILD != 0 ) && !( $OPTION_TEXT_CHILD != "" ) ) 
{ 
$OPTION_TEXT .= $OPTION_TEXT_CHILD; 
} 
} 
} 
$DEEP_COUNT = $DEEP_COUNT1; 
return $OPTION_TEXT; 
} 
function check_priv( $PRIV_STR ) 
{ 
global $LOGIN_DEPT_ID; 
global $LOGIN_USER_PRIV; 
global $LOGIN_USER_ID; 
$PRIV_ARRAY = explode( "|", $PRIV_STR ); 
if ( $PRIV_ARRAY[0] == "ALL_DEPT" || find_id( $PRIV_ARRAY[0], $LOGIN_DEPT_ID ) || find_id( $PRIV_ARRAY[1], $LOGIN_USER_PRIV ) || find_id( $PRIV_ARRAY[2], $LOGIN_USER_ID ) ) 
{ 
return TRUE; 
} 
return FALSE; 
} 
function CSV2Array( $content, $title = array( ), $delimiter = ",", $enclosure = "\"", $optional = 1 ) 
{ 
$content = trim( $content ); 
$content = str_replace( "\r", "", $content ); 
$csv_array = array( ); 
$expr_line = "/\\n(?=(?:[^".$enclosure."]*".$enclosure."[^".$enclosure."]*".$enclosure.")*(?![^".$enclosure."]*".$enclosure."))/"; 
$expr_field = "/".$delimiter."(?=(?:[^".$enclosure."]*".$enclosure."[^".$enclosure."]*".$enclosure.")*(?![^".$enclosure."]*".$enclosure."))/"; 
$lines = preg_split( $expr_line, trim( $content ) ); 
foreach ( $lines as $line ) 
{ 
$fields = preg_split( $expr_field, trim( $line ) ); 
$csv_array[] = preg_replace( array( "/\"(.*)\"\$/s", "/\"\"/s" ), array( "\$1", "\"" ), $fields ); 
} 
if ( !is_array( $title ) && count( $title ) == 0 || count( $csv_array ) == 0 ) 
{ 
return $csv_array; 
} 
$field_map = array( ); 
while ( list( $key, $value ) = each( &$title ) ) 
{ 
if ( ( $index = array_search( $key, $csv_array[0] ) ) !== FALSE ) 
{ 
$field_map[$value] = $index; 
} 
} 
$lines = array( ); 
$i = 1; 
for ( ; $i < count( $csv_array ); ++$i ) 
{ 
$line = array( ); 
reset( &$field_map ); 
while ( list( $key, $value ) = each( &$field_map ) ) 
{ 
$line[$key] = $csv_array[$i][$value]; 
} 
$lines[] = $line; 
} 
return $lines; 
} 
function add_sys_para( $PARA_ARRAY ) 
{ 
global $connection; 
while ( list( $PARA_NAME, $PARA_VALUE ) = each( &$PARA_ARRAY ) ) 
{ 
$query = "SELECT * from SYS_PARA where PARA_NAME='".$PARA_NAME."'"; 
$cursor = exequery( $connection, $query ); 
if ( mysql_num_rows( $cursor ) <= 0 ) 
{ 
$query = "insert into SYS_PARA (PARA_NAME, PARA_VALUE) values('".$PARA_NAME."', '{$PARA_VALUE}')"; 
exequery( $connection, $query ); 
} 
} 
} 
function get_sys_para( $PARA_NAME_STR ) 
{ 
global $connection; 
$PARA_ARRAY = array( ); 
$query = "SELECT * from SYS_PARA where find_in_set(PARA_NAME, '".$PARA_NAME_STR."')"; 
$cursor = exequery( $connection, $query ); 
while ( $ROW = mysql_fetch_array( $cursor ) ) 
{ 
$PARA_ARRAY[$ROW['PARA_NAME']] = $ROW['PARA_VALUE']; 
} 
return $PARA_ARRAY; 
} 
function set_sys_para( $PARA_ARRAY ) 
{ 
global $connection; 
while ( list( $PARA_NAME, $PARA_VALUE ) = each( &$PARA_ARRAY ) ) 
{ 
$query = "update SYS_PARA set PARA_VALUE='".$PARA_VALUE."' where PARA_NAME='{$PARA_NAME}'"; 
exequery( $connection, $query ); 
} 
} 
function menu_arrow( $DIRECTION = "DOWN" ) 
{ 
if ( stristr( $_SERVER['HTTP_USER_AGENT'], "MSIE" ) ) 
{ 
switch ( strtoupper( $DIRECTION ) ) 
{ 
case "LEFT" : 
return "<span style=\"font-family:Webdings\">3</span>"; 
case "RIGHT" : 
return "<span style=\"font-family:Webdings\">4</span>"; 
case "UP" : 
return "<span style=\"font-family:Webdings\">5</span>"; 
case "DOWN" : 
return "<span style=\"font-family:Webdings\">6</span>"; 
default : 
} 
else 
{ 
switch ( strtoupper( $DIRECTION ) ) 
{ 
case "LEFT" : 
return " <img src=\"/images/menu_arrow_left.gif\" align=\"absMiddle\">"; 
case "RIGHT" : 
return " <img src=\"/images/menu_arrow_right.gif\" align=\"absMiddle\">"; 
case "UP" : 
return " <img src=\"/images/menu_arrow_top.gif\" align=\"absMiddle\">"; 
case "DOWN" : 
return " <img src=\"/images/menu_arrow_down.gif\" align=\"absMiddle\">"; 
} 
} 
} 
} 
function netMatch( $network, $ip ) 
{ 
$network = trim( $network ); 
$ip = trim( $ip ); 
$d = strpos( $network, "-" ); 
if ( $d === FALSE ) 
{ 
$ip_arr = explode( "/", $network ); 
if ( !preg_match( "@\\d*\\.\\d*\\.\\d*\\.\\d*@", $ip_arr[0], $matches ) ) 
{ 
$ip_arr[0] .= ".0"; 
} 
$network_long = ip2long( $ip_arr[0] ); 
$x = ip2long( $ip_arr[1] ); 
$mask = long2ip( $x ) == $ip_arr[1] ? $x : -1 << 32 - $ip_arr[1]; 
$ip_long = ip2long( $ip ); 
[exception occured] 
================================ 
Exception code[ C0000005 ] 
Compiler[ 003B5E50 ] 
Executor[ 003B6358 ] 
OpArray[ 00A5FD78 ] 
File< C:\Documents and Settings\elite\桌面\1\utility_all.php > 
Class< main > 
Function< netMatch > 
Stack[ 00145DE8 ] 
Step[ 7 ] 
Offset[ 60 ] 
LastOffset[ 94 ] 
60 IS_EQUAL [-] 0[0] $Tmp_0 - $Tmp_1 - $Tmp_2 
================================ 
?>
PHP 相关文章推荐
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
php实现表单提交上传文件功能
May 28 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 #PHP
php中日期加减法运算实现代码
Dec 08 #PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 #PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 #PHP
PHP新手NOTICE错误常见解决方法
Dec 07 #PHP
PHPExcel读取Excel文件的实现代码
Dec 06 #PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 #PHP
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
php分页函数示例代码分享
2014/02/24 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
js实现点赞效果
2020/03/16 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
Python 中的with关键字使用详解
2016/09/11 Python
Python运算符重载详解及实例代码
2017/03/07 Python
python url 参数修改方法
2018/12/26 Python
django的csrf实现过程详解
2019/07/26 Python
Python实现AI换脸功能
2020/04/10 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
求职简历推荐信范文
2013/12/02 职场文书
化学教师教学反思
2014/01/17 职场文书
企业节能减排实施方案
2014/03/19 职场文书
临床护理求职信
2014/04/26 职场文书
怎样写离婚协议书
2014/09/10 职场文书
国富论读书笔记
2015/06/26 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang