📄 pfunctions.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 + -