71 $this->ctrl = $DIC->ctrl();
72 $this->tpl = $DIC[
"tpl"];
73 $this->main_menu = $DIC[
"ilMainMenu"];
74 $this->locator = $DIC[
"ilLocator"];
75 $this->
user = $DIC->user();
76 $this->lng = $DIC->language();
77 $this->obj_definition = $DIC[
"objDefinition"];
78 $this->tabs = $DIC->tabs();
79 $this->db = $DIC->database();
80 $ilCtrl = $DIC->ctrl();
82 $ilCtrl->saveParameter($this,
"wsp_id");
83 $ilCtrl->saveParameter($this,
"prt_id");
84 $this->node_id = (int)
$_GET[
"wsp_id"];
85 $this->portfolio_id = (int)
$_GET[
"prt_id"];
97 $next_class = $ilCtrl->getNextClass($this);
98 $cmd = $ilCtrl->getCmd();
100 $tpl->loadStandardTemplate();
103 $ilMainMenu->setActive(
"desktop");
108 !in_array($next_class, array(
"ilobjbloggui",
"ilobjportfoliogui"))) {
109 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
110 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
113 $owner_id = $tree->lookupOwner($this->node_id);
114 $obj_id = $tree->lookupObjectId($this->node_id);
116 $lng->loadLanguageModule(
"wsp");
119 if ($owner_id !=
$ilUser->getId()) {
120 $ilCtrl->setParameterByClass(
"ildashboardgui",
"dsh", $owner_id);
121 $link = $ilCtrl->getLinkTargetByClass(
"ildashboardgui",
"jumptoworkspace");
122 $ilLocator->addItem(
$lng->txt(
"wsp_tab_shared"), $link);
124 include_once
"Services/User/classes/class.ilUserUtil.php";
127 $link = $ilCtrl->getLinkTargetByClass(
"ildashboardgui",
"jumptoworkspace");
128 $ilLocator->addItem(
$lng->txt(
"wsp_tab_personal"), $link);
131 $link = $access_handler->getGotoLink($this->node_id, $obj_id);
133 $tpl->setLocator($ilLocator);
136 switch ($next_class) {
139 $ilCtrl->forwardCommand($bgui);
144 $ilCtrl->forwardCommand($fgui);
147 case "ilobjtestverificationgui":
149 $ilCtrl->forwardCommand($tgui);
152 case "ilobjexerciseverificationgui":
154 $ilCtrl->forwardCommand($egui);
157 case "ilobjlinkresourcegui":
158 include_once
"Modules/WebResource/classes/class.ilObjLinkResourceGUI.php";
160 $ilCtrl->forwardCommand($lgui);
163 case "ilobjportfoliogui":
164 include_once
"Modules/Portfolio/classes/class.ilObjPortfolioGUI.php";
166 $ilCtrl->forwardCommand($pgui);
176 $tpl->printToStdout();
181 if (!$this->node_id && !$this->portfolio_id) {
182 exit(
"invalid call");
186 if ($this->node_id) {
187 if (!self::hasAccess($this->node_id)) {
188 exit(
"no permission");
192 if (!self::hasAccess($this->portfolio_id,
true)) {
193 exit(
"no permission");
199 public static function hasAccess($a_node_id, $a_is_portfolio =
false)
208 if (!$a_is_portfolio) {
209 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
210 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
214 include_once
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
223 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php";
225 if (!$a_is_portfolio) {
226 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
235 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
237 if (!$prtf->isOnline()) {
241 include_once
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
252 if (!$a_is_portfolio) {
253 ilUtil::redirect(
"ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&wsp_id=" . $a_node_id);
255 ilUtil::redirect(
"ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&prt_id=" . $a_node_id);
267 if (!$a_is_portfolio) {
268 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
270 if (!$object_data[
"obj_id"]) {
271 exit(
"invalid object");
275 exit(
"invalid object");
277 $object_data[
"obj_id"] = $a_node_id;
278 $object_data[
"type"] =
"prtf";
281 $class = $objDefinition->getClassName($object_data[
"type"]);
282 $gui =
"ilobj" . $class .
"gui";
284 switch ($object_data[
"type"]) {
286 $ilCtrl->setParameterByClass($gui,
"wsp_id", $a_node_id);
287 $ilCtrl->setParameterByClass($gui,
"gtp", (
int)
$_GET[
"gtp"]);
288 $ilCtrl->setParameterByClass($gui,
"edt", $_GET[
"edt"]);
289 $ilCtrl->redirectByClass($gui,
"preview");
298 $ilCtrl->setParameterByClass($gui,
"wsp_id", $a_node_id);
299 $ilCtrl->redirectByClass($gui,
"deliver");
304 $ilCtrl->setParameterByClass($gui,
"wsp_id", $a_node_id);
305 $ilCtrl->redirectByClass($gui);
309 $ilCtrl->setParameterByClass($gui,
"prt_id", $a_node_id);
310 $ilCtrl->setParameterByClass($gui,
"gtp", (
int) $_GET[
"gtp"]);
311 if ($_GET[
"back_url"]) {
312 $ilCtrl->setParameterByClass($gui,
"back_url", rawurlencode($_GET[
"back_url"]));
314 $ilCtrl->redirectByClass($gui,
"preview");
318 exit(
"invalid object type");
327 $lng->loadLanguageModule(
"wsp");
329 $tpl->setTitle(
$lng->txt(
"wsp_password_protected_resource"));
330 $tpl->setDescription(
$lng->txt(
"wsp_password_protected_resource_info"));
336 $tpl->setContent($form->getHTML());
346 if ($this->node_id) {
347 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
353 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
355 $form->setFormAction($ilCtrl->getFormAction($this,
"checkPassword"));
356 $form->setTitle(
$lng->txt(
"wsp_password_for") .
": " . $object_data[
"title"]);
364 $form->addCommandButton(
"checkPassword",
$lng->txt(
"submit"));
367 $ilTabs->setBackTarget(
$lng->txt(
"back"), $ilCtrl->getLinkTarget($this,
"cancelPassword"));
368 $form->addCommandButton(
"cancelPassword",
$lng->txt(
"cancel"));
379 if ($this->node_id) {
380 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
381 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
384 ilUtil::redirect(
"ilias.php?baseClass=ilDashboardGUI&cmd=jumpToWorkspace&dsh=" . $owner);
386 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
388 $owner = $prtf->getOwner();
389 ilUtil::redirect(
"ilias.php?baseClass=ilDashboardGUI&cmd=jumpToPortfolio&dsh=" . $owner);
399 $lng->loadLanguageModule(
"wsp");
402 if ($form->checkInput()) {
403 $input = md5($form->getInput(
"password"));
404 if ($this->node_id) {
405 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
408 include_once
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
412 if ($this->node_id) {
420 $item = $form->getItemByPostVar(
"password");
421 $item->setAlert(
$lng->txt(
"wsp_invalid_password"));
426 $form->setValuesByPost();
static getSharedNodePassword($a_node_id)
const PERMISSION_ALL_PASSWORD
Class ilObjLinkResourceGUI.
Access handler for personal workspace.
static _lookupTitle($a_id)
lookup object title
Workspace deep link handler GUI.
static getSharedNodePassword($a_node_id)
Tree handler for personal workspace.
static _getPermissions($a_node_id)
Get all permissions to node.
static keepSharedSessionPassword($a_node_id, $a_password)
Portfolio view gui class.
GUI class for exercise verification.
const PORTFOLIO_OBJECT_ID
static getObjectDataFromNode($a_node_id)
static hasAccess($a_node_id, $a_is_portfolio=false)
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static keepSharedSessionPassword($a_node_id, $a_password)
GUI class for test verification.
GUI class for file objects.
Access handler for portfolio.
static _getPermissions($a_node_id)
Get all permissions to node.
static redirect($a_script)
lookupOwner($a_node_id)
Get owner for node id.
redirectToResource($a_node_id, $a_is_portfolio=false)