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();
 
   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);
 
  100        $tpl->getStandardTemplate();
 
  103        $ilMainMenu->setActive(
"desktop");
 
  106        if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
 
  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(
"ilpersonaldesktopgui", 
"dsh", $owner_id);
 
  121                $link = 
$ilCtrl->getLinkTargetByClass(
"ilpersonaldesktopgui", 
"jumptoworkspace");
 
  122                $ilLocator->addItem(
$lng->txt(
"wsp_tab_shared"), $link);
 
  124                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
  127                $link = 
$ilCtrl->getLinkTargetByClass(
"ilpersonaldesktopgui", 
"jumptoworkspace");
 
  128                $ilLocator->addItem(
$lng->txt(
"wsp_tab_personal"), $link);
 
  133            $tpl->setLocator($ilLocator);
 
  136        switch ($next_class) {
 
  138                include_once 
"Modules/Blog/classes/class.ilObjBlogGUI.php";
 
  140                $ilCtrl->forwardCommand($bgui);
 
  144                include_once 
"Modules/File/classes/class.ilObjFileGUI.php";
 
  146                $ilCtrl->forwardCommand($fgui);
 
  149            case "ilobjtestverificationgui":
 
  150                include_once 
"Modules/Test/classes/class.ilObjTestVerificationGUI.php";
 
  152                $ilCtrl->forwardCommand($tgui);
 
  155            case "ilobjexerciseverificationgui":
 
  156                include_once 
"Modules/Exercise/classes/class.ilObjExerciseVerificationGUI.php";
 
  158                $ilCtrl->forwardCommand($egui);
 
  161            case "ilobjlinkresourcegui":
 
  162                include_once 
"Modules/WebResource/classes/class.ilObjLinkResourceGUI.php";
 
  164                $ilCtrl->forwardCommand($lgui);
 
  167            case "ilobjportfoliogui":
 
  168                include_once 
"Modules/Portfolio/classes/class.ilObjPortfolioGUI.php";
 
  170                $ilCtrl->forwardCommand($pgui);
 
  185        if (!$this->node_id && !$this->portfolio_id) {
 
  186            exit(
"invalid call");
 
  190        if ($this->node_id) {
 
  191            if (!self::hasAccess($this->node_id)) {
 
  192                exit(
"no permission");
 
  196            if (!self::hasAccess($this->portfolio_id, 
true)) {
 
  197                exit(
"no permission");
 
  203    public static function hasAccess($a_node_id, $a_is_portfolio = 
false)
 
  211        if (
$ilUser->getId() != ANONYMOUS_USER_ID) {
 
  212            if (!$a_is_portfolio) {
 
  213                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  214                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
  218                include_once 
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
 
  227        include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php";
 
  229        if (!$a_is_portfolio) {
 
  230            include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  239            include_once 
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
 
  241            if (!$prtf->isOnline()) {
 
  245            include_once 
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
 
  256            if (!$a_is_portfolio) {
 
  257                ilUtil::redirect(
"ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&wsp_id=" . $a_node_id);
 
  259                ilUtil::redirect(
"ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&prt_id=" . $a_node_id);
 
  271        if (!$a_is_portfolio) {
 
  272            include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  274            if (!$object_data[
"obj_id"]) {
 
  275                exit(
"invalid object");
 
  279                exit(
"invalid object");
 
  281            $object_data[
"obj_id"] = $a_node_id;
 
  282            $object_data[
"type"] = 
"prtf";
 
  285        $class = $objDefinition->getClassName($object_data[
"type"]);
 
  286        $gui = 
"ilobj" . $class . 
"gui";
 
  288        switch ($object_data[
"type"]) {
 
  290                $ilCtrl->setParameterByClass($gui, 
"wsp_id", $a_node_id);
 
  291                $ilCtrl->setParameterByClass($gui, 
"gtp", (
int) 
$_GET[
"gtp"]);
 
  292                $ilCtrl->redirectByClass($gui, 
"preview");
 
  299                $ilCtrl->setParameterByClass($gui, 
"wsp_id", $a_node_id);
 
  300                $ilCtrl->redirectByClass($gui, 
"deliver");
 
  305                $ilCtrl->setParameterByClass($gui, 
"wsp_id", $a_node_id);
 
  306                $ilCtrl->redirectByClass($gui);
 
  310                $ilCtrl->setParameterByClass($gui, 
"prt_id", $a_node_id);
 
  311                $ilCtrl->setParameterByClass($gui, 
"gtp", (
int) 
$_GET[
"gtp"]);
 
  312                if (
$_GET[
"back_url"]) {
 
  313                    $ilCtrl->setParameterByClass($gui, 
"back_url", rawurlencode(
$_GET[
"back_url"]));
 
  315                $ilCtrl->redirectByClass($gui, 
"preview");
 
  319                exit(
"invalid object type");
 
  328        $lng->loadLanguageModule(
"wsp");
 
  330        $tpl->setTitle(
$lng->txt(
"wsp_password_protected_resource"));
 
  331        $tpl->setDescription(
$lng->txt(
"wsp_password_protected_resource_info"));
 
  347        if ($this->node_id) {
 
  348            include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  354        include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
  356        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"checkPassword"));
 
  357        $form->setTitle(
$lng->txt(
"wsp_password_for") . 
": " . $object_data[
"title"]);
 
  365        $form->addCommandButton(
"checkPassword", 
$lng->txt(
"submit"));
 
  368            $ilTabs->setBackTarget(
$lng->txt(
"back"), 
$ilCtrl->getLinkTarget($this, 
"cancelPassword"));
 
  369            $form->addCommandButton(
"cancelPassword", 
$lng->txt(
"cancel"));
 
  380            if ($this->node_id) {
 
  381                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  382                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
  384                $owner = $tree->lookupOwner($this->node_id);
 
  385                ilUtil::redirect(
"ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace&dsh=" . $owner);
 
  387                include_once 
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
 
  389                $owner = $prtf->getOwner();
 
  390                ilUtil::redirect(
"ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio&dsh=" . $owner);
 
  400        $lng->loadLanguageModule(
"wsp");
 
  403        if (
$form->checkInput()) {
 
  404            $input = md5(
$form->getInput(
"password"));
 
  405            if ($this->node_id) {
 
  406                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  409                include_once 
"Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php";
 
  413                if ($this->node_id) {
 
  421                $item = 
$form->getItemByPostVar(
"password");
 
  422                $item->setAlert(
$lng->txt(
"wsp_invalid_password"));
 
  427        $form->setValuesByPost();
 
An exception for terminatinating execution or to throw for unit testing.
GUI class for exercise verification.
GUI class for file objects.
Class ilObjLinkResourceGUI.
Portfolio view gui class.
GUI class for test verification.
const PORTFOLIO_OBJECT_ID
static _lookupTitle($a_id)
lookup object title
static _lookupType($a_id, $a_reference=false)
lookup object type
Access handler for portfolio.
static getSharedNodePassword($a_node_id)
static _getPermissions($a_node_id)
Get all permissions to node.
static keepSharedSessionPassword($a_node_id, $a_password)
Workspace deep link handler GUI.
redirectToResource($a_node_id, $a_is_portfolio=false)
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 redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const PERMISSION_ALL_PASSWORD
Access handler for personal workspace.
static keepSharedSessionPassword($a_node_id, $a_password)
static getObjectDataFromNode($a_node_id)
static getSharedNodePassword($a_node_id)
static _getPermissions($a_node_id)
Get all permissions to node.
Tree handler for personal workspace.
if(isset($_POST['submit'])) $form