Skip to content

Commit

Permalink
Code tidying, and fixing mandatory issues with multiple questions. No…
Browse files Browse the repository at this point in the history
…w appears to be working properly in all scenarios. Added extra line to delete session variables when no longer required.

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/trunk/unstable@802 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
jcleeland committed Dec 6, 2003
1 parent fbb2e87 commit b467c03
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 15 deletions.
8 changes: 5 additions & 3 deletions group.php
Expand Up @@ -48,12 +48,14 @@
foreach ($postedfieldnames as $pf)
{
if (isset($_POST[$pf])) {$_SESSION[$pf] = $_POST[$pf];}
if (!isset($_POST[$pf])) {$_SESSION[$pf] = "";} //delete any pre-existing values
}
}

//CHECK IF ALL MANDATORY QUESTIONS HAVE BEEN ANSWERED
if ($allowmandatorybackwards==1 && isset($_POST['move']) && $_POST['move'] == " << "._PREV." ") {$backok="Y";}
if (isset($_POST['mandatory']) && $_POST['mandatory'] && (!isset($backok) || $backok != "Y"))

if ((isset($_POST['mandatory']) && $_POST['mandatory']) && (!isset($backok) || $backok != "Y"))
{
$chkmands=explode("|", $_POST['mandatory']);
$mfns=explode("|", $_POST['mandatoryfn']);
Expand Down Expand Up @@ -82,7 +84,7 @@
}
else {$multiname="MULTI$mfns[$mi]";}
//if ($_SESSION[$cm] == "0" || $_SESSION[$cm])
if (isset($_SESSION[$cm]))
if (isset($_SESSION[$cm]) && ($_SESSION[$cm] == "0" || $_SESSION[$cm]))
{
}
elseif (!isset($_POST[$multiname]) || !$_POST[$multiname])
Expand All @@ -95,7 +97,7 @@
}
else
{
//One of the mandatory questions hasn't been asnwered
//One of the mandatory questions hasn't been answered
$$multiname++;
}
$$multiname2++;
Expand Down
23 changes: 14 additions & 9 deletions qanda.php
Expand Up @@ -484,14 +484,15 @@
$ansquery = "SELECT * FROM {$dbprefix}answers WHERE qid={$ia[0]} ORDER BY sortorder, answer";
$ansresult = mysql_query($ansquery);
$anscount = mysql_num_rows($ansresult);
if ($other == "Y") {$anscount++;} //COUNT OTHER AS AN ANSWER FOR MANDATORY CHECKING!
$answer .= "\t\t\t\t\t<input type='hidden' name='MULTI$ia[1]' value='$anscount'>\n";
$fn = 1;
if (!isset($multifields)) {$multifields="";}
while ($ansrow = mysql_fetch_array($ansresult))
{
$myfname = $ia[1].$ansrow['code'];
//LOOK HERE: TAKE OUT/MODIFY
$multifields .= "$fname{$ansrow['code']}|";
//$multifields .= "$fname{$ansrow['code']}|";
$answer .= "\t\t\t\t\t\t<input class='checkbox' type='checkbox' name='$ia[1]{$ansrow['code']}' id='$ia[1]{$ansrow['code']}' value='Y'";
if (isset($_SESSION[$myfname]) && $_SESSION[$myfname] == "Y") {$answer .= " checked";}
$answer .= " onClick='checkconditions(this.value, this.name, this.type)' /><label for='$ia[1]{$ansrow['code']}' class='answertext'>{$ansrow['answer']}</label><br />\n";
Expand Down Expand Up @@ -734,23 +735,25 @@
while ($ansrow = mysql_fetch_array($ansresult))
{
$myfname = $ia[1].$ansrow['code'];
if ($trbc == "array1" || !$trbc) {$trbc = "array2";} else {$trbc = "array1";}
if (!isset($trbc) || $trbc == "array1" || !$trbc) {$trbc = "array2";} else {$trbc = "array1";}
$answer .= "\t\t\t\t<tr class='$trbc'>\n"
. "\t\t\t\t\t<td align='right'>{$ansrow['answer']}</td>\n";
for ($i=1; $i<=5; $i++)
{
$answer .= "\t\t\t\t\t<td><input class='radio' type='radio' name='$myfname' value='$i'";
if ($_SESSION[$myfname] == $i) {$answer .= " checked";}
if (isset($_SESSION[$myfname]) && $_SESSION[$myfname] == $i) {$answer .= " checked";}
$answer .= " onClick='checkconditions(this.value, this.name, this.type)' /></td>\n";
}
if ($ia[6] != "Y")
{
$answer .= "\t\t\t\t\t<td align='center'><input class='radio' type='radio' name='$myfname' value=''";
if ($_SESSION[$myfname] == "") {$answer .= " checked";}
if (isset($_SESSION[$myfname]) && $_SESSION[$myfname] == "") {$answer .= " checked";}
$answer .= " onClick='checkconditions(this.value, this.name, this.type)' /></td>\n";
}
$answer .= "\t\t\t\t</tr>\n"
. "\t\t\t\t<input type='hidden' name='java$myfname' id='java$myfname' value='{$_SESSION[$myfname]}'>\n";
. "\t\t\t\t<input type='hidden' name='java$myfname' id='java$myfname' value='";
if (isset($_SESSION[$myfname])){$answer .= $_SESSION[$myfname];}
$answer .= "'>\n";
$fn++;
$inputnames[]=$myfname;
if ($ia[6] == "Y" && $ia[7] != "Y") //Question is mandatory. Add to mandatory array
Expand Down Expand Up @@ -790,23 +793,25 @@
while ($ansrow = mysql_fetch_array($ansresult))
{
$myfname = $ia[1].$ansrow['code'];
if ($trbc == "array1" || !$trbc) {$trbc = "array2";} else {$trbc = "array1";}
if (!isset($trbc) || $trbc == "array1" || !$trbc) {$trbc = "array2";} else {$trbc = "array1";}
$answer .= "\t\t\t\t<tr class='$trbc'>\n";
$answer .= "\t\t\t\t\t<td align='right'>{$ansrow['answer']}</td>\n";
for ($i=1; $i<=10; $i++)
{
$answer .= "\t\t\t\t\t\t<td><input class='radio' type='radio' name='$myfname' value='$i'";
if ($_SESSION[$myfname] == $i) {$answer .= " checked";}
if (isset($_SESSION[$myfname]) && $_SESSION[$myfname] == $i) {$answer .= " checked";}
$answer .= " onClick='checkconditions(this.value, this.name, this.type)' /></td>\n";
}
if ($ia[6] != "Y")
{
$answer .= "\t\t\t\t\t<td align='center'><input class='radio' type='radio' name='$myfname' value=''";
if ($_SESSION[$myfname] == "") {$answer .= " checked";}
if (isset($_SESSION[$myfname]) && $_SESSION[$myfname] == "") {$answer .= " checked";}
$answer .= " onClick='checkconditions(this.value, this.name, this.type)' /></td>\n";
}
$answer .= "\t\t\t\t</tr>\n"
. "\t\t\t\t<input type='hidden' name='java$myfname' id='java$myfname' value='{$_SESSION[$myfname]}'>\n";
. "\t\t\t\t<input type='hidden' name='java$myfname' id='java$myfname' value='";
if (isset($_SESSION[$myfname])){$answer .= $_SESSION[$myfname];}
$answer .= "'>\n";
$inputnames[]=$myfname;
$fn++;
if ($ia[6] == "Y" && $ia[7] != "Y") //Question is mandatory. Add to mandatory array
Expand Down
5 changes: 3 additions & 2 deletions question.php
Expand Up @@ -49,6 +49,7 @@
foreach ($postedfieldnames as $pf)
{
if (isset($_POST[$pf])) {$_SESSION[$pf] = $_POST[$pf];}
if (!isset($_POST[$pf])) {$_SESSION[$pf] = "";}
}
}

Expand Down Expand Up @@ -131,15 +132,15 @@
{
$dccm="display".$cmfns[0];
}
if ($_POST[$dccm] == "on" && (!$_SESSION[$ccm] && $_SESSION[$ccm] != "0") && (!isset($_POST[$multiname]) || !$_POST[$multiname]))
if ((isset($_POST[$dccm]) && $_POST[$dccm] == "on") && (!isset($_SESSION[$ccm]) || $_SESSION[$ccm] != "0") && (!isset($_POST[$multiname]) || !$_POST[$multiname]))
{
//One of the conditional mandatory questions was on, but hasn't been answered
if (isset($_POST['move']) && $_POST['move'] == " << "._PREV." ") {$_SESSION['step'] = $_POST['thisstep'];}
if (isset($_POST['move']) && $_POST['move'] == " "._NEXT." >> ") {$_SESSION['step'] = $_POST['thisstep'];}
if (isset($_POST['move']) && $_POST['move'] == " "._LAST." ") {$_SESSION['step'] = $_POST['thisstep']; $_POST['move'] == " "._NEXT." >> ";}
$notanswered[]=$cmfns[$mi];
}
elseif ($_POST[$dccm] == "on" && !$_SESSION[$ccm] && isset($_POST[$multiname]))
elseif ((isset ($_POST[$dccm]) && $_POST[$dccm] == "on") && !isset($_SESSION[$ccm]) && isset($_POST[$multiname]))
{
$notanswered[]=$cmfns[$mi];
}
Expand Down
4 changes: 3 additions & 1 deletion survey.php
Expand Up @@ -46,6 +46,7 @@
foreach ($postedfieldnames as $pf)
{
if (isset($_POST[$pf])) {$_SESSION[$pf] = $_POST[$pf];}
if (!isset($_POST[$pf])) {$_SESSION[$pf] = "";}
}
}

Expand Down Expand Up @@ -135,6 +136,7 @@
}
}
$multiname="MULTI$cmfns[$mi]";
$multiname2=$multiname."2"; //POSSIBLE CORRUPTION OF PROCESS - CHECK LATER
$$multiname=0;
$$multiname2=0;
}
Expand All @@ -144,7 +146,7 @@
if (($_SESSION[$ccm] == "0" || $_SESSION[$ccm]) && $_POST[$dccm] == "on")//There is an answer
{
}
elseif ($_POST[$dccm] == "on" && !$_POST[$multiname]) //Question is on, there is no answer, but it's a multiple
elseif ((isset($_POST[$dccm]) && $_POST[$dccm] == "on") && (!isset($_POST[$multiname]) || !$_POST[$multiname])) //Question is on, there is no answer, but it's a multiple
{
if ($_POST['move'] == " << "._PREV." ") {$_SESSION['step'] = $_POST['thisstep'];}
if ($_POST['move'] == " "._NEXT." >> ") {$_SESSION['step'] = $_POST['thisstep'];}
Expand Down

0 comments on commit b467c03

Please sign in to comment.