form1.php

来自「极限网络智能办公系统 - Office Automation 2008 官方10」· PHP 代码 · 共 973 行 · 第 1/3 页

PHP
973
字号
}
$ELEMENT_ARRAY = html_element( $PRINT_MODEL );
$ITEM_ID_MAX = sizeof( $ELEMENT_ARRAY );
$ITEM_ID = 0;
$ITEM_ID_I = 0;
for ( ;	$ITEM_ID_I < $ITEM_ID_MAX;	++$ITEM_ID_I	)
{
	$ELEMENT = $ELEMENT_ARRAY[$ITEM_ID_I];
	$ENAME = get_attr( $ELEMENT, "NAME" );
	$EVALUE = get_attr( $ELEMENT, "VALUE" );
	$ETITLE = get_attr( $ELEMENT, "TITLE" );
	$ECLASS = get_attr( $ELEMENT, "CLASS" );
	if ( !$OP_FLAG && $FLOW_TYPE == 1 && !find_id( $PRCS_ITEM, $ETITLE ) )
	{
		$READ_ONLY = 1;
	}
	else
	{
		$READ_ONLY = 0;
	}
	if ( $ECLASS != "DATE" && $ECLASS != "USER" )
	{
		++$ITEM_ID;
		$ELEMENT_OUT = str_replace( "<".$ENAME, "<".$ENAME." name='DATA_{$ITEM_ID}'", $ELEMENT );
	}
	$STR = "DATA_".$ITEM_ID;
	$ITEM_VALUE = $$STR;
	if ( $ITEM_VALUE == "{宏控件}" )
	{
		$ITEM_VALUE = "";
	}
	if ( $ENAME == "INPUT" )
	{
		if ( !strstr( $ELEMENT_OUT, "type=checkbox" ) )
		{
			$ELEMENT_OUT = str_replace( "value=".$EVALUE, "", $ELEMENT_OUT );
			$ELEMENT_OUT = str_replace( "<".$ENAME, "<".$ENAME." value='{$ITEM_VALUE}'", $ELEMENT_OUT );
		}
		else
		{
			$ELEMENT_OUT = str_replace( " CHECKED", "", $ELEMENT_OUT );
			if ( $ITEM_VALUE == "on" )
			{
				$ELEMENT_OUT = str_replace( "<".$ENAME, "<".$ENAME." CHECKED", $ELEMENT_OUT );
			}
		}
	}
	else if ( $ENAME == "TEXTAREA" )
	{
		$ELEMENT_OUT = str_replace( ">".$EVALUE."<", ">".$ITEM_VALUE."<", $ELEMENT_OUT );
	}
	else if ( $ENAME == "SELECT" && $ITEM_VALUE != "" && $ECLASS != "AUTO" )
	{
		$ELEMENT_OUT = str_replace( " selected", "", $ELEMENT_OUT );
		$ELEMENT_OUT = str_replace( "<OPTION value=".$ITEM_VALUE.">", "<OPTION selected value=".$ITEM_VALUE.">", $ELEMENT_OUT );
		$ELEMENT_OUT = str_replace( "<OPTION value=\"".$ITEM_VALUE."\">", "<OPTION selected value=".$ITEM_VALUE.">", $ELEMENT_OUT );
	}
	if ( $ECLASS == "DATE" )
	{
		$ITEM_ID1 = 0;
		$I = 0;
		for ( ;	$I < $ITEM_ID_MAX;	++$I	)
		{
			$ELEMENT1 = $ELEMENT_ARRAY[$I];
			$ETITLE1 = get_attr( $ELEMENT1, "TITLE" );
			$ECLASS1 = get_attr( $ELEMENT1, "CLASS" );
			if ( $ECLASS1 != "DATE" && $ECLASS1 != "USER" )
			{
				++$ITEM_ID1;
			}
			if ( !( $ETITLE1 == $EVALUE ) )
			{
				continue;
			}
			$ITEM_STR = "DATA_".$ITEM_ID1;
			break;
		}
		if ( ( find_id( $PRCS_ITEM, $EVALUE ) || $FLOW_TYPE == "2" ) && $OP_FLAG )
		{
			$ELEMENT_OUT = "<IMG class=DATE align=absmiddle title=日期控件:".$EVALUE." style=\"CURSOR: hand\" src=\"/images/menu/calendar.gif\" border=0 onclick=\"td_calendar('{$ITEM_STR}')\">";
		}
		else
		{
			$ELEMENT_OUT = "<IMG class=DATE align=absmiddle title=日期控件:".$EVALUE." style=\"CURSOR: hand\" src=\"/images/menu/calendar.gif\" border=0>";
		}
	}
	if ( $ECLASS == "USER" )
	{
		do
		{
			do
			{
				do
				{
					$ITEM_ID1 = 0;
					$I = 0;
					for ( ;	$I < $ITEM_ID_MAX;	++$I	)
					{
						$ELEMENT1 = $ELEMENT_ARRAY[$I];
						$ETITLE1 = get_attr( $ELEMENT1, "TITLE" );
						$ECLASS1 = get_attr( $ELEMENT1, "CLASS" );
						if ( $ECLASS1 != "DATE" && $ECLASS1 != "USER" )
						{
							++$ITEM_ID1;
						}
						if ( !( $ETITLE1 == $EVALUE ) )
						{
							continue;
						}
						$ITEM_STR = "DATA_".$ITEM_ID1;
						break;
					}
					if ( ( find_id( $PRCS_ITEM, $EVALUE ) || $FLOW_TYPE == "2" ) && $OP_FLAG )
					{
						$ELEMENT_OUT = "<IMG class=USER align=absmiddle title=部门人员控件:".$EVALUE." style=\"CURSOR: hand\" src=\"/images/form/user.gif\" border=0 onclick=\"LoadWindow('{$ITEM_STR}')\">";
					}
					else
					{
						$ELEMENT_OUT = "<IMG class=USER align=absmiddle title=部门人员控件:".$EVALUE." style=\"CURSOR: hand\" src=\"/images/form/user.gif\" border=0>";
					}
				}
				else if ( $ECLASS == "CALC" )
				{
					$J = 0;
					$I = 0;
					for ( ;	$I < $ITEM_ID_MAX;	++$I	)
					{
						$ELEMENT1 = $ELEMENT_ARRAY[$I];
						$ETITLE1 = get_attr( $ELEMENT1, "TITLE" );
						$ECLASS1 = get_attr( $ELEMENT1, "CLASS" );
						if ( !( $ECLASS1 != "DATE" ) && !( $ECLASS1 != "USER" ) )
						{
							$ETITLE_ARRAY[$J] = $ETITLE1;
							++$J;
						}
					}
					$ARRAY_COUNT = $J;
					$EVALUE1 = $EVALUE."#";
					$POS = 0;
					$ECALC1 = "";
					$ECALC2 = "";
					while ( $POS < strlen( $EVALUE1 ) )
					{
						$STR = substr( $EVALUE1, $POS, 1 );
						++$POS;
						if ( $STR == "+" || $STR == "-" || $STR == "*" || $STR == "/" || $STR == "(" || $STR == ")" || $STR == "^" || $STR == "#" )
						{
							if ( $ECALC2 != "" )
							{
								if ( !is_numeric( $ECALC2 ) )
								{
									$J = 0;
									for ( ;	$J < $ARRAY_COUNT;	++$J	)
									{
										if ( !( $ETITLE_ARRAY[$J] == $ECALC2 ) )
										{
											continue;
										}
										$ECALC1 .= ( "calc_getval(document.form1.DATA_".( $J + 1 ) ).".value)";
										$ECALC2 = "";
										break;
									}
								}
								else
								{
									$ECALC1 .= $ECALC2;
									$ECALC2 = "";
								}
							}
							if ( $STR != "#" )
							{
								$ECALC1 .= $STR;
							}
						}
						else
						{
							$ECALC2 .= $STR;
						}
					}
					$ELEMENT_OUT .= "\n<script>function calc_".$ITEM_ID."(){ myvalue={$ECALC1}; if(!isNaN(myvalue))document.form1.DATA_{$ITEM_ID}.value=Math.round(myvalue * 10000)/10000;\telse document.form1.DATA_{$ITEM_ID}.value=\"\"; setTimeout(\"calc_{$ITEM_ID}()\",1000);} setTimeout(\"calc_{$ITEM_ID}()\",3000);</script>";
				}
				else if ( $ECLASS == "AUTO" )
				{
					$EDATAFLD = get_attr( $ELEMENT, "DATAFLD" );
					$AUTO_VALUE = "";
					if ( $ENAME == "INPUT" )
					{
						switch ( $EDATAFLD )
						{
						case "SYS_YEAR" :
							$AUTO_VALUE = $CUR_YEAR;
							break;
						case "SYS_MON" :
							$AUTO_VALUE = $CUR_MON;
							break;
						case "SYS_DAY" :
							$AUTO_VALUE = $CUR_DAY;
							break;
						case "SYS_HOUR" :
							$AUTO_VALUE = $CUR_HOUR;
							break;
						case "SYS_MIN" :
							$AUTO_VALUE = $CUR_MIN;
							break;
						case "SYS_SEC" :
							$AUTO_VALUE = $CUR_SEC;
							break;
						case "SYS_WEEK" :
							$AUTO_VALUE = $CUR_WEEK;
							break;
						case "SYS_DATE" :
							$AUTO_VALUE = $CUR_DATE;
							break;
						case "SYS_DATE_CN" :
							$AUTO_VALUE = format_date( $CUR_DATE );
							break;
						case "SYS_DATE_CN_SHORT1" :
							$AUTO_VALUE = format_date_short1( $CUR_DATE );
							break;
						case "SYS_DATE_CN_SHORT2" :
							$AUTO_VALUE = format_date_short2( $CUR_DATE );
							break;
						case "SYS_TIME" :
							$AUTO_VALUE = $CUR_TIME1;
							break;
						case "SYS_DATETIME" :
							$AUTO_VALUE = $CUR_TIME;
							break;
						case "SYS_USERID" :
							$AUTO_VALUE = $LOGIN_USER_ID;
							break;
						case "SYS_USERNAME" :
							$query_auto = "SELECT USER_NAME from USER where USER_ID='".$LOGIN_USER_ID."'";
							$cursor_auto = exequery( $connection, $query_auto );
							if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
							{
								break;
							}
							$AUTO_VALUE = $ROW['USER_NAME'];
							break;
						case "SYS_USERPRIV" :
							$query_auto = "SELECT PRIV_NAME from USER_PRIV where USER_PRIV='".$LOGIN_USER_PRIV."'";
							$cursor_auto = exequery( $connection, $query_auto );
							if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
							{
								break;
							}
							$AUTO_VALUE = $ROW['PRIV_NAME'];
							break;
						case "SYS_USERNAME_DATETIME" :
							$query_auto = "SELECT USER_NAME from USER where USER_ID='".$LOGIN_USER_ID."'";
							$cursor_auto = exequery( $connection, $query_auto );
							if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
							{
								break;
							}
							$AUTO_VALUE = $ROW['USER_NAME']." ".$CUR_TIME;
							break;
						case "SYS_DEPTNAME" :
							$AUTO_VALUE = dept_long_name( $LOGIN_DEPT_ID );
							break;
						case "SYS_DEPTNAME_SHORT" :
							$query_auto = "SELECT DEPT_NAME from DEPARTMENT where DEPT_ID='".$LOGIN_DEPT_ID."'";
							$cursor_auto = exequery( $connection, $query_auto );
							if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
							{
								break;
							}
							$AUTO_VALUE = $ROW['DEPT_NAME'];
							break;
						case "SYS_FORMNAME" :
							$AUTO_VALUE = $FORM_NAME;
							break;
						case "SYS_RUNNAME" :
							$AUTO_VALUE = $RUN_NAME;
							break;
						case "SYS_RUNDATE" :
							$AUTO_VALUE = $PRCS_DATE;
							break;
						case "SYS_RUNDATETIME" :
							$AUTO_VALUE = $PRCS_DATE_TIME;
							break;
						case "SYS_RUNID" :
							$AUTO_VALUE = $RUN_ID;
							break;
						case "SYS_AUTONUM" :
							$AUTO_VALUE = $AUTO_NUM;
							break;
						case "SYS_IP" :
							$AUTO_VALUE = $_SERVER['REMOTE_ADDR'];
							break;
						case "SYS_SQL" :
							$EDATASRC = get_attr( $ELEMENT, "DATASRC" );
							$EDATASRC = str_replace( "`", "'", $EDATASRC );
							$EDATASRC = str_replace( "&#13;&#10;", " ", $EDATASRC );
							$EDATASRC = str_replace( "[SYS_USER_ID]", $LOGIN_USER_ID, $EDATASRC );
							$EDATASRC = str_replace( "[SYS_DEPT_ID]", $LOGIN_DEPT_ID, $EDATASRC );
							$EDATASRC = str_replace( "[SYS_PRIV_ID]", $LOGIN_USER_PRIV, $EDATASRC );
							$EDATASRC = str_replace( "[SYS_RUN_ID]", $RUN_ID, $EDATASRC );
							$cursor_SYS_SQL = exequery( $connection, $EDATASRC );
							if ( !( $ROW = mysql_fetch_array( $cursor_SYS_SQL ) ) )
							{
								break;
							}
							$AUTO_VALUE = $ROW[0];
						}
						if ( !( $ITEM_VALUE == "" ) && $READ_ONLY )
						{
							if ( !$READ_ONLY )
							{
								break;
							}
							else
							{
								if ( !find_id( $PRCS_ITEM_AUTO, $ETITLE ) && !$OP_FLAG )
								{
									break;
									break;
								}
							}
						}
						else
						{
							$ELEMENT_OUT = str_replace( "value=".$EVALUE, "", $ELEMENT_OUT );
							$ELEMENT_OUT = str_replace( "value='".$EVALUE."'", "", $ELEMENT_OUT );

⌨️ 快捷键说明

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