19declare(strict_types=1);
45 protected ?
int $node_id =
null,
55 !is_null($this->perm) &&
56 $this->perm->mayEditPosting($blpg)) {
77 bool $show_inactive =
false,
81 $ui = $this->gui->ui();
83 $order = array_flip($this->
settings->getOrder());
92 $wtpl =
new ilTemplate(
"tpl.blog_list_navigation.html",
true,
true,
"components/ILIAS/Blog");
98 $blocks[$order[
"navigation"] ?? 0] = array(
99 $lng->txt(
"blog_navigation"),
100 $this->gui->navigation()->monthBlock(
111 if ($this->
settings->getKeywords()) {
113 $may_edit_keywords = ($blpg > 0 &&
116 $keywords = $this->gui->navigation()->keywordBlock(
123 if ($keywords || $may_edit_keywords) {
125 $keywords =
$lng->txt(
"blog_no_keywords");
128 $blocks[$order[
"keywords"] ?? 2] = array(
129 $lng->txt(
"blog_keywords"),
132 ? array($cmd,
$lng->txt(
"blog_edit_keywords"))
143 $authors = $this->gui->navigation()->authorBlock($this->link_builder)->render(
147 $blocks[$order[
"authors"] ?? 1] = array(
$lng->txt(
"blog_authors"), $authors);
153 $this->domain->settings()->get(
'enable_global_profiles') &&
154 $this->isPresentation()) {
156 $blog_id = (string) $this->node_id;
160 $url = ILIAS_HTTP_PATH .
"/feed.php?blog_id=" . $blog_id .
167 if (count($blocks)) {
168 $ui_factory = $ui->factory();
172 foreach ($blocks as $block) {
174 $content = $block[1];
176 $secondary_panel = $ui_factory->panel()->secondary()->legacy($title, $ui_factory->legacy()->content($content));
178 if (isset($block[2]) && is_array($block[2])) {
179 $link = $ui_factory->button()->shy($block[2][1], $block[2][0]);
180 $secondary_panel = $secondary_panel->withFooter($link);
183 $wtpl->setCurrentBlock(
"block_bl");
184 $wtpl->setVariable(
"BLOCK",
$ui_renderer->render($secondary_panel));
185 $wtpl->parseCurrentBlock();
Link builder for static HTML export.
Standard link builder using ilCtrl for web view.
special template class to simplify handling of ITX/PEAR
Interface for building links within the Blog component.
readonly UIRenderer $ui_renderer