通达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 相关文章推荐
PHP调用MySQL的存储过程的实现代码
Aug 12 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
php实现把数组按指定的个数分隔
Feb 17 PHP
Yii使用find findAll查找出指定字段的实现方法
Sep 05 PHP
ucenter通信原理分析
Jan 09 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
详解PHP数组赋值方法
Nov 07 PHP
Yii快速入门经典教程
Dec 28 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
PHP实现微信申请退款功能
Oct 01 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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
php 多个submit提交表单 处理方法
2009/07/07 PHP
PHP高级OOP技术演示
2009/08/27 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
jQuery select控制插件
2009/08/17 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
原生js实现日期选择插件
2020/05/21 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
python读取中文txt文本的方法
2018/04/12 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
python 等差数列末项计算方式
2020/05/03 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
会计工作心得体会
2014/01/13 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
保护校园环境倡议书
2015/04/28 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
使用python创建股票的时间序列可视化分析
2022/03/03 Python
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python