19declare(strict_types=1);
42 $blog_service =
$DIC->blog()->internal();
43 $ctrl = $blog_service->gui()->ctrl();
44 $access = $blog_service->domain()->access();
46 $blog_domain = $blog_service->domain();
49 $additional_params =
$request->getAdditionalParameters() ?? [];
50 $wsp = count($additional_params) > 0 &&
51 $additional_params[count($additional_params) - 1] ===
"wsp";
53 if (is_numeric($additional_params[0] ??
"")) {
54 $posting_id = (
int) $additional_params[0];
57 if ($posting_id > 0 && (($additional_params[1] ??
"") ===
"edit")) {
60 if ($posting_id > 0) {
61 $ctrl->setParameterByClass(\ilBlogPostingGUI::class,
"blpg", $posting_id);
64 $ctrl->setParameterByClass(\ilObjBlogGUI::class,
"wsp_id",
$id);
65 if ($posting_id > 0) {
67 $uri = $ctrl->getLinkTargetByClass([
68 \ilDashboardGUI::class,
69 \ilPersonalWorkspaceGUI::class,
71 \ilBlogPostingGUI::class,
74 $uri = $ctrl->getLinkTargetByClass([
75 \ilSharedResourceGUI::class,
77 \ilBlogPostingGUI::class,
78 ],
"previewFullscreen");
81 $uri = $ctrl->getLinkTargetByClass([
82 \ilSharedResourceGUI::class,
87 $ctrl->setParameterByClass(\ilRepositoryGUI::class,
"ref_id",
$id);
88 if ($posting_id > 0) {
89 if ($edit && $access->checkAccess(
"write",
"",
$id)) {
90 $uri = $ctrl->getLinkTargetByClass([
91 \ilRepositoryGUI::class,
93 \ilBlogPostingGUI::class,
95 } elseif ($access->checkAccess(
"read",
"",
$id)) {
96 $uri = $ctrl->getLinkTargetByClass([
97 \ilRepositoryGUI::class,
99 \ilBlogPostingGUI::class,
100 ],
"previewFullscreen");
103 if ($access->checkAccess(
"read",
"",
$id)) {
104 $uri = $ctrl->getLinkTargetByClass([
105 \ilRepositoryGUI::class,
112 $access->checkAccess(
"visible",
"",
$id)) {
113 $uri = $ctrl->getLinkTargetByClass([
114 \ilRepositoryGUI::class,
120 if ($blog_domain->user()->isAnonymous() || $blog_domain->user()->getId() == 0) {
123 return $response_factory->
cannot();
126 return $response_factory->
can($uri);
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
handle(Request $request, Context $context, Factory $response_factory)
loginFirst()
Convenience: the Handler cannot serve the target with the current permissions.
can(string $uri_path, bool $shift=false)
The Handler successfully resolved the target.
cannot()
The Handler cannot process the given Request at all, e.g.
$request
@ilCtrl_Calls ilObjLearningSequenceContentGUI: ilObjLearningSequenceConditionsGUI