本文整理汇总了PHP中ilSession::getIdleValue方法的典型用法代码示例。如果您正苦于以下问题:PHP ilSession::getIdleValue方法的具体用法?PHP ilSession::getIdleValue怎么用?PHP ilSession::getIdleValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ilSession
的用法示例。
在下文中一共展示了ilSession::getIdleValue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPlayer
public function getPlayer()
{
global $ilUser, $lng, $ilias, $ilSetting;
// player basic config data
$initSuspendData = null;
$initAdlactData = null;
if ($this->slm->getSequencing() == true) {
$initSuspendData = json_decode($this->getSuspendDataInit());
$initAdlactData = json_decode($this->getADLActDataInit());
$initGlobalobjData = $this->readGObjectiveInit();
}
$config = $this->getConfigForPlayer();
//session
if ($this->slm->getSession()) {
// $session_timeout = (int)($ilias->ini->readVariable("session","expire"))/2;
$session_timeout = (int) ilSession::getIdleValue() / 2;
} else {
$session_timeout = 0;
}
$config['session_ping'] = $session_timeout;
//url strings
$store_url = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=cmi&ref_id=' . $_GET["ref_id"];
$unload_url = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=scormPlayerUnload&ref_id=' . $_GET["ref_id"];
if ($this->slm->getSessionDeactivated()) {
$store_url = 'storeScorm2004.php?package_id=' . $this->packageId . '&ref_id=' . $_GET["ref_id"] . '&client_id=' . $this->ilias->client_id . '&do=store';
$unload_url = 'storeScorm2004.php?package_id=' . $this->packageId . '&ref_id=' . $_GET["ref_id"] . '&client_id=' . $this->ilias->client_id . '&do=unload';
}
$config['cp_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=cp&ref_id=' . $_GET["ref_id"];
$config['cmi_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=cmi&ref_id=' . $_GET["ref_id"];
$config['store_url'] = $store_url;
$config['get_adldata_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=getSharedData&ref_id=' . $_GET["ref_id"];
$config['set_adldata_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=setSharedData&ref_id=' . $_GET["ref_id"];
$config['adlact_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=adlact&ref_id=' . $_GET["ref_id"];
$config['specialpage_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=specialPage&ref_id=' . $_GET["ref_id"];
$config['suspend_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=suspend&ref_id=' . $_GET["ref_id"];
$config['get_suspend_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=getSuspend&ref_id=' . $_GET["ref_id"];
//next 2 lines could be deleted later
$config['gobjective_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=gobjective&ref_id=' . $_GET["ref_id"];
$config['get_gobjective_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=getGobjective&ref_id=' . $_GET["ref_id"];
$config['ping_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=pingSession&ref_id=' . $_GET["ref_id"];
$config['scorm_player_unload_url'] = $unload_url;
$config['post_log_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=postLogEntry&ref_id=' . $_GET["ref_id"];
$config['livelog_url'] = 'ilias.php?baseClass=ilSAHSPresentationGUI' . '&cmd=liveLogContent&ref_id=' . $_GET["ref_id"];
$config['package_url'] = $this->getDataDirectory() . "/";
//editor
$config['envEditor'] = $this->envEditor;
//debug
$config['debug'] = $this->slm->getDebug();
$config['debug_fields'] = $this->getDebugValues();
$config['debug_fields_test'] = $this->getDebugValues(true);
//language strings
$langstrings['btnStart'] = $lng->txt('scplayer_start');
$langstrings['btnExit'] = $lng->txt('scplayer_exit');
$langstrings['btnExitAll'] = $lng->txt('scplayer_exitall');
$langstrings['btnSuspendAll'] = $lng->txt('scplayer_suspendall');
$langstrings['btnPrevious'] = $lng->txt('scplayer_previous');
$langstrings['btnContinue'] = $lng->txt('scplayer_continue');
$langstrings['btnhidetree'] = $lng->txt('scplayer_hidetree');
$langstrings['btnshowtree'] = $lng->txt('scplayer_showtree');
$langstrings['linkexpandTree'] = $lng->txt('scplayer_expandtree');
$langstrings['linkcollapseTree'] = $lng->txt('scplayer_collapsetree');
$config['langstrings'] = $langstrings;
//template variables
//$this->tpl = new ilTemplate("tpl.scorm2004.player.html", false, false, "Modules/Scorm2004");
$this->tpl = new ilTemplate("tpl.scorm2004.player.html", true, true, "Modules/Scorm2004");
// include ilias rte css, if given
$rte_css = $this->slm->getDataDirectory() . "/ilias_css_4_2/css/style.css";
if (is_file($rte_css)) {
$this->tpl->setCurrentBlock("rte_css");
$this->tpl->setVariable("RTE_CSS", $rte_css);
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable('JSON_LANGSTRINGS', json_encode($langstrings));
include_once "./Services/YUI/classes/class.ilYuiUtil.php";
$this->tpl->setVariable('YUI_PATH', ilYuiUtil::getLocalPath());
$this->tpl->setVariable('TREE_JS', "./Services/UIComponent/NestedList/js/ilNestedList.js");
$this->tpl->setVariable($langstrings);
$this->tpl->setVariable('DOC_TITLE', 'ILIAS SCORM 2004 Player');
if ($this->slm->getIe_compatibility()) {
$this->tpl->setVariable('IE_COMPATIBILITY', '<meta http-equiv="X-UA-Compatible" content="IE=7" />');
}
$this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
$this->tpl->setVariable('INIT_CP_DATA', json_encode(json_decode($this->getCPDataInit())));
$this->tpl->setVariable('INIT_CMI_DATA', json_encode($this->getCMIData($this->userId, $this->packageId)));
$this->tpl->setVariable('INIT_ADLACT_DATA', json_encode($initAdlactData));
$this->tpl->setVariable('INIT_GLOBALOBJ_DATA', json_encode($initGlobalobjData));
$this->tpl->setVariable('JS_DATA', json_encode($config));
list($tsfrac, $tsint) = explode(' ', microtime());
$this->tpl->setVariable('TIMESTAMP', sprintf('%d%03d', $tsint, 1000 * (double) $tsfrac));
$this->tpl->setVariable('BASE_DIR', './Modules/Scorm2004/');
$this->tpl->setVariable('TXT_COLLAPSE', $lng->txt('scplayer_collapsetree'));
if ($this->slm->getDebug()) {
$this->tpl->setVariable('TXT_DEBUGGER', $lng->txt('scplayer_debugger'));
$this->tpl->setVariable('DEBUG_URL', "PopupCenter('ilias.php?baseClass=ilSAHSPresentationGUI&cmd=debugGUI&ref_id=" . $_GET["ref_id"] . "','Debug',800,600);");
} else {
$this->tpl->setVariable('TXT_DEBUGGER', '');
$this->tpl->setVariable('DEBUG_URL', '');
}
//set icons path
$this->tpl->setVariable('INLINE_CSS', ilSCORM13Player::getInlineCss());
//.........这里部分代码省略.........
示例2: finishTestCmd
function finishTestCmd($requires_confirmation = true)
{
global $ilUser, $ilAuth;
unset($_SESSION["tst_next"]);
$active_id = $this->testSession->getActiveId();
$actualpass = $this->object->_getPass($active_id);
$allObligationsAnswered = ilObjTest::allObligationsAnswered($this->testSession->getTestId(), $active_id, $actualpass);
/*
* The following "endgames" are possible prior to actually finishing the test:
* - Obligations (Ability to finish the test.)
* If not all obligatory questions are answered, the user is presented a list
* showing the deficits.
* - Examview (Will to finish the test.)
* With the examview, the participant can review all answers given in ILIAS or a PDF prior to
* commencing to the finished test.
* - Last pass allowed (Reassuring the will to finish the test.)
* If passes are limited, on the last pass, an additional confirmation is to be displayed.
*/
// Obligations fulfilled? redirectQuestion : one or the other summary -> no finish
if ($this->object->areObligationsEnabled() && !$allObligationsAnswered) {
if ($this->object->getListOfQuestions()) {
$_GET['activecommand'] = 'summary_obligations';
} else {
$_GET['activecommand'] = 'summary_obligations_only';
}
$this->redirectQuestionCmd();
return;
}
// Examview enabled & !reviewed & requires_confirmation? test_submission_overview (review gui)
if ($this->object->getEnableExamview() && !isset($_GET['reviewed']) && $requires_confirmation) {
$_GET['activecommand'] = 'test_submission_overview';
$this->redirectQuestionCmd();
return;
}
// Last try in limited tries & !confirmed
if ($requires_confirmation && $actualpass == $this->object->getNrOfTries() - 1) {
// show confirmation page
return $this->confirmFinishTestCmd();
}
// Last try in limited tries & confirmed?
if ($actualpass == $this->object->getNrOfTries() - 1 && !$requires_confirmation) {
$ilAuth->setIdle(ilSession::getIdleValue(), false);
$ilAuth->setExpire(0);
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
// Non-last try finish
if (!$_SESSION['tst_pass_finish']) {
if (!$_SESSION['tst_pass_finish']) {
$_SESSION['tst_pass_finish'] = 1;
}
if ($this->object->getMailNotificationType() == 1) {
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
}
// no redirect request loops after test pass finished tasks has been performed
$this->performTestPassFinishedTasks($actualpass);
$this->testSession->setLastFinishedPass($this->testSession->getPass());
$this->testSession->increaseTestPass();
$this->ctrl->redirect($this, 'afterTestPassFinished');
}
示例3: getJsonResponse
/**
* @param int $sessionId
* @return string
*/
public function getJsonResponse($sessionId)
{
/**
* @var $ilDB ilDB
* @var $ilUser ilObjUser
* @var $ilClientIniFile ilIniFile
* @var $lng ilLanguage
*/
global $ilDB, $ilUser, $lng, $ilClientIniFile;
include_once 'Services/JSON/classes/class.ilJsonUtil.php';
$response = array('remind' => false);
$res = $ilDB->queryF('
SELECT expires, user_id, data
FROM usr_session
WHERE session_id = %s', array('text'), array($sessionId));
$num = $ilDB->numRows($res);
if ($num > 1) {
$response['message'] = 'The determined session data is not unique.';
return ilJsonUtil::encode($response);
}
if ($num == 0) {
$response['message'] = 'ILIAS could not determine the session data.';
return ilJsonUtil::encode($response);
}
$data = $ilDB->fetchAssoc($res);
if (!$this->isAuthenticatedUsrSession($data)) {
$response['message'] = 'ILIAS could not fetch the session data or the corresponding user is no more authenticated.';
return ilJsonUtil::encode($response);
}
$session = ilUtil::unserializeSession($data['data']);
$idletime = null;
foreach ((array) $session as $key => $entry) {
if (strpos($key, '_auth__') === 0) {
$idletime = $entry['idle'];
break;
}
}
if (null === $idletime) {
$response['message'] = 'ILIAS could not determine the idle time from the session data.';
return ilJsonUtil::encode($response);
}
$expiretime = $idletime + ilSession::getIdleValue();
if ($this->isSessionAlreadyExpired($expiretime)) {
$response['message'] = 'The session is already expired. The client should have received a remind command before.';
return ilJsonUtil::encode($response);
}
/**
* @var $user ilObjUser
*/
$ilUser = ilObjectFactory::getInstanceByObjId($data['user_id']);
include_once './Services/Authentication/classes/class.ilSessionReminder.php';
$remind_time = $expiretime - max(ilSessionReminder::MIN_LEAD_TIME, (double) $ilUser->getPref('session_reminder_lead_time')) * 60;
if ($remind_time > time()) {
// session will expire in <lead_time> minutes
$response['message'] = 'Lead time not reached, yet. Current time: ' . date('Y-m-d H:i:s', time()) . ', Reminder time: ' . date('Y-m-d H:i:s', $remind_time);
return ilJsonUtil::encode($response);
}
$dateTime = new ilDateTime($expiretime, IL_CAL_UNIX);
switch ($ilUser->getTimeFormat()) {
case ilCalendarSettings::TIME_FORMAT_12:
$formatted_expiration_time = $dateTime->get(IL_CAL_FKT_DATE, 'g:ia', $ilUser->getTimeZone());
break;
case ilCalendarSettings::TIME_FORMAT_24:
default:
$formatted_expiration_time = $dateTime->get(IL_CAL_FKT_DATE, 'H:i', $ilUser->getTimeZone());
break;
}
$response = array('extend_url' => './ilias.php?baseClass=ilPersonalDesktopGUI', 'txt' => str_replace("\\n", '%0A', sprintf($lng->txt('session_reminder_alert'), ilFormat::_secondsToString($expiretime - time()), $formatted_expiration_time, $ilClientIniFile->readVariable('client', 'name') . ' | ' . ilUtil::_getHttpPath())), 'remind' => true);
return ilJsonUtil::encode($response);
}
示例4: finishTest
/**
* Finish the test
*
* Finish the test
*
* @access public
*/
function finishTest($confirm = true)
{
global $ilUser;
global $ilias;
global $ilAuth;
unset($_SESSION["tst_next"]);
$active_id = $this->object->getTestSession()->getActiveId();
$actualpass = $this->object->_getPass($active_id);
$allObligationsAnswered = ilObjTest::allObligationsAnswered($this->object->getTestSession()->getTestId(), $active_id, $actualpass);
if ($this->object->areObligationsEnabled() && !$allObligationsAnswered) {
if ($this->object->getListOfQuestions()) {
$_GET['activecommand'] = 'summary_obligations';
} else {
$_GET['activecommand'] = 'summary_obligations_only';
}
$this->redirectQuestion();
return;
}
if ($actualpass == $this->object->getNrOfTries() - 1 && !$confirm) {
$this->object->setActiveTestSubmitted($ilUser->getId());
$ilAuth->setIdle(ilSession::getIdleValue(), false);
$ilAuth->setExpire(0);
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
if ($confirm && $actualpass == $this->object->getNrOfTries() - 1) {
if ($this->object->canShowSolutionPrintview($ilUser->getId())) {
$template = new ilTemplate("tpl.il_as_tst_finish_navigation.html", TRUE, TRUE, "Modules/Test");
$template->setVariable("BUTTON_FINISH", $this->lng->txt("btn_next"));
$template->setVariable("BUTTON_CANCEL", $this->lng->txt("btn_previous"));
$template_top = new ilTemplate("tpl.il_as_tst_list_of_answers_topbuttons.html", TRUE, TRUE, "Modules/Test");
$template_top->setCurrentBlock("button_print");
$template_top->setVariable("BUTTON_PRINT", $this->lng->txt("print"));
$template_top->parseCurrentBlock();
$this->showListOfAnswers($active_id, NULL, $template_top->get(), $template->get());
return;
} else {
// show confirmation page
return $this->confirmFinishTest();
}
}
if (!$_SESSION['tst_pass_finish']) {
if (!$_SESSION['tst_pass_finish']) {
$_SESSION['tst_pass_finish'] = 1;
}
if ($this->object->getMailNotificationType() == 1) {
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
$this->object->getTestSession()->increaseTestPass();
}
$this->redirectBack();
}
示例5: _initAuth
//.........这里部分代码省略.........
if (defined("WebDAV_Authentication") && WebDAV_Authentication == 'HTTP') {
// Since WebDAV clients create the login form by
// themselves, we can not provide buttons on the form for
// choosing an authentication method.
// If the user is already logged in, we continue using
// the current authentication method. If the user is
// not logged in yet, we use the "multiple authentication"
// method using a predefined sequence of authentication methods.
$authmode = AUTH_CURRENT ? AUTH_CURRENT : AUTH_MULTIPLE;
} else {
$authmode = AUTH_CURRENT;
}
//var_dump($authmode);
// if no auth mode selected AND default mode is AUTH_APACHE then use it...
if ($authmode == null && AUTH_DEFAULT == AUTH_APACHE) {
$authmode = AUTH_APACHE;
}
switch ($authmode) {
case AUTH_LDAP:
include_once './Services/LDAP/classes/class.ilAuthContainerLDAP.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerLDAP());
break;
case AUTH_RADIUS:
include_once './Services/Radius/classes/class.ilAuthContainerRadius.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerRadius());
break;
case AUTH_SHIBBOLETH:
// build option string for SHIB::Auth
$auth_params = array();
$auth_params['sessionName'] = "_authhttp" . md5($realm);
$ilAuth = new ShibAuth($auth_params, true);
break;
case AUTH_CAS:
include_once './Services/CAS/classes/class.ilAuthContainerCAS.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerCAS());
break;
case AUTH_SOAP:
include_once './Services/SOAPAuth/classes/class.ilAuthContainerSOAP.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerSOAP());
break;
case AUTH_MULTIPLE:
include_once './Services/Authentication/classes/class.ilAuthContainerMultiple.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerMultiple());
break;
case AUTH_ECS:
include_once './Services/WebServices/ECS/classes/class.ilAuthContainerECS.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerECS());
break;
case AUTH_OPENID:
include_once './Services/OpenId/classes/class.ilAuthContainerOpenId.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerOpenId());
break;
case AUTH_INACTIVE:
require_once './Services/Authentication/classes/class.ilAuthInactive.php';
$ilAuth = new ilAuthInactive(AUTH_MODE_INACTIVE);
break;
case AUTH_APACHE:
include_once './Services/AuthApache/classes/class.ilAuthContainerApache.php';
ilAuthFactory::setContext(ilAuthFactory::CONTEXT_APACHE);
$ilAuth = ilAuthFactory::factory(new ilAuthContainerApache());
break;
// begin-patch auth_plugin
// begin-patch auth_plugin
case AUTH_LOCAL:
global $ilLog;
include_once './Services/Database/classes/class.ilAuthContainerMDB2.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerMDB2());
break;
default:
// check for plugin
if ($authmode) {
foreach (self::getAuthPlugins() as $pl) {
$container = $pl->getContainer($authmode);
if ($container instanceof Auth_Container) {
$GLOBALS['ilLog']->write(__METHOD__ . ' Using plugin authentication with auth_mode ' . $authmode);
$ilAuth = ilAuthFactory::factory($container);
break 2;
}
}
}
#$GLOBALS['ilLog']->write(__METHOD__.' Using default authentication');
// default for logged in users
include_once './Services/Database/classes/class.ilAuthContainerMDB2.php';
$ilAuth = ilAuthFactory::factory(new ilAuthContainerMDB2());
break;
// end-patch auth_plugin
}
// Due to a bug in Pear Auth_HTTP, we can't use idle time
// with WebDAV clients. If we used it, users could never log
// back into ILIAS once their session idled out. :(
if (!defined("WebDAV_Authentication") || WebDAV_Authentication != 'HTTP') {
$ilAuth->setIdle(ilSession::getIdleValue(), false);
}
$ilAuth->setExpire(0);
ini_set("session.cookie_lifetime", "0");
//echo "-".get_class($ilAuth)."-";
$GLOBALS['ilAuth'] =& $ilAuth;
ilSessionControl::checkExpiredSession();
$ilBench->stop('Auth', 'initAuth');
}
示例6: finishTestCmd
function finishTestCmd($requires_confirmation = true)
{
global $ilUser, $ilAuth;
unset($_SESSION["tst_next"]);
$active_id = $this->testSession->getActiveId();
$actualpass = $this->object->_getPass($active_id);
$allObligationsAnswered = ilObjTest::allObligationsAnswered($this->testSession->getTestId(), $active_id, $actualpass);
/*
* The following "endgames" are possible prior to actually finishing the test:
* - Obligations (Ability to finish the test.)
* If not all obligatory questions are answered, the user is presented a list
* showing the deficits.
* - Examview (Will to finish the test.)
* With the examview, the participant can review all answers given in ILIAS or a PDF prior to
* commencing to the finished test.
* - Last pass allowed (Reassuring the will to finish the test.)
* If passes are limited, on the last pass, an additional confirmation is to be displayed.
*/
// Obligations fulfilled? redirectQuestion : one or the other summary -> no finish
if ($this->object->areObligationsEnabled() && !$allObligationsAnswered) {
if ($this->object->getListOfQuestions()) {
$_GET['activecommand'] = 'summary_obligations';
} else {
$_GET['activecommand'] = 'summary_obligations_only';
}
$this->redirectQuestion();
return;
}
// Examview enabled & !reviewed & requires_confirmation? test_submission_overview (review gui)
if ($this->object->getEnableExamview() && !isset($_GET['reviewed']) && $requires_confirmation) {
$_GET['activecommand'] = 'test_submission_overview';
$this->redirectQuestionCmd();
return;
}
// Last try in limited tries & !confirmed
if ($requires_confirmation && $actualpass == $this->object->getNrOfTries() - 1) {
if ($this->object->canShowSolutionPrintview($ilUser->getId())) {
$template = new ilTemplate("tpl.il_as_tst_finish_navigation.html", TRUE, TRUE, "Modules/Test");
$template->setVariable("BUTTON_FINISH", $this->lng->txt("btn_next"));
$template->setVariable("BUTTON_CANCEL", $this->lng->txt("btn_previous"));
$template_top = new ilTemplate("tpl.il_as_tst_list_of_answers_topbuttons.html", TRUE, TRUE, "Modules/Test");
$template_top->setCurrentBlock("button_print");
$template_top->setVariable("BUTTON_PRINT", $this->lng->txt("print"));
$template_top->parseCurrentBlock();
$this->showListOfAnswers($active_id, NULL, $template_top->get(), $template->get());
return;
} else {
// show confirmation page
return $this->confirmFinishTestCmd();
}
}
// Last try in limited tries & confirmed?
if ($actualpass == $this->object->getNrOfTries() - 1 && !$requires_confirmation) {
$this->object->setActiveTestSubmitted($ilUser->getId());
$ilAuth->setIdle(ilSession::getIdleValue(), false);
$ilAuth->setExpire(0);
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
// Non-last try finish
if (!$_SESSION['tst_pass_finish']) {
if (!$_SESSION['tst_pass_finish']) {
$_SESSION['tst_pass_finish'] = 1;
}
if ($this->object->getMailNotificationType() == 1) {
switch ($this->object->getMailNotification()) {
case 1:
$this->object->sendSimpleNotification($active_id);
break;
case 2:
$this->object->sendAdvancedNotification($active_id);
break;
}
}
$this->testSession->increaseTestPass();
ilSession::set('passincreased', $actualpass);
}
if ($this->object->getEnableArchiving()) {
$this->archiveParticipantSubmission($active_id, $actualpass);
}
/** @var $ilPluginAdmin ilPluginAdmin */
global $ilPluginAdmin, $ilCtrl;
if ($this->object->getSignSubmission() && count($ilPluginAdmin->getActivePluginsForSlot(IL_COMP_MODULE, 'Test', 'tsig')) != 0) {
$key = 'signed_' . $active_id . '_' . $actualpass;
if (ilSession::get('passincreased') != null) {
$key = 'signed_' . $active_id . '_' . ilSession::get('passincreased');
}
$val = ilSession::get($key);
if (is_null($val)) {
/** @var $ilCtrl ilCtrl */
$ilCtrl->redirectByClass('ilTestSignatureGUI', 'invokeSignaturePlugin');
}
}
// Redirect after test
//.........这里部分代码省略.........