本文整理汇总了PHP中LimeExpressionManager::GetStepIndexInfo方法的典型用法代码示例。如果您正苦于以下问题:PHP LimeExpressionManager::GetStepIndexInfo方法的具体用法?PHP LimeExpressionManager::GetStepIndexInfo怎么用?PHP LimeExpressionManager::GetStepIndexInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LimeExpressionManager
的用法示例。
在下文中一共展示了LimeExpressionManager::GetStepIndexInfo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
//.........这里部分代码省略.........
if (isset($move) && $move == 'movesubmit') {
if ($surveyMode == 'survey') {
$moveResult = LimeExpressionManager::NavigateForwards();
} else {
// may be submitting from the navigation bar, in which case need to process all intervening questions
// in order to update equations and ensure there are no intervening relevant mandatory or relevant invalid questions
$moveResult = LimeExpressionManager::JumpTo($_SESSION[$LEMsessid]['totalsteps'] + 1, false);
}
}
if (isset($move) && preg_match('/^changelang_/', $move)) {
// jump to current step using new language, processing POST values
$moveResult = LimeExpressionManager::JumpTo($_SESSION[$LEMsessid]['step'], false, true, false, true);
// do process the POST data
}
if (isset($move) && isNumericInt($move) && $thissurvey['allowjumps'] == 'Y') {
$move = (int) $move;
if ($move > 0 && ($move <= $_SESSION[$LEMsessid]['step'] || isset($_SESSION[$LEMsessid]['maxstep']) && $move <= $_SESSION[$LEMsessid]['maxstep'])) {
$moveResult = LimeExpressionManager::JumpTo($move, false);
}
}
if (!isset($moveResult) && !($surveyMode != 'survey' && $_SESSION[$LEMsessid]['step'] == 0)) {
// Just in case not set via any other means, but don't do this if it is the welcome page
$moveResult = LimeExpressionManager::GetLastMoveResult(true);
$LEMskipReprocessing = true;
}
}
}
if (isset($moveResult)) {
if ($moveResult['finished'] == true) {
$move = 'movesubmit';
} else {
$_SESSION[$LEMsessid]['step'] = $moveResult['seq'] + 1;
// step is index base 1
$stepInfo = LimeExpressionManager::GetStepIndexInfo($moveResult['seq']);
}
if ($move == "movesubmit" && $moveResult['finished'] == false) {
// then there are errors, so don't finalize the survey
$move = "movenext";
// so will re-display the survey
$invalidLastPage = true;
}
}
// We do not keep the participant session anymore when the same browser is used to answer a second time a survey (let's think of a library PC for instance).
// Previously we used to keep the session and redirect the user to the
// submit page.
if ($surveyMode != 'survey' && $_SESSION[$LEMsessid]['step'] == 0) {
$_SESSION[$LEMsessid]['test'] = time();
display_first_page();
exit;
}
//CHECK IF ALL MANDATORY QUESTIONS HAVE BEEN ANSWERED ############################################
//First, see if we are moving backwards or doing a Save so far, and its OK not to check:
if (isset($move) && ($move == "moveprev" || is_int($move) && $_SESSION[$LEMsessid]['prevstep'] == $_SESSION[$LEMsessid]['maxstep'] || $_SESSION[$LEMsessid]['prevstep'] == $_SESSION[$LEMsessid]['step']) || isset($_POST['saveall']) && $_POST['saveall'] == $clang->gT("Save your responses so far")) {
if (Yii::app()->getConfig('allowmandbackwards') == 1) {
$backok = "Y";
} else {
$backok = "N";
}
} else {
$backok = "N";
// NA, since not moving backwards
}
// TODO FIXME
if ($thissurvey['active'] == "Y") {
Yii::import("application.libraries.Save");
$cSave = new Save();
示例2: run
//.........这里部分代码省略.........
}
if (isset($move) && isNumericInt($move) && $thissurvey['questionindex'] == 1) {
$move = (int) $move;
if ($move > 0 && ($move <= $_SESSION[$LEMsessid]['step'] || isset($_SESSION[$LEMsessid]['maxstep']) && $move <= $_SESSION[$LEMsessid]['maxstep'])) {
$moveResult = LimeExpressionManager::JumpTo($move, false);
}
} elseif (isset($move) && isNumericInt($move) && $thissurvey['questionindex'] == 2) {
$move = (int) $move;
$moveResult = LimeExpressionManager::JumpTo($move, false, true, true);
}
if (!isset($moveResult) && !($surveyMode != 'survey' && $_SESSION[$LEMsessid]['step'] == 0)) {
// Just in case not set via any other means, but don't do this if it is the welcome page
$moveResult = LimeExpressionManager::GetLastMoveResult(true);
$LEMskipReprocessing = true;
}
}
}
if (isset($moveResult) && isset($moveResult['seq'])) {
// With complete index, we need to revalidate whole group bug #08806. It's actually the only mode where we JumpTo with force
if ($moveResult['finished'] == true && $move != 'movesubmit' && $thissurvey['questionindex'] == 2) {
//LimeExpressionManager::JumpTo(-1, false, false, true);
LimeExpressionManager::StartSurvey($surveyid, $surveyMode, $surveyOptions);
$moveResult = LimeExpressionManager::JumpTo($_SESSION[$LEMsessid]['totalsteps'] + 1, false, false, false);
// no preview, no save data and NO force
if (!$moveResult['mandViolation'] && $moveResult['valid'] && empty($moveResult['invalidSQs'])) {
$moveResult['finished'] = true;
}
}
if ($moveResult['finished'] == true) {
$move = 'movesubmit';
} else {
$_SESSION[$LEMsessid]['step'] = $moveResult['seq'] + 1;
// step is index base 1
$stepInfo = LimeExpressionManager::GetStepIndexInfo($moveResult['seq']);
}
if ($move == "movesubmit" && $moveResult['finished'] == false) {
// then there are errors, so don't finalize the survey
$move = "movenext";
// so will re-display the survey
$invalidLastPage = true;
}
}
// We do not keep the participant session anymore when the same browser is used to answer a second time a survey (let's think of a library PC for instance).
// Previously we used to keep the session and redirect the user to the
// submit page.
if ($surveyMode != 'survey' && $_SESSION[$LEMsessid]['step'] == 0) {
$_SESSION[$LEMsessid]['test'] = time();
display_first_page();
Yii::app()->end();
// So we can still see debug messages
}
// TODO FIXME
if ($thissurvey['active'] == "Y") {
Yii::import("application.libraries.Save");
$cSave = new Save();
}
if ($thissurvey['active'] == "Y" && Yii::app()->request->getPost('saveall')) {
$bTokenAnswerPersitance = $thissurvey['tokenanswerspersistence'] == 'Y' && isset($surveyid) && tableExists('tokens_' . $surveyid);
// must do this here to process the POSTed values
$moveResult = LimeExpressionManager::JumpTo($_SESSION[$LEMsessid]['step'], false);
// by jumping to current step, saves data so far
if (!isset($_SESSION[$LEMsessid]['scid']) && !$bTokenAnswerPersitance) {
$cSave->showsaveform();
// generates a form and exits, awaiting input
} else {
// Intentional retest of all conditions to be true, to make sure we do have tokens and surveyid
示例3: surveymover
LimeExpressionManager::FinishProcessingGroup($LEMskipReprocessing);
echo LimeExpressionManager::GetRelevanceAndTailoringJavaScript();
LimeExpressionManager::FinishProcessingPage();
if (!$previewgrp) {
$navigator = surveymover();
//This gets globalised in the templatereplace function
echo "\n\n<!-- PRESENT THE NAVIGATOR -->\n";
echo templatereplace(file_get_contents("{$thistpl}/navigator.pstpl"));
echo "\n";
if ($thissurvey['active'] != "Y") {
echo "<p style='text-align:center' class='error'>" . $clang->gT("This survey is currently not active. You will not be able to save your responses.") . "</p>\n";
}
if ($surveyMode != 'survey' && $thissurvey['allowjumps'] == 'Y') {
echo "\n\n<!-- PRESENT THE INDEX -->\n";
echo '<div id="index"><div class="container"><h2>' . $clang->gT("Question index") . '</h2>';
$stepIndex = LimeExpressionManager::GetStepIndexInfo();
$lastGseq = -1;
$gseq = -1;
$grel = true;
for ($v = 0, $n = 0; $n != $_SESSION['maxstep']; ++$n) {
if (!isset($stepIndex[$n])) {
continue;
// this is an invalid group - skip it
}
$stepInfo = $stepIndex[$n];
if ($surveyMode == 'question') {
if ($lastGseq != $stepInfo['gseq']) {
// show the group label
++$gseq;
$g = $_SESSION['grouplist'][$gseq];
$grel = !LimeExpressionManager::GroupIsIrrelevantOrHidden($stepInfo['gid']);