ILIAS  release_8 Revision v8.23
show_multi_step_modal.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 
10 {
11  global $DIC;
12  $f = $DIC->ui()->factory();
13  $r = $DIC->ui()->renderer();
14  $refinery = $DIC->refinery();
15  $request_wrapper = $DIC->http()->wrapper()->query();
16 
17  $url = $_SERVER['REQUEST_URI'];
18 
19  $page = "";
20  if ($request_wrapper->has('page')) {
21  $page = $request_wrapper->retrieve('page', $refinery->kindlyTo()->string());
22  }
23  if ($page == "") {
24  $modal = $f->modal()->roundtrip("Modal Title", $f->legacy("b"));
25  $asyncUrl = $url . '&page=login&replaceSignal=' . $modal->getReplaceSignal()->getId();
26  $modal = $modal->withAsyncRenderUrl($asyncUrl);
27  $button = $f->button()->standard("Sign In", '#')
28  ->withOnClick($modal->getShowSignal());
29  return $r->render([$modal, $button]);
30  } else {
31  $signalId = "";
32  if ($request_wrapper->has('replaceSignal')) {
33  $signalId = $request_wrapper->retrieve('replaceSignal', $refinery->kindlyTo()->string());
34  }
35  $replaceSignal = new ReplaceSignal($signalId);
36  $button1 = $f->button()->standard('Login', '#')
37  ->withOnClick($replaceSignal->withAsyncRenderUrl($url . '&page=login&replaceSignal=' . $replaceSignal->getId()));
38  $button2 = $f->button()->standard('Registration', '#')
39  ->withOnClick($replaceSignal->withAsyncRenderUrl($url . '&page=register&replaceSignal=' . $replaceSignal->getId()));
40 
41  $modal = null;
42  if ($page == "login") {
43  $legacy = $f->legacy("<p>The Login Page</p>");
44  $modal = $f->modal()->roundtrip("Login", [$button1, $button2, $legacy]);
45  }
46  if ($page == "register") {
47  $legacy = $f->legacy("<p>The Registration Page</p>");
48  $modal = $f->modal()->roundtrip("Registration", [$button1, $button2, $legacy]);
49  }
50 
51  echo $r->renderAsync([$modal]);
52  exit;
53  }
54 }
exit
Definition: login.php:28
global $DIC
Definition: feed.php:28
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
$url
Refinery Factory $refinery