📄 question.php
字号:
<?php
class questionobj
{
var $property;
function questionobj( $questionAsked )
{
$this->setproperty( "questionAsked", $questionAsked );
}
function setproperty( $varName, $varValue )
{
$this->property[$varName] = $varValue;
}
function getproperty( $varName, $action )
{
switch ( $action )
{
case "mysql" :
$returnVar = protectmysql( $this->property[$varName] );
break;
case "html" :
$returnVar = protecthtml( $this->property[$varName] );
break;
case "style" :
$returnVar = $this->property[$varName];
$returnVar = preg_replace( "/^STYLE=\"?(.*)\"?\$/i", "\\1", $returnVar );
$returnVar = preg_replace( "/^\"(.*)\"\$/", "\\1", $returnVar );
break;
default :
$returnVar = $this->property[$varName];
break;
}
return $returnVar ? $returnVar : false;
}
}
$GLOBALS['inAdmin'] = 1;
require( "../inc/init.php" );
require( "../inc/mysql.php" );
require( "../inc/functions.php" );
require( "../inc/pfunctions.php" );
isadmin( 1 );
setlanguage( "", "ADMIN" );
$imgurl = $phpQImageDir;
$varnames = array( "cq", "cs", "advance", "questionlist", "action", "next", "qt", "modifyid", "deleteid", "sortorder", "qid", "localadvance", "fsubmit" );
setvars( $varnames );
if ( !$advance )
{
$advance = $phpQAdmin['AdvanceInterface'] == "y" ? true : false;
}
$qObject = new questionobj( $HTTP_POST_VARS['questionasked'] );
$qObject->setproperty( "questionType", $HTTP_POST_VARS['type'] );
$qObject->setproperty( "answerRequired", $HTTP_POST_VARS['required'] );
$qObject->setproperty( "selectSize", $HTTP_POST_VARS['mult'] );
$qObject->setproperty( "qInstructions", $HTTP_POST_VARS['instructions'] );
$qObject->setproperty( "questionStyle", $HTTP_POST_VARS['questionstyle'] );
$qObject->setproperty( "defaultAnswer", $HTTP_POST_VARS['defaultanswer'] );
$qObject->setproperty( "answerChoices", $HTTP_POST_VARS['answer'] );
$qObject->setproperty( "columnNumber", $HTTP_POST_VARS['colnumb'] );
$qObject->setproperty( "answerControl", $HTTP_POST_VARS['control'] );
$qObject->setproperty( "answerCount", $HTTP_POST_VARS['answercount'] );
$qObject->setproperty( "answerIStyle", $HTTP_POST_VARS['answerinputstyle'] );
$qObject->setproperty( "answerStyle", $HTTP_POST_VARS['answertextstyle'] );
$qObject->setproperty( "inputStyle", $HTTP_POST_VARS['answerstyle'] );
$qObject->setproperty( "inputAttributes", $HTTP_POST_VARS['attributes'] );
$qObject->setproperty( "summaryDisplay", $HTTP_POST_VARS['summary'] );
$oQAsked = $qObject->getproperty( "questionAsked", "mysql" );
$oQType = $qObject->getproperty( "questionType", "mysql" );
$oARequired = $qObject->getproperty( "answerRequired", "mysql" );
$oSSize = $qObject->getproperty( "selectSize", "mysql" );
$oQInstructions = $qObject->getproperty( "qInstructions", "mysql" );
$oQStyle = $qObject->getproperty( "questionStyle", "style" );
$oDAnswer = $qObject->getproperty( "defaultAnswer", "mysql" );
$oAChoices = $qObject->getproperty( "answerChoices", "mysql" );
$oCNumber = $qObject->getproperty( "columnNumber", "mysql" );
$oAControl = $qObject->getproperty( "answerControl", "mysql" );
$oACount = $qObject->getproperty( "answerCount", "mysql" );
$oAIStyle = $qObject->getproperty( "answerIStyle", "style" );
$oAStyle = $qObject->getproperty( "answerStyle", "style" );
$oIStyle = $qObject->getproperty( "inputStyle", "style" );
$oIAttributes = $qObject->getproperty( "inputAttributes", "mysql" );
$oSDisplay = $qObject->getproperty( "summaryDisplay", "mysql" );
if ( $cs )
{
$mqadvance = mysql_query( "select AdvanceInterface from phpQSurvey where SID = \"".protectmysql( $cs )."\"" );
if ( $maadvance = mysql_fetch_array( $mqadvance ) )
{
$advance = $maadvance['AdvanceInterface'] ? $maadvance['AdvanceInterface'] == "y" ? true : false : $advance;
}
}
switch ( $localadvance )
{
case "y" :
$advance = true;
break;
case "n" :
$advance = false;
break;
default :
break;
}
$advanceyn = $advance ? "y" : "n";
if ( $oAChoices && ( $oQType == "radio" || $oQType == "checkbox" || $oQType == "select" || $oQType == "selectmult" ) )
{
$choicearray = split( "\\|\\|\\|", $oAChoices );
$largestid = 0;
$i = 0;
for ( ; $i < sizeof( $choicearray ); ++$i )
{
$parts = split( "\\|\\|", $choicearray[$i] );
if ( sizeof( $parts ) == 5 )
{
$largestid = $largestid < $parts[1] ? $parts[1] : $largestid;
}
}
}
switch ( $action )
{
case "add" :
if ( $oQType != "checkbox" && $oQType != "selectmult" || $oAControl && checkacount( $oAControl, $oAChoices, $oACount ) )
{
$choose = $oAControl.":".$oACount;
if ( $oQType == "textfield" || $oQType == "textarea" || $oQType == "htmlcontent" || $oAChoices && validateqanswer( $oAChoices ) )
{
$insertquery = "insert into phpQQuestion (";
$insertquery .= "SID, QID, SortOrder, Question, Type, Mult, DefaultAnswer, ";
$insertquery .= "Attributes, QuestionStyle, Answer, AnswerInputStyle, AnswerTextStyle, AnswerStyle, ";
$insertquery .= "Required, ColNumb, Choose, Summary, Instructions ";
$insertquery .= 0 < $largestid ? ", LargestAID " : "";
$insertquery .= ") values (";
$insertquery .= "{$cs}, NULL, {$next}, \"{$oQAsked}\", \"{$oQType}\", \"{$oSSize}\", \"{$oDAnswer}\", ";
$insertquery .= "\"{$oIAttributes}\", \"".protectmysql( $oQStyle )."\", \"{$oAChoices}\", \"".protectmysql( $oAIStyle )."\", ";
$insertquery .= "\"".protectmysql( $oAStyle )."\", \"".protectmysql( $oIStyle )."\", ";
$insertquery .= "\"{$oARequired}\", \"{$oCNumber}\", \"{$choose}\", \"{$oSDisplay}\", \"{$oQInstructions}\" ";
$insertquery .= 0 < $largestid ? ", \"{$largestid}\" " : "";
$insertquery .= ")";
if ( mysql_query( $insertquery ) )
{
$cq = mysql_insert_id( );
$message = $phpQlang['AddQuestionSuccess'];
$cq = $oQAsked = $oQType = $oARequired = $oSSize = $oQInstructions = $oQStyle = $oDAnswer = $oAChoices = $oCNumber = $oAControl = $oACount = $oAStyle = $oIStyle = $oIAttributes = $oSDisplay = "";
}
else
{
$message = $phpQlang['AddQuestionError'];
}
}
else
{
$message = $phpQlang['InvalidAnswerChoices'];
}
}
else
{
$message = $phpQlang['InvalidNumberChoices'];
}
$localadvance = $localadvance == "y" || $localadvance == "n" ? $localadvance : $advanceyn;
$advancequery = "update phpQSurvey set AdvanceInterface = \"{$localadvance}\" where SID = \"".protectmysql( $cs )."\"";
mysql_query( $advancequery );
break;
case "modify" :
if ( $modifyid )
{
if ( $oQType != "checkbox" && $oQType != "selectmult" || $oAControl && checkacount( $oAControl, $oAChoices, $oACount ) )
{
$choose = $oAControl.":".$oACount;
if ( $oQType == "textfield" || $oQType == "textarea" || $oQType == "htmlcontent" || $oAChoices && validateqanswer( $oAChoices ) )
{
if ( $advance )
{
$modifyquery = "update phpQQuestion set ";
$modifyquery .= "Mult = \"{$oSSize}\", Attributes = \"{$oIAttributes}\", Type = \"{$oQType}\", ";
$modifyquery .= "Question = \"{$oQAsked}\", QuestionStyle = \"".protectmysql( $oQStyle )."\", ";
$modifyquery .= "Answer = \"{$oAChoices}\", AnswerInputStyle = \"".protectmysql( $oAIStyle )."\", ";
$modifyquery .= "AnswerTextStyle = \"".protectmysql( $oAStyle )."\", ";
$modifyquery .= "DefaultAnswer = \"{$oDAnswer}\", Required = \"{$oARequired}\", ";
$modifyquery .= "AnswerStyle = \"".protectmysql( $oIStyle )."\", Instructions = \"{$oQInstructions}\", ";
$modifyquery .= "ColNumb = \"{$oCNumber}\", Choose = \"{$choose}\", Summary = \"{$oSDisplay}\" ";
$modifyquery .= 0 < $largestid ? ", LargestAID = \"{$largestid}\" " : "";
$modifyquery .= "where QID = \"".protectmysql( $modifyid )."\"";
}
else
{
$modifyquery = "update phpQQuestion set ";
$modifyquery .= "Type = \"{$oQType}\", Question = \"{$oQAsked}\", Answer = \"{$oAChoices}\", ";
$modifyquery .= "Required = \"{$oARequired}\", Mult = \"{$oSSize}\", Choose = \"{$choose}\", ";
$modifyquery .= "Summary = \"{$oSDisplay}\" ";
if ( $oQType == "htmlcontent" )
{
$modifyquery .= ", Instructions = \"{$oQInstructions}\" ";
}
$modifyquery .= 0 < $largestid ? ", LargestAID = \"{$largestid}\" " : "";
$modifyquery .= "where QID = \"".protectmysql( $modifyid )."\"";
}
if ( mysql_query( $modifyquery ) )
{
$cq = $modifyid;
$message = $phpQlang['ModifyQuestionSuccess'];
}
else
{
$message = $phpQlang['ModifyQuestionError'];
}
}
else
{
$message = $phpQlang['InvalidAnswerChoices'];
}
}
else
{
$message = $phpQlang['InvalidNumberChoices'];
}
}
$localadvance = $localadvance == "y" || $localadvance == "n" ? $localadvance : $advanceyn;
$advancequery = "update phpQSurvey set AdvanceInterface = \"{$localadvance}\" where SID = \"".protectmysql( $cs )."\"";
mysql_query( $advancequery );
break;
case "delete" :
if ( !$deleteid )
{
break;
}
$question = mysql_fetch_array( mysql_query( "select SID,SortOrder from phpQQuestion where QID = \"".protectmysql( $deleteid )."\"" ) );
mysql_query( "LOCK TABLES phpQAnswer WRITE,phpQQuestion WRITE" );
$success = mysql_query( "delete from phpQAnswer where QID = \"".protectmysql( $deleteid )."\"" );
$success = mysql_query( "delete from phpQQuestion where QID = \"".protectmysql( $deleteid )."\"" ) ? $success : false;
if ( $question['SortOrder'] && $question['SID'] )
{
mysql_query( "UPDATE phpQQuestion SET SortOrder=(SortOrder-1) WHERE SortOrder > ".protectmysql( $question['SortOrder'] )." AND SID = ".protectmysql( $question['SID'] ) );
}
mysql_query( "UNLOCK TABLES" );
$message = $success ? $phpQlang['DeleteQuestionSuccess'] : $phpQlang['DeleteQuestionError'];
break;
case "store" :
if ( !$sortorder )
{
break;
}
mysql_query( "delete from phpQQuestion where SID = \"".protectmysql( $cs )."\" and Type = \"pagebreak\"" );
$orderarray = split( "\\|\\|", $sortorder );
$i = 1;
for ( ; $i <= sizeof( $orderarray ); ++$i )
{
if ( $orderarray[$i - 1] == "pagebreak" )
{
$pgbreakquery = "insert into phpQQuestion ";
$pgbreakquery .= "(SID, QID, Type, SortOrder, Question) ";
$pgbreakquery .= "values ";
$pgbreakquery .= "(\"".protectmysql( $cs )."\", NULL, \"pagebreak\", {$i}, \"<<----| ".$phpQlang['PageBreak']." |---->>\")";
$success = mysql_query( $pgbreakquery );
}
else
{
$success = mysql_query( "update phpQQuestion set SortOrder = {$i} where QID = ".protectmysql( $orderarray[$i - 1] ) );
}
}
$message = $success ? $phpQlang['StoreQuestionSuccess'] : $phpQlang['StoreQuestionError'];
break;
default :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -