ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilCtrlContext Class Reference

Class ilCtrlContext is responsible for holding the current context information. More...

+ Inheritance diagram for ilCtrlContext:
+ Collaboration diagram for ilCtrlContext:

Public Member Functions

 __construct (ilCtrlPathFactory $path_factory, RequestWrapper $request_wrapper, Refinery $refinery)
 ilCtrlContext Constructor More...
 
 isAsync ()
 
 getRedirectSource ()
 
 getPath ()
 
 setCmdMode (string $mode)
 
 getCmdMode ()
 
 setBaseClass (string $base_class)
 
 getBaseClass ()
 
 setTargetScript (string $target_script)
 
 getTargetScript ()
 
 setCmdClass (?string $cmd_class)
 
 getCmdClass ()
 
 setCmd (?string $cmd)
 
 getCmd ()
 
 setObjType (string $obj_type)
 
 getObjType ()
 
 setObjId (int $obj_id)
 
 getObjId ()
 

Protected Member Functions

 adoptRequestParameters ()
 Adopts context properties from the according ones delivered by the current request. More...
 
 getQueryParam (string $parameter_name)
 Helper function to retrieve request parameter values by name. More...
 

Protected Attributes

ilCtrlPathFactory $path_factory
 
RequestWrapper $request_wrapper
 
Refinery $refinery
 
ilCtrlPathInterface $path
 
bool $is_async = false
 
string $target_script = 'ilias.php'
 
string $cmd_mode = null
 
string $redirect = null
 
string $base_class = null
 
string $cmd_class = null
 
string $cmd = null
 
string $obj_type = null
 
int $obj_id = null
 

Detailed Description

Class ilCtrlContext is responsible for holding the current context information.

Author
Thibeau Fuhrer thf@s.nosp@m.tude.nosp@m.r-rai.nosp@m.mann.nosp@m..ch AutoloadingIssuesInspection

Definition at line 31 of file class.ilCtrlContext.php.

Constructor & Destructor Documentation

◆ __construct()

ilCtrlContext::__construct ( ilCtrlPathFactory  $path_factory,
RequestWrapper  $request_wrapper,
Refinery  $refinery 
)

ilCtrlContext Constructor

Parameters
ilCtrlPathFactory$path_factory
RequestWrapper$request_wrapper
Refinery$refinery

Definition at line 105 of file class.ilCtrlContext.php.

References $path_factory, $refinery, $request_wrapper, adoptRequestParameters(), ilCtrlPathFactory\null(), and ILIAS\Repository\refinery().

106  {
107  $this->path_factory = $path_factory;
108  $this->path = $path_factory->null();
109  $this->request_wrapper = $request_wrapper;
110  $this->refinery = $refinery;
111 
112  $this->adoptRequestParameters();
113  }
RequestWrapper $request_wrapper
adoptRequestParameters()
Adopts context properties from the according ones delivered by the current request.
ilCtrlPathFactory $path_factory
+ Here is the call graph for this function:

Member Function Documentation

◆ adoptRequestParameters()

ilCtrlContext::adoptRequestParameters ( )
protected

Adopts context properties from the according ones delivered by the current request.

Note that this method should only be called when initializing ilCtrl, as methods may override delivered values on purpose later on.

Definition at line 286 of file class.ilCtrlContext.php.

References ilCtrlInterface\CMD_MODE_ASYNC, getQueryParam(), null, ilCtrlInterface\PARAM_BASE_CLASS, ilCtrlInterface\PARAM_CID_PATH, ilCtrlInterface\PARAM_CMD, ilCtrlInterface\PARAM_CMD_CLASS, ilCtrlInterface\PARAM_CMD_MODE, ilCtrlInterface\PARAM_REDIRECT, setBaseClass(), and setCmdClass().

Referenced by __construct().

286  : void
287  {
288  $this->redirect = $this->getQueryParam(ilCtrlInterface::PARAM_REDIRECT);
289  $this->cmd_mode = $this->getQueryParam(ilCtrlInterface::PARAM_CMD_MODE);
290  $this->cmd = $this->getQueryParam(ilCtrlInterface::PARAM_CMD);
291 
292  // the context is considered asynchronous if
293  // the command mode is 'async'.
294  if (ilCtrlInterface::CMD_MODE_ASYNC === $this->cmd_mode) {
295  $this->is_async = true;
296  }
297 
298  // if an existing path is provided use it by default.
299  $existing_path = $this->getQueryParam(ilCtrlInterface::PARAM_CID_PATH);
300  if (null !== $existing_path) {
301  $this->path = $this->path_factory->existing($existing_path);
302  }
303 
304  // set the provided baseclass, which might override the
305  // previously set existing path.
307  if (null !== $base_class) {
308  $this->setBaseClass($base_class);
309  }
310 
311  // set or append the provided command class, which might
312  // override the previously set path again.
314  if (null !== $cmd_class) {
315  $this->setCmdClass($cmd_class);
316  }
317  }
setBaseClass(string $base_class)
getQueryParam(string $parameter_name)
Helper function to retrieve request parameter values by name.
setCmdClass(?string $cmd_class)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBaseClass()

ilCtrlContext::getBaseClass ( )

Implements ilCtrlContextInterface.

Definition at line 178 of file class.ilCtrlContext.php.

References $base_class.

178  : ?string
179  {
180  return $this->base_class;
181  }

◆ getCmd()

ilCtrlContext::getCmd ( )

Implements ilCtrlContextInterface.

Definition at line 239 of file class.ilCtrlContext.php.

References $cmd.

239  : ?string
240  {
241  return $this->cmd;
242  }

◆ getCmdClass()

ilCtrlContext::getCmdClass ( )

Implements ilCtrlContextInterface.

Definition at line 219 of file class.ilCtrlContext.php.

References $base_class.

219  : ?string
220  {
221  // if no cmd_class is set yet, the baseclass
222  // value can be returned.
223  return $this->cmd_class ?? $this->base_class;
224  }

◆ getCmdMode()

ilCtrlContext::getCmdMode ( )

Implements ilCtrlContextInterface.

Definition at line 151 of file class.ilCtrlContext.php.

References $cmd_mode.

151  : ?string
152  {
153  return $this->cmd_mode;
154  }

◆ getObjId()

ilCtrlContext::getObjId ( )

Implements ilCtrlContextInterface.

Definition at line 273 of file class.ilCtrlContext.php.

References $obj_id.

273  : ?int
274  {
275  return $this->obj_id;
276  }

◆ getObjType()

ilCtrlContext::getObjType ( )

Implements ilCtrlContextInterface.

Definition at line 256 of file class.ilCtrlContext.php.

References $obj_type.

256  : ?string
257  {
258  return $this->obj_type;
259  }

◆ getPath()

ilCtrlContext::getPath ( )

Implements ilCtrlContextInterface.

Definition at line 134 of file class.ilCtrlContext.php.

References $path.

135  {
136  return $this->path;
137  }
ilCtrlPathInterface $path
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getQueryParam()

ilCtrlContext::getQueryParam ( string  $parameter_name)
protected

Helper function to retrieve request parameter values by name.

Parameters
string$parameter_name
Returns
string|null

Definition at line 325 of file class.ilCtrlContext.php.

References null, and ILIAS\Repository\refinery().

Referenced by adoptRequestParameters().

325  : ?string
326  {
327  if ($this->request_wrapper->has($parameter_name)) {
328  return $this->request_wrapper->retrieve(
329  $parameter_name,
330  $this->refinery->to()->string()
331  );
332  }
333 
334  return null;
335  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRedirectSource()

ilCtrlContext::getRedirectSource ( )

Implements ilCtrlContextInterface.

Definition at line 126 of file class.ilCtrlContext.php.

References $redirect.

126  : ?string
127  {
128  return $this->redirect;
129  }

◆ getTargetScript()

ilCtrlContext::getTargetScript ( )

Implements ilCtrlContextInterface.

Definition at line 195 of file class.ilCtrlContext.php.

References $target_script.

195  : string
196  {
197  return $this->target_script;
198  }

◆ isAsync()

ilCtrlContext::isAsync ( )

Implements ilCtrlContextInterface.

Definition at line 118 of file class.ilCtrlContext.php.

References $is_async.

118  : bool
119  {
120  return $this->is_async;
121  }

◆ setBaseClass()

ilCtrlContext::setBaseClass ( string  $base_class)

Implements ilCtrlContextInterface.

Definition at line 159 of file class.ilCtrlContext.php.

References $base_class, $path, ilCtrlPathInterface\getCidPath(), and null.

Referenced by adoptRequestParameters().

160  {
161  $path = $this->path_factory->find($this, $base_class);
162 
163  // only set baseclass if it's a valid target.
164  if (null !== $path->getCidPath()) {
165  $this->base_class = $base_class;
166  // only update the path if the current one is null.
167  if (null === $this->path->getCidPath()) {
168  $this->path = $path;
169  }
170  }
171 
172  return $this;
173  }
getCidPath()
Returns the CID path for the target class of the current instance.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilCtrlPathInterface $path
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCmd()

ilCtrlContext::setCmd ( ?string  $cmd)

Implements ilCtrlContextInterface.

Definition at line 229 of file class.ilCtrlContext.php.

References $cmd.

230  {
231  $this->cmd = $cmd;
232 
233  return $this;
234  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ setCmdClass()

ilCtrlContext::setCmdClass ( ?string  $cmd_class)

Implements ilCtrlContextInterface.

Definition at line 203 of file class.ilCtrlContext.php.

References $cmd_class, $path, ilCtrlPathInterface\getCidPath(), and null.

Referenced by adoptRequestParameters().

204  {
205  $path = $this->path_factory->find($this, $cmd_class);
206 
207  // only set command class if it's a valid target.
208  if (null !== $path->getCidPath()) {
209  $this->cmd_class = $cmd_class;
210  $this->path = $path;
211  }
212 
213  return $this;
214  }
getCidPath()
Returns the CID path for the target class of the current instance.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilCtrlPathInterface $path
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCmdMode()

ilCtrlContext::setCmdMode ( string  $mode)

Implements ilCtrlContextInterface.

Definition at line 142 of file class.ilCtrlContext.php.

143  {
144  $this->cmd_mode = $mode;
145  return $this;
146  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ setObjId()

ilCtrlContext::setObjId ( int  $obj_id)

Implements ilCtrlContextInterface.

Definition at line 264 of file class.ilCtrlContext.php.

References $obj_id.

265  {
266  $this->obj_id = $obj_id;
267  return $this;
268  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ setObjType()

ilCtrlContext::setObjType ( string  $obj_type)

Implements ilCtrlContextInterface.

Definition at line 247 of file class.ilCtrlContext.php.

References $obj_type.

248  {
249  $this->obj_type = $obj_type;
250  return $this;
251  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ setTargetScript()

ilCtrlContext::setTargetScript ( string  $target_script)

Implements ilCtrlContextInterface.

Definition at line 186 of file class.ilCtrlContext.php.

References $target_script.

187  {
188  $this->target_script = $target_script;
189  return $this;
190  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

Field Documentation

◆ $base_class

string ilCtrlContext::$base_class = null
protected

Definition at line 76 of file class.ilCtrlContext.php.

Referenced by getBaseClass(), getCmdClass(), and setBaseClass().

◆ $cmd

string ilCtrlContext::$cmd = null
protected

Definition at line 86 of file class.ilCtrlContext.php.

Referenced by getCmd(), and setCmd().

◆ $cmd_class

string ilCtrlContext::$cmd_class = null
protected

Definition at line 81 of file class.ilCtrlContext.php.

Referenced by setCmdClass().

◆ $cmd_mode

string ilCtrlContext::$cmd_mode = null
protected

Definition at line 66 of file class.ilCtrlContext.php.

Referenced by getCmdMode().

◆ $is_async

bool ilCtrlContext::$is_async = false
protected

Definition at line 56 of file class.ilCtrlContext.php.

Referenced by isAsync().

◆ $obj_id

int ilCtrlContext::$obj_id = null
protected

Definition at line 96 of file class.ilCtrlContext.php.

Referenced by getObjId(), and setObjId().

◆ $obj_type

string ilCtrlContext::$obj_type = null
protected

Definition at line 91 of file class.ilCtrlContext.php.

Referenced by getObjType(), and setObjType().

◆ $path

ilCtrlPathInterface ilCtrlContext::$path
protected

Definition at line 51 of file class.ilCtrlContext.php.

Referenced by getPath(), setBaseClass(), and setCmdClass().

◆ $path_factory

ilCtrlPathFactory ilCtrlContext::$path_factory
protected

Definition at line 36 of file class.ilCtrlContext.php.

Referenced by __construct().

◆ $redirect

string ilCtrlContext::$redirect = null
protected

Definition at line 71 of file class.ilCtrlContext.php.

Referenced by getRedirectSource().

◆ $refinery

Refinery ilCtrlContext::$refinery
protected

Definition at line 46 of file class.ilCtrlContext.php.

Referenced by __construct().

◆ $request_wrapper

RequestWrapper ilCtrlContext::$request_wrapper
protected

Definition at line 41 of file class.ilCtrlContext.php.

Referenced by __construct().

◆ $target_script

string ilCtrlContext::$target_script = 'ilias.php'
protected

Definition at line 61 of file class.ilCtrlContext.php.

Referenced by getTargetScript(), and setTargetScript().


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