⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utility_all.php

📁 极限网络智能办公系统 Office Automation V3.0官方100%源代码.
💻 PHP
📖 第 1 页 / 共 3 页
字号:
	}
	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 + -