19declare(strict_types=1);
34 protected UIFactory $ui_factory,
35 protected DataFactory $data_factory,
37 protected PresentationUtilities $presentation_utilities
50 $view_link = $this->data_factory->uri(
51 rtrim(ILIAS_HTTP_PATH,
'/') .
'/' .
52 ltrim($this->link_factory->getViewLink(
$ref_id, $obj_id, $type),
'/')
54 $prompt = $this->ui_factory->prompt()->standard($view_link);
55 $button = $this->ui_factory->button()->standard($this->
getButtonLabel(), $prompt->getShowSignal());
56 $message = $this->ui_factory->messageBox()->info($this->
getStatusInfo($status))->withButtons([$button]);
57 return [$message, $prompt];
62 return $this->presentation_utilities->txt(
'md_publishing_control_center');
67 $status_label = match ($status) {
68 Status::UNPUBLISHED => $this->presentation_utilities->txt(
'md_publishing_status_unpublished'),
69 Status::BLOCKED => $this->presentation_utilities->txt(
'md_publishing_status_blocked'),
70 Status::UNDER_REVIEW => $this->presentation_utilities->txt(
'md_publishing_status_under_review'),
71 Status::PUBLISHED => $this->presentation_utilities->txt(
'md_publishing_status_published')
73 return $this->presentation_utilities->txtFill(
'md_publishing_current_status', $status_label);
Builds a Color from either hex- or rgb values.