📄 qfunctions.php
字号:
# Grabbing answer (uidanswer) from database
if ($uidanswer) {
$tfanswer = '';
$tempchecked = "";
$uidchoices = split("\|\|", $uidanswer);
for ($j=0; $j<sizeof($uidchoices); $j++) {
if (substr($uidchoices[$j],0,1) == "O") {
$txtchoice = split("\|", $uidchoices[$j]);
$tempchecked = (substr($txtchoice[0],1) == $subqid) ? "CHECKED" : $tempchecked;
if ((substr($txtchoice[0],1) == $subqid && $txtchoice[1] != '')) {
$tfanswer = $txtchoice[1];
}
}
else {
$tempchecked = (substr($uidchoices[$j],1) == $subqid) ? "CHECKED" : $tempchecked;
}
}
$checked = ($tempchecked) ? $tempchecked : "";
}
# Determining if there is a textfield
$checkid = 'Q'.$qid.'_'.$subqid;
if (substr($parts[2],0,11) == "Textfield:(") {
$tfanswer = ProtectHTML($tfanswer);
$choicetext = substr($parts[2],11,strlen($parts[2])-12);
if ($print) {
$contents .= $checked ? "<TD STYLE=\"$answertextstyle\">".FreeHTML($choicetext)." [$tfanswer]</TD>" : '';
}
else {
$contents .= "<TD STYLE=\"$answerinputstyle\"><INPUT TYPE=checkbox NAME=Q".$qid."[] $checked ID=\"$checkid\" VALUE=\"O$subqid\"></TD>";
$contents .= "<TD STYLE=\"$answertextstyle\"><LABEL FOR=\"$checkid\">".FreeHTML($choicetext)."</LABEL> </TD>";
$contents .= "<TD STYLE=\"$answerinputstyle\"><INPUT TYPE=text STYLE=\"$answerstyle\" $attributes ";
$contents .= "NAME=Q".$qid."O$subqid VALUE=\"$tfanswer\"></TD>\n";
}
}
else {
if ($print) {
$contents .= $checked ? "<TD STYLE=\"$answertextstyle\">".FreeHTML($parts[2])."</TD>" : '';
}
else {
$contents .= "<TD STYLE=\"$answerinputstyle\"><INPUT TYPE=checkbox NAME=Q".$qid."[] $checked ID=\"$checkid\" VALUE=\"N$subqid\"></TD>";
$contents .= "<TD STYLE=\"$answertextstyle\" COLSPAN=2><LABEL FOR=\"$checkid\">".FreeHTML($parts[2])."</LABEL> </TD>\n";
}
}
# Correct columns during a $print
if ($print) { $count += $checked ? 1 : 0; }
else { $count = $i; }
if (($count+1) % $colnumb == 0 && $count != sizeof($choices)) {
$contents .= "</TR><TR>\n";
}
}
$contents .= "</TR></TABLE>\n";
$contents .= "</TD></TR></TABLE>\n";
break;
case "selectmult":
$contents .= "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0>\n";
if ($print) {
$contents .= "<TR><TD WIDTH=$indent></TD><TD>\n";
$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>\n";
}
else {
$contents .= "<TR><TD WIDTH=$indent></TD><TD STYLE=\"$answerinputstyle\">\n";
$contents .= "<SELECT NAME=Q".$qid."[] STYLE=\"$answertextstyle\" SIZE=$mult MULTIPLE>";
}
$choices = split("\|\|\|", $answer);
$seltextfield = 0;
$optext = '';
for ($i=0; $i<sizeof($choices); $i++) {
$parts = split("\|\|", $choices[$i]);
$subqid = $parts[1];
# Checking for previous input by user else default answer
if ($HTTP_POST_VARS["Q".$qid."Answered"]) {
$optext = ($HTTP_POST_VARS["Q".$qid."O".$subqid] != '') ? $HTTP_POST_VARS["Q".$qid."O".$subqid] : $optext;
$selected = "";
if ($HTTP_POST_VARS["Q".$qid."O".$subqid] != '') { echo "test"; }
for ($j=0; $j<sizeof($HTTP_POST_VARS["Q".$qid]); $j++) {
$selected = (substr($HTTP_POST_VARS["Q".$qid][$j],1) == $subqid) ? "SELECTED" : $selected;
}
}
else {
$selected = ($parts[3] == "D") ? "SELECTED" : "";
}
# Grabbing answer (uidanswer) from database
if ($uidanswer) {
$tempselected = "";
$uidchoices = split("\|\|", $uidanswer);
for ($j=0; $j<sizeof($uidchoices); $j++) {
$optionsplit = split("\|", $uidchoices[$j]);
$optext = (sizeof($optionsplit) == 2) ? $optionsplit[1] : '';
$tempselected = (substr($optionsplit[0],1) == $subqid) ? "SELECTED" : $tempselected;
}
$selected = ($tempselected) ? $tempselected : "";
}
# Determining if there is a textfield
if (substr($parts[2],0,11) == "Textfield:(") {
$seltextfield = $subqid;
$choicetext = substr($parts[2],11,strlen($parts[2])-12);
if ($print) {
$contents .= $selected ? "<TR><TD STYLE=\"$answertextstyle\">$choicetext [" . ProtectHTML($optext) . "]</TD></TR>" : '';
}
else {
$contents .= "<OPTION $selected VALUE=\"O$subqid\">".$choicetext."</OPTION>";
}
}
else {
if ($print) {
$contents .= $selected ? "<TR><TD STYLE=\"$answertextstyle\">$parts[2]</TD></TR>" : '';
}
else {
$contents .= "<OPTION $selected VALUE=\"N$subqid\">".$parts[2]."</OPTION>";
}
}
}
if ($print) { $contents .= "</TABLE></TD></TR>"; }
else { $contents .= "</SELECT></TD></TR>\n"; }
if ($seltextfield && !$print) {
$tfanswer = ProtectHTML($optext);
$contents .= "<TR><TD></TD><TD STYLE=\"$answerinputstyle\"><INPUT TYPE=text STYLE=\"$answerstyle\" $attributes ";
$contents .= "NAME=Q".$qid."O".$seltextfield." VALUE=\"$tfanswer\"></TD></TR>\n";
}
$contents .= "</TABLE>\n";
break;
case "textfield":
$defaultanswer = ($uidanswer) ? $uidanswer : $defaultanswer;
$defaultanswer = ($HTTP_POST_VARS["Q".$qid."Answered"]) ? $HTTP_POST_VARS["Q".$qid] : $defaultanswer;
$defaultanswer = ProtectHTML($defaultanswer);
$contents .= "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0><TR>\n";
$contents .= "<TD WIDTH=$indent></TD>\n";
if ($print) {
$contents .= "<TD STYLE=\"$answertextstyle\">$defaultanswer</TD>\n";
}
else {
$contents .= "<TD STYLE=\"$answerinputstyle\">";
$contents .= "<INPUT TYPE=text STYLE=\"$answerstyle\" NAME=Q$qid $attributes VALUE=\"$defaultanswer\"></TD>\n";
}
$contents .= "</TR></TABLE>\n";
break;
case "textarea":
$defaultanswer = ($uidanswer) ? $uidanswer : $defaultanswer;
$defaultanswer = ($HTTP_POST_VARS["Q".$qid."Answered"]) ? $HTTP_POST_VARS["Q".$qid] : $defaultanswer;
$defaultanswer = ProtectHTML($defaultanswer);
$contents .= "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0><TR>\n";
$contents .= "<TD WIDTH=$indent></TD>\n";
if ($print) {
$defaultanswer = str_replace("\n", "<br>", $defaultanswer);
$contents .= "<TD STYLE=\"$answertextstyle\">$defaultanswer</TD>\n";
}
else {
$contents .= "<TD STYLE=\"$answerinputstyle\">\n";
$contents .= "<TEXTAREA STYLE=\"$answerstyle\" NAME=Q$qid $attributes>$defaultanswer</TEXTAREA></TD>\n";
}
$contents .= "</TR></TABLE>\n";
break;
case "htmlcontent":
return "<TR><TD> </TD></TR>\n";
break;
}
$contents .= "</TD></TR>\n";
$contents .= "<TR><TD> </TD></TR>\n";
return $contents;
}
function PrintClose () {
global $phpQlang;
$contents = "<TR><TD ALIGN=center>\n";
$contents .= "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0><TR>\n";
$contents .= "<TD><INPUT TYPE=button ONCLICK=\"window.close();\" VALUE=\"".$phpQlang["Close"]."\"></TD>\n";
$contents .= "</TR></TABLE>\n";
$contents .= "</TD></TR>\n";
return $contents;
}
function PrintSubmit ($buttontext, $masurvey, $preview) {
global $phpQlang;
if ($buttontext == $phpQlang['Next']) {
$buttonsubmit = GetButton($masurvey, 'next');
}
else {
$buttonsubmit = GetButton($masurvey, 'submit');
}
$contents = "<TR><TD ALIGN=center>\n";
$contents .= "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0><TR>\n";
$contents .= "<TD>$buttonsubmit</TD>\n";
if ($masurvey["SurveyResults"] == 2) {
$buttonsubmit = GetButton($masurvey, 'results');
$contents .= "<TD> </TD><TD>$buttonsubmit</TD>";
}
if ($preview) {
$sep = '- ';
if ($buttontext != $phpQlang['Submit']) {
$contents .= "<TD> $sep</TD><TD><INPUT TYPE=submit VALUE=\"".$phpQlang["Skip"]."\" NAME=\"skip\"></TD>";
$sep = '';
}
$contents .= "<TD> $sep</TD><TD><INPUT TYPE=button ONCLICK=\"window.close();\" VALUE=\"".$phpQlang["Close"]."\"></TD>";
}
$contents .= "</TR></TABLE>\n";
$contents .= "</TD></TR>\n";
return $contents;
}
function GetButton ($masurvey, $buttontext) {
global $phpQlang;
switch ($buttontext) {
case 'submit':
$index = 'Submit';
$text = 'Submit';
break;
case 'next':
$index = 'Next';
$text = 'Next';
break;
case 'results':
$index = 'Result';
$text = 'ShowResults';
break;
}
$buttonalt = $masurvey[$index.'ImageText'];
if ($masurvey[$index.'ImageSrc']) {
$buttonsrc = ProtectHTML($masurvey[$index.'ImageSrc']);
$buttonwidth = $masurvey[$index.'ImageWidth'] > 0 ? 'WIDTH='.ProtectHTML($masurvey[$index.'ImageWidth']) : '';
$buttonheight = $masurvey[$index.'ImageHeight'] > 0 ? 'HEIGHT='.ProtectHTML($masurvey[$index.'ImageHeight']) : '';
$button = "<INPUT TYPE=\"image\" NAME=\"$buttontext\" SRC=\"$buttonsrc\" $buttonwidth $buttonheight BORDER=0 ALT=\"$buttonalt\" VALUE=\"1\">";
}
else {
$buttonwidth = $masurvey[$index.'ImageWidth'] > 0 ? 'width: '.ProtectHTML($masurvey[$index.'ImageWidth']).'px;' : '';
$buttonheight = $masurvey[$index.'ImageHeight'] > 0 ? 'height: '.ProtectHTML($masurvey[$index.'ImageHeight']).'px;' : '';
$bstyle = $buttonwidth || $buttonheight ? "style=\"$buttonwidth $buttonheight\"" : "";
$button = "<INPUT TYPE=submit NAME=\"$buttontext\" VALUE=\"$buttonalt\" $bstyle>";
}
return $button;
}
function PrintHiddenVars ($qid) {
$contents = "<INPUT TYPE=hidden NAME=Q".$qid."Answered VALUE=1>\n";
return $contents;
}
function GenerateUID () {
global $HTTP_SERVER_VARS, $REMOTE_ADDR;
# Here we use several weak sources of entropy to generate the best random
# seed we can. This includes the time in seconds and microseconds, the user's
# remote ip address and also the process id (which is 0 if unsupported -- ok)
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());
$loop = true;
while ($loop) {
$randval = mt_rand(1000000000,1999999999); # max int is usually 2147483647
$mquser = mysql_query("select * from phpQUser where UID = \"$randval\"");
if (!($mauser = mysql_fetch_array($mquser))) {
$loop = false;
}
}
return $randval;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -