function displayTimeoutScripts() { global $survey, $engine; $returnStr = ""; if (!isRegisteredScript("js/session/timeout-min.js")) { registerScript('js/session/timeout-min.js'); $returnStr .= getScript("js/session/timeout-min.js"); } $logouturl = $engine->replaceFills($survey->getTimeoutLogoutURL()); if ($logouturl == "") { $logouturl = Config::sessionLogoutURL(); } $logout = ""; if ($logouturl != "") { $logout = "logoutUrl: '" . $logouturl . "',"; } $aliveurl = Config::sessionAliveURL(); $alive = ""; if ($aliveurl != "") { $alive = "keepAliveUrl: '" . $aliveurl . "',"; } $redirurl = $engine->replaceFills($survey->getTimeoutRedirectURL()); if ($redirurl == "") { $redirurl = Config::sessionRedirectURL(); } $redir = ""; $length = $engine->replaceFills($survey->getTimeoutLength()); if ($length == "") { $length = Config::sessionTimeout(); } if ($redirurl != "") { $redir = "redirUrl: '" . $redirurl . "',"; $redirafter = "redirAfter: " . $length * 1000; } $warnafter = $length * 1000 * Config::sessionExpiredWarnPoint(); // warn after 60% of the time has passed $timeleft = ($length - $length * Config::sessionExpiredWarnPoint()) / 60; // in minutes $message = Language::sessionExpiredMessage(round($timeleft)); $alivebutton = $engine->replaceFills($survey->getTimeoutAliveButton()); if ($alivebutton == "") { $alivebutton = Language::sessionExpiredKeepAliveButton(); } $logoutbutton = $engine->replaceFills($survey->getTimeoutLogoutButton()); if ($logoutbutton == "") { $logoutbutton = Language::sessionExpiredLogoutButton(); } $title = $engine->replaceFills($survey->getTimeoutTitle()); if ($title == "") { $title = Language::sessionExpiredTitle(); } $ping = Config::sessionExpiredPingInterval(); $returnStr .= "<script type='text/javascript'>" . minifyScript("\n \$(document).ready(function(){\n \$.sessionTimeout({\n title: '{$title}',\n keepAliveButton: '{$alivebutton}',\n keepAliveInterval: {$ping}, \n logoutButton: '{$logoutbutton}',\n message: '{$message}',\n {$alive}\n {$logout}\n {$redir} \n warnAfter: {$warnafter},\n {$redirafter}\n });\n });") . " \n </script>"; return $returnStr; }