123 : void
124 {
129 if (
130 ($this->
user->isAnonymous() || !($this->user->getId() >= 1)) &&
132 $this->http->request()->getServerParams()['SERVER_NAME']
133 )
134 ) {
135 $this->
ctrl->redirectToURL(
'./login.php?cmd=force_login');
136 }
137
138 $this->tool_context->claim()->repository();
139
140
141
142 $new_type = $this->request->getNewType();
143
144 if ($new_type !== "" && $new_type !== "sty") {
145 $this->creation_mode = true;
146 $ilHelp->setScreenIdComponent($new_type);
148 $this->
ctrl->saveParameter($this, [
"crtcb"]);
149 }
150
152
153
154 if ($this->creation_mode) {
155 $obj_type = $new_type;
156 $class_name = $this->objDefinition->getClassName($obj_type);
157 if (strtolower($class_name) !== "user") {
158 $next_class = strtolower("ilObj" . $class_name . "GUI");
159 } else {
160 $next_class = $this->
ctrl->getNextClass();
161 }
162
163
164
165
166
167
168
170
171 if ($this->
ctrl->getNextClass() !== strtolower(
'ilObj' . $class_name .
'GUI')) {
172 $this->
ctrl->setParameterByClass($next_class,
"new_type", $new_type);
173 $this->
ctrl->redirectByClass($next_class, $this->
ctrl->getCmd());
174 }
175 } elseif ((($next_class = $this->
ctrl->getNextClass($this)) ==
"")
176 || ($next_class === "ilrepositorygui" && $this->ctrl->getCmd() === "return")) {
177
179 $class_name = $this->objDefinition->getClassName($obj_type);
180 $next_class = strtolower("ilObj" . $class_name . "GUI");
181
182 if ($this->
ctrl->getCmd() ===
"return") {
183 $this->
ctrl->redirectByClass($next_class,
"");
184 }
185
186 if ($this->
ctrl->getCmd() !==
"showRepTree") {
187 $this->
ctrl->setParameterByClass($next_class,
"item_ref_id", $this->request->getItemRefId());
188 $this->
ctrl->redirectByClass($next_class, $this->
ctrl->getCmd());
189 }
190 }
191
192
193
194 if (
$cmd ===
"showRepTree") {
195 $next_class = "";
196 }
197
198 switch ($next_class) {
199
200
201
202 case strtolower(ilObjFileUploadHandlerGUI::class):
204 break;
205
206 default:
207
208 if ($next_class !== null && $next_class !== "" && $next_class !== "ilrepositorygui") {
209 $class_path = $this->
ctrl->lookupClassPath($next_class);
210
211
212 $class_name = $this->
ctrl->getClassForClasspath($class_path);
213 if (!$this->creation_mode) {
214 if (is_subclass_of($class_name, "ilObject2GUI")) {
216 } else {
217 $this->gui_obj = new $class_name("", $this->cur_ref_id, true, false);
218 }
219 } elseif (is_subclass_of($class_name, "ilObject2GUI")) {
221 } else {
222 $this->gui_obj = new $class_name("", 0, true, false);
223 }
224 $this->gui_obj->setCreationMode($this->creation_mode);
225 $this->
ctrl->setReturn($this,
"return");
226
228 } else {
229 $cmd = (string) $this->
ctrl->getCmd(
"");
230
231
234 $this->tpl->printToStdout();
235 } else {
238 }
239 }
240 break;
241 }
242 }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
static getLogger(string $a_component_id)
Get component logger.
static _lookupType(int $id, bool $reference=false)
checkAccess(string $a_operations, int $a_ref_id, string $a_type="")
checkAccess represents the main method of the RBAC-system in ILIAS3 developers want to use With this ...