📄 cfunctions.php
字号:
<?
################################################################################
# phpQuestionnaire Version 2.2 #
# Copyright 2003-2005 chumpsoft, inc. March 28, 2005 #
################################################################################
# SCRiPTMAFiA 2005 - THE DiRTY HANDS ON YOUR SCRiPTS #
################################################################################
function SummaryQuestions ($sid) {
$qidlist = array();
$mqqlist = mysql_query("select * from phpQQuestion where SID = \"".ProtectMySQL($sid)."\" and Summary = \"y\"");
while ($maqlist = mysql_fetch_array($mqqlist)) {
$qidlist[] = $maqlist;
}
return $qidlist;
}
function RetrieveSummary ($sid, $qidlist, $sortmethod, $sortdesc, $start, $limit) {
global $phpQlang;
$qstring = "select * from phpQSurvey where SID = \"".ProtectMySQL($sid)."\"";
$masurvey = mysql_fetch_array(mysql_query($qstring));
$sortorder = 'DESC';
$emailitem = '';
if ($sortdesc == 'a') {
$sortorder = '';
$emailitem = '~';
}
$sortfield = "CompleteDate";
if ($sortmethod == "email") { $sortfield = "IF(ISNULL(Email),\"$emailitem\",Email)"; }
elseif ($sortmethod == "ip") { $sortfield = "IPAddr"; }
$qstring = "select UID, Email, EmailConfirm, IPAddr, date_format(CompleteDate, '".$phpQlang['MySQLDateFormatShort']."') as mdate ";
$qstring .= "from phpQUser where SID = \"".ProtectMySQL($sid)."\" order by $sortfield $sortorder LIMIT $start,$limit";
$mquid = mysql_query($qstring);
$userarray = array();
$viewarray = array();
$uidsidarray = array();
$coltype = (substr($masurvey["SurveyUsers"],2,1)) ? "Email" : "IPAddr";
while ($mauid = mysql_fetch_array($mquid)) {
# Checking to see if Email Verification was used
$colname = $mauid[$coltype];
if (strlen($colname) > 20) { $colname = substr($colname,0,20) . "..."; }
$colname = ProtectHTML($colname);
if ($coltype == "Email") {
if (!$colname) { $colname = $phpQlang['notentered']; }
elseif ($mauid["EmailConfirm"] == "y") {
$colname = "<b style=\"color: #009900;\">$colname</b>";
}
else {
$colname = "<b style=\"color: #990000;\">$colname</b>";
}
}
$uidsidarray[] = "sid=$sid&uid=".$mauid["UID"];
$viewarray[] = "../view.php?sid=$sid&uid=".$mauid["UID"];
$answerarray = array($mauid["mdate"], $colname);
# Going through all the Questions
for ($i=0; $i<sizeof($qidlist); $i++) {
$qstring = "select Answer from phpQAnswer where SID = \"".ProtectMySQL($sid)."\" and UID = \"".ProtectMySQL($mauid["UID"])."\"";
$qstring .= " and QID = \"".ProtectMySQL($qidlist[$i]["QID"])."\"";
$mqanswer = mysql_query($qstring);
# Storing Answers for the Summary
if ($maanswer = mysql_fetch_array($mqanswer)) {
if ($qidlist[$i]["Type"] != "textfield" && $qidlist[$i]["Type"] != "textarea") {
$answerarray[] = ProcessAnswer($qidlist[$i]["Answer"], $maanswer["Answer"]);
} else {
$answerarray[] = ProtectHTML($maanswer["Answer"]);
}
} else {
$answerarray[] = "";
}
}
$userarray[] = $answerarray;
}
$contents = PrintSummary ($sid, $qidlist, $userarray, substr($masurvey["SurveyUsers"],2,1), $start, $limit, $sortmethod, $sortdesc, $viewarray, $uidsidarray);
return $contents;
}
function ProcessAnswer ($qanswer, $answer) {
$processed = "";
$choice1 = split("\|\|\|", $qanswer);
for ($i=0; $i<sizeof($choice1); $i++) {
$choice2 = split("\|\|", $choice1[$i]);
$aidletter = (substr($choice2[2],0,11) == "Textfield:(") ? "O" : "N";
$canswer = (substr($choice2[2],0,11) == "Textfield:(") ? substr($choice2[2],11,-1) : $choice2[2];
$hash[$aidletter.$choice2[1]] = ProtectHTML($canswer);
}
$choice1= split("\|\|", $answer);
for($j=0; $j<sizeof($choice1); $j++) {
$processed .= ($processed) ? ", " : "";
if (substr($choice1[$j],0,1) == "O") {
$choice2 = split("\|", $choice1[$j]);
$processed .= $choice2[1];
} else {
$processed .= $hash[$choice1[$j]];
}
}
return $processed;
}
function PrintSummary ($sid, $qidlist, $alist, $emailconfirm, $start, $limit,
$sortmethod, $sortdesc, $viewarray, $uidsidarray) {
global $phpQlang;
$imgurl = $GLOBALS["phpQImageDir"];
$sortmethod = ($sortmethod < sizeof($alist[0]) && $sortmethod >= 0) ? $sortmethod : 0;
$sortdesc = ($sortdesc == "d" || $sortdesc == "a") ? $sortdesc : "a";
$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=100%>\n";
$contents .= "<TR>\n";
$contents .= "<TD BGCOLOR=#333366 WIDTH=7><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=1 ALT=\"\"></TD>";
$contents .= PrintColumn("DateCompleted", $sortmethod, $sortdesc, 0);
$columnname = ($emailconfirm) ? "EmailAddress" : "IPAddress";
$contents .= PrintColumn($columnname, $sortmethod, $sortdesc, 1);
for ($i=0; $i<sizeof($qidlist); $i++) {
$question = (strlen($qidlist[$i]["Question"]) > 20) ?
substr($qidlist[$i]["Question"],0,20)."..." : $qidlist[$i]["Question"];
$contents .= PrintColumn($question, $sortmethod, $sortdesc, $i+2);
}
$contents .= "<TD BGCOLOR=#333366 STYLE=\"color: #FFFFFF;\" ALIGN=right><B>".$phpQlang['Del']."</B></TD>";
$contents .= "<TD BGCOLOR=#333366 ALIGN=right VALIGN=TOP><IMG SRC=\"images/bound1.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
$contents .= "</TR>\n";
$mqmax = mysql_query("SELECT COUNT(*) as num FROM phpQUser WHERE SID = \"".ProtectMySQL($sid)."\"");
$mamax = mysql_fetch_array($mqmax);
$max = $mamax['num'];
$realstart = ($start < $max && $start > 0) ? $start : 0;
$linecount = 0;
for ($j=0, $l=0; $j<count($alist); $j++, $l++) {
$leftimg = ($l % 2 == 0) ? "bound2.gif" : "bound7.gif";
$rightimg = ($l % 2 == 0) ? "bound3.gif" : "bound8.gif";
$delimg = ($l % 2 == 0) ? "delete1.gif" : "delete2.gif";
$bgcolor = ($l % 2 == 0) ? "#FFFFFF" : "#DDEEFF";
$contents .= "<TR>\n";
$contents .= "<TD BACKGROUND=\"images/$leftimg\" HEIGHT=13> </TD>";
for ($k=0; $k<sizeof($alist[$j]); $k++) {
if ($k==0) {
$contents .= "<TD BGCOLOR=$bgcolor STYLE=\"padding-right: 2px;\" VALIGN=top><NOBR>".($j+1+$start).". <A HREF=\"".$viewarray[$l]."\" ";
$surveydate = str_replace(" "," ",$alist[$j][$k]);
$contents .= "CLASS=link TARGET=_blank>".$surveydate."</A></NOBR></TD>";
} else {
$result = ($alist[$j][$k] == "") ? " " : $alist[$j][$k];
$contents .= "<TD BGCOLOR=$bgcolor VALIGN=top STYLE=\"border-left: 1px #333366 solid; padding-left: 2px; padding-right: 2px;\">$result</TD>";
}
}
$delurl = "choose.php?cs=".$GLOBALS["cs"]."&sortmethod=$sortmethod&sortdesc=$sortdesc&start=$start";
$delurl .= "&action=delete&".$uidsidarray[$l];
$contents .= "<TD BGCOLOR=$bgcolor HEIGHT=15 ALIGN=right VALIGN=top STYLE=\"border-top: 1px $bgcolor solid;\">";
$contents .= "<A HREF=\"javascript:DeleteEntry('$delurl','".($j+1+$start)."')\">";
$contents .= "<IMG SRC=\"$imgurl/$delimg\" WIDTH=13 HEIGHT=13 BORDER=0 ALT=\"".$phpQlang['X']."\"></A></TD>";
$contents .= "<TD BACKGROUND=\"images/$rightimg\" WIDTH=7> </TD>";
$contents .= "</TR>\n";
$linecount++;
}
$colsize = sizeof($qidlist)+3;
if ($linecount == 0) {
$contents .= "<TR>\n";
$contents .= "<TD BACKGROUND=\"images/bound2.gif\"> </TD>";
$contents .= "<TD COLSPAN=$colsize ALIGN=center WIDTH=100%><BR>".$phpQlang['NoResults']."<BR><BR></TD>";
$contents .= "<TD BACKGROUND=\"images/bound3.gif\" WIDTH=7> </TD>";
$contents .= "</TR>\n";
}
if ($realstart+$limit < $max || $realstart-$limit >= 0) {
$contents .= "<TR>\n";
$contents .= "<TD BGCOLOR=#333366 VALIGN=bottom><IMG SRC=\"images/bound9.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
$contents .= "<TD BGCOLOR=#333366 COLSPAN=$colsize ALIGN=center STYLE=\"color: #FFFFFF;\">";
$chooseloc = "choose.php?cs=".$GLOBALS["cs"]."&sortmethod=$sortmethod&sortdesc=$sortdesc&start=";
$maxleftright = 7;
$lastindex = ceil($max/$limit);
# Previous Link
if ($realstart-$limit >= 0) {
$prevloc = $chooseloc.($realstart-$limit);
$contents .= "<A HREF=\"$prevloc\" CLASS=link STYLE=\"color: #FFFFFF;\"><B>".$phpQlang['Previous']."</B></A>";
$contents .= " : ";
}
# Index Links
for ($k=1; $k<=$lastindex; $k++) {
$startindex = floor($start/$limit) + 1;
if ($k == 1 || $k == $lastindex ||
($k >= $startindex-$maxleftright && $k <= $startindex+$maxleftright)) {
$indexcc = ($k-1) * $limit + 1;
$indexloc = $chooseloc.(($k-1)*$limit);
$indexlink = "<A HREF=\"$indexloc\" CLASS=link STYLE=\"color: #FFFFFF\">$k</A>";
$contents .= ($k > 1) ? " " : "";
$contents .= ($k == $lastindex && $k-1 > $startindex+$maxleftright && $lastindex > 2*$maxleftright+1) ? "... " : "";
$contents .= ($indexcc-1 == $start) ? "<B STYLE=\"color: #99CCFF;\">[$k]</B>" : "<B>$indexlink</B>";
$contents .= ($k == 1 && $k+1 < $startindex-$maxleftright && $lastindex > 2*$maxleftright+1) ? " ..." : "";
}
}
# Next Link
if ($realstart+$limit < $max) {
$nextloc = $chooseloc.($realstart+$limit);
$contents .= " : ";
$contents .= "<A HREF=\"$nextloc\" CLASS=link STYLE=\"color: #FFFFFF;\"><B>".$phpQlang['Next']."</B></A>";
}
$contents .= "</TD>";
$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
$contents .= "</TR>\n";
}
else {
$contents .= "<TR>\n";
$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/bound9.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
$contents .= "<TD BGCOLOR=#333366 COLSPAN=$colsize ALIGN=center STYLE=\"color: #FFFFFF;\">";
$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
$contents .= "</TR>\n";
}
$contents .= "</TABLE>\n";
return $contents;
}
function PrintColumn ($columnname, $sortmethod, $sortdesc, $column) {
global $phpQlang;
$sid = $GLOBALS["cs"];
$columnsort["DateCompleted"] = 'date';
$columnsort["EmailAddress"] = 'email';
$columnsort["IPAddress"] = 'ip';
$desc = ($sortmethod == $columnsort[$columnname]) ?
(($sortdesc == "a") ? 1 : 2) : 0;
switch ($desc) {
case 0: $sortarrow = "<IMG SRC=\"images/invdot.gif\" WIDTH=1 HEIGHT=15 ALT=\"\">"; break;
case 1: $sortarrow = "<A HREF=\"choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=d\">";
$sortarrow .= "<IMG SRC=\"images/arrowup.gif\" WIDTH=15 HEIGHT=15 BORDER=0 ALT=\"".$phpQlang['AltUp']."\">";
$sortarrow .= "</A>"; break;
case 2: $sortarrow = "<A HREF=\"choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=a\">";
$sortarrow .= "<IMG SRC=\"images/arrowdown.gif\" WIDTH=15 HEIGHT=15 BORDER=0 ALT=\"".$phpQlang['AltDown']."\">";
$sortarrow .= "</A>"; break;
}
$newsortdesc = ($sortmethod == $columnsort[$columnname]) ?
(($sortdesc == "a") ? "d" : "a") : (($column == 0) ? "d" : "a");
$sortloc = "choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=$newsortdesc";
$addstyle = '';
if ($column > 0) { $addstyle = 'border-left: 1px #FFFFFF solid; padding-left: 2px;'; }
$contents .= "<TD BGCOLOR=#333366 STYLE=\"$addstyle padding-right: 2px;\">";
$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>";
$contents .= "<TD STYLE=\"color: white;\">";
if ($columnsort[$columnname]) {
$contents .= "<A HREF=\"$sortloc\" STYLE=\"color: white; text-decoration: none;\"><NOBR><B>".$phpQlang[$columnname]."</B></NOBR></A>";
}
else {
$contents .= "<B>".ProtectHTML($columnname)."</B>";
}
$contents .= "</TD>";
$contents .= "<TD>$sortarrow</TD>";
$contents .= "</TR></TABLE>";
$contents .= "</TD>";
return $contents;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -