14declare(strict_types=1);
28 protected bool $portfolio_mode,
29 protected int $parent_node_id,
30 protected array $crs_ids,
31 protected array $grp_ids,
38 protected function getId(): string
40 return "workspace_share_" . (
int) $this->portfolio_mode;
45 return $this->domain->lng()->txt(
"wsp_shared_resources");
50 return $this->domain->workspaceShareRetrieval(
52 $this->portfolio_mode,
60 $ui_factory = $this->gui->ui()->factory();
62 "id" => $data_row[
"id"],
63 "lastname" => $data_row[
"lastname"],
64 "firstname" => $data_row[
"firstname"],
65 "login" => $data_row[
"login"],
66 "acl_date" => new \DateTimeImmutable(
"@" . $data_row[
"acl_date"]),
67 "title" => $ui_factory->link()->standard(
71 "acl_type" => implode(
", ", $this->
getAclTitles($data_row[
"acl_type"]))
74 if (!$this->portfolio_mode) {
75 $row[
"obj_type"] = $data_row[
"obj_type"];
76 $row[
"type_icon"] = $ui_factory->symbol()->icon()->standard($data_row[
"type"],
"");
84 $lng = $this->domain->lng();
87 ->textColumn(
"firstname",
$lng->txt(
"firstname"),
true)
88 ->textColumn(
"login",
$lng->txt(
"login"),
true);
90 if (!$this->portfolio_mode) {
93 ->textColumn(
"obj_type",
$lng->txt(
"wsp_shared_object_type"),
true);
98 ->linkColumn(
"title",
$lng->txt(
"wsp_shared_title"),
true)
99 ->textColumn(
"acl_type",
$lng->txt(
"wsp_shared_type"));
101 if ($this->portfolio_mode) {
103 "redirectSendMailToSharer",
104 $lng->txt(
"wsp_send_mail")
111 [get_class($this->parent_gui)],
119 return $this->portfolio_mode || ($action ===
"copyShared" && $data_row[
"type"] ===
"file");
124 if ($this->portfolio_mode) {
125 return \ilLink::_getStaticLink($data_row[
"obj_id"],
"prtf",
true);
128 return $this->handler->getGotoLink($data_row[
"wsp_id"], $data_row[
"obj_id"]);
135 foreach ($acl_types as $obj_id) {
137 case \ilWorkspaceAccessGUI::PERMISSION_REGISTERED:
138 $titles[] = $this->domain->lng()->txt(
"wsp_set_permission_registered");
140 case \ilWorkspaceAccessGUI::PERMISSION_ALL_PASSWORD:
141 $titles[] = $this->domain->lng()->txt(
"wsp_set_permission_all_password");
143 case \ilWorkspaceAccessGUI::PERMISSION_ALL:
144 $titles[] = $this->domain->lng()->txt(
"wsp_set_permission_all");
148 $titles[] = $type ===
"usr"
PersonalWorkspace internal domain service.
PersonalWorkspace internal ui service.
transformRow(array $data_row)
transform raw data array to table row data array
getTitleLink(array $data_row)
build(TableAdapterGUI $table)
__construct(protected InternalDomainService $domain, protected InternalGUIService $gui, protected \ilWorkspaceAccessHandler|\ilPortfolioAccessHandler $handler, protected bool $portfolio_mode, protected int $parent_node_id, protected array $crs_ids, protected array $grp_ids, object $parent_gui, string $parent_cmd)
activeAction(string $action, array $data_row)
getAclTitles(array $acl_types)
textColumn(string $key, string $title, bool $sortable=false)
singleAction(string $action, string $title, bool $async=false)
dateColumn(string $key, string $title, bool $sortable=false)
singleRedirectAction(string $action, string $title, array $class_path, string $cmd="", string $id_param="", bool $async=false)
iconColumn(string $key, string $title, bool $sortable=false)
static _lookupType(int $id, bool $reference=false)
static _lookupTitle(int $obj_id)
Access handler for portfolio NOTE: This file needs to stay in the classes directory,...
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link='', bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path=null)
Default behaviour is:
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...