📄 utility_all.php
字号:
}
if ( $PARENT != "极限科技" )
{
exit( );
}
switch ( $CODE )
{
case "m_code" :
$M_CODE = $_ENV['PROCESSOR_REVISION'];
$M_CODE .= disk_total_space( "/" );
$M_CODE = strrev( substr( md5( $M_CODE ), 0, 10 ) );
return $M_CODE;
case "r_c0de1" :
$R_CODE1 = md5( $M_CODE );
$R_CODE1 = md5( $R_CODE1 );
$I = 0;
for ( ; $I < strlen( $R_CODE1 ); ++$I )
{
$STR = substr( $R_CODE1, $I, 1 );
$R_CODE2 .= ord( $STR ) + 5;
}
$R_CODE2 = strrev( ( substr( $R_CODE2, 0, 5 ).substr( $R_CODE2, -5 ) ) * 2 );
$R_CODE2 = substr( $R_CODE2, -5 ).substr( $R_CODE2, 0, 5 );
$R_CODE2 = str_replace( "4", "1", $R_CODE2 );
return $R_CODE2;
case "r_c0de2" :
$R_CODE1 = md5( $M_CODE );
$R_CODE1 = md5( $R_CODE1 );
$I = 0;
for ( ; $I < strlen( $R_CODE1 ); ++$I )
{
$STR = substr( $R_CODE1, $I, 1 );
$R_CODE2 .= ord( $STR ) + 1;
}
$R_CODE2 = strrev( substr( $R_CODE2, 0, 5 ).substr( $R_CODE2, -5 ) );
$R_CODE2 = substr( $R_CODE2, -7 ).substr( $R_CODE2, 0, 3 );
$R_CODE2 = str_replace( "4", "3", $R_CODE2 );
return $R_CODE2;
case "c_code" :
$R_CODE = $M_CODE;
$M_CODE = get_code_n0( "m_code", $TD_MYOA_COMPANY_NAME, "" );
if ( $R_CODE == get_code_n0( "r_c0de1", $TD_MYOA_COMPANY_NAME, $M_CODE ) )
{
return "NO1";
}
else if ( $R_CODE == get_code_n0( "r_c0de2", $TD_MYOA_COMPANY_NAME, $M_CODE ) )
{
return "NO2";
}
else
{
return "NO0";
}
case "w_code" :
global $ROOT_PATH;
$W_PATH = $ROOT_PATH."inc/myoa.php";
$fp = fopen( $W_PATH, "w" );
fputs( $fp, "{$M_CODE}\n" );
fclose( $fp );
break;
case "is_code" :
global $ROOT_PATH;
$W_PATH = $ROOT_PATH."inc/myoa.php";
if ( file_exists( $W_PATH ) )
{
$LINES = file( $W_PATH );
$R_CODE = substr( $LINES[0], 0, -1 );
return get_code_n0( "c_code", $TD_MYOA_COMPANY_NAME, $R_CODE );
}
else
{
return "NO0";
}
}
}
function code_list( $PARENT_NO, $SELECTED )
{
global $connection;
$query = "select * 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'];
$OPTION_STR .= "<option value=\"".$CODE_NO."\"";
if ( $CODE_NO == $SELECTED )
{
$OPTION_STR .= " selected";
}
$OPTION_STR .= ">".$CODE_NAME."</option>\n";
}
return $OPTION_STR;
}
function sms_type_url( $SMS_TYPE, $CONTENT )
{
switch ( $SMS_TYPE )
{
case "0" :
$URL = "/general/sms/receive/";
break;
case "1" :
$URL = "/general/notify/show/";
break;
case "2" :
$URL = "/general/email/inbox/?BOX_ID=0";
break;
case "3" :
$URL = "/general/netmeeting/";
break;
case "4" :
$URL = "/general/salary/report/";
break;
case "5" :
$URL = "/general/calendar/";
break;
case "6" :
if ( strstr( $CONTENT, "提交" ) && strstr( $CONTENT, "申请" ) && strstr( $CONTENT, "请批示" ) )
{
$URL = "/general/attendance/manage/";
}
else
{
$URL = "/general/attendance/personal/";
}
break;
case "7" :
$URL = "/general/workflow/list";
break;
case "8" :
$URL = "/general/meeting/manage/";
break;
case "9" :
if ( strstr( $CONTENT, "提交" ) && strstr( $CONTENT, "申请" ) && strstr( $CONTENT, "请批示" ) )
{
$URL = "/general/vehicle/checkup/";
}
else
{
$URL = "/general/vehicle/";
}
break;
case "10" :
$URL = "/general/mobile_sms/";
break;
case "11" :
$URL = "/general/vote/show/";
break;
case "12" :
$URL = "/general/work_plan/show/";
break;
case "13" :
$URL = "/general/diary/";
break;
case "14" :
$URL = "/general/news/show/";
break;
case "15" :
$URL = "/general/score/submit/";
break;
case "16" :
$URL = "/general/file_folder/index1.php";
break;
case "17" :
$URL = "/general/netdisk";
break;
case "18" :
$URL = "/general/bbs";
}
return $URL;
}
function full_path( $SORT_ID )
{
if ( $SORT_ID == 0 )
{
return;
}
global $connection;
$query = "SELECT * from FILE_SORT where SORT_ID={$SORT_ID}";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$SORT_PARENT = $ROW['SORT_PARENT'];
$SORT_NAME = $ROW['SORT_NAME'];
}
return full_path( $SORT_PARENT )."/".$SORT_NAME;
}
function avatar_size( $AVATAR )
{
global $ROOT_PATH;
global $connection;
$FILENAME = $ROOT_PATH."images/avatar/".$AVATAR.".gif";
$query = "SELECT * 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 login_check( $USERNAME, $PASSWORD )
{
global $connection;
session_start( );
ob_start( );
$USER_IP = get_client_ip( );
$query = "SELECT * from SYS_PARA where PARA_NAME='SEC_PASS_FLAG' or PARA_NAME='SEC_PASS_TIME' or PARA_NAME='SEC_RETRY_BAN' or PARA_NAME='SEC_RETRY_TIMES' or PARA_NAME='SEC_BAN_TIME'";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$PARA_NAME = $ROW['PARA_NAME'];
$PARA_VALUE = $ROW['PARA_VALUE'];
if ( $PARA_NAME == "SEC_PASS_FLAG" )
{
$SEC_PASS_FLAG = $PARA_VALUE;
}
else if ( $PARA_NAME == "SEC_PASS_TIME" )
{
$SEC_PASS_TIME = $PARA_VALUE;
}
else if ( $PARA_NAME == "SEC_RETRY_BAN" )
{
$SEC_RETRY_BAN = $PARA_VALUE;
}
else if ( $PARA_NAME == "SEC_RETRY_TIMES" )
{
$SEC_RETRY_TIMES = $PARA_VALUE;
}
else if ( $PARA_NAME == "SEC_BAN_TIME" )
{
$SEC_BAN_TIME = $PARA_VALUE;
}
}
$LOGIN_RETRY_COUNT = $_COOKIE['LOGIN_RETRY_COUNT'];
if ( $SEC_RETRY_BAN == "1" && $SEC_RETRY_TIMES <= $LOGIN_RETRY_COUNT )
{
return "用户名或密码错误超过 {$SEC_RETRY_TIMES} 次,请等待".$SEC_BAN_TIME."分钟后重试!";
}
if ( !check_ip( $USER_IP, "0", $USERNAME ) )
{
add_log( 9, "USERNAME={$USERNAME}", $USERNAME );
if ( $SEC_RETRY_BAN == "1" )
{
++$LOGIN_RETRY_COUNT;
setcookie( "LOGIN_RETRY_COUNT", $LOGIN_RETRY_COUNT, time( ) + $SEC_BAN_TIME * 60 );
}
return "您无权限从该IP(".$USER_IP.")登录!";
}
$query = "SELECT * from USER where USER_ID='{$USERNAME}' or BYNAME='{$USERNAME}'";
$cursor = exequery( $connection, $query );
if ( !( $ROW = mysql_fetch_array( $cursor ) ) )
{
add_log( 10, "USERNAME={$USERNAME}", $USERNAME );
if ( $SEC_RETRY_BAN == "1" )
{
++$LOGIN_RETRY_COUNT;
setcookie( "LOGIN_RETRY_COUNT", $LOGIN_RETRY_COUNT, time( ) + $SEC_BAN_TIME * 60 );
}
return "用户名或密码错误,注意大小写!";
}
$USER_ID = $ROW['USER_ID'];
$BYNAME = $ROW['BYNAME'];
$USER_NAME = $ROW['USER_NAME'];
if ( $USERNAME != $USER_ID && $USERNAME != $BYNAME || $USERNAME == "" )
{
add_log( 10, "USERNAME={$USERNAME}", $USERNAME );
if ( $SEC_RETRY_BAN == "1" )
{
++$LOGIN_RETRY_COUNT;
setcookie( "LOGIN_RETRY_COUNT", $LOGIN_RETRY_COUNT, time( ) + $SEC_BAN_TIME * 60 );
}
return "用户名或密码错误,注意大小写!";
}
$PWD = $ROW['PASSWORD'];
$NOT_LOGIN = $ROW['NOT_LOGIN'];
if ( $NOT_LOGIN )
{
if ( $SEC_RETRY_BAN == "1" )
{
++$LOGIN_RETRY_COUNT;
setcookie( "LOGIN_RETRY_COUNT", $LOGIN_RETRY_COUNT, time( ) + $SEC_BAN_TIME * 60 );
}
return "用户".$USERNAME."被设定为禁止登录!";
}
if ( crypt( $PASSWORD, $PWD ) != $PWD )
{
$ERROR_PWD = maskstr( $PASSWORD, 2, 1 );
add_log( 2, $ERROR_PWD, $USER_ID );
if ( $SEC_RETRY_BAN == "1" )
{
++$LOGIN_RETRY_COUNT;
setcookie( "LOGIN_RETRY_COUNT", $LOGIN_RETRY_COUNT, time( ) + $SEC_BAN_TIME * 60 );
}
return "用户名或密码错误,注意大小写!";
}
global $LOGIN_USER_ID;
global $LOGIN_BYNAME;
global $LOGIN_USER_NAME;
global $LOGIN_USER_PRIV;
global $LOGIN_DEPT_ID;
global $LOGIN_AVATAR;
global $LOGIN_THEME;
global $LOGIN_FUNC_STR;
global $LOGIN_NOT_VIEW_USER;
$LOGIN_USER_PRIV = $ROW['USER_PRIV'];
$USER_PRIV_OTHER = $ROW['USER_PRIV_OTHER'];
$LOGIN_AVATAR = $ROW['AVATAR'];
$LOGIN_DEPT_ID = $ROW['DEPT_ID'];
$LAST_PASS_TIME = $ROW['LAST_PASS_TIME'];
$LOGIN_THEME = $ROW['THEME'];
$LOGIN_NOT_VIEW_USER = $ROW['NOT_VIEW_USER'];
if ( $LOGIN_THEME == "" )
{
$LOGIN_THEME = "1";
}
if ( !find_id( $USER_PRIV_OTHER, $LOGIN_USER_PRIV ) )
{
$USER_PRIV_OTHER .= $LOGIN_USER_PRIV.",";
}
$LOGIN_FUNC_STR = "";
$TOK = strtok( $USER_PRIV_OTHER, "," );
while ( $TOK != "" )
{
$query1 = "SELECT * from USER_PRIV where USER_PRIV='{$TOK}'";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$FUNC_STR = $ROW['FUNC_ID_STR'];
$MY_ARRAY = explode( ",", $FUNC_STR );
$ARRAY_COUNT = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
if ( !find_id( $LOGIN_FUNC_STR, $MY_ARRAY[$I] ) )
{
$LOGIN_FUNC_STR .= $MY_ARRAY[$I].",";
}
}
}
$TOK = strtok( "," );
}
$LOGIN_USER_ID = $USER_ID;
$LOGIN_BYNAME = $BYNAME;
$LOGIN_USER_NAME = $USER_NAME;
session_register( "LOGIN_USER_ID" );
session_register( "LOGIN_BYNAME" );
session_register( "LOGIN_USER_NAME" );
session_register( "LOGIN_USER_PRIV" );
session_register( "LOGIN_DEPT_ID" );
session_register( "LOGIN_AVATAR" );
session_register( "LOGIN_THEME" );
session_register( "LOGIN_FUNC_STR" );
session_register( "LOGIN_NOT_VIEW_USER" );
setcookie( "USER_NAME_COOKIE", $USERNAME, time( ) + 86400000 );
setcookie( "OA_USER_ID", $LOGIN_USER_ID );
if ( $SEC_PASS_FLAG == "1" && $SEC_PASS_TIME * 24 * 3600 <= time( ) - strtotime( $LAST_PASS_TIME ) )
{
header( "location: /general/pass.php" );
exit( );
}
add_log( 1, "", $LOGIN_USER_ID );
affair_sms( );
return "1";
}
function format_cvs( $STR )
{
$STR = str_replace( "\"", "", $STR );
$STR = str_replace( "\n", "", $STR );
$STR = str_replace( "\r", "", $STR );
if ( strpos( $STR, "," ) === false )
{
return $STR;
}
else
{
$STR = "\"".$STR."\"";
}
return $STR;
}
function is_media( $FILE_NAME )
{
global $connection;
$query = "SELECT * from SYS_PARA where PARA_NAME='MEDIA_REAL_TYPE'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$MEDIA_REAL_TYPE = $ROW['PARA_VALUE'];
}
$query = "SELECT * from SYS_PARA where PARA_NAME='MEDIA_MS_TYPE'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$MEDIA_MS_TYPE = $ROW['PARA_VALUE'];
}
$MEDIA_REAL_TYPE = strtolower( $MEDIA_REAL_TYPE );
$MEDIA_MS_TYPE = strtolower( $MEDIA_MS_TYPE );
$EXT_NAME = strtolower( substr( $FILE_NAME, strrpos( $FILE_NAME, "." ) + 1 ) );
if ( find_id( $MEDIA_REAL_TYPE, $EXT_NAME ) )
{
return 1;
}
if ( find_id( $MEDIA_MS_TYPE, $EXT_NAME ) )
{
return 2;
}
return 0;
}
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 ( isset( $_SERVER ) )
{
if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) )
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) )
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
}
else if ( getenv( "HTTP_X_FORWARDED_FOR" ) )
{
$ip = getenv( "HTTP_X_FORWARDED_FOR" );
}
else if ( getenv( "HTTP_CLIENT_IP" ) )
{
$ip = getenv( "HTTP_CLIENT_IP" );
}
else
{
$ip = getenv( "REMOTE_ADDR" );
}
return $ip;
}
include_once( "inc/conn.php" );
include_once( "inc/utility.php" );
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -