checkA.php,PHP_通达OA公共代码 php常用检测函数,check_type.php(使用类型检验函数 - phpStudy...

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

check_type.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登录验证

复制代码 代码如下:

/*********************/

/* */

/* 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公用函数

复制代码 代码如下:

/*********************/

/* */

/* 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}
";

}

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

$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 .= "

if ( $CODE_NO == $SELECTED )

{

$OPTION_STR .= " selected";

}

$OPTION_STR .= ">".$CODE_NAME."

\n";

}

else if ( $TYPE == "R" )

{

$OPTION_STR .= "

if ( $CODE_NO == $SELECTED )

{

$OPTION_STR .= " checked";

}

$OPTION_STR .= ">".$CODE_NAME."\n";

}

else if ( $TYPE == "C" )

{

$OPTION_STR .= "

if ( find_id( $SELECTED, $CODE_NO ) )

{

$OPTION_STR .= " checked";

}

$OPTION_STR .= ">".$CODE_NAME."\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 "

if ( $SMS_CHECKED == "1" || find_id( $SMS_REMIND, $SMS_TYPE ) )

{

echo " checked";

}

echo ">使用内部短信提醒 ";

}

$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 "

if ( find_id( $SMS2_REMIND, $SMS_TYPE ) )

{

echo " checked";

}

echo ">使用手机短信提醒";

}

}

function sms_select_remind( $SMS_TYPE, $SMS_CHECKED = "" )

{

return "手动选择被提醒人员\r\n 提醒全部有权限人员
\r\n \r\n \r\n \r\n 添加\r\n 清空";

}

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 "手动选择被提醒人员\r\n 提醒全部有权限人员
\r\n \r\n \r\n \r\n 添加\r\n 清空";

}

}

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 .= "";

$result_str .= "

\n第 ".$cur_page."/".$num_pages."页";

if ( $cur_page <= 1 )

{

$result_str .= "\r\n ";

}

else

{

$result_str .= "\r\n ";

}

if ( $num_pages <= $cur_page )

{

$result_str .= "\r\n ";

}

else

{

$result_str .= "\r\n ";

}

$result_str .= "转到 第 页 ";

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})|.{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 ) == "" )

{

$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 .= "

if ( $SORT_ID == $SORT_CHOOSE )

{

$OPTION_TEXT .= "selected ";

}

if ( $COUNT == mysql_num_rows( $cursor ) )

{

$OPTION_TEXT .= "value=".$SORT_ID.">".$DEEP_COUNT1."└".$SORT_NAME."

\n";

}

else

{

$OPTION_TEXT .= "value=".$SORT_ID.">".$DEEP_COUNT1."├".$SORT_NAME."\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 "3";

case "RIGHT" :

return "4";

case "UP" :

return "5";

case "DOWN" :

return "6";

default :

}

else

{

switch ( strtoupper( $DIRECTION ) )

{

case "LEFT" :

return " menu_arrow_left.gif%5C%22";

case "RIGHT" :

return " menu_arrow_right.gif%5C%22";

case "UP" :

return " menu_arrow_top.gif%5C%22";

case "DOWN" :

return " menu_arrow_down.gif%5C%22";

}

}

}

}

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

================================

?>相关阅读:

Javascript Function对象扩展之延时执行函数

重新考虑你的Exchange存储群组问题

Windows 2003域服务器在迁移过程中的设置

Windows7 新功能 多点触摸和跳跃菜单

jquery 学习之二 属性相关

Ajax异步(请求)提交类 支持跨域

虚拟机中RH9 2.4内核升级为2.6内核方法

MySQL里面的子查询实例

Access的最大容量

Web服务器控件:CheckBox控件

修复Linux、Windows双系统中Grub的损坏

PHP基础学习小结

使用c#构造date数据类型

php array_walk() 数组函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
closeOutput是一个函数,用于关闭指定的音频输出。在函数内部,首先获取要关闭的输出的描述符,然后调用mPolicyMixes.closeOutput()关闭与该输出相关的策略混音。接下来,调用outputDesc->close()关闭输出描述符,并从输出列表移除该输出。最后,更新输出列表并返回。\[1\] 在引用\[2\]提到,当使用完一个输入或输出流后,直接关闭流会导致socket也被关闭。正确的关闭方法是调用socket的closeInput/closeOutput方法来关闭流,这样可以避免socket被关闭的问题。因此,在关闭音频输出时,也需要注意避免关闭与该输出相关的其他资源,以确保系统的正常运行。 引用\[3\]提到的一系列函数,可能是在关闭音频输出时的相关操作。其,setDeviceConnectionStateInt用于注册新设备到可用的输出设备列表,并绑定其硬件模块;broadcastDeviceConnectionState用于广播连接事件,以允许硬件抽象层在新连接的设备上检索动态参数;checkOutputsForDevice用于检查设备支持的配置文件,并打开输出以更新参数;checkA2dpSuspend用于检查A2DP连接状态;checkOutputForAllStrategies用于检查所有音频策略,并将不一致的输出与相应的音轨置为无效;updateDevicesAndOutputs用于更新设备和输出列表;setOutputDevice用于设置输出设备。 综上所述,closeOutput函数是用于关闭指定音频输出的函数,它会关闭与该输出相关的资源,并更新输出列表。在关闭输出时,需要注意避免关闭与该输出相关的其他资源,以确保系统的正常运行。 #### 引用[.reference_title] - *1* *3* [Android 音频源码分析——音频设备切换(插入耳机)](https://blog.csdn.net/VNanyesheshou/article/details/117234290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [socket输入输出的关闭方式](https://blog.csdn.net/zz880329/article/details/7463925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值