3 declare(strict_types=1);
    37     protected \ilLanguage 
$lng;
    50         $this->
ctrl = $DIC->ctrl();
    51         $this->
lng = $DIC->language();
    52         $this->ui_fac = $DIC->ui()->factory();
    53         $this->request = $DIC->http()->request();
    55         $this->skill_manager = $DIC->skills()->internal()->manager();
    56         $this->skill_management_access_manager = $this->skill_manager->getManagementAccessManager($ref_id);
    57         $this->skill_tree_manager = $this->skill_manager->getTreeManager();
    58         $this->skill_tree_factory = $DIC->skills()->internal()->factory()->tree();
    65         $data_retrieval = $this->getDataRetrieval();
    67         $table = $this->ui_fac->table()
    68                               ->data($this->
lng->txt(
"skmg_skill_trees"), $columns, $data_retrieval)
    70                               ->withActions($actions)
    71                               ->withRequest($this->request);
    79             "title" => $this->ui_fac->table()->column()->text($this->
lng->txt(
"title"))
    87         $query_params_namespace = [
"skl_tree_table"];
    89         $uri_edit = $this->df->uri(
    90             ILIAS_HTTP_PATH . 
"/" . $this->
ctrl->getLinkTargetByClass(
"ilobjskilltreegui", 
"editSkills")
    92         $url_builder_edit = 
new UI\URLBuilder($uri_edit);
    93         list($url_builder_edit, $action_parameter_token_edit, $row_id_token_edit) =
    94             $url_builder_edit->acquireParameters(
    95                 $query_params_namespace,
   100         $uri_delete = $this->df->uri(
   101             ILIAS_HTTP_PATH . 
"/" . $this->
ctrl->getLinkTargetByClass(
"ilobjskilltreegui", 
"delete")
   103         $url_builder_delete = 
new UI\URLBuilder($uri_delete);
   104         list($url_builder_delete, $action_parameter_token_delete, $row_id_token_delete) =
   105             $url_builder_delete->acquireParameters(
   106                 $query_params_namespace,
   112             "edit" => $this->ui_fac->table()->action()->single(
   113                 $this->
lng->txt(
"edit"),
   114                 $url_builder_edit->withParameter($action_parameter_token_edit, 
"editTree"),
   118         if ($this->skill_management_access_manager->hasCreateTreePermission()) {
   119             $actions[
"delete"] = $this->ui_fac->table()->action()->multi(
   120                 $this->
lng->txt(
"delete"),
   121                 $url_builder_delete->withParameter($action_parameter_token_delete, 
"deleteTrees"),
   131         $data_retrieval = 
new class (
   145             public function getRows(
   147                 array $visible_column_ids,
   151                 ?array $additional_parameters
   153                 $records = $this->getRecords($range, $order);
   154                 foreach ($records as $idx => $record) {
   155                     $row_id = (string) $record[
"tree_id"];
   157                     yield $row_builder->buildDataRow($row_id, $record);
   161             public function getTotalRowCount(
   163                 ?array $additional_parameters
   165                 return count($this->getRecords());
   168             protected function getRecords(
Data\
Range $range = null, 
Data\
Order $order = null): array
   170                 $items = array_filter(array_map(
   172                         $tree_access_manager = $this->skill_manager->getTreeAccessManager($skillTree->
getRefId());
   173                         if ($tree_access_manager->hasVisibleTreePermission()) {
   180                     iterator_to_array($this->skill_tree_manager->getTrees())
   185                 foreach ($items as $item) {
   187                     $tree_obj = $item[
"tree"];
   188                     $tree = $this->skill_tree_factory->getTreeById($tree_obj->getId());
   189                     $records[$i][
"tree_id"] = $tree->readRootId();
   190                     $records[$i][
"title"] = $tree_obj->getTitle();
   195                     $records = $this->orderRecords($records, $order);
   199                     $records = $this->limitRecords($records, $range);
   206         return $data_retrieval;
 This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Service SkillInternalManagerService $skill_manager
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Both the subject and the direction need to be specified when expressing an order. ...
 
Access SkillManagementAccess $skill_management_access_manager
 
Skill internal manager service. 
 
Tree SkillTreeFactory $skill_tree_factory
 
ServerRequestInterface $request
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
A simple class to express a range of whole positive numbers. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Tree SkillTreeManager $skill_tree_manager
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...