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

📄 pfunctions.php

📁 调查问卷系统源码。想下的就下吧。不要条件
💻 PHP
字号:
<?
################################################################################
# phpQuestionnaire                           Version 2.2                       #
# Copyright 2003-2005 chumpsoft, inc.        March 28, 2005                    #
################################################################################
#              SCRiPTMAFiA 2005 - THE DiRTY HANDS ON YOUR SCRiPTS              #
################################################################################

function ValidateUID ($uid) {
	$mqvaliduid = mysql_query("select * from phpQUser where UID = \"".ProtectMySQL($uid)."\"");
	return ($mavaliduid = mysql_fetch_array($mqvaliduid)) ? true : false;
}

function ValidateQAnswer ($qanswer) {
	$valid = true;

	$choices = split("\|\|\|", $qanswer);
	for ($i=0; $i<sizeof($choices); $i++) {
		$parts = split("\|\|", $choices[$i]);
		if (sizeof($parts) != 5) {
			$valid = false;
		} else {
			$valid = (strlen($parts[0]) == 4) ? $valid : false;
			$valid = ($parts[1] > 0) ? $valid : false;
			$valid = ($parts[2] != '') ? $valid : false;
			$valid = ($parts[3] == "N" || $parts[3] == "D") ? $valid : false;
			$valid = ($parts[4] == "Y" || $parts[4] == "N") ? $valid : false;
		}
	}

	return $valid;
}

function CreatePage ($sid, $title, $contents, $admin, $jscript) {
	global $phpQlang, $phpQAdmin;
	$cs = $GLOBALS["cs"];
	$message = $GLOBALS["message"];

	#-->> Loading Template

	if ((string)$sid == 'stats' && !$admin) {
		$sid = $title['SID'];
		$title = $title['Name'].' : '.$phpQlang['SurveyResultsTitle'];
		$jsstats = file("inc/jsstats.php");
		for ($i=0; $i<count($jsstats); $i++) {
			$jsinfo .= ReplaceLanguage($jsstats[$i]);
		}
	}
	else if ((string)$sid == 'stats') {
		$title = $phpQlang['SurveyResultsTitle'];
	}

	if ($phpQAdmin["Template"] != '' && is_readable('templates/'.$phpQAdmin["Template"].'/index.html')) {
		$template = 'templates/'.$phpQAdmin["Template"].'/index.html';
	}
	elseif (is_readable('templates/default/index.html')) {
		$template = 'templates/default/index.html';
	}

	if ($admin) {
		$template = ((string)$sid == 'stats') ? "admin/template.html" : "template.html";
	}
	elseif (is_numeric($sid)) {
		$masurvey = mysql_fetch_array(mysql_query("select * from phpQSurvey where SID = \"".ProtectMySQL($sid)."\""));
		if ($masurvey["Template"] != '' && is_readable('templates/'.$masurvey["Template"].'/index.html')) {
			$template = 'templates/'.$masurvey["Template"].'/index.html';
		}
	}

	$templatevalid = false;
	if (is_readable($template)) {
		$templatevalid = true;
		$templatearray = file($template);
	}

	#-->> Loading Default JS

	$jsinit = "";
	if ($admin) {
		$path = ((string)$sid == 'stats') ? '' : '../';
		$jsloc = ($jscript) ? $path."inc/$jscript" : "";
		if ($jsloc != '' && $jsloc != '.' && $jsloc != '..' && file_exists($jsloc)) {
			$jsvalid = true;
			$jsarray = file($jsloc);
			switch ($jscript) {
				case "jslogin.php":
					$jsinfo = "";
					$jsinit = "ONLOAD=\"Init()\"";
					break;
				case "jssurvey.php":
					$jsinfo = "<SCRIPT>\nvar currentsurvey = \"$cs\";\n</SCRIPT>\n\n";
					break;
				case "jsquestion.php":
					$qt = $GLOBALS["oQType"];
					$cq = $GLOBALS["cq"];
					$largestid = $GLOBALS["largestid"];
					$questionlist = $GLOBALS["questionlist"];
					
					$jsinit = "ONLOAD=\"Init()\"";
					$jsinfo = "<SCRIPT>\n";
					$jsinfo .= "function QuestionOBJ (QID, SortOrder, Type) {\n";
					$jsinfo .= "this.QID = QID;\n";
					$jsinfo .= "this.SortOrder = SortOrder;\n";
					$jsinfo .= "this.Type = Type;\n";
					$jsinfo .= "}\n\n";
					$jsinfo .= "var ctype = \"$qt\";\n";
					$jsinfo .= "var tempquestionobj = new QuestionOBJ();\n";
					$jsinfo .= "var cs = \"$cs\";\n";
					$jsinfo .= "var cq = \"$cq\";\n";
					$jsinfo .= "var qt = \"$qt\";\n";
					$jsinfo .= "var largestid = \"".(($largestid)?$largestid:"0")."\";\n\n";
					$jsinfo .= "var questions = new Array(";
					for ($i=0; $i<sizeof($questionlist); $i++) {
						if ($i > 0) { $jsinfo .= ", "; }
						$jsinfo .= "new QuestionOBJ(";
						$jsinfo .= "\"".ProtectHTML($questionlist[$i]["QID"])."\", ";
						$jsinfo .= "\"".ProtectHTML($questionlist[$i]["SortOrder"])."\", ";
						$jsinfo .= "\"".ProtectHTML($questionlist[$i]["Type"])."\" ";
						$jsinfo .= ")";
					}
					$jsinfo .= ");\n";

					# The variables below are used for the answer wizard.
					$jsinfo .= "var fieldinit = false;\n";
					$jsinfo .= "var deleteinit = false;\n";
					$jsinfo .= "var checkboxarray = new Array();\n";
					$jsinfo .= "var checkboxarray2 = new Array();\n";
					$jsinfo .= "var addtextfield = false;\n";

					$jsinfo .= "</SCRIPT>\n\n";
					break;
				default:
					$jsinfo = "";
					break;
			}
			for ($i=0; $i<sizeof($jsarray); $i++) {
				$jsinfo .= ReplaceLanguage($jsarray[$i]);
			}
		}
	}

	#-->> Admin Menu

	switch ((string)$sid) {
		case "login":
			$menu = "<TD><IMG SRC=\"images/invdot.gif\" WIDTH=5 HEIGHT=1 ALT=\"\"></TD>\n";
			$menu .= "<TD><IMG SRC=\"images/tableft.gif\" WIDTH=4 HEIGHT=15 ALT=\" \"></TD>\n";
			$menu .= "<TD BGCOLOR=#99CCFF><NOBR>\n";
			$menu .= "<B>chumpsoft :: phpQ</B></NOBR></TD>\n";
			$menu .= "<TD><IMG SRC=\"images/tabright.gif\" WIDTH=7 HEIGHT=15 ALT=\" \"></TD>\n";
			break;
		case "main":
			$menu = PrintTabs(1, 0);
			break;
		case "admin":
			$menu = PrintTabs(4, 0);
			break;
		case "choose":
		case "view":
			$menu = PrintTabs(3, 0);
			break;
		case "stats":
			$addmin = ($admin && (string)$sid == 'stats') ? 1 : 0;
			$menu = PrintTabs(3, $addmin);
			break;
		case "survey":
		case "question":
			$menu = PrintTabs(2, 0);
			break;
	}

	#-->> Output Page

	global $HTTP_SERVER_VARS;

	if ($templatevalid) {
		array_splice($templatearray, 0, 1);
		$templatedata = join('', $templatearray);

		# This is kind of a hack, but it works...
		if ($admin && (string)$sid == 'stats') {
			$templatedata = str_replace("HREF=\"../docs/", "HREF=\"docs/", $templatedata);
			$templatedata = str_replace("HREF=\"index.php", "HREF=\"admin/index.php", $templatedata);
			$templatedata = str_replace("HREF=\"favicon.ico", "HREF=\"admin/favicon.ico", $templatedata);
			$templatedata = str_replace("SRC=\"images/", "SRC=\"admin/images/", $templatedata);
			$templatedata = str_replace("HREF=\"template.css\"", "HREF=\"admin/template.css\"", $templatedata);
		}

		$templatedata = str_replace("::CHARSET::", $phpQlang['CHARSET'], $templatedata);
		$templatedata = str_replace("::USERMANUAL::", $phpQlang['UserManual'], $templatedata);
		$templatedata = str_replace("::SURVEYNAME::", $title, $templatedata);
		$templatedata = str_replace("::PAGENUMBER::", $GLOBALS["PageNumber"], $templatedata);
		$templatedata = str_replace("::JSINIT::", $jsinit, $templatedata);
		$templatedata = str_replace("::JSCRIPT::", $jsinfo, $templatedata);
		$templatedata = str_replace("::MENU::", $menu, $templatedata);
		$templatedata = str_replace("::MESSAGE::", $message, $templatedata);
		$templatedata = str_replace("::CONTENT::", $contents, $templatedata);

		echo $templatedata;
	}
	else {
		echo $phpQlang['NoTemplate'];
	}
}

function PrintTabs ($tabindex, $addmin) {
	global $phpQlang;
	$imgurl = $GLOBALS["inAdmin"] ? 'images' : 'admin/images';
	$csurl = ($GLOBALS["cs"]) ? $GLOBALS["cs"] : $GLOBALS["sid"];
	$csurl = is_numeric($csurl) ? "?cs=$csurl" : '';
	$uri = $addmin ? 'admin/' : '';
	$menuarray = array(array($phpQlang['TabMain'], $uri."main.php$csurl"),
	    array($phpQlang['TabSurveyEditor'], $uri."survey.php$csurl"),
	    array($phpQlang['TabSurveyResults'], $uri."choose.php$csurl"),
	    array($phpQlang['TabConfiguration'], $uri."admin.php$csurl"),
	    array($phpQlang['TabLogoff'], $uri."index.php?logoff=true"));

	for ($i=0; $i<sizeof($menuarray); $i++) {
		if ($i==$tabindex-1) {
			$tabcss = "tabon";
			$leftimg = "tablefton.gif";
			$rightimg = "tabrighton.gif";
			$bgcolor = "#BBFF33";
		}
		else {
			$tabcss = "tab";
			$leftimg = "tableft.gif";
			$rightimg = "tabright.gif";
			$bgcolor = "#99CCFF";
		}

		$menu .= "<TD><IMG SRC=\"$imgurl/invdot.gif\" WIDTH=5 HEIGHT=1 ALT=\"\"></TD>\n";
		$menu .= "<TD><IMG SRC=\"$imgurl/$leftimg\" WIDTH=4 HEIGHT=15 ALT=\" \"></TD>\n";
		$menu .= "<TD BGCOLOR=$bgcolor><NOBR><A HREF=\"".$menuarray[$i][1]."\"";
		$menu .= " CLASS=$tabcss><B>".$menuarray[$i][0]."</B></A></NOBR></TD>\n";
		$menu .= "<TD><IMG SRC=\"$imgurl/$rightimg\" WIDTH=7 HEIGHT=15 ALT=\" \"></TD>\n";
	}

	return $menu;
}

function PrintMessage ($message, $width=400, $align='center') {
	$width = $width ? " WIDTH=$width" : '';
	$align = $align ? " ALIGN=$align" : '';

	$msg = "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0$width>\n";
	$msg .= "<TR><TD$align>$message</TD></TR>\n";
	$msg .= "</TABLE>\n";
	return $msg;
}

function CreateSurvey ($sid, $cq, $tablewidth, $page, $admin) {
	global $HTTP_SERVER_VARS, $HTTP_COOKIE_VARS, $HTTP_POST_VARS, $phpQlang;

	$masurvey = mysql_fetch_array(mysql_query("select * from phpQSurvey where SID = \"".ProtectMySQL($sid)."\""));
	$width = ($tablewidth > 0) ? "WIDTH=$tablewidth" : "";
	$scriptname = $PHP_SELF ? $PHP_SELF : $HTTP_SERVER_VARS["PHP_SELF"];
	if (!$scriptname && $HTTP_SERVER_VARS['REQUEST_URI']) {
		$scriptname = $HTTP_SERVER_VARS['REQUEST_URI'];
	}
	
	$contents = "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 $width>\n";
	$contents .= "<FORM ACTION=\"$scriptname\" METHOD=POST>\n";

	if (strlen($masurvey["SurveyUsers"]) == 3 && substr($masurvey["SurveyUsers"],1,1) && !$admin && !$HTTP_COOKIE_VARS["phpQTest"] && $cq > 1) {
		$contents .= "<TR><TD STYLE=\"".$masurvey["ErrorStyle"]."\">";
		$contents .= $phpQlang['SurveyCookieWarning'] . "<BR><BR></TD></TR>";
	}

	$contents .= $page;
	$ufid = $HTTP_POST_VARS["ufid"];
	if ($ufid == '') {
		list($usec, $sec) = explode(' ', microtime());
		$usec *= 1000000;
		$ip = $REMOTE_ADDR ? $REMOTE_ADDR : $HTTP_SERVER_VARS['REMOTE_ADDR'];
		mt_srand(time() ^ (int)$usec ^ ip2long($ip) ^ (int)@getmypid());
		$randval = mt_rand(1000000000,1999999999); # max int is usually 2147483647
		$ufid = "$ip-".time()."-$randval";
	}
	$contents .= "<INPUT TYPE=hidden NAME=ufid VALUE=\"$ufid\">\n";

	if ($admin) {
		$contents .= "<INPUT TYPE=hidden NAME=action VALUE=preview>\n";
	}
	$contents .= "<INPUT TYPE=hidden NAME=sid VALUE=$sid>\n";
	$contents .= "</FORM>\n";
	$contents .= "</TABLE>\n";

	return $contents;
}

?>

⌨️ 快捷键说明

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