ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ilLearningSequenceMembershipGUI Class Reference

GUI class for learning sequence membership features. More...

+ Inheritance diagram for ilLearningSequenceMembershipGUI:
+ Collaboration diagram for ilLearningSequenceMembershipGUI:

Public Member Functions

 __construct (ilObjectGUI $repository_gui, protected ilObject $obj, protected ilObjUserTracking $obj_user_tracking, protected ilPrivacySettings $privacy_settings, protected ilRbacReview $rbac_review, protected ilSetting $settings, protected ilToolbarGUI $toolbar, protected ILIAS\HTTP\Wrapper\RequestWrapper $request_wrapper, protected ArrayBasedRequestWrapper $post_wrapper, protected ILIAS\Refinery\Factory $refinery, protected ILIAS\UI\Factory $ui_factory)
 
 filterUserIdsByRbacOrPositionOfCurrentUser (array $a_user_ids)
 Filter user ids by access. More...
 
 assignMembers (array $user_ids, string $type)
 
 getParentObject ()
 
 getLocalTypeRole (bool $translation=false)
 
 readMemberData (array $usr_ids, ?array $columns=null)
 
 getPrintMemberData (array $members)
 
 getAttendanceListUserData (int $user_id, array $filters=[])
 
- Public Member Functions inherited from ilMembershipGUI
 __construct (ilObjectGUI $repository_gui, ilObject $repository_obj)
 
 getParentGUI ()
 
 getParentObject ()
 
 getMembersObject ()
 
 filterUserIdsByRbacOrPositionOfCurrentUser (array $a_user_ids)
 Filter user ids by access. More...
 
 executeCommand ()
 
 getAttendanceListUserData (int $user_id, array $filters=[])
 
 updateParticipants ()
 update members More...
 
 createMailSignature ()
 Create Mail signature. More...
 
 addMemberTab (ilTabsGUI $tabs, bool $a_is_participant=false)
 
 readMemberData (array $usr_ids, array $columns)
 Required for member table guis. More...
 
 getLocalRoles ()
 
 confirmAssignSubscribers ()
 Show subscription confirmation. More...
 
 confirmRefuseSubscribers ()
 Refuse subscriber confirmation. More...
 
 assignSubscribers ()
 Do assignment of subscription request. More...
 
 confirmAssignFromWaitingList ()
 Assign from waiting list (confirmatoin) More...
 
 assignFromWaitingList ()
 Assign from waiting list. More...
 
 confirmRefuseFromList ()
 Refuse from waiting list (confirmation) More...
 

Protected Member Functions

 members ()
 
 printMembers ()
 
 getDefaultCommand ()
 
 updateParticipantsStatus ()
 save in participants table More...
 
 initParticipantTableGUI ()
 
 initEditParticipantTableGUI (array $participants)
 
 initParticipantTemplate ()
 Init participant view template. More...
 
 initWaitingList ()
 
 getDefaultRole ()
 
 getMailMemberRoles ()
 
 setSubTabs (ilTabsGUI $tabs)
 Set sub tabs. More...
 
 showParticipantsToolbar ()
 Show participants toolbar. More...
 
- Protected Member Functions inherited from ilMembershipGUI
 initParticipantsFromPost ()
 
 initMemberIdFromGet ()
 
 initSubscribersFromPost ()
 
 initWaitingListIdsFromPost ()
 
 getLanguage ()
 
 getCtrl ()
 
 getLogger ()
 
 getMailMemberRoles ()
 
 checkPermissionBool (string $a_permission, string $a_cmd='', string $a_type='', int $a_ref_id=0)
 
 checkRbacOrPositionAccessBool (string $a_rbac_perm, string $a_pos_perm, int $a_ref_id=0)
 
 checkPermission (string $a_permission, string $a_cmd="")
 Check permission If not granted redirect to parent gui. More...
 
 checkRbacOrPermissionAccess (string $a_rbac_perm, string $a_pos_perm)
 check rbac or position access More...
 
 canAddOrSearchUsers ()
 Check if current user is allowed to add / search users. More...
 
 participants ()
 Show participant table, subscriber table, wating list table;. More...
 
 getParticipantTableTitle ()
 
 participantsApplyFilter ()
 Apply filter for participant table. More...
 
 participantsResetFilter ()
 reset participants filter More...
 
 editMember ()
 Edit one participant. More...
 
 editParticipants (array $post_participants=array())
 Edit participants. More...
 
 updateLPFromStatus (int $usr_id, bool $has_passed)
 
 confirmDeleteParticipants ()
 Show confirmation screen for participants deletion. More...
 
 deleteParticipants ()
 
 sendMailToSelectedUsers ()
 
 getMailContextOptions ()
 
 membersMap ()
 Members map. More...
 
 mailMembersBtn ()
 
 showParticipantsToolbar ()
 Show participants toolbar. More...
 
 showMemberExportToolbarButton (ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
 
 showMailToMemberToolbarButton (ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
 Show mail to member toolbar button. More...
 
 getMailButtonLabel ()
 
 getDefaultCommand ()
 
 getMemberTabName ()
 
 setSubTabs (ilTabsGUI $tabs)
 Set sub tabs. More...
 
 parseSubscriberTable ()
 Parse table of subscription request. More...
 
 initSubscriberTable ()
 
 refuseSubscribers ()
 
 parseWaitingListTable ()
 Parse table of subscription request. More...
 
 refuseFromList ()
 refuse from waiting list More...
 
 addToClipboard ()
 Add selected users to user clipboard. More...
 
 getDefaultRole ()
 
 activateSubTab (string $a_sub_tab)
 
 printMembers ()
 
 printMembersOutput ()
 print members output More...
 
 printForMembersOutput ()
 print members output More...
 
 jump2UsersGallery ()
 
 initAttendanceList (bool $a_for_members=false)
 

Additional Inherited Members

- Protected Attributes inherited from ilMembershipGUI
GlobalHttpState $http
 
Factory $refinery
 
ilLanguage $lng
 
ilCtrlInterface $ctrl
 
ilLogger $logger
 
ilGlobalTemplateInterface $tpl
 
ilAccessHandler $access
 
ilParticipants $participants = null
 
ilObjUser $user
 
ilErrorHandling $error
 
ilTabsGUI $tabs
 
ilToolbarGUI $toolbar
 
ilRbacSystem $rbacsystem
 
ilRbacReview $rbacreview
 
ilTree $tree
 
Profile $profile
 
array $member_data = []
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilLearningSequenceMembershipGUI::__construct ( ilObjectGUI  $repository_gui,
protected ilObject  $obj,
protected ilObjUserTracking  $obj_user_tracking,
protected ilPrivacySettings  $privacy_settings,
protected ilRbacReview  $rbac_review,
protected ilSetting  $settings,
protected ilToolbarGUI  $toolbar,
protected ILIAS\HTTP\Wrapper\RequestWrapper  $request_wrapper,
protected ArrayBasedRequestWrapper  $post_wrapper,
protected ILIAS\Refinery\Factory  $refinery,
protected ILIAS\UI\Factory  $ui_factory 
)

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

46 {
48 }
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ilMembershipGUI\$repository_gui, and ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ assignMembers()

ilLearningSequenceMembershipGUI::assignMembers ( array  $user_ids,
string  $type 
)
Parameters
array<int>$user_ids

Definition at line 111 of file class.ilLearningSequenceMembershipGUI.php.

111 : bool
112 {
113 $object = $this->getParentObject();
114 $members = $this->getParentObject()->getLSParticipants();
115
116 $user_ids = array_diff($user_ids, [ANONYMOUS_USER_ID]);
117 if (count($user_ids) == 0) {
118 $this->lng->loadLanguageModule('search');
119 $this->tpl->setOnScreenMessage('failure', $this->lng->txt('search_err_user_not_exist'), true);
120 return false;
121 }
122
123 $assigned = false;
124 foreach ($user_ids as $new_member) {
125 $new_member = (int) $new_member;
126
127 if ($members->isAssigned($new_member)) {
128 continue;
129 }
130
131 switch ($type) {
132 case $object->getDefaultAdminRole():
133 $members->add($new_member, ilParticipants::IL_LSO_ADMIN);
134 $members->sendNotification(
136 $new_member
137 );
138 $assigned = true;
139 break;
140 case $object->getDefaultMemberRole():
141 $members->add($new_member, ilParticipants::IL_LSO_MEMBER);
142 $members->sendNotification(
144 $new_member
145 );
146 $assigned = true;
147 break;
148 default:
149 if (in_array($type, $object->getLocalLearningSequenceRoles(true))) {
150 $members->add($new_member, ilParticipants::IL_LSO_MEMBER);
151 $members->updateRoleAssignments($new_member, array($type));
152 } else {
153 ilLoggerFactory::getLogger('lso')->notice(
154 'Can not find role with id .' . $type . ' to assign users.'
155 );
156 $this->tpl->setOnScreenMessage('failure', $this->lng->txt("lso_cannot_find_role"), true);
157 return false;
158 }
159
160 $members->sendNotification(
162 $new_member
163 );
164 $assigned = true;
165 break;
166 }
167 }
168
169 if ($assigned) {
170 $this->tpl->setOnScreenMessage('success', $this->lng->txt("lso_msg_member_assigned"), true);
171 } else {
172 $this->tpl->setOnScreenMessage('success', $this->lng->txt('lso_users_already_assigned'), true);
173 }
174
175 $this->ctrl->redirect($this, 'participants');
176 return $assigned;
177 }
static getLogger(string $a_component_id)
Get component logger.
const ANONYMOUS_USER_ID
Definition: constants.php:27

References ANONYMOUS_USER_ID, ILIAS\Repository\ctrl(), ilLoggerFactory\getLogger(), getParentObject(), ilParticipants\IL_LSO_ADMIN, ilParticipants\IL_LSO_MEMBER, ILIAS\Repository\int(), ILIAS\Repository\lng(), and ilLearningSequenceMembershipMailNotification\TYPE_ADMISSION_MEMBER.

+ Here is the call graph for this function:

◆ filterUserIdsByRbacOrPositionOfCurrentUser()

ilLearningSequenceMembershipGUI::filterUserIdsByRbacOrPositionOfCurrentUser ( array  $a_user_ids)

Filter user ids by access.

Parameters
int[]$a_user_ids
Returns
int[]

Reimplemented from ilMembershipGUI.

Definition at line 98 of file class.ilLearningSequenceMembershipGUI.php.

98 : array
99 {
100 return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
101 'manage_members',
102 'manage_members',
103 $this->getParentObject()->getRefId(),
104 $a_user_ids
105 );
106 }

References ILIAS\Repository\access(), and getParentObject().

Referenced by getAttendanceListUserData().

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

◆ getAttendanceListUserData()

ilLearningSequenceMembershipGUI::getAttendanceListUserData ( int  $user_id,
array  $filters = [] 
)
Returns
array<string, mixed>

Reimplemented from ilMembershipGUI.

Definition at line 306 of file class.ilLearningSequenceMembershipGUI.php.

306 : array
307 {
308 $data = array();
309
311 $data = $this->member_data[$user_id];
312 if (array_key_exists('access_time', $data)) {
313 $data['access'] = $data['access_time'];
314 }
315 if (array_key_exists('progress', $data)) {
316 $data['progress'] = $this->lng->txt($data['progress']);
317 }
318 }
319
320 return $data;
321 }
filterUserIdsByRbacOrPositionOfCurrentUser(array $a_user_ids)
Filter user ids by access.
$data
Definition: storeScorm.php:45

References $data, $user_id, filterUserIdsByRbacOrPositionOfCurrentUser(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getDefaultCommand()

ilLearningSequenceMembershipGUI::getDefaultCommand ( )
protected

Reimplemented from ilMembershipGUI.

Definition at line 87 of file class.ilLearningSequenceMembershipGUI.php.

87 : string
88 {
89 $r = $this->refinery;
90 return $this->request_wrapper->retrieve("back_cmd", $r->byTrying([$r->kindlyTo()->string(), $r->always("members")]));
91 }

References ilMembershipGUI\$refinery.

◆ getDefaultRole()

ilLearningSequenceMembershipGUI::getDefaultRole ( )
protected

Reimplemented from ilMembershipGUI.

Definition at line 288 of file class.ilLearningSequenceMembershipGUI.php.

288 : ?int
289 {
290 return $this->getParentObject()->getDefaultMemberRole();
291 }

References getParentObject().

Referenced by showParticipantsToolbar().

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

◆ getLocalTypeRole()

ilLearningSequenceMembershipGUI::getLocalTypeRole ( bool  $translation = false)
Returns
array<string, int>

Definition at line 267 of file class.ilLearningSequenceMembershipGUI.php.

267 : array
268 {
269 return $this->getParentObject()->getLocalLearningSequenceRoles($translation);
270 }

References getParentObject().

+ Here is the call graph for this function:

◆ getMailMemberRoles()

ilLearningSequenceMembershipGUI::getMailMemberRoles ( )
protected

◆ getParentObject()

ilLearningSequenceMembershipGUI::getParentObject ( )

Reimplemented from ilMembershipGUI.

Definition at line 232 of file class.ilLearningSequenceMembershipGUI.php.

233 {
234 $obj = parent::getParentObject();
235 if (!$obj instanceof ilObjLearningSequence) {
236 throw new Exception('Invalid class type ' . get_class($obj) . ". Expected ilObjLearningSequence.");
237 }
238 return $obj;
239 }

Referenced by assignMembers(), filterUserIdsByRbacOrPositionOfCurrentUser(), getDefaultRole(), getLocalTypeRole(), initEditParticipantTableGUI(), initParticipantTableGUI(), initWaitingList(), members(), readMemberData(), setSubTabs(), and updateParticipantsStatus().

+ Here is the caller graph for this function:

◆ getPrintMemberData()

ilLearningSequenceMembershipGUI::getPrintMemberData ( array  $members)
Returns
array<string, mixed>

Definition at line 296 of file class.ilLearningSequenceMembershipGUI.php.

296 : array
297 {
298 $member_data = $this->readMemberData($members, array());
299
300 return $this->getParentGUI()->addCustomData($member_data);
301 }
readMemberData(array $usr_ids, ?array $columns=null)

References ilMembershipGUI\$member_data, ilMembershipGUI\getParentGUI(), and readMemberData().

+ Here is the call graph for this function:

◆ initEditParticipantTableGUI()

ilLearningSequenceMembershipGUI::initEditParticipantTableGUI ( array  $participants)
protected

Definition at line 241 of file class.ilLearningSequenceMembershipGUI.php.

242 {
244 $this,
245 $this->getParentObject(),
246 $this->getParentObject()->getLSParticipants(),
247 $this->privacy_settings
248 );
249
250 $table->setTitle($this->lng->txt($this->getParentObject()->getType() . '_header_edit_members'));
251 $table->setData($this->readMemberData($participants));
252
253 return $table;
254 }
ilParticipants $participants

References getParentObject(), ILIAS\Repository\lng(), and readMemberData().

+ Here is the call graph for this function:

◆ initParticipantTableGUI()

ilLearningSequenceMembershipGUI::initParticipantTableGUI ( )
protected

Definition at line 217 of file class.ilLearningSequenceMembershipGUI.php.

218 {
220 $this,
221 $this->getParentObject(),
222 $this->obj_user_tracking,
223 $this->privacy_settings,
224 $this->lng,
225 $this->access,
226 $this->rbac_review,
227 $this->settings,
228 $this->profile
229 );
230 }

References ILIAS\Repository\access(), getParentObject(), ILIAS\Repository\lng(), ILIAS\Repository\profile(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ initParticipantTemplate()

ilLearningSequenceMembershipGUI::initParticipantTemplate ( )
protected

Init participant view template.

Definition at line 259 of file class.ilLearningSequenceMembershipGUI.php.

259 : void
260 {
261 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.lso_edit_members.html', 'components/ILIAS/LearningSequence');
262 }

◆ initWaitingList()

ilLearningSequenceMembershipGUI::initWaitingList ( )
protected

◆ members()

ilLearningSequenceMembershipGUI::members ( )
protected

Definition at line 50 of file class.ilLearningSequenceMembershipGUI.php.

50 : void
51 {
52 $may_manage_members = $this->checkRbacOrPositionAccessBool(
53 'manage_members',
54 'manage_members',
55 $this->getParentObject()->getRefId()
56 );
57
58 if ($may_manage_members) {
59 $this->participants();
60 } else {
61 $this->jump2UsersGallery();
62 }
63 }
participants()
Show participant table, subscriber table, wating list table;.
checkRbacOrPositionAccessBool(string $a_rbac_perm, string $a_pos_perm, int $a_ref_id=0)

References ilMembershipGUI\checkRbacOrPositionAccessBool(), getParentObject(), ilMembershipGUI\jump2UsersGallery(), and ilMembershipGUI\participants().

+ Here is the call graph for this function:

◆ printMembers()

ilLearningSequenceMembershipGUI::printMembers ( )
protected
Todo:
: refactor to own class

Reimplemented from ilMembershipGUI.

Definition at line 65 of file class.ilLearningSequenceMembershipGUI.php.

65 : void
66 {
67 $this->checkPermission('read');
68 if ($this->checkRbacOrPositionAccessBool('manage_members', 'manage_members')) {
69 $back_cmd = 'participants';
70 } else {
71 $back_cmd = 'jump2UsersGallery';
72 }
73
74 global $DIC;
75 $ilTabs = $DIC['ilTabs'];
76 $ilTabs->clearTargets();
77 $ilTabs->setBackTarget(
78 $this->lng->txt('back'),
79 $this->ctrl->getLinkTarget($this, $back_cmd)
80 );
81
82 $list = $this->initAttendanceList();
83 $form = $list->initForm('printMembersOutput');
84 $this->tpl->setContent($form->getHTML());
85 }
checkPermission(string $a_permission, string $a_cmd="")
Check permission If not granted redirect to parent gui.
initAttendanceList(bool $a_for_members=false)
global $DIC
Definition: shib_login.php:26

References $DIC, ilMembershipGUI\checkPermission(), ilMembershipGUI\checkRbacOrPositionAccessBool(), ilMembershipGUI\initAttendanceList(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ readMemberData()

ilLearningSequenceMembershipGUI::readMemberData ( array  $usr_ids,
?array  $columns = null 
)
Parameters
array<int|string>$user_ids
string[]$columns
Returns
array<int|string, array>

Definition at line 277 of file class.ilLearningSequenceMembershipGUI.php.

277 : array
278 {
279 return $this->getParentObject()->readMemberData($usr_ids, $columns);
280 }

References getParentObject().

Referenced by getPrintMemberData(), and initEditParticipantTableGUI().

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

◆ setSubTabs()

ilLearningSequenceMembershipGUI::setSubTabs ( ilTabsGUI  $tabs)
protected

Set sub tabs.

Reimplemented from ilMembershipGUI.

Definition at line 328 of file class.ilLearningSequenceMembershipGUI.php.

328 : void
329 {
331 'manage_members',
332 'manage_members',
333 $this->getParentObject()->getRefId()
334 );
335
336 if ($access) {
338 $this->getParentObject()->getType() . "_member_administration",
339 $this->ctrl->getLinkTarget($this, 'participants'),
340 "members",
341 get_class($this)
342 );
343
345 $this->getParentObject()->getType() . '_members_gallery',
346 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilUsersGalleryGUI')),
347 'view',
348 'ilUsersGalleryGUI'
349 );
350 } elseif ($this->getParentObject()->getShowMembers()) {
352 $this->getParentObject()->getType() . '_members_gallery',
353 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilUsersGalleryGUI')),
354 'view',
355 'ilUsersGalleryGUI'
356 );
357 }
358 }
ilAccessHandler $access
addSubTabTarget(string $a_text, string $a_link, $a_cmd="", $a_cmdClass="", string $a_frame="", bool $a_activate=false, bool $a_dir_text=false)

References ilMembershipGUI\$access, ilMembershipGUI\$tabs, ilTabsGUI\addSubTabTarget(), ilMembershipGUI\checkRbacOrPositionAccessBool(), ILIAS\Repository\ctrl(), and getParentObject().

+ Here is the call graph for this function:

◆ showParticipantsToolbar()

ilLearningSequenceMembershipGUI::showParticipantsToolbar ( )
protected

Show participants toolbar.

Reimplemented from ilMembershipGUI.

Definition at line 360 of file class.ilLearningSequenceMembershipGUI.php.

360 : void
361 {
362 $toolbar_entries = [
363 'auto_complete_name' => $this->lng->txt('user'),
364 'user_type' => $this->getParentGUI()->getLocalRoles(),
365 'user_type_default' => $this->getDefaultRole(),
366 'submit_name' => $this->lng->txt('add'),
367 'add_search' => true
368 ];
369
370 $search_params = ['crs', 'grp'];
371 $parent_container = $this->obj->getParentObjectInfo(
372 $this->obj->getRefId(),
373 $search_params
374 );
375 if (!is_null($parent_container)) {
376 $container_id = $parent_container['ref_id'];
377 $toolbar_entries['add_from_container'] = $container_id;
378 }
379
381 $this,
382 $this->toolbar,
383 $toolbar_entries
384 );
385
386 $this->toolbar->addSeparator();
387
388 $this->toolbar->addComponent(
389 $this->ui_factory->button()->standard(
390 $this->lng->txt($this->getParentObject()->getType() . "_print_list"),
391 $this->ctrl->getLinkTarget($this, 'printMembers')
392 )
393 );
394
395 $this->showMailToMemberToolbarButton($this->toolbar, 'participants');
396 }
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
Show mail to member toolbar button.
static fillAutoCompleteToolbar(object $parent_object, ?ilToolbarGUI $toolbar=null, array $a_options=[], bool $a_sticky=false)
array( auto_complete_name = $lng->txt('user'), auto_complete_size = 15, user_type = array(ilCoursePar...

References ilRepositorySearchGUI\fillAutoCompleteToolbar(), getDefaultRole(), ilMembershipGUI\getParentGUI(), ILIAS\Repository\lng(), ilMembershipGUI\showMailToMemberToolbarButton(), and ILIAS\Repository\toolbar().

+ Here is the call graph for this function:

◆ updateParticipantsStatus()

ilLearningSequenceMembershipGUI::updateParticipantsStatus ( )
protected

save in participants table

Definition at line 182 of file class.ilLearningSequenceMembershipGUI.php.

182 : void
183 {
184 $members = $this->getParentObject()->getLSParticipants();
185
186 $participants = $this->post_wrapper->retrieve(
187 "visible_member_ids",
188 $this->refinery->byTrying([
189 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int()),
190 $this->refinery->always([])
191 ])
192 );
193
194
195
196
197 $notification = [];
198 if ($this->post_wrapper->has('notification')) {
199 $notification = $this->post_wrapper->retrieve(
200 "notification",
201 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
202 );
203 }
204
205 foreach ($participants as $participant) {
206 if ($members->isAdmin($participant)) {
207 $members->updateNotification($participant, in_array($participant, $notification));
208 continue;
209 }
210 $members->updateNotification($participant, false);
211 }
212
213 $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
214 $this->ctrl->redirect($this, 'participants');
215 }
updateNotification(int $a_usr_id, bool $a_notification)
Update notification status.

References ilMembershipGUI\$participants, ILIAS\Repository\ctrl(), getParentObject(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ilParticipants\updateNotification().

+ Here is the call graph for this function:

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