📄 utility_all.php
字号:
<?php
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 get_week( $STRING1 )
{
$STR = strtok( $STRING1, "-" );
$YEAR = $STR;
$STR = strtok( "-" );
$MONTH = $STR;
$STR = strtok( " " );
$DAY = $STR;
$TIME1 = mktime( 0, 0, 0, $MONTH, $DAY, $YEAR );
switch ( date( "w", $TIME1 ) )
{
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;
}
else if ( $YEAR1 < $YEAR2 )
{
return -1;
}
else if ( $MON2 < $MON1 )
{
return 1;
}
else if ( $MON1 < $MON2 )
{
return -1;
}
else if ( $DAY2 < $DAY1 )
{
return 1;
}
else if ( $DAY1 < $DAY2 )
{
return -1;
}
else
{
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;
}
else if ( $HOUR1 < $HOUR2 )
{
return -1;
}
else if ( $MIN2 < $MIN1 )
{
return 1;
}
else if ( $MIN1 < $MIN2 )
{
return -1;
}
else if ( $SEC2 < $SEC1 )
{
return 1;
}
else if ( $SEC1 < $SEC2 )
{
return -1;
}
else
{
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;
}
else 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;
}
else if ( compare_time( $DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1] ) == 0 )
{
return 0;
}
else
{
return -1;
}
}
else
{
return -1;
}
}
function upload( $ATTACHMENT, $ATTACHMENT_NAME )
{
$FB_STR1 = urldecode( $ATTACHMENT_NAME );
if ( strstr( $FB_STR1, "/" ) || strstr( $FB_STR1, "\\" ) )
{
message( "错误", "禁止上传此文件类型。" );
button_back( );
exit( );
}
$UPLOAD_MAX_FILESIZE = get_cfg_var( "upload_max_filesize" );
if ( $_FILES['ATTACHMENT']['size'] == 0 && $_FILES['ATTACHMENT1']['size'] == 0 )
{
message( "错误", "请勿上传空文件,请点击浏览按钮,选择一个正确的文件。" );
button_back( );
exit( );
}
$EXT_NAME = substr( $ATTACHMENT_NAME, -4 );
if ( stristr( $EXT_NAME, ".php" ) )
{
message( "错误", "PHP文件被禁止上传。" );
button_back( );
exit( );
}
if ( strstr( $ATTACHMENT_NAME, "'" ) )
{
message( "附件上传失败", "原因:附件文件名不能含有'号!" );
button_back( );
exit( );
}
if ( !file_exists( $ATTACHMENT ) )
{
message( "附件上传失败", "原因:附件文件为空或文件名太长,或附件大于 {$UPLOAD_MAX_FILESIZE} 字节,或文件路径不存在!" );
button_back( );
exit( );
}
mt_srand( ( double )microtime( ) * 1000000 );
$ATTACHMENT_ID = mt_rand( );
global $ATTACH_PATH;
$PATH = $ATTACH_PATH.$ATTACHMENT_ID;
if ( !file_exists( $PATH ) )
{
mkdir( $PATH, 448 );
}
$FILENAME = $PATH."/".$ATTACHMENT_NAME;
copy( $ATTACHMENT, $FILENAME );
unlink( $ATTACHMENT );
if ( !file_exists( $FILENAME ) )
{
message( "附件上传失败", "原因:附件文件为空或文件名太长,或附件大于 {$UPLOAD_MAX_FILESIZE} 字节,或文件路径不存在!" );
button_back( );
exit( );
}
return $ATTACHMENT_ID;
}
function delete_attach( $ATTACHMENT_ID, $ATTACHMENT_NAME )
{
global $ATTACH_PATH;
global $connection;
$PATH = $ATTACH_PATH.$ATTACHMENT_ID;
$FILENAME = $PATH."/".$ATTACHMENT_NAME;
if ( file_exists( $FILENAME ) )
{
unlink( $FILENAME );
rmdir( $PATH );
}
$ATTACHMENT_ID = $ATTACHMENT_ID * 3 + 2;
$query = "delete from ATTACHMENT_EDIT where ATTACHMENT_ID='{$ATTACHMENT_ID}'";
exequery( $connection, $query );
}
function attach_size( $ATTACHMENT_ID, $ATTACHMENT_NAME )
{
$ATTACH_SIZE = 0;
global $ATTACH_PATH;
$PATH = $ATTACH_PATH.$ATTACHMENT_ID;
$FILENAME = $PATH."/".$ATTACHMENT_NAME;
if ( file_exists( $FILENAME ) )
{
$ATTACH_SIZE = filesize( $FILENAME );
}
return $ATTACH_SIZE;
}
function copy_attach( $ATTACHMENT_ID, $ATTACHMENT_NAME )
{
global $ATTACH_PATH;
$ATTACHMENT_ID = ( $ATTACHMENT_ID - 2 ) / 3;
$PATH = $ATTACH_PATH.$ATTACHMENT_ID;
$FILENAME1 = $PATH."/".$ATTACHMENT_NAME;
mt_srand( ( double )microtime( ) * 1000000 );
$ATTACHMENT_ID = mt_rand( );
$PATH = $ATTACH_PATH.$ATTACHMENT_ID;
if ( !file_exists( $PATH ) )
{
mkdir( $PATH, 448 );
}
$FILENAME2 = $PATH."/".$ATTACHMENT_NAME;
copy( $FILENAME1, $FILENAME2 );
return $ATTACHMENT_ID;
}
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;
}
else
{
$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 == false )
{
$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 == false )
{
$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 )
{
return false;
}
}
return true;
}
function check_ip( $USER_IP, $TYPE, $USER_ID )
{
global $connection;
$query = "SELECT * 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 ) )
{
$FLAG = 1;
break;
}
}
if ( $RULE_COUNT == 0 || $FLAG == 1 )
{
return true;
}
else
{
return false;
}
}
function maskstr( $STR, $FIRST, $LAST )
{
if ( !is_numeric( $FIRST ) || !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 == 3 || $TYPE == 4 || $TYPE == 5 )
{
$query = "SELECT * 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}";
}
else if ( $TYPE == 6 || $TYPE == 7 || $TYPE == 8 || $TYPE == 11 )
{
$query = "SELECT * from USER where USER_ID='{$REMARK}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_ID = $ROW['USER_ID'];
$USER_NAME = $ROW['USER_NAME'];
$DEPT_ID = $ROW['DEPT_ID'];
}
$query = "SELECT * from DEPARTMENT where DEPT_ID='{$DEPT_ID}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$DEPT_NAME = $ROW['DEPT_NAME'];
}
$REMARK = "[{$DEPT_NAME}]{$USER_NAME},USER_ID={$USER_ID}";
}
$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 );
return $query;
}
function check_cfg( )
{
global $connection;
$query = "select * from CP_ASSETCFG";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$DPCT_SORT = $ROW['DPCT_SORT'];
$BAL_SORT = $ROW['BAL_SORT'];
}
if ( $DPCT_SORT != "M" && $DPCT_SORT != "S" && $DPCT_SORT != "Y" || $BAL_SORT != "01" && $BAL_SORT != "02" )
{
return false;
}
else
{
return true;
}
}
function is_dept_parent( $DEPT_ID, $PARENT_ID )
{
global $connection;
$query = "SELECT * from DEPARTMENT where DEPT_ID='{$DEPT_ID}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$DEPT_PARENT = $ROW['DEPT_PARENT'];
if ( $DEPT_PARENT == 0 )
{
return 0;
}
else if ( $DEPT_PARENT == $PARENT_ID )
{
return 1;
}
else
{
return is_dept_parent( $DEPT_PARENT, $PARENT_ID );
}
}
}
function is_dept_priv( $DEPT_ID )
{
global $LOGIN_USER_ID;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -