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

📄 ifunctions.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php

function importsurvey( $fp, $type, $flag )
{
	global $phpQlang;
	$action = $type == "SWAP" ? $phpQlang['ImportFailed'] : $phpQlang['RestoreFailed'];
	$header = fgets( $fp, 80 );
	if ( !preg_match( "/<!--(PERL|PHP)QBACKUP ([\\d\\.]+) ((PERL|PHP)QBACKUP|SURVEYBACKUP|SURVEYSWAP)-->/", $header, $matches ) )
	{
		echo $header;
		$GLOBALS['message'] = $action.$phpQlang['ImportBadHeader'];
		return 0;
	}
	$lang = $matches[1];
	$version = ( double )$matches[2];
	$btype = $matches[3];
	if ( strtolower( $lang ) != "php" )
	{
		$btype = str_replace( $lang, "PHP", $btype );
	}
	if ( $version < 1.2 || $PHPQVERSION < $version )
	{
		$GLOBALS['message'] = $action.sprintf( $phpQlang['ImportBadVersion'], $version, $GLOBALS['PHPQVERSION'] );
		return 0;
	}
	if ( $type == "SWAP" && $btype != "SURVEYSWAP" )
	{
		$GLOBALS['message'] = $action.sprintf( $phpQlang['ImportSurveyBadFormat'], protecthtml( $btype ) );
		return 0;
	}
	else
	{
		if ( $type == "BACKUP" && $btype != "PHPQBACKUP" && $btype != "SURVEYBACKUP" )
		{
			$GLOBALS['message'] = $action.sprintf( $phpQlang['RestoreSurveyBadFormat'], protecthtml( $btype ) );
			return 0;
		}
	}
	if ( $btype == "SURVEYSWAP" )
	{
		$phpQF['phpQSurvey'] = array( "Name", "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" );
		$phpQF['phpQQuestion'] = array( "SortOrder", "Question", "Type", "Mult", "QuestionStyle", "Instructions", "Answer", "Choose", "DefaultAnswer", "LargestAID", "ColNumb", "AnswerInputStyle", "AnswerTextStyle", "AnswerStyle", "Attributes", "Required", "Summary" );
	}
	else
	{
		if ( $btype == "PHPQBACKUP" )
		{
			$phpQF['phpQAdmin'] = array( "phpQID", "Version", "Template", "Language", "AdminLanguage", "SummaryLimit", "TextareaLimit", "PopupLimit", "AdvanceInterface", "ListSurvey", "TimeOut", "CookieDomain" );
			$phpQC['phpQAdmin'] = "CREATE TABLE phpQAdmin (phpQID BIGINT UNSIGNED NOT NULL, Version CHAR(10) NOT NULL, Passwd VARCHAR(20) NOT NULL, Template VARCHAR(50) NOT NULL, Language VARCHAR(50) NOT NULL, AdminLanguage VARCHAR(50) NOT NULL, SummaryLimit INT UNSIGNED NOT NULL DEFAULT 10, TextareaLimit INT UNSIGNED NOT NULL DEFAULT 5, PopupLimit INT UNSIGNED NOT NULL DEFAULT 5, AdvanceInterface ENUM('y','n') NOT NULL DEFAULT 'n', ListSurvey ENUM('y','n') NOT NULL DEFAULT 'y', TimeOut BIGINT UNSIGNED NOT NULL, CookieDomain VARCHAR(255) NOT NULL)";
		}
		$phpQF['phpQAnswer'] = array( "UID", "SID", "QID", "Answer" );
		$phpQC['phpQAnswer'] = "CREATE TABLE phpQAnswer (UID BIGINT UNSIGNED NOT NULL, SID BIGINT UNSIGNED NOT NULL, QID BIGINT UNSIGNED NOT NULL, Answer TEXT NOT NULL, UNIQUE uniqids (SID, QID, UID), INDEX index_uid (UID))";
		$phpQR['phpQAnswer'] = array( 0, "UID", 1, "SID", 2, "QID" );
		$phpQF['phpQQuestion'] = array( "SID", "QID", "SortOrder", "Question", "Type", "Mult", "QuestionStyle", "Instructions", "Answer", "Choose", "DefaultAnswer", "LargestAID", "ColNumb", "AnswerInputStyle", "AnswerTextStyle", "AnswerStyle", "Attributes", "Required", "Summary" );
		$phpQC['phpQQuestion'] = "CREATE TABLE phpQQuestion (SID BIGINT UNSIGNED NOT NULL, QID BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, SortOrder INT UNSIGNED NOT NULL, Question TEXT NOT NULL, Type ENUM('radio','checkbox','textfield','textarea','select','selectmult','pagebreak','htmlcontent') NOT NULL DEFAULT 'radio', Mult INT UNSIGNED NOT NULL DEFAULT 1, QuestionStyle VARCHAR(255) NOT NULL, Instructions TEXT NOT NULL, Answer TEXT NOT NULL, Choose VARCHAR(11) NOT NULL, DefaultAnswer TEXT NOT NULL, LargestAID INT UNSIGNED NOT NULL, ColNumb INT UNSIGNED NOT NULL DEFAULT 1, AnswerInputStyle VARCHAR(255) NOT NULL, AnswerTextStyle VARCHAR(255) NOT NULL, AnswerStyle VARCHAR(255) NOT NULL, Attributes TEXT NOT NULL, Required ENUM('y','n') NOT NULL DEFAULT 'y', Summary ENUM('y','n') NOT NULL DEFAULT 'n')";
		$phpQR['phpQQuestion'] = array( 0, "SID" );
		$phpQU['phpQQuestion'] = array( 1, "QID" );
		$phpQF['phpQSurvey'] = array( "SID", "AddDate", "Name", "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" );
		$phpQC['phpQSurvey'] = "CREATE TABLE phpQSurvey (SID BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(255) NOT NULL, AddDate DATETIME NOT NULL DEFAULT '0000-00-00', SurveyUsers CHAR(3) NOT NULL DEFAULT '000', SurveyResults TINYINT NOT NULL, Width VARCHAR(255) NOT NULL, Indent INT UNSIGNED NOT NULL DEFAULT 20, QuestionNumb ENUM('y','n') NOT NULL DEFAULT 'y', QuestionStyle VARCHAR(255) NOT NULL, AnswerInputStyle VARCHAR(255) NOT NULL, AnswerTextStyle VARCHAR(255) NOT NULL, AnswerStyle VARCHAR(255) NOT NULL, ErrorStyle VARCHAR(255) NOT NULL, VerifyEmail TEXT NOT NULL, EmailFrom VARCHAR(255) NOT NULL, EmailSubject VARCHAR(255) NOT NULL, Template VARCHAR(50) NOT NULL, Language VARCHAR(50) NOT NULL, OnComplete TINYINT NOT NULL, RedirectURL TEXT NOT NULL, Completed TEXT NOT NULL, Description TEXT NOT NULL, AdminNotes TEXT NOT NULL, Active ENUM('y','n') NOT NULL DEFAULT 'n', StartDate DATETIME NOT NULL DEFAULT '0000-00-00', EndDate DATETIME NOT NULL DEFAULT '0000-00-00', AdvanceInterface ENUM('y','n') NOT NULL DEFAULT 'n', ResultsWidth VARCHAR(255) NOT NULL, ResultsBorder VARCHAR(255) NOT NULL, ResultsAnswer VARCHAR(255) NOT NULL, ResultsStats VARCHAR(255) NOT NULL, ResultsGraph VARCHAR(255) NOT NULL, SubmitImageSrc VARCHAR(255) NOT NULL, SubmitImageWidth INT UNSIGNED NOT NULL, SubmitImageHeight INT UNSIGNED NOT NULL, SubmitImageText VARCHAR(255) NOT NULL, ResultImageSrc VARCHAR(255) NOT NULL, ResultImageWidth INT UNSIGNED NOT NULL, ResultImageHeight INT UNSIGNED NOT NULL, ResultImageText VARCHAR(255) NOT NULL,NextImageSrc VARCHAR(255) NOT NULL, NextImageWidth INT UNSIGNED NOT NULL, NextImageHeight INT UNSIGNED NOT NULL, NextImageText VARCHAR(255) NOT NULL, ResponseNotice TINYINT NOT NULL, ResponseEmail TEXT NOT NULL)";
		$phpQU['phpQSurvey'] = array( 0, "SID" );
		$phpQF['phpQUser'] = array( "UID", "SID", "IPAddr", "BlockDupe", "CheckType", "Email", "Confirm", "EmailConfirm", "CompleteDate" );
		$phpQC['phpQUser'] = "CREATE TABLE phpQUser (UID BIGINT UNSIGNED NOT NULL PRIMARY KEY DEFAULT 0, SID BIGINT UNSIGNED NOT NULL, IPAddr VARCHAR(100) NOT NULL, BlockDupe VARCHAR(40) NOT NULL, CheckType CHAR(3) NOT NULL DEFAULT '000', Email VARCHAR(255) NOT NULL, Confirm VARCHAR(50) NOT NULL, EmailConfirm ENUM('y','n') NOT NULL DEFAULT 'n', CompleteDate DATETIME NOT NULL DEFAULT '0000-00-00')";
		$phpQR['phpQUser'] = array( 1, "SID" );
		$phpQU['phpQUser'] = array( 0, "UID" );
		$tcreated = array( );
		$idmap = array( );
	}
	while ( $line = fgets( $fp, "65536" ) )
	{
		$line = rtrim( $line );
		if ( strtolower( $lang ) != "php" )
		{
			$pos = strpos( $line, strtolower( $lang ) );
			if ( $pos !== false )
			{
				$line = substr_replace( $line, "php", $pos, strlen( $lang ) );
			}
		}
		$linevals = explode( "|", $line );
		$table = $linevals[1];
		if ( $linevals[0] == "TABLE" && $linevals[2] == "COLUMNS" )
		{
			if ( !isset( $phpQF[$table] ) )
			{
				$GLOBALS['message'] = $action.$phpQlang['ImportMissingTableColumn'];
				return 0;
			}
			$columnorder[$table] = explode( ",", $linevals[3] );
		}
		else if ( $linevals[0] == "TABLE" && $linevals[2] == "VALUES" )
		{
			$values = explode( "&", $linevals[3] );
			$valuenames = array( );
			if ( !isset( $columnorder[$table] ) )
			{
				$GLOBALS['message'] = $action.$phpQlang['ImportMissingTableValue'];
				return 0;
			}
			if ( $version < 2 && $table == "phpQSurvey" )
			{
				$valuenames['ResultsWidth'] = "500";
				$valuenames['ResultsBorder'] = "background-color: #333366; color: #FFFFFF; text-decoration: none;";
				$valuenames['ResultsAnswer'] = "background-color: #FFFFFF; color: #333366;";
				$valuenames['ResultsStats'] = "background-color: #DDEEFF; color: #333366;";
				$valuenames['ResultsGraph'] = "background-color: #333366; height: 8px;";
				$valuenames['Language'] = findilanguage( "chinese" );
			}
			if ( $version < 2.1 && $table == "phpQSurvey" )
			{
				$valuenames['SubmitImageText'] = $phpQlang['Submit'];
				$valuenames['ResultImageText'] = $phpQlang['ShowResults'];
				$valuenames['NextImageText'] = $phpQlang['Next'];
			}
			$i = 0;
			for ( ;	$i < count( $values );	++$i	)
			{
				$field = $columnorder[$table][$i];
				$valuenames[$field] = $values[$i];
				if ( $table == "phpQSurvey" )
				{
					if ( $field == "Active" && $btype == "SURVEYSWAP" )
					{
						$valuenames['Active'] = "n";
					}
					if ( $field == "Template" )
					{
						$valuenames['Template'] = finditemplate( $values[$i] );
					}
					else if ( $field == "Language" )
					{
						$valuenames['Language'] = findilanguage( $values[$i] );
					}
				}
			}
			$sqlvalues = array( );
			$i = 0;
			for ( ;	$i < count( $phpQF[$table] );	++$i	)
			{
				$sqlvalues[] = phpq2sql( $valuenames[$phpQF[$table][$i]] );
			}
			if ( $btype == "SURVEYSWAP" )
			{
				if ( $table == "phpQSurvey" )
				{
					$mqinsert = mysql_query( "INSERT INTO phpQSurvey (SID,AddDate,".join( ",", $phpQF[$table] ).") VALUES (NULL,NOW(),".join( ",", $sqlvalues ).")" );
					$sid = $mqinsert ? mysql_insert_id( ) : 0;
					if ( !$sid )
					{
						$GLOBALS['message'] = $action.$phpQlang['ImportCreateSurvey'];
						return 0;
					}
				}
				else if ( $table == "phpQQuestion" )
				{
					if ( !$sid )
					{
						$GLOBALS['message'] = $action.$phpQlang['ImportQuestionPreSurvey'];
						return 0;
					}
					mysql_query( "INSERT INTO phpQQuestion (SID,QID,".join( ",", $phpQF[$table] ).") VALUES ({$sid},NULL,".join( ",", $sqlvalues ).")" );
				}
			}
			else if ( $table == "phpQAdmin" )
			{
				global $phpQAdmin;
				if ( $flag == "erase" && $btype == "PHPQBACKUP" && !$tcreated[$table] )
				{
					mysql_query( "DROP TABLE phpQAdmin" );
					if ( !mysql_query( $phpQC['phpQAdmin'] ) )
					{

⌨️ 快捷键说明

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