ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilSessionReminderGUI.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
25  private ilLanguage $lng;
26 
27  public function __construct(
28  ilSessionReminder $sessionReminder,
30  ilLanguage $language
31  ) {
32  $this->sessionReminder = $sessionReminder;
33  $this->page = $page;
34  $this->lng = $language;
35  }
36 
37  public function populatePage(): void
38  {
39  if (!$this->sessionReminder->isActive()) {
40  return;
41  }
42 
43  iljQueryUtil::initjQuery($this->page);
44 
45  $this->page->addJavaScript('./Services/Authentication/js/session_reminder.js');
46 
47  $url = './sessioncheck.php?client_id=' . CLIENT_ID . '&lang=' . $this->lng->getLangKey();
48  $devMode = defined('DEVMODE') && DEVMODE ? 1 : 0;
49  $clientId = defined('CLIENT_ID') ? CLIENT_ID : '';
50  $sessionId = session_id();
51  $sessionHash = md5($sessionId);
52 
53  $javascript = <<<JS
54 (function($) {
55  $("body").ilSessionReminder({
56  url: "$url",
57  client_id: "$clientId",
58  hash: "$sessionHash",
59  frequency: 60,
60  debug: $devMode
61  });
62 })(jQuery);
63 JS;
64 
65  $this->page->addOnLoadCode($javascript);
66  }
67 }
__construct(ilSessionReminder $sessionReminder, ilGlobalTemplateInterface $page, ilLanguage $language)
$clientId
Definition: ltiregend.php:27
const CLIENT_ID
Definition: constants.php:41
ilGlobalTemplateInterface $page
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
$url