19declare(strict_types=1);
42 $access =
$DIC->access();
44 $blog_domain =
$DIC->blog()->internal()->domain();
48 $wsp = count($additional_params) > 0 &&
49 $additional_params[count($additional_params) - 1] ===
"wsp";
51 if (is_numeric($additional_params[0] ??
"")) {
52 $posting_id = (
int) $additional_params[0];
55 if ($posting_id > 0 && (($additional_params[1] ??
"") ===
"edit")) {
58 if ($posting_id > 0) {
59 $ctrl->setParameterByClass(\ilBlogPostingGUI::class,
"blpg", $posting_id);
62 $ctrl->setParameterByClass(\ilObjBlogGUI::class,
"wsp_id",
$id);
63 if ($posting_id > 0) {
65 $uri = $ctrl->getLinkTargetByClass([
66 \ilDashboardGUI::class,
67 \ilPersonalWorkspaceGUI::class,
69 \ilBlogPostingGUI::class,
72 $uri = $ctrl->getLinkTargetByClass([
73 \ilSharedResourceGUI::class,
75 \ilBlogPostingGUI::class,
76 ],
"previewFullscreen");
79 $uri = $ctrl->getLinkTargetByClass([
80 \ilSharedResourceGUI::class,
85 $ctrl->setParameterByClass(\ilRepositoryGUI::class,
"ref_id",
$id);
86 if ($posting_id > 0) {
87 if ($edit && $access->checkAccess(
"write",
"",
$id)) {
88 $uri = $ctrl->getLinkTargetByClass([
89 \ilRepositoryGUI::class,
91 \ilBlogPostingGUI::class,
93 } elseif ($access->checkAccess(
"read",
"",
$id)) {
94 $uri = $ctrl->getLinkTargetByClass([
95 \ilRepositoryGUI::class,
97 \ilBlogPostingGUI::class,
98 ],
"previewFullscreen");
101 if ($access->checkAccess(
"read",
"",
$id)) {
102 $uri = $ctrl->getLinkTargetByClass([
103 \ilRepositoryGUI::class,
110 $access->checkAccess(
"visible",
"",
$id)) {
111 $uri = $ctrl->getLinkTargetByClass([
112 \ilRepositoryGUI::class,
118 if ($blog_domain->user()->isAnonymous() || $blog_domain->user()->getId() == 0) {
121 return $response_factory->
cannot();
124 return $response_factory->
can($uri);
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
handle(Request $request, Context $context, Factory $response_factory)
getAdditionalParameters()