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

📄 condition.php

📁 通达网络办公 - Office Anywhere 2008 增强版100%源码(3.4.081216) 内含 通达OA2008增強版接近完美破解补丁20081216集 及 最新通达OA2008ADV(
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php

function send_webmail( $USER_STR )
{
	global $connection;
	global $SMS_CONTENT;
	global $LOGIN_USER_ID;
	global $LOGIN_USER_NAME;
	global $RUN_ID;
	$query = "SELECT * from WEBMAIL where USER_ID='".$LOGIN_USER_ID."' order by IS_DEFAULT desc LIMIT 1";
	$cursor = exequery( $connection, $query );
	if ( $ROW = mysql_fetch_array( $cursor ) )
	{
		$EMAIL = $ROW['EMAIL'];
		$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" );
		if ( $LOGIN_TYPE == "1" )
		{
			$SMTP_USER = substr( $EMAIL, 0, strpos( $EMAIL, "@" ) );
		}
		else
		{
			$SMTP_USER = $EMAIL;
		}
		if ( $SMTP_PASS == "yes" )
		{
			$SMTP_PASS = $EMAIL_PASS;
		}
		else
		{
			$SMTP_PASS = "";
		}
		$USER_ARRAY = explode( ",", $USER_STR );
		$query = "select USER_ID,EMAIL from USER WHERE find_in_set(USER_ID,'".$USER_STR."')";
		$cursor = exequery( $connection, $query );
		while ( $ROW = mysql_fetch_array( $cursor ) )
		{
			$USER_ID = $ROW['USER_ID'];
			if ( !( $USER_ID == $LOGIN_USER_ID ) )
			{
				$TO_EMAIL = $ROW['EMAIL'];
				if ( $TO_EMAIL == "" )
				{
					$query1 = "select EMAIL from WEBMAIL WHERE USER_ID='".$USER_ID."' limit 1";
					$cursor1 = exequery( $connection, $query1 );
					if ( $ROW1 = mysql_fetch_array( $cursor ) )
					{
						$TO_EMAIL = $ROW['EMAIL'];
					}
				}
				$TO_WEBMAIL .= $TO_EMAIL.",";
			}
		}
		$CONTENT = export_flow( $RUN_ID );
		$result = send_mail( $EMAIL, $TO_WEBMAIL, $SMS_CONTENT, $CONTENT, $SMTP_SERVER, $SMTP_USER, $SMTP_PASS, TRUE, $LOGIN_USER_NAME, "", "", "", TRUE, $SMTP_PORT, $SMTP_SSL );
		if ( $result === TRUE )
		{
			message( "提示", "外部邮件发送成功" );
		}
		else
		{
			message( "外部邮件发送失败", $result );
		}
	}
}

function turn_other( $INPUT_STR, $EXCEPT = "" )
{
	global $connection;
	global $FLOW_ID;
	global $RUN_ID;
	global $PRCS_ID;
	global $FLOW_PRCS;
	$CUR_DATE = date( "Y-m-d", time( ) );
	$INPUT_ARRAY = explode( ",", $INPUT_STR );
	$COUNT = sizeof( $INPUT_ARRAY );
	$I = 0;
	for ( ;	$I < $COUNT;	++$I	)
	{
		$query = "select * from FLOW_RULE where FLOW_ID='".$FLOW_ID."' and USER_ID='{$INPUT_ARRAY[$I]}';";
		$cursor = exequery( $connection, $query );
		if ( $ROW = mysql_fetch_array( $cursor ) )
		{
			$BEGIN_DATE = $ROW['BEGIN_DATE'];
			$END_DATE = $ROW['END_DATE'];
			$STATUS = $ROW['STATUS'];
			$TO_ID = $ROW['TO_ID'];
			$CONDITION1 = compare_date( $CUR_DATE, $BEGIN_DATE );
			$CONDITION2 = compare_date( $CUR_DATE, $END_DATE );
			$STATUS1 = 0;
			if ( $STATUS == 1 )
			{
				if ( $BEGIN_DATE != "0000-00-00" && $END_DATE != "0000-00-00" )
				{
					if ( $CONDITION1 == 1 && $CONDITION2 == -1 )
					{
						$STATUS1 = 1;
					}
				}
				else if ( $BEGIN_DATE != "0000-00-00" )
				{
					if ( $CONDITION1 == 1 )
					{
						$STATUS1 = 1;
					}
				}
				else if ( $END_DATE != "0000-00-00" )
				{
					if ( $CONDITION1 == 1 )
					{
						$STATUS1 = 1;
					}
				}
				else
				{
					$STATUS1 = 1;
				}
			}
			if ( !( $STATUS1 == 1 ) && !( $EXCEPT != $INPUT_ARRAY[$I] ) )
			{
				$query = "select USER_NAME from USER where USER_ID='".$TO_ID."';";
				$cursor = exequery( $connection, $query );
				if ( $ROW = mysql_fetch_array( $cursor ) )
				{
					$TO_NAME = $ROW['USER_NAME'];
				}
				$CONTENT = "根据委托规则把工作委托给[".$TO_NAME."]";
				run_log( $RUN_ID, $PRCS_ID, $FLOW_PRCS, $INPUT_ARRAY[$I], 2, $CONTENT );
				$INPUT_ARRAY[$I] = $TO_ID;
			}
		}
	}
	$OUTPUT_STR = join( ",", $INPUT_ARRAY );
	if ( substr( $OUTPUT_STR, -1, 1 ) == "," )
	{
		$OUTPUT_STR = substr( $OUTPUT_STR, 0, -1 );
	}
	return $OUTPUT_STR;
}

function get_form( $FORM_ID, $RUN_ID )
{
	global $connection;
	$query = "SELECT ITEM_ID,ITEM_DATA from FLOW_RUN_DATA WHERE RUN_ID=".$RUN_ID." ORDER BY ITEM_ID";
	$cursor = exequery( $connection, $query );
	while ( $ROW = mysql_fetch_array( $cursor ) )
	{
		$ITEM_ID = $ROW['ITEM_ID'];
		$ITEM_DATA = $ROW['ITEM_DATA'];
		$TMP_DATA[$ITEM_ID - 1] = $ITEM_DATA;
	}
	$query = "SELECT PRINT_MODEL from FLOW_FORM_TYPE WHERE FORM_ID=".$FORM_ID;
	$cursor1 = exequery( $connection, $query );
	if ( $ROW = mysql_fetch_array( $cursor1 ) )
	{
		$PRINT_MODEL = $ROW['PRINT_MODEL'];
	}
	$ELEMENT_ARRAY = html_element( $PRINT_MODEL );
	$ITEM_ID_MAX = sizeof( $ELEMENT_ARRAY );
	$ITEM_ID = 0;
	$ITEM_I = 0;
	for ( ;	$ITEM_I < $ITEM_ID_MAX;	++$ITEM_I	)
	{
		$ELEMENT = $ELEMENT_ARRAY[$ITEM_I];
		$ECLASS = get_attr( $ELEMENT, "CLASS" );
		$ETITLE = get_attr( $ELEMENT, "TITLE" );
		if ( !( $ECLASS != "DATE" ) && !( $ECLASS != "USER" ) )
		{
			$FORM_DATA[$ETITLE] = $TMP_DATA[$ITEM_ID];
			if ( $FORM_DATA[$ETITLE] == "NAAAALOaxuKqfjdcOLp66SG1uokBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" )
			{
				$FORM_DATA[$ETITLE] = "";
			}
			++$ITEM_ID;
		}
	}
	return $FORM_DATA;
}

function check_condition( $FORM_DATA, $CONDITION, $CONDITION_SET, $RUN_ID, $PRCS_ID )
{
	global $connection;
	global $LOGIN_USER_NAME;
	global $LOGIN_USER_ID;
	global $LOGIN_DEPT_ID;
	global $LOGIN_USER_PRIV;
	global $CONDITION_DESC;
	if ( $CONDITION == "" )
	{
		return "";
	}
	$CONDITION_SET_VALUE = $CONDITION_SET;
	$CONDITION_SET_DESC = $CONDITION_SET;
	$CONDITION_SET_DESC = str_replace( "and", "并且", $CONDITION_SET_DESC );
	$CONDITION_SET_DESC = str_replace( "or", "或者", $CONDITION_SET_DESC );
	$CONDITION_SET_DESC = str_replace( "!", "非", $CONDITION_SET_DESC );
	$CON_ARRAY = explode( "\n", $CONDITION );
	$ARRAY_COUNT = sizeof( $CON_ARRAY );
	if ( $CON_ARRAY[$ARRAY_COUNT - 1] == "" )
	{
		--$ARRAY_COUNT;
	}
	$I = 0;
	for ( ;	$I < $ARRAY_COUNT;	++$I	)
	{
		$RULE = $CON_ARRAY[$I];
		$TMP = trim( str_replace( " ", "", $RULE ) );
		if ( !( $TMP == "" ) )
		{
			$RULE_ARRAY = explode( "'", $RULE );
			$ITEM_TITLE = $RULE_ARRAY[1];
			$ITEM_CON = $RULE_ARRAY[2];
			$ITEM_VALUE = $RULE_ARRAY[3];
			if ( strstr( $ITEM_TITLE, "[主办人会签意见]" ) || strstr( $ITEM_TITLE, "[从办人会签意见]" ) )
			{
				$query = "SELECT USER_ID from FLOW_RUN_PRCS where RUN_ID=".$RUN_ID." and PRCS_ID={$PRCS_ID}";
				if ( strstr( $ITEM_TITLE, "[主办人会签意见]" ) )
				{
					$query .= " and OP_FLAG=1";
				}
				else
				{
					$query .= " and OP_FLAG=0";
				}
				$cursor = exequery( $connection, $query );
				$FEED_CONTENT = "";
				$PRCS_USER = "";
				while ( $ROW = mysql_fetch_array( $cursor ) )
				{
					$PRCS_USER = $ROW['USER_ID'];
					$query1 = "SELECT CONTENT from FLOW_RUN_FEEDBACK where RUN_ID=".$RUN_ID." and PRCS_ID={$PRCS_ID} and USER_ID='{$PRCS_USER}'";
					$cursor1 = exequery( $connection, $query1 );
					while ( $ROW = mysql_fetch_array( $cursor1 ) )
					{
						$FEED_CONTENT .= $ROW['CONTENT'];
					}
				}
				if ( $PRCS_USER != "" )
				{
					$FORM_DATA[$ITEM_TITLE] = $FEED_CONTENT;
				}
				else
				{
					$FORM_DATA[$ITEM_TITLE] = "无-从-办-人";
				}
			}
			else if ( strstr( $ITEM_TITLE, "[公共附件名称]" ) )
			{
				$query1 = "SELECT ATTACHMENT_NAME from FLOW_RUN WHERE RUN_ID='".$RUN_ID."'";
				$cursor1 = exequery( $connection, $query1 );
				if ( $ROW = mysql_fetch_array( $cursor1 ) )
				{
					$ATTACHMENT_NAME = $ROW['ATTACHMENT_NAME'];
				}
				$FORM_DATA[$ITEM_TITLE] = $ATTACHMENT_NAME;
			}
			else if ( strstr( $ITEM_TITLE, "[当前步骤号]" ) )
			{
				$FORM_DATA[$ITEM_TITLE] = $PRCS_ID;
			}
			else if ( strstr( $ITEM_TITLE, "[当前主办人姓名]" ) )
			{
				$FORM_DATA[$ITEM_TITLE] = $LOGIN_USER_NAME;
			}
			else if ( strstr( $ITEM_TITLE, "[当前主办人角色]" ) )
			{
				$query1 = "SELECT PRIV_NAME from USER_PRIV WHERE USER_PRIV='".$LOGIN_USER_PRIV."'";
				$cursor1 = exequery( $connection, $query1 );
				if ( $ROW = mysql_fetch_array( $cursor1 ) )
				{
					$PRIV_NAME = $ROW['PRIV_NAME'];
				}
				$FORM_DATA[$ITEM_TITLE] = $PRIV_NAME;
			}
			else if ( strstr( $ITEM_TITLE, "[当前主办人部门]" ) )
			{
				include_once( "inc/department.php" );
				$FORM_DATA[$ITEM_TITLE] = $SYS_DEPARTMENT[$LOGIN_DEPT_ID]['DEPT_NAME'];
			}
			$CHECK_PASS = 0;
			if ( stristr( $ITEM_CON, "include" ) )
			{
				$ITEM_CON_DESC = "包含";
				if ( stristr( $FORM_DATA[$ITEM_TITLE], $ITEM_VALUE ) )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, "exclude" ) )
			{
				$ITEM_CON_DESC = "不包含";
				if ( !stristr( $FORM_DATA[$ITEM_TITLE], $ITEM_VALUE ) )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, "==" ) || stristr( $ITEM_CON, "!==" ) )
			{
				if ( stristr( $ITEM_CON, "==" ) )
				{
					$flag = TRUE;
				}
				else
				{
					$flag = FALSE;
				}
				$ITEM_CON_DESC = $flag ? "类型为" : "类型不能为";
				if ( $ITEM_VALUE == "数值" && $flag == is_numeric( $FORM_DATA[$ITEM_TITLE] ) )
				{
					$CHECK_PASS = 1;
				}
				else if ( $ITEM_VALUE == "日期" && $flag == is_date( $FORM_DATA[$ITEM_TITLE] ) )
				{
					$CHECK_PASS = 1;
				}
				else if ( $ITEM_VALUE == "日期+时间" && $flag == is_date_time( $FORM_DATA[$ITEM_TITLE] ) )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, ">=" ) )
			{
				$ITEM_CON_DESC = "大于等于";
				if ( $ITEM_VALUE <= $FORM_DATA[$ITEM_TITLE] )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, "<=" ) )
			{
				$ITEM_CON_DESC = "小于等于";
				if ( $FORM_DATA[$ITEM_TITLE] <= $ITEM_VALUE )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, "<>" ) )
			{
				$ITEM_CON_DESC = "不等于";
				if ( $FORM_DATA[$ITEM_TITLE] != $ITEM_VALUE )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, ">" ) )
			{
				$ITEM_CON_DESC = "大于";
				if ( $ITEM_VALUE < $FORM_DATA[$ITEM_TITLE] )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( stristr( $ITEM_CON, "<" ) )
			{
				$ITEM_CON_DESC = "小于";
				if ( $FORM_DATA[$ITEM_TITLE] < $ITEM_VALUE )
				{
					$CHECK_PASS = 1;
				}
			}
			else if ( $ITEM_CON == "=" )
			{
				$ITEM_CON_DESC = "等于";
				if ( $FORM_DATA[$ITEM_TITLE] == $ITEM_VALUE )
				{
					$CHECK_PASS = 1;
				}
			}
			else
			{
				$ITEM_CON = "";
			}
			if ( $ITEM_VALUE == "" )
			{
				$ITEM_VALUE = "空";
			}
			$SET_DESC = "{$ITEM_TITLE} {$ITEM_CON_DESC} {$ITEM_VALUE}";
			if ( !$CHECK_PASS )
			{
				if ( $ITEM_CON == "" || $ITEM_TITLE == "" )
				{
					$NOT_PASS = "条件表达式错误:\n".$RULE."\n";
					return $NOT_PASS;
				}
				if ( $CONDITION_SET == "" )
				{
					$NOT_PASS = "不符合条件:\n".$SET_DESC."\n";
					return $NOT_PASS;
				}
				$SET_VALUE = "0";
			}
			else
			{
				$SET_VALUE = "1";
			}
			$COUNT = $I + 1;
			$CONDITION_SET_VALUE = str_replace( "[".$COUNT."]", $SET_VALUE, $CONDITION_SET_VALUE );
			$CONDITION_SET_DESC = str_replace( "[".$COUNT."]", "[".$SET_DESC."]", $CONDITION_SET_DESC );
		}
	}
	if ( $CONDITION_SET != "" )
	{
		eval( "\$RESULT=(".$CONDITION_SET_VALUE.");" );
		if ( !$RESULT )
		{
			$NOT_PASS = $CONDITION_DESC == "" ? "不符合条件公式:".$CONDITION_SET_DESC : $CONDITION_DESC;
			return $NOT_PASS;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -