ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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 ()
 @inheritDoc More...
 
 getRedirectSource ()
 @inheritDoc More...
 
 getPath ()
 @inheritDoc More...
 
 setCmdMode (string $mode)
 @inheritDoc More...
 
 getCmdMode ()
 @inheritDoc More...
 
 setBaseClass (string $base_class)
 @inheritDoc More...
 
 getBaseClass ()
 @inheritDoc More...
 
 setTargetScript (string $target_script)
 @inheritDoc More...
 
 getTargetScript ()
 @inheritDoc More...
 
 setCmdClass (?string $cmd_class)
 @inheritDoc More...
 
 getCmdClass ()
 @inheritDoc More...
 
 setCmd (?string $cmd)
 @inheritDoc More...
 
 getCmd ()
 @inheritDoc More...
 
 setObjType (string $obj_type)
 @inheritDoc More...
 
 getObjType ()
 @inheritDoc More...
 
 setObjId (int $obj_id)
 @inheritDoc More...
 
 getObjId ()
 @inheritDoc More...
 
 isAsync ()
 Returns whether this context is asynchronous or not. More...
 
 getRedirectSource ()
 Returns where the request of this context was redirected from. More...
 
 getPath ()
 Returns the path of this context. More...
 
 setCmdMode (string $mode)
 Sets the command mode of the current context. More...
 
 getCmdMode ()
 Returns the command mode of the current context. More...
 
 setBaseClass (string $base_class)
 Sets the baseclass of the current context. More...
 
 getBaseClass ()
 Returns the baseclass the current context. More...
 
 setTargetScript (string $target_script)
 Sets the target script of this context (usually ilias.php). More...
 
 getTargetScript ()
 Returns the target script of this context. More...
 
 setCmdClass (?string $cmd_class)
 Sets the current contexts command class. More...
 
 getCmdClass ()
 Returns the command class of this context. More...
 
 setCmd (?string $cmd)
 Sets the command which the current command- or baseclass should perform. More...
 
 getCmd ()
 Returns the command which the current command- or baseclass should perform. More...
 
 setObjType (string $obj_type)
 Sets the object type of the current context. More...
 
 getObjType ()
 Returns the object type of the current context. More...
 
 setObjId (int $obj_id)
 Sets the object id of the current context. More...
 
 getObjId ()
 Returns the object id of the current context. More...
 

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 @noinspection 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.

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

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

+ 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.

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) {
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 }
setCmdClass(?string $cmd_class)
@inheritDoc
getQueryParam(string $parameter_name)
Helper function to retrieve request parameter values by name.
setBaseClass(string $base_class)
@inheritDoc

References $base_class, $cmd_class, ilCtrlInterface\CMD_MODE_ASYNC, getQueryParam(), 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBaseClass()

ilCtrlContext::getBaseClass ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $base_class.

◆ getCmd()

ilCtrlContext::getCmd ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $cmd.

◆ getCmdClass()

ilCtrlContext::getCmdClass ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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 }

References $base_class.

◆ getCmdMode()

ilCtrlContext::getCmdMode ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $cmd_mode.

◆ getObjId()

ilCtrlContext::getObjId ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $obj_id.

◆ getObjType()

ilCtrlContext::getObjType ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $obj_type.

◆ getPath()

ilCtrlContext::getPath ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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...

References $path.

◆ 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.

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 }

References ILIAS\Repository\refinery().

Referenced by adoptRequestParameters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRedirectSource()

ilCtrlContext::getRedirectSource ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $redirect.

◆ getTargetScript()

ilCtrlContext::getTargetScript ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

195 : string
196 {
198 }

References $target_script.

◆ isAsync()

ilCtrlContext::isAsync ( )

@inheritDoc

Implements ilCtrlContextInterface.

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

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

References $is_async.

◆ setBaseClass()

ilCtrlContext::setBaseClass ( string  $base_class)

@inheritDoc

Implements ilCtrlContextInterface.

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

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 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getCidPath()
Returns the CID path for the target class of the current instance.

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

Referenced by adoptRequestParameters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCmd()

ilCtrlContext::setCmd ( ?string  $cmd)

@inheritDoc

Implements ilCtrlContextInterface.

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

230 {
231 $this->cmd = $cmd;
232
233 return $this;
234 }

References $cmd.

◆ setCmdClass()

ilCtrlContext::setCmdClass ( ?string  $cmd_class)

@inheritDoc

Implements ilCtrlContextInterface.

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

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 }

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

Referenced by adoptRequestParameters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCmdMode()

ilCtrlContext::setCmdMode ( string  $mode)

@inheritDoc

Implements ilCtrlContextInterface.

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

143 {
144 $this->cmd_mode = $mode;
145 return $this;
146 }

◆ setObjId()

ilCtrlContext::setObjId ( int  $obj_id)

@inheritDoc

Implements ilCtrlContextInterface.

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

265 {
266 $this->obj_id = $obj_id;
267 return $this;
268 }

References $obj_id.

◆ setObjType()

ilCtrlContext::setObjType ( string  $obj_type)

@inheritDoc

Implements ilCtrlContextInterface.

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

248 {
249 $this->obj_type = $obj_type;
250 return $this;
251 }

References $obj_type.

◆ setTargetScript()

ilCtrlContext::setTargetScript ( string  $target_script)

@inheritDoc

Implements ilCtrlContextInterface.

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

187 {
188 $this->target_script = $target_script;
189 return $this;
190 }

References $target_script.

Field Documentation

◆ $base_class

string ilCtrlContext::$base_class = null
protected

◆ $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 adoptRequestParameters(), and 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: