ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilUserRequestTargetAdjustment Class Reference

Class ilUserAccountMaintenanceEnforcement. More...

+ Collaboration diagram for ilUserRequestTargetAdjustment:

Public Member Functions

 __construct (ilObjUser $user, ilCtrl $ctrl)
 
 adjust ()
 

Protected Member Functions

 initCases ()
 
 storeRequest ()
 

Protected Attributes

 $ctrl
 
 $user
 
 $cases = array()
 

Detailed Description

Class ilUserAccountMaintenanceEnforcement.

Definition at line 7 of file class.ilUserRequestTargetAdjustment.php.

Constructor & Destructor Documentation

◆ __construct()

ilUserRequestTargetAdjustment::__construct ( ilObjUser  $user,
ilCtrl  $ctrl 
)
Parameters
ilObjUser$user
ilCtrl$ctrl

Definition at line 28 of file class.ilUserRequestTargetAdjustment.php.

References $ctrl, $user, initCases(), and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ adjust()

ilUserRequestTargetAdjustment::adjust ( )
Returns
boolean

Definition at line 69 of file class.ilUserRequestTargetAdjustment.php.

References $_SERVER, $GLOBALS, array, defined, ilSession\get(), ilSession\set(), storeRequest(), ilContext\supportsRedirects(), and user().

70  {
71  if(defined('IL_CERT_SSO'))
72  {
73  $GLOBALS['DIC']->logger()->init()->debug('CERT SSO request. No adjustment.');
74  return false;
75  }
77  {
78  $GLOBALS['DIC']->logger()->init()->debug('Context does not support redirects. No adjustment.');
79  return false;
80  }
81  else if($this->ctrl->isAsynch())
82  {
83  $GLOBALS['DIC']->logger()->init()->debug('Async request. No adjustment.');
84  return false;
85  }
86  else if(in_array(basename($_SERVER['PHP_SELF']), array('logout.php')))
87  {
88  $GLOBALS['DIC']->logger()->init()->debug('Logout request. No adjustment.');
89  return false;
90  }
91  else if(!$this->user->getId() || $this->user->isAnonymous())
92  {
93  $GLOBALS['DIC']->logger()->init()->debug('Anyonymous request. No adjustment.');
94  return false;
95  }
96  else if(ilSession::get(__CLASS__ . '_passed'))
97  {
98  $GLOBALS['DIC']->logger()->init()->debug(__CLASS__ . ' already passed in the current user session.');
99  return false;
100  }
101 
102  foreach($this->cases as $case)
103  {
104  if($case->isInFulfillment())
105  {
106  $GLOBALS['DIC']->logger()->init()->debug('Case is in fullfillment:' . get_class($case));
107  return false;
108  }
109 
110  if($case->shouldAdjustRequest())
111  {
112 
113  $GLOBALS['DIC']->logger()->init()->debug('Case required adjustment:' . get_class($case));
114  if($case->shouldStoreRequestTarget())
115  {
116  $this->storeRequest();
117  }
118  $case->adjust();
119  return true;
120  }
121  }
122 
123  ilSession::set(__CLASS__ . '_passed', 1);
124  return false;
125  }
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static get($a_var)
Get a value.
static set($a_var, $a_val)
Set a value.
user()
Definition: user.php:4
Create styles array
The data for the language used.
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
Definition: bootstrap.php:27
static supportsRedirects()
Are redirects supported?
+ Here is the call graph for this function:

◆ initCases()

ilUserRequestTargetAdjustment::initCases ( )
protected

Definition at line 39 of file class.ilUserRequestTargetAdjustment.php.

References array, and user().

Referenced by __construct().

40  {
41  require_once 'Services/TermsOfService/classes/class.ilTermsOfServiceRequestTargetAdjustmentCase.php';
42  require_once 'Services/User/classes/class.ilUserProfileIncompleteRequestTargetAdjustmentCase.php';
43  require_once 'Services/User/classes/class.ilUserPasswordResetRequestTargetAdjustmentCase.php';
44 
45  $this->cases = array(
46  new ilTermsOfServiceRequestTargetAdjustmentCase($this->user, $this->ctrl),
49  );
50  }
user()
Definition: user.php:4
Create styles array
The data for the language used.
Class ilUserProfileIncompleteAndPasswordResetRequestTargetAdjustmentCase.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ storeRequest()

ilUserRequestTargetAdjustment::storeRequest ( )
protected

Definition at line 55 of file class.ilUserRequestTargetAdjustment.php.

References $_SERVER, $url, ilSession\get(), and ilSession\set().

Referenced by adjust().

56  {
57  if(!ilSession::get('orig_request_target'))
58  {
59  //#16324 don't use the complete REQUEST_URI
60  $url = substr($_SERVER['REQUEST_URI'], (strrpos($_SERVER['REQUEST_URI'], '/') +1 ));
61 
62  ilSession::set('orig_request_target', $url);
63  }
64  }
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
static get($a_var)
Get a value.
static set($a_var, $a_val)
Set a value.
$url
Definition: shib_logout.php:72
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $cases

ilUserRequestTargetAdjustment::$cases = array()
protected

Definition at line 22 of file class.ilUserRequestTargetAdjustment.php.

◆ $ctrl

ilUserRequestTargetAdjustment::$ctrl
protected

Definition at line 12 of file class.ilUserRequestTargetAdjustment.php.

Referenced by __construct().

◆ $user

ilUserRequestTargetAdjustment::$user
protected

Definition at line 17 of file class.ilUserRequestTargetAdjustment.php.

Referenced by __construct().


The documentation for this class was generated from the following file: