📄 cfunctions.php
字号:
<?php
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)";
}
else if ( $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 ) )
{
$colname = $mauid[$coltype];
if ( 20 < strlen( $colname ) )
{
$colname = substr( $colname, 0, 20 )."...";
}
$colname = protecthtml( $colname );
if ( $coltype == "Email" )
{
if ( !$colname )
{
$colname = $phpQlang['notentered'];
}
else if ( $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
);
$i = 0;
for ( ; $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 );
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 );
$i = 0;
for ( ; $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 );
$j = 0;
for ( ; $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 = $phpQImageDir;
$sortmethod = $sortmethod < sizeof( $alist[0] ) && 0 <= $sortmethod ? $sortmethod : 0;
$sortdesc = $sortdesc == "d" || $sortdesc == "a" ? $sortdesc : "a";
$contents .= "<TABLE CELLPADDING=3 CELLSPACING=1 BORDER=0 WIDTH=100% class=small>\n";
$contents .= "<TR>\n";
$contents .= printcolumn( "DateCompleted", $sortmethod, $sortdesc, 0 );
$columnname = $emailconfirm ? "EmailAddress" : "IPAddress";
$contents .= printcolumn( $columnname, $sortmethod, $sortdesc, 1 );
$i = 0;
for ( ; $i < sizeof( $qidlist ); ++$i )
{
$question = 20 < strlen( $qidlist[$i]['Question'] ) ? substr( $qidlist[$i]['Question'], 0, 20 )."..." : $qidlist[$i]['Question'];
$contents .= printcolumn( $question, $sortmethod, $sortdesc, $i + 2 );
}
$contents .= "<TD class=\"TableHeader\">操作</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 && 0 < $start ? $start : 0;
$linecount = 0;
$j = 0;
$l = 0;
for ( ; $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";
if ( $j % 2 == 1 )
{
$TableLine = "TableLine1";
}
else
{
$TableLine = "TableLine2";
}
$contents .= "<TR class=".$TableLine.">\n";
$k = 0;
for ( ; $k < sizeof( $alist[$j] ); ++$k )
{
if ( $k == 0 )
{
$contents .= "<TD 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 VALIGN=top>{$result}</TD>";
}
}
$delurl = "choose.php?cs=".$cs."&sortmethod={$sortmethod}&sortdesc={$sortdesc}&start={$start}";
$delurl .= "&action=delete&".$uidsidarray[$l];
$contents .= "<TD HEIGHT=15 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=删除></A></TD>";
$contents .= "</TR>\n";
++$linecount;
}
$colsize = sizeof( $qidlist ) + 3;
if ( $linecount == 0 )
{
$contents .= "<TR>\n";
$contents .= "<TD COLSPAN={$colsize} ALIGN=center WIDTH=100%><BR>".$phpQlang['NoResults']."<BR><BR></TD>";
$contents .= "</TR>\n";
}
if ( $realstart + $limit < $max || 0 <= $realstart - $limit )
{
$contents .= "<TR>\n";
$contents .= "<TD BGCOLOR=#333366 COLSPAN={$colsize} ALIGN=center STYLE=\"color: #FFFFFF;\">";
$chooseloc = "choose.php?cs=".$cs."&sortmethod={$sortmethod}&sortdesc={$sortdesc}&start=";
$maxleftright = 7;
$lastindex = ceil( $max / $limit );
if ( 0 <= $realstart - $limit )
{
$prevloc = $chooseloc.( $realstart - $limit );
$contents .= "<A HREF=\"{$prevloc}\" CLASS=link STYLE=\"color: #FFFFFF;\"><B>".$phpQlang['Previous']."</B></A>";
$contents .= " : ";
}
$k = 1;
for ( ; $k <= $lastindex; ++$k )
{
$startindex = floor( $start / $limit ) + 1;
if ( $k == 1 || $k == $lastindex || $startindex - $maxleftright <= $k && $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 .= 1 < $k ? " " : "";
$contents .= $k == $lastindex && $startindex + $maxleftright < $k - 1 && 2 * $maxleftright + 1 < $lastindex ? "... " : "";
$contents .= $indexcc - 1 == $start ? "<B STYLE=\"color: #99CCFF;\">[{$k}]</B>" : "<B>{$indexlink}</B>";
$contents .= $k == 1 && $k + 1 < $startindex - $maxleftright && 2 * $maxleftright + 1 < $lastindex ? " ..." : "";
}
}
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 COLSPAN={$colsize} ALIGN=center STYLE=\"color: #FFFFFF;\">";
$contents .= "</TR>\n";
}
$contents .= "</TABLE>\n";
return $contents;
}
function printcolumn( $columnname, $sortmethod, $sortdesc, $column )
{
global $phpQlang;
$sid = $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/arrow_up.gif\" BORDER=0 ALT=\"".$phpQlang['AltUp']."\"><font color=\"\">";
$sortarrow .= "</A>";
break;
case 2 :
$sortarrow = "<A HREF=\"choose.php?cs={$sid}&sortmethod=".$columnsort[$columnname]."&sortdesc=a\">";
$sortarrow .= "<IMG SRC=\"/images/arrow_down.gif\" BORDER=0 ALT=\"".$phpQlang['AltDown']."\">";
$sortarrow .= "</A>";
}
$newsortdesc = $sortmethod == $columnsort[$columnname] ? $sortdesc == "a" ? "d" : "a" : $column == 0 ? "d" : "a";
$sortloc = "choose.php?cs={$sid}&sortmethod=".$columnsort[$columnname]."&sortdesc={$newsortdesc}";
$addstyle = "";
if ( 0 < $column )
{
$addstyle = "border-left: 1px #FFFFFF solid; padding-left: 2px;";
}
$contents .= "<TD class=\"TableHeader\">";
$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>";
$contents .= "<TD class=\"TableHeader\">";
if ( $columnsort[$columnname] )
{
$contents .= "<A HREF=\"{$sortloc}\"><font color=#000000><NOBR>".$phpQlang[$columnname]."</font></NOBR></A>";
}
else
{
$contents .= "".protecthtml( $columnname )."";
}
$contents .= "</TD>";
$contents .= "<TD>{$sortarrow}</TD>";
$contents .= "</TR></TABLE>";
$contents .= "</TD>";
return $contents;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -