ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilContentPageKioskModeView Class Reference

Class ilContentPageKioskModeView. More...

+ Inheritance diagram for ilContentPageKioskModeView:
+ Collaboration diagram for ilContentPageKioskModeView:

Public Member Functions

 buildInitialState (State $empty_state)
 
 buildControls (State $state, ControlBuilder $builder)
 
 updateGet (State $state, string $command, int $param=null)
 
 updatePost (State $state, string $command, array $post)
 
 render (State $state, Factory $factory, URLBuilder $url_builder, array $post=null)
 
- Public Member Functions inherited from ilKioskModeView
 __construct (\ilObject $object, \ilCtrl $ctrl, \ilLanguage $lng, \ilAccessHandler $access)
 
- Public Member Functions inherited from ILIAS\KioskMode\View
 render (State $state, UI\Factory $factory, URLBuilder $url_builder, array $post=null)
 Render a state using the ui-factory and URLs from the builder. More...
 

Data Fields

const CMD_LP_TO_COMPLETED = 'lp_completed'
 
const CMD_LP_TO_INCOMPLETE = 'lp_incomplete'
 

Protected Member Functions

 getObjectClass ()
 
 setObject (ilObject $object)
 
 hasPermissionToAccessKioskMode ()
 
 buildLearningProgressToggleControl (ControlBuilder $builder)
 
 toggleLearningProgress (string $command)
 
 renderContentStyle ()
 Renders the content style of a ContentPage object into main template. More...
 
- Protected Member Functions inherited from ilKioskModeView
 getObjectClass ()
 Get the class of objects this view displays. More...
 
 setObject (\ilObject $object)
 Set the object for this view. More...
 
 hasPermissionToAccessKioskMode ()
 Check if the global user has permission to access the kiosk mode of the supplied object. More...
 

Protected Attributes

 $contentPageObject
 
 $user
 
 $uiFactory
 
 $uiRenderer
 
 $ctrl
 
 $mainTemplate
 
 $httpRequest
 
 $tabs
 
 $messages = []
 
- Protected Attributes inherited from ilKioskModeView
 $ctrl
 
 $lng
 
 $access
 

Detailed Description

Member Function Documentation

◆ buildControls()

ilContentPageKioskModeView::buildControls ( State  $state,
ControlBuilder  $builder 
)

Implements ILIAS\KioskMode\View.

Definition at line 85 of file class.ilContentPageKioskModeView.php.

References buildLearningProgressToggleControl().

86  {
87  $this->buildLearningProgressToggleControl($builder);
88  }
buildLearningProgressToggleControl(ControlBuilder $builder)
+ Here is the call graph for this function:

◆ buildInitialState()

ilContentPageKioskModeView::buildInitialState ( State  $empty_state)

Implements ILIAS\KioskMode\View.

Definition at line 77 of file class.ilContentPageKioskModeView.php.

77  : State
78  {
79  return $empty_state;
80  }
Keeps the state of a view in a simple stringly type key-value store.
Definition: State.php:9

◆ buildLearningProgressToggleControl()

ilContentPageKioskModeView::buildLearningProgressToggleControl ( ControlBuilder  $builder)
protected
Parameters
ControlBuilder$builder

Definition at line 93 of file class.ilContentPageKioskModeView.php.

References ilLPMarks\_hasCompleted(), ILIAS\KioskMode\ControlBuilder\generic(), ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_MANUAL, and user().

Referenced by buildControls().

93  : void
94  {
95  $learningProgress = ilObjectLP::getInstance($this->contentPageObject->getId());
96  if ($learningProgress->getCurrentMode() == ilLPObjSettings::LP_MODE_MANUAL) {
97  $isCompleted = ilLPMarks::_hasCompleted($this->user->getId(), $this->contentPageObject->getId());
98 
99  $this->lng->loadLanguageModule('copa');
100  $learningProgressToggleCtrlLabel = $this->lng->txt('copa_btn_lp_toggle_state_completed');
101  $cmd = self::CMD_LP_TO_INCOMPLETE;
102  if (!$isCompleted) {
103  $learningProgressToggleCtrlLabel = $this->lng->txt('copa_btn_lp_toggle_state_not_completed');
104  $cmd = self::CMD_LP_TO_COMPLETED;
105  }
106 
107  $builder->generic(
108  $learningProgressToggleCtrlLabel,
109  $cmd,
110  1
111  );
112  }
113  }
static _hasCompleted($a_usr_id, $a_obj_id)
user()
Definition: user.php:4
static getInstance($a_obj_id)
generic(string $label, string $command, int $parameter=null)
A generic control needs to have a label that tells what it does.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getObjectClass()

ilContentPageKioskModeView::getObjectClass ( )
protected

Definition at line 43 of file class.ilContentPageKioskModeView.php.

43  : string
44  {
45  return ilObjContentPage::class;
46  }

◆ hasPermissionToAccessKioskMode()

ilContentPageKioskModeView::hasPermissionToAccessKioskMode ( )
protected

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

69  : bool
70  {
71  return $this->access->checkAccess('read', '', $this->contentPageObject->getRefId());
72  }

◆ render()

ilContentPageKioskModeView::render ( State  $state,
Factory  $factory,
URLBuilder  $url_builder,
array  $post = null 
)

Definition at line 165 of file class.ilContentPageKioskModeView.php.

References ilLearningProgress\_tracProgress(), ILIAS\UI\Factory\legacy(), ilContentPagePageCommandForwarder\PRESENTATION_MODE_EMBEDDED_PRESENTATION, renderContentStyle(), and user().

170  : Component {
172  $this->user->getId(),
173  $this->contentPageObject->getId(),
174  $this->contentPageObject->getRefId(),
175  $this->contentPageObject->getType()
176  );
177 
178  $this->renderContentStyle();
179 
180  $forwarder = new ilContentPagePageCommandForwarder(
181  $this->httpRequest,
182  $this->ctrl,
183  $this->tabs,
184  $this->lng,
185  $this->contentPageObject,
186  $this->user
187  );
189 
190  $this->ctrl->setParameterByClass(ilContentPagePageGUI::class, 'ref_id', $this->contentPageObject->getRefId());
191 
192  return $factory->legacy(implode('', [
193  $this->uiRenderer->render($this->messages),
194  $forwarder->forward($this->ctrl->getLinkTargetByClass([
195  ilRepositoryGUI::class, ilObjContentPageGUI::class, ilContentPagePageGUI::class
196  ]))
197  ]));
198  }
Class ilContentPagePageCommandForwarder.
renderContentStyle()
Renders the content style of a ContentPage object into main template.
const PRESENTATION_MODE_EMBEDDED_PRESENTATION
presentation mode for embedded presentation, e.g.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
user()
Definition: user.php:4
legacy($content)
description: purpose: > This component is used to wrap an existing ILIAS UI element into a UI compon...
+ Here is the call graph for this function:

◆ renderContentStyle()

ilContentPageKioskModeView::renderContentStyle ( )
protected

Renders the content style of a ContentPage object into main template.

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

References ilObjStyleSheet\getContentStylePath(), and ilObjStyleSheet\getSyntaxStylePath().

Referenced by render().

203  : void
204  {
205  $this->mainTemplate->addCss(ilObjStyleSheet::getSyntaxStylePath());
206  $this->mainTemplate->addCss(
208  $this->contentPageObject->getStyleSheetId()
209  )
210  );
211  }
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static getSyntaxStylePath()
get syntax style path
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setObject()

ilContentPageKioskModeView::setObject ( ilObject  $object)
protected

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

References $DIC, and user().

52  {
53  global $DIC;
54 
55  $this->contentPageObject = $object;
56 
57  $this->ctrl = $DIC->ctrl();
58  $this->mainTemplate = $DIC->ui()->mainTemplate();
59  $this->uiFactory = $DIC->ui()->factory();
60  $this->uiRenderer = $DIC->ui()->renderer();
61  $this->httpRequest = $DIC->http()->request();
62  $this->tabs = $DIC->tabs();
63  $this->user = $DIC->user();
64  }
user()
Definition: user.php:4
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:

◆ toggleLearningProgress()

ilContentPageKioskModeView::toggleLearningProgress ( string  $command)
protected
Parameters
string$command

Definition at line 128 of file class.ilContentPageKioskModeView.php.

References ilLPStatusWrapper\_updateStatus(), ilLPMarks\getCompleted(), ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_MANUAL, and user().

Referenced by updateGet().

128  : void
129  {
130  if (in_array($command, [
131  self::CMD_LP_TO_COMPLETED,
132  self::CMD_LP_TO_INCOMPLETE
133  ])) {
134  $learningProgress = ilObjectLP::getInstance($this->contentPageObject->getId());
135  if ($learningProgress->getCurrentMode() == ilLPObjSettings::LP_MODE_MANUAL) {
136  $marks = new ilLPMarks($this->contentPageObject->getId(), $this->user->getId());
137 
138  $old_state = $marks->getCompleted();
139  $new_state = ($command === self::CMD_LP_TO_COMPLETED);
140  $marks->setCompleted($new_state);
141  $marks->update();
142  ilLPStatusWrapper::_updateStatus($this->contentPageObject->getId(), $this->user->getId());
143 
144  if ($old_state != $new_state) {
145  $this->lng->loadLanguageModule('trac');
146  $this->messages[] = $this->uiFactory->messageBox()->success(
147  $this->lng->txt('trac_updated_status')
148  );
149  }
150  }
151  }
152  }
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
user()
Definition: user.php:4
static getInstance($a_obj_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateGet()

ilContentPageKioskModeView::updateGet ( State  $state,
string  $command,
int  $param = null 
)

Implements ILIAS\KioskMode\View.

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

References toggleLearningProgress().

118  : State
119  {
120  $this->toggleLearningProgress($command);
121 
122  return $state;
123  }
Keeps the state of a view in a simple stringly type key-value store.
Definition: State.php:9
+ Here is the call graph for this function:

◆ updatePost()

ilContentPageKioskModeView::updatePost ( State  $state,
string  $command,
array  $post 
)

Implements ILIAS\KioskMode\View.

Definition at line 157 of file class.ilContentPageKioskModeView.php.

157  : State
158  {
159  return $state;
160  }
Keeps the state of a view in a simple stringly type key-value store.
Definition: State.php:9

Field Documentation

◆ $contentPageObject

ilContentPageKioskModeView::$contentPageObject
protected

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

◆ $ctrl

ilContentPageKioskModeView::$ctrl
protected

Definition at line 30 of file class.ilContentPageKioskModeView.php.

◆ $httpRequest

ilContentPageKioskModeView::$httpRequest
protected

Definition at line 34 of file class.ilContentPageKioskModeView.php.

◆ $mainTemplate

ilContentPageKioskModeView::$mainTemplate
protected

Definition at line 32 of file class.ilContentPageKioskModeView.php.

◆ $messages

ilContentPageKioskModeView::$messages = []
protected

Definition at line 38 of file class.ilContentPageKioskModeView.php.

◆ $tabs

ilContentPageKioskModeView::$tabs
protected

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

◆ $uiFactory

ilContentPageKioskModeView::$uiFactory
protected

Definition at line 26 of file class.ilContentPageKioskModeView.php.

◆ $uiRenderer

ilContentPageKioskModeView::$uiRenderer
protected

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

◆ $user

ilContentPageKioskModeView::$user
protected

Definition at line 24 of file class.ilContentPageKioskModeView.php.

◆ CMD_LP_TO_COMPLETED

const ilContentPageKioskModeView::CMD_LP_TO_COMPLETED = 'lp_completed'

Definition at line 18 of file class.ilContentPageKioskModeView.php.

◆ CMD_LP_TO_INCOMPLETE

const ilContentPageKioskModeView::CMD_LP_TO_INCOMPLETE = 'lp_incomplete'

Definition at line 19 of file class.ilContentPageKioskModeView.php.


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