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

📄 efunctions.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
{
	global $phpQlang;
	$format = $format ? $format : "csv";
	$charset = $phpQlang['CHARSET'];
	$mqsurvey = mysql_query( "select * from phpQSurvey where SID = \"".protectmysql( $sid )."\"" );
	if ( $masurvey = mysql_fetch_array( $mqsurvey ) )
	{
		$bits = verificationbits( $masurvey['SurveyUsers'] );
	}
	else
	{
		return "";
	}
	$contents = "";
	$phpQSfields = array( "SID", "Name", "AddDate", "SurveyUsers", "SurveyResults", "Width", "Indent", "QuestionNumb", "QuestionStyle", "AnswerInputStyle", "AnswerTextStyle", "AnswerStyle", "ErrorStyle", "VerifyEmail", "EmailFrom", "EmailSubject", "Template", "Language", "OnComplete", "RedirectURL", "Completed", "Description", "AdminNotes", "Active", "StartDate", "EndDate", "AdvanceInterface", "ResultsWidth", "ResultsBorder", "ResultsAnswer", "ResultsStats", "ResultsGraph", "SubmitImageSrc", "SubmitImageWidth", "SubmitImageHeight", "SubmitImageText", "ResultImageSrc", "ResultImageWidth", "ResultImageHeight", "ResultImageText", "NextImageSrc", "NextImageWidth", "NextImageHeight", "NextImageText", "ResponseNotice", "ResponseEmail" );
	$phpQQfields = array( "SID", "QID", "SortOrder", "Question", "Type", "Mult", "QuestionStyle", "Instructions", "Answer", "Choose", "DefaultAnswer", "LargestAID", "ColNumb", "AnswerInputStyle", "AnswerTextStyle", "AnswerStyle", "Attributes", "Required", "Summary" );
	$phpQUfields = array( "UID", "SID", "IPAddr", "BlockDupe", "CheckType", "Email", "Confirm", "EmailConfirm", "CompleteDate" );
	$phpQAfields = array( "UID", "SID", "QID", "Answer" );
	if ( $format == "xml" )
	{
		$contents .= "<?xml version=\"1.0\" encoding=\"{$charset}\"?>\r\n<!DOCTYPE survey [\r\n\t<!ELEMENT survey (name,description?,result*)>\r\n\t<!ELEMENT name (#PCDATA)>\r\n\t<!ELEMENT description (#PCDATA)>\r\n\t<!ELEMENT result (time,ip,email?,question*)>\r\n\t<!ELEMENT time (#PCDATA)>\r\n\t<!ELEMENT ip (#PCDATA)>\r\n\t<!ELEMENT email (#PCDATA)>\r\n\t<!ELEMENT question (asked,answer*)>\r\n\t<!ELEMENT asked (#PCDATA)>\r\n\t<!ELEMENT answer (selected?,entered?)+>\r\n\t<!ELEMENT selected (#PCDATA)>\r\n\t<!ELEMENT entered (#PCDATA)>\r\n\r\n\t<!ATTLIST survey id CDATA #REQUIRED>\r\n\t<!ATTLIST result id CDATA #REQUIRED>\r\n\t<!ATTLIST email verified (y|n) #REQUIRED>\r\n\t<!ATTLIST question id CDATA #REQUIRED>\r\n\t<!ATTLIST question type (checkbox|radio|select|selectmult|textfield|textarea) #REQUIRED>\r\n\t<!ATTLIST answer id CDATA #IMPLIED>\r\n]>";
		$contents .= "\n<survey id=\"".str2xml( $masurvey['SID'] )."\">\n";
		$contents .= "\t<name>".str2xml( $masurvey['Name'] )."</name>\n";
		if ( $masurvey['Description'] )
		{
			$contents .= "\t<description>".str2xml( $masurvey['Description'] )."</description>\n";
		}
	}
	else if ( $format == "xml-c" )
	{
		$contents .= "<?xml version=\"1.0\" encoding=\"{$charset}\"?>\r\n<!DOCTYPE survey [\r\n\t<!ELEMENT survey (config,r*)>\r\n\t<!ELEMENT config (name,description?,question*)>\r\n\t<!ELEMENT name (#PCDATA)>\r\n\t<!ELEMENT description (#PCDATA)>\r\n\t<!ELEMENT question (EMPTY|(asked,answer*))*>\r\n\t<!ELEMENT asked (#PCDATA)>\r\n\t<!ELEMENT answer (#PCDATA)>\r\n\t<!ELEMENT r (a*)>\r\n\t<!ELEMENT a (#PCDATA|EMPTY)*>\r\n\r\n\t<!ATTLIST survey id CDATA #REQUIRED>\r\n\t<!ATTLIST question id CDATA #REQUIRED>\r\n\t<!ATTLIST question type (checkbox|radio|select|selectmult|textfield|textarea|pagebreak|htmlcontent) #REQUIRED>\r\n\t<!ATTLIST answer id CDATA #IMPLIED>\r\n\t<!ATTLIST r id CDATA #REQUIRED>\r\n\t<!ATTLIST r time CDATA #REQUIRED>\r\n\t<!ATTLIST r ip CDATA #REQUIRED>\r\n\t<!ATTLIST r email CDATA #IMPLIED>\r\n\t<!ATTLIST r verified (y|n) #IMPLIED>\r\n\t<!ATTLIST a qid CDATA #REQUIRED>\r\n\t<!ATTLIST a id CDATA #IMPLIED>\r\n]>";
		$contents .= "\n<survey id=\"".str2xml( $masurvey['SID'] )."\">\n";
		$contents .= "\t<config>\n";
		$contents .= "\t\t<name>".str2xml( $masurvey['Name'] )."</name>\n";
		if ( $masurvey['Description'] )
		{
			$contents .= "\t\t<description>".str2xml( $masurvey['Description'] )."</description>\n";
		}
	}
	else if ( $format == "csv" )
	{
		$contents .= "User ID,Completed On,IP Address,";
		if ( $bits[2] )
		{
			$contents .= "Email Address,";
		}
	}
	else if ( $format == "sql" )
	{
		$uvalues = array( );
		$m = 0;
		for ( ;	$m < sizeof( $phpQSfields );	++$m	)
		{
			$uvalues[] = str2sql( $masurvey[$phpQSfields[$m]] );
		}
		$contents .= "INSERT INTO phpQSurvey (".join( ",", $phpQSfields ).") VALUES (".join( ",", $uvalues ).")\n";
	}
	$qquery = "select * from phpQQuestion where SID = \"".protectmysql( $sid )."\" order by SortOrder";
	$mqquestion = mysql_query( $qquery );
	$qorderi = 0;
	while ( $maquestion = mysql_fetch_array( $mqquestion ) )
	{
		if ( $maquestion['Type'] != "pagebreak" && $maquestion['Type'] != "htmlcontent" )
		{
			$qnum = $maquestion['QID'];
			$qorder[$qnum] = $qorderi;
			$qarray[$qnum] = $maquestion;
			if ( $format == "xml-c" )
			{
				$contents .= "\t\t<question id=\"".str2xml( $maquestion['QID'] )."\" type=\"".str2xml( $maquestion['Type'] )."\">\n\t\t\t<asked>".str2xml( $maquestion['Question'] )."</asked>\n";
			}
			if ( $maquestion['Type'] != "textfield" && $maquestion['Type'] != "textarea" )
			{
				$ac[$qnum] = split( "\\|\\|\\|", $maquestion['Answer'] );
				$k = 0;
				for ( ;	$k < sizeof( $ac[$qnum] );	++$k	)
				{
					$ac[$qnum][$k] = split( "\\|\\|", $ac[$qnum][$k] );
					if ( $format == "xml-c" )
					{
						$value = substr( $ac[$qnum][$k][2], 0, 11 ) == "Textfield:(" ? substr( $ac[$qnum][$k][2], 11, -1 ) : $ac[$qnum][$k][2];
						$contents .= "\t\t\t<answer id=\"".$ac[$qnum][$k][1]."\">".str2xml( $value )."</answer>\n";
					}
				}
			}
			else if ( $format == "xml-c" && $maquestion['DefaultAnswer'] )
			{
				$contents .= "\t\t\t<answer>".str2xml( $maquestion['DefaultAnswer'] )."</answer>\n";
			}
			if ( $format == "csv" )
			{
				$contents .= str2csv( $maquestion['Question'] );
			}
			else if ( $format == "xml-c" )
			{
				$contents .= "\t\t</question>\n";
			}
			++$qorderi;
		}
		else if ( $maquestion['Type'] != "htmlcontent" && $format == "xml-c" )
		{
			$contents .= "\t\t<question id=\"".str2xml( $maquestion['QID'] )."\" type=\"pagebreak\" />\n";
		}
		if ( $format == "sql" )
		{
			$uvalues = array( );
			$m = 0;
			for ( ;	$m < sizeof( $phpQQfields );	++$m	)
			{
				$uvalues[] = str2sql( $maquestion[$phpQQfields[$m]] );
			}
			$contents .= "INSERT INTO phpQQuestion (".join( ",", $phpQQfields ).") VALUES (".join( ",", $uvalues ).")\n";
		}
	}
	if ( $format == "csv" )
	{
		$contents = terminate( $contents );
	}
	else if ( $format == "xml-c" )
	{
		$contents .= "\t</config>\n";
	}
	echo $contents;
	$contents = "";
	$qufields = $format == "sql" ? "phpQUser.*" : "phpQUser.CompleteDate, phpQUser.IPAddr, phpQUser.Email, phpQUser.EmailConfirm";
	$aquery = "select {$qufields},phpQAnswer.* from phpQUser,phpQAnswer where phpQAnswer.SID=\"".protectmysql( $sid )."\" AND phpQAnswer.UID=phpQUser.UID ";
	if ( $bits[2] && $stattype == "u" || $stattype == "v" )
	{
		$verification = $stattype == "v" ? "y" : "n";
		$aquery .= "AND phpQUser.EmailConfirm = '{$verification}' ";
	}
	$aquery .= "order by phpQUser.CompleteDate desc,phpQUser.UID";
	if ( function_exists( "mysql_unbuffered_query" ) )
	{
		$mqanswer = mysql_unbuffered_query( $aquery );
	}
	else
	{
		$mqanswer = mysql_query( $aquery );
	}
	$auid = 0;
	$aqid = 0;
	$displayqvalues = array( );
	while ( $maanswer = mysql_fetch_array( $mqanswer ) )
	{
		if ( $maanswer['UID'] != $auid )
		{
			if ( $format == "xml" )
			{
				if ( $auid )
				{
					$displayqvalues[$qorder[$aqid]] .= "\t\t</question>\n";
					ksort( $displayqvalues );
					echo join( "", $displayqvalues );
					echo "\t</result>\n";
					$displayqvalues = array( );
					$aqid = 0;
				}
				$displayqvalues[0] .= "\t<result id=\"".str2xml( $maanswer['UID'] )."\">\n";
				$displayqvalues[0] .= "\t\t<time>".str2xml( $maanswer['CompleteDate'] )."</time>\n";
				$displayqvalues[0] .= "\t\t<ip>".str2xml( $maanswer['IPAddr'] )."</ip>\n";
				if ( $bits[2] && $maanswer['Email'] )
				{
					$confirm = $maanswer['EmailConfirm'] == "y" ? "y" : "n";
					$displayqvalues[0] .= "\t\t<email verified=\"{$confirm}\">".str2xml( $maanswer['Email'] )."</email>\n";
				}
			}
			else if ( $format == "xml-c" )
			{
				if ( $auid )
				{
					ksort( $displayqvalues );
					echo join( "", $displayqvalues );
					echo "\t</r>\n";
					$displayqvalues = array( );
				}
				$displayqvalues[0] .= "\t<r id=\"".str2xml( $maanswer['UID'] )."\" time=\"".str2xml( $maanswer['CompleteDate'] )."\" ip=\"".str2xml( $maanswer['IPAddr'] )."\"";
				if ( $bits[2] && $maanswer['Email'] )
				{
					$confirm = $maanswer['EmailConfirm'] == "y" ? "y" : "n";
					$displayqvalues[0] .= " email=\"".str2xml( $maanswer['Email'] )."\"";
					$displayqvalues[0] .= " verified=\"{$confirm}\"";
				}
				$displayqvalues[0] .= ">\n";
			}
			else if ( $format == "csv" )
			{
				if ( $auid )
				{
					ksort( $displayqvalues );
					echo terminate( join( "", $displayqvalues ) );
					$displayqvalues = array( );
				}
				$displayqvalues[0] .= str2csv( $maanswer['UID'] );
				$displayqvalues[0] .= str2csv( $maanswer['CompleteDate'] );
				$displayqvalues[0] .= str2csv( $maanswer['IPAddr'] );
				if ( $bits[2] )
				{
					$displayqvalues[0] .= str2csv( $maanswer['Email'] );
				}
			}
			else if ( $format == "sql" )
			{
				$uvalues = array( );
				$m = 0;
				for ( ;	$m < sizeof( $phpQUfields );	++$m	)
				{
					$uvalues[] = str2sql( $maanswer[$phpQUfields[$m]] );
				}
				echo "INSERT INTO phpQUser (".join( ",", $phpQUfields ).") VALUES (".join( ",", $uvalues ).")\n";
			}
			$auid = $maanswer['UID'];
		}
		if ( $maanswer['QID'] != $aqid )
		{
			if ( $format == "xml" && $aqid )
			{
				$displayqvalues[$qorder[$aqid]] .= "\t\t</question>\n";
			}
			$aqid = $maanswer['QID'];
			if ( $format == "xml" )
			{
				$displayqvalues[$qorder[$aqid]] .= "\t\t<question id=\"".str2xml( $maanswer['QID'] )."\" type=\"".str2xml( $qarray[$maanswer['QID']]['Type'] )."\">\n";
				$displayqvalues[$qorder[$aqid]] .= "\t\t\t<asked>".str2xml( $qarray[$maanswer['QID']]['Question'] )."</asked>\n";
			}
		}
		if ( $qarray[$maanswer['QID']]['Type'] == "textfield" || $qarray[$maanswer['QID']]['Type'] == "textarea" )
		{
			if ( $format == "xml" )
			{
				$displayqvalues[$qorder[$aqid]] .= "\t\t\t<answer>\n";
				$displayqvalues[$qorder[$aqid]] .= "\t\t\t\t<entered>".str2xml( $maanswer['Answer'] )."</entered>\n";
				$displayqvalues[$qorder[$aqid]] .= "\t\t\t</answer>\n";
			}
			else if ( $format == "xml-c" )
			{
				$displayqvalues[$qorder[$aqid]] .= "\t\t<a qid=\"".str2xml( $maanswer['QID'] )."\">".str2xml( $maanswer['Answer'] )."</a>\n";
			}
			else if ( $format == "csv" )
			{
				$displayqvalues[$qorder[$aqid]] .= str2csv( $maanswer['Answer'] );
			}
		}
		else
		{
			$parseanswer = split( "\\|\\|", $maanswer['Answer'] );
			if ( $format == "xml" || $format == "xml-c" )
			{
				$j = 0;
				for ( ;	$j < sizeof( $parseanswer );	++$j	)
				{
					if ( preg_match( "/\\|/", $parseanswer[$j] ) )
					{
						list( $key, $textfield ) = split( "\\|", $parseanswer[$j] );
						$id = substr( $key, 1 );
						if ( $format == "xml" )
						{
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t<answer id=\"{$id}\">\n";
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t\t<selected>".str2xml( findvalue( $key, $ac[$maanswer['QID']] ) )."</selected>\n";
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t\t<entered>".str2xml( $textfield )."</entered>\n";
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t</answer>\n";
						}
						else if ( $format == "xml-c" )
						{
							$displayqvalues[$qorder[$aqid]] .= "\t\t<a qid=\"".$maanswer['QID']."\" id=\"{$id}\">".str2xml( $textfield )."</a>\n";
						}
					}
					else if ( $parseanswer[$j] != "" )
					{
						$id = substr( $parseanswer[$j], 1 );
						if ( $format == "xml" )
						{
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t<answer id=\"{$id}\">\n";
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t\t<selected>".str2xml( findvalue( $parseanswer[$j], $ac[$maanswer['QID']] ) )."</selected>\n";
							$displayqvalues[$qorder[$aqid]] .= "\t\t\t</answer>\n";
						}
						else if ( $format == "xml-c" )
						{
							$displayqvalues[$qorder[$aqid]] .= "\t\t<a qid=\"".$maanswer['QID']."\" id=\"{$id}\"/>\n";
						}
					}
				}
			}
			else if ( $format == "csv" )
			{
				$answer = "";
				$j = 0;
				for ( ;	$j < sizeof( $parseanswer );	++$j	)
				{
					if ( preg_match( "/\\|/", $parseanswer[$j] ) )
					{
						list( $key, $textfield ) = split( "\\|", $parseanswer[$j] );
						$answer .= findvalue( $key, $ac[$maanswer['QID']] ).": ".$textfield."; ";
					}
					else
					{
						$answer .= findvalue( $parseanswer[$j], $ac[$maanswer['QID']] )."; ";
					}
				}
				$displayqvalues[$qorder[$aqid]] .= str2csv( substr( $answer, 0, -2 ) );
			}
		}
		if ( $format == "sql" )
		{
			$uvalues = array( );
			$m = 0;
			for ( ;	$m < sizeof( $phpQAfields );	++$m	)
			{
				$uvalues[] = str2sql( $maanswer[$phpQAfields[$m]] );
			}
			echo "INSERT INTO phpQAnswer (".join( ",", $phpQAfields ).") VALUES (".join( ",", $uvalues ).")\n";
		}
	}
	ksort( $displayqvalues );
	if ( $format == "xml" )
	{
		$displayqvalues[$qorder[$aqid]] .= "\t\t</question>\n";
		echo join( "", $displayqvalues );
		echo "\t</result>\n</survey>\n";
	}
	else if ( $format == "xml-c" )
	{
		echo join( "", $displayqvalues );
		echo "\t</r>\n</survey>\n";
	}
	else if ( $format == "csv" )
	{
		echo terminate( join( "", $displayqvalues ) );
	}
	$displayqvalues = array( );
}

?>

⌨️ 快捷键说明

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