Public Member Functions

ilObjLinkResourceGUI Class Reference

Inheritance diagram for ilObjLinkResourceGUI:
Collaboration diagram for ilObjLinkResourceGUI:

Public Member Functions

 ilObjLinkResourceGUI ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
 Constructor public.
executeCommand ()
 execute command
 viewObject ()
 list childs of current object
 listItemsObject ()
 editItemsObject ()
 askDeleteItemsObject ()
 deleteItemsObject ()
 updateItemsObject ()
 editItemObject ()
 deleteParameterObject ()
 updateItemObject ()
 showAddItemObject ()
 addItemObject ()
 infoScreenObject ()
 this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed
 infoScreen ()
 show information screen
 historyObject ()
 saveObject ()
 save object public
 linkCheckerObject ()
 saveLinkCheckObject ()
 refreshLinkCheckObject ()
 __initLinkChecker ()
 getTabs (&$tabs_gui)
 get tabs public
 __prepareOutput ()
 __setHeader ()
 __setLocator ()
 _goto ($a_target)

Detailed Description

Definition at line 39 of file class.ilObjLinkResourceGUI.php.


Member Function Documentation

ilObjLinkResourceGUI::__initLinkChecker (  ) 

Definition at line 1088 of file class.ilObjLinkResourceGUI.php.

Referenced by linkCheckerObject(), and refreshLinkCheckObject().

        {
                global $ilDB;

                include_once './classes/class.ilLinkChecker.php';

                $this->link_checker_obj =& new ilLinkChecker($ilDB,false);
                $this->link_checker_obj->setObjId($this->object->getId());

                return true;
        }

Here is the caller graph for this function:

ilObjLinkResourceGUI::__prepareOutput (  ) 

Definition at line 1171 of file class.ilObjLinkResourceGUI.php.

References __setHeader(), __setLocator(), infoPanel(), and sendInfo().

Referenced by executeCommand().

        {
                // output objects
                //$this->tpl->addBlockFile("CONTENT", "content", "tpl.link_resource.html",'link');
                $this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html");
                $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");

                // output locator
                $this->__setLocator();

                // output message
                if ($this->message)
                {
                        sendInfo($this->message);
                }

                // display infopanel if something happened
                infoPanel();

                // set header
                $this->__setHeader();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::__setHeader (  ) 

Definition at line 1194 of file class.ilObjLinkResourceGUI.php.

References ilUtil::getImagePath(), and getTabs().

Referenced by __prepareOutput().

        {
                include_once './classes/class.ilTabsGUI.php';

                $this->tpl->setCurrentBlock("header_image");
                $this->tpl->setVariable("IMG_HEADER", ilUtil::getImagePath("icon_webr_b.gif"));
                $this->tpl->parseCurrentBlock();
                $this->tpl->setVariable("HEADER",$this->object->getTitle());
                $this->tpl->setVariable("H_DESCRIPTION",$this->object->getDescription());

                #$tabs_gui =& new ilTabsGUI();
                $this->getTabs($this->tabs_gui);

                // output tabs
                #$this->tpl->setVariable("TABS", $tabs_gui->getHTML());
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::__setLocator (  ) 

Definition at line 1211 of file class.ilObjLinkResourceGUI.php.

References $counter, $key, $row, and ilObjectGUI::$tree.

Referenced by __prepareOutput().

        {
                global $tree;
                global $ilias_locator;

                $this->tpl->addBlockFile("LOCATOR", "locator", "tpl.locator.html");

                $counter = 0;
                
                //$this->tpl->touchBlock('locator_separator');
                //$this->tpl->touchBlock('locator_item');
                
                foreach ($tree->getPathFull($this->object->getRefId()) as $key => $row)
                {
                        
                        //if ($row["child"] == $tree->getRootId())
                        //{
                        //      continue;
                        //}
                        
                        if($counter++)
                        {
                                $this->tpl->touchBlock('locator_separator_prefix');
                        }

                        $this->tpl->setCurrentBlock("locator_item");

                        if($row["type"] == 'webr')
                        {
                                $this->tpl->setVariable("ITEM",$this->object->getTitle());
                                $this->tpl->setVariable("LINK_ITEM",$this->ctrl->getLinkTarget($this));
                        }
                        elseif ($row["child"] != $tree->getRootId())
                        {
                                $this->tpl->setVariable("ITEM", $row["title"]);
                                $this->tpl->setVariable("LINK_ITEM","../repository.php?ref_id=".$row["child"]);
                        }
                        else
                        {
                                $this->tpl->setVariable("ITEM", $this->lng->txt("repository"));
                                $this->tpl->setVariable("LINK_ITEM","../repository.php?ref_id=".$row["child"]);
                        }

                        $this->tpl->parseCurrentBlock();
                }

                $this->tpl->setVariable("TXT_LOCATOR",$this->lng->txt("locator"));
                $this->tpl->parseCurrentBlock();
        }

Here is the caller graph for this function:

ilObjLinkResourceGUI::_goto ( a_target  ) 

Definition at line 1261 of file class.ilObjLinkResourceGUI.php.

References $_GET, $ilErr, ilObjectGUI::$lng, ilObject::_lookupObjId(), ilObject::_lookupTitle(), exit, ilUtil::redirect(), and sendInfo().

        {
                global $ilAccess, $ilErr, $lng;

                // Will be replaced in future releases by ilAccess::checkAccess()
                if ($ilAccess->checkAccess("read", "", $a_target))
                {
                        ilUtil::redirect("link/link_resources.php?ref_id=$a_target");
                }
                else
                {
                        // to do: force flat view
                        if ($ilAccess->checkAccess("visible", "", $a_target))
                        {
                                ilUtil::redirect("link/link_resources.php?ref_id=".$a_target."&cmd=infoScreen");
                        }
                        else
                        {
                                if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
                                {
                                        $_GET["cmd"] = "frameset";
                                        $_GET["target"] = "";
                                        $_GET["ref_id"] = ROOT_FOLDER_ID;
                                        sendInfo(sprintf($lng->txt("msg_no_perm_read_item"),
                                                ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true);
                                        include("repository.php");
                                        exit;
                                }
                        }
                }

                $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::addItemObject (  ) 

Definition at line 799 of file class.ilObjLinkResourceGUI.php.

References $_POST, $rbacsystem, ilParameterAppender::_isEnabled(), editItemsObject(), sendInfo(), showAddItemObject(), and ilUtil::stripSlashes().

        {
                include_once('link/classes/class.ilParameterAppender.php');

                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'read'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                $this->object->initLinkResourceItemsObject();

                if(!$_POST['title'] or $_POST['target'] == 'http://')
                {
                        sendInfo($this->lng->txt('webr_fillout_all'));

                        $this->showAddItemObject();
                        return false;
                }
                if(ilParameterAppender::_isEnabled())
                {
                        $appender =& new ilParameterAppender($this->object->getId());
                        $appender->setName(ilUtil::stripSlashes($_POST['name']));
                        $appender->setValue(ilUtil::stripSlashes($_POST['value']));
                        
                        if(!$appender->validate())
                        {
                                switch($appender->getErrorCode())
                                {
                                        case LINKS_ERR_NO_NAME:
                                                sendInfo($this->lng->txt('links_no_name_given'));
                                                $this->showAddItemObject();
                                                return false;

                                        case LINKS_ERR_NO_VALUE:
                                                sendInfo($this->lng->txt('links_no_name_given'));
                                                $this->showAddItemObject();
                                                return false;

                                        default:
                                                break;
                                }
                        }
                }
                $this->object->items_obj->setTitle(ilUtil::stripSlashes($_POST['title']));
                $this->object->items_obj->setDescription(ilUtil::stripSlashes($_POST['description']));
                $this->object->items_obj->setTarget(ilUtil::stripSlashes($_POST['target']));
                $this->object->items_obj->setActiveStatus($_POST['active']);
                $this->object->items_obj->setDisableCheckStatus($_POST['disable_check']);
                $link_id = $this->object->items_obj->add();

                if(is_object($appender))
                {
                        $appender->add($link_id);
                }
                $this->editItemsObject();
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::askDeleteItemsObject (  ) 

Definition at line 425 of file class.ilObjLinkResourceGUI.php.

References $_POST, $_SESSION, $counter, $id, $rbacsystem, editItemsObject(), ilUtil::getImagePath(), sendInfo(), and ilUtil::switchColor().

        {
                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'write'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }
                if(!count($_POST['item_id']))
                {
                        sendInfo($this->lng->txt('webr_select_one'));
                        $this->editItemsObject();

                        return true;
                }

                sendInfo($this->lng->txt('webr_sure_delete_items'));
                $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.lnkr_ask_delete.html','link');

                $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TBL_TITLE_IMG",ilUtil::getImagePath('icon_webr.gif'));
                $this->tpl->setVariable("TBL_TITLE_IMG_ALT",$this->lng->txt('obj_webr'));
                $this->tpl->setVariable("TBL_TITLE",$this->lng->txt('webr_delete_items'));
                $this->tpl->setVariable("HEADER_DESC",$this->lng->txt('title'));
                $this->tpl->setVariable("BTN_CANCEL",$this->lng->txt('cancel'));
                $this->tpl->setVariable("BTN_DELETE",$this->lng->txt('delete'));

                $this->object->initLinkResourceItemsObject();
                
                $counter = 0;
                foreach($_POST['item_id'] as $id)
                {
                        $this->object->items_obj->readItem($id);
                        $this->tpl->setCurrentBlock("item_row");
                        $this->tpl->setVariable("ITEM_TITLE",$this->object->items_obj->getTitle());
                        $this->tpl->setVariable("TXT_TARGET",$this->lng->txt('target'));
                        $this->tpl->setVariable("TARGET",$this->object->items_obj->getTarget());
                        $this->tpl->setVariable("ROW_CLASS",ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
                        $this->tpl->parseCurrentBlock();
                }
                $_SESSION['webr_item_ids'] = $_POST['item_id'];

                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::deleteItemsObject (  ) 

Definition at line 471 of file class.ilObjLinkResourceGUI.php.

References $_SESSION, $id, $rbacsystem, editItemsObject(), and sendInfo().

        {
                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'write'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }
                if(!count($_SESSION['webr_item_ids']))
                {
                        sendInfo($this->lng->txt('webr_select_one'));
                        $this->editItemsObject();

                        return true;
                }

                $this->object->initLinkResourceItemsObject();
                foreach($_SESSION['webr_item_ids'] as $id)
                {
                        $this->object->items_obj->delete($id);
                }
                sendInfo($this->lng->txt('webr_deleted_items'));

                $this->editItemsObject();
                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::deleteParameterObject (  ) 

Definition at line 650 of file class.ilObjLinkResourceGUI.php.

References $_GET, editItemObject(), and sendInfo().

        {
                if(!((int) $_GET['param_id']))
                {
                        sendInfo('No parameter id given');
                        $this->editItemObject();

                        return false;
                }

                include_once 'link/classes/class.ilParameterAppender.php';

                $appender = new ilParameterAppender($this->object->getId());
                $appender->delete((int) $_GET['param_id']);

                sendInfo($this->lng->txt('links_parameter_deleted'));

                $this->editItemObject();
                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::editItemObject (  ) 

Definition at line 536 of file class.ilObjLinkResourceGUI.php.

References $_GET, $_POST, $_SESSION, $counter, $id, $rbacsystem, ilParameterAppender::_getOptionSelect(), ilParameterAppender::_getParams(), ilParameterAppender::_isEnabled(), ilUtil::formCheckbox(), ilUtil::formSelect(), ilUtil::getImagePath(), and ilUtil::prepareFormOutput().

Referenced by deleteParameterObject(), and updateItemObject().

        {
                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'write'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                $this->object->initLinkResourceItemsObject();
                $item = $this->object->items_obj->getItem($_GET['item_id'] ? $_GET['item_id'] : $_SESSION['webr_item_id']);


                $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.lnkr_edit_item.html','link');

                $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TBL_TITLE_IMG",ilUtil::getImagePath('icon_webr.gif'));
                $this->tpl->setVariable("TBL_TITLE_IMG_ALT",$this->lng->txt('obj_webr'));
                $this->tpl->setVariable("TBL_TITLE",$this->lng->txt('webr_edit_item'));
                $this->tpl->setVariable("TXT_TITLE",$this->lng->txt('title'));
                $this->tpl->setVariable("TXT_DESCRIPTION",$this->lng->txt('description'));
                $this->tpl->setVariable("TITLE",ilUtil::prepareFormOutput($item['title']));
                $this->tpl->setVariable("DESCRIPTION",ilUtil::prepareFormOutput($item['description']));
                $this->tpl->setVariable("TXT_TARGET",$this->lng->txt('target'));
                $this->tpl->setVariable("TARGET",ilUtil::prepareFormOutput($item['target']));
                $this->tpl->setVariable("TXT_ACTIVE",$this->lng->txt('webr_active'));
                $this->tpl->setVariable("ACTIVE_CHECK",ilUtil::formCheckbox($item['active'] ? 1 : 0,'active',1));
                $this->tpl->setVariable("TXT_VALID",$this->lng->txt('valid'));
                $this->tpl->setVariable("VALID_CHECK",ilUtil::formCheckbox($item['valid'] ? 1 : 0,'valid',1));
                $this->tpl->setVariable("TXT_DISABLE",$this->lng->txt('disable_check'));
                $this->tpl->setVariable("DISABLE_CHECK",ilUtil::formCheckbox($item['disable_check'] ? 1 : 0,'disable',1));
                $this->tpl->setVariable("TXT_CREATED",$this->lng->txt('created'));
                $this->tpl->setVariable("CREATED",date('Y-m-d H:i:s',$item['create_date']));
                $this->tpl->setVariable("TXT_MODIFIED",$this->lng->txt('last_change'));
                $this->tpl->setVariable("MODIFIED",date('Y-m-d H:i:s',$item['last_update']));
                $this->tpl->setVariable("TXT_LAST_CHECK",$this->lng->txt('webr_last_check'));

                // add dynamic params
                include_once('link/classes/class.ilParameterAppender.php');

                if(ilParameterAppender::_isEnabled())
                {
                        $counter = 0;
                        foreach($params = ilParameterAppender::_getParams($item['link_id']) as $id => $param)
                        {
                                if(!$counter++)
                                {
                                        $this->tpl->setCurrentBlock("header_info");
                                        $this->tpl->setVariable("TXT_PARAM_EXIST",$this->lng->txt('links_existing_params'));
                                        $this->tpl->parseCurrentBlock();
                                }
                                $this->tpl->setCurrentBlock("show_params");
                                
                                $txt_param = $param['name'];
                                switch($param['value'])
                                {
                                        case LINKS_USER_ID:
                                                $txt_param .= '=IL_USER_ID';
                                                break;

                                        case LINKS_SESSION_ID:
                                                $txt_param .= '=IL_SESSION_ID';
                                                break;
                                                
                                        case LINKS_LOGIN:
                                                $txt_param .= '=IL_LOGIN';
                                                break;
                                }
                                $this->tpl->setVariable("PARAMETER",$txt_param);
                                
                                // Delete link
                                $this->ctrl->setParameter($this,'param_id',$id);
                                $this->tpl->setVariable("DEL_TARGET",$this->ctrl->getLinkTarget($this,'deleteParameter'));
                                $this->tpl->setVariable("TXT_DELETE",$this->lng->txt('delete'));
                                $this->tpl->parseCurrentBlock();
                        }

                        $this->tpl->setCurrentBlock("params");
                        $this->tpl->setVariable("TXT_ADD_PARAM",$this->lng->txt('links_add_param'));
                        $this->tpl->setVariable("TXT_DYNAMIC",$this->lng->txt('links_dynamic'));
                        $this->tpl->setVariable("TXT_NAME",$this->lng->txt('links_name'));
                        $this->tpl->setVariable("TXT_VALUE",$this->lng->txt('links_value'));
                        $this->tpl->setVariable("DYNAMIC_INFO",$this->lng->txt('link_dynamic_info'));

                        $this->tpl->setVariable("NAME",$_POST['name'] ? ilUtil::prepareFormOutput($_POST['name'],true) : '');
                        $this->tpl->setVariable("VAL_SEL",ilUtil::formSelect((int) $_POST['value'],
                                                                                                                                 'value',
                                                                                                                                 ilParameterAppender::_getOptionSelect(),
                                                                                                                                 false,
                                                                                                                                 true));
                        $this->tpl->parseCurrentBlock();
                }

                

                if($item['last_check'])
                {
                        $last_check = date('Y-m-d H:i:s',$item['last_check']);
                }
                else
                {
                        $last_check = $this->lng->txt('webr_never_checked');
                }

                $this->tpl->setVariable("LAST_CHECK",$last_check);
                $this->tpl->setVariable("BTN_CANCEL",$this->lng->txt('cancel'));
                $this->tpl->setVariable("BTN_UPDATE",$this->lng->txt('save'));

                $_SESSION['webr_item_id'] = $_GET['item_id'] ? $_GET['item_id'] : $_SESSION['webr_item_id'];

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::editItemsObject (  ) 

Definition at line 206 of file class.ilObjLinkResourceGUI.php.

References $_GET, $counter, $id, $rbacsystem, $tbl, ilObjectGUI::$tpl, ilObjectGUI::__showButton(), ilParameterAppender::_getParams(), ilParameterAppender::_isEnabled(), ilUtil::formCheckbox(), ilUtil::getImagePath(), sendInfo(), ilUtil::sortArray(), and ilUtil::switchColor().

Referenced by addItemObject(), askDeleteItemsObject(), deleteItemsObject(), updateItemObject(), and updateItemsObject().

        {
                global $rbacsystem;

                include_once './classes/class.ilTableGUI.php';
                include_once 'link/classes/class.ilParameterAppender.php';
                

                // MINIMUM ACCESS LEVEL = 'read'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                $this->tpl->addBlockFile("ADM_CONTENT","adm_content","tpl.lnkr_edit_items.html","link");
                $this->__showButton('showAddItem',$this->lng->txt('webr_add_item'));

                $this->object->initLinkResourceItemsObject();
                if(!count($items = $this->object->items_obj->getAllItems()))
                {
                        sendInfo($this->lng->txt('webr_no_items_created'));

                        return true;
                }
                
                $tpl =& new ilTemplate("tpl.table.html", true, true);
                #$items_sliced = array_slice($items, $_GET["offset"], $_GET["limit"]);

                $tpl->setCurrentBlock("tbl_form_header");
                $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
                $tpl->parseCurrentBlock();

                $tpl->setCurrentBlock("tbl_action_btn");
                $tpl->setVariable("BTN_NAME",'askDeleteItems');
                $tpl->setVariable("BTN_VALUE",$this->lng->txt('delete'));
                $tpl->parseCurrentBlock();
                
                $tpl->setCurrentBlock("plain_buttons");
                $tpl->setVariable("PBTN_NAME",'updateItems');
                $tpl->setVariable("PBTN_VALUE",$this->lng->txt('save'));
                $tpl->parseCurrentBlock();
                
                $tpl->setCurrentBlock("tbl_action_row");
                $tpl->setVariable("IMG_ARROW",ilUtil::getImagePath('arrow_downright.gif'));
                $tpl->setVariable("COLUMN_COUNTS",ilParameterAppender::_isEnabled() ? 8 : 7);
                $tpl->parseCurrentBlock();
                


                $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.lnkr_edit_items_row.html",'link');

                $items = ilUtil::sortArray($items,
                                                                   $_GET['sort_by'] ? $_GET['sort_by'] : 'title',
                                                                   $_GET['sort_order'] ? $_GET['sort_order'] : 'asc');
                
                $counter = 0;
                foreach($items as $item_id => $item)
                {
                        if(ilParameterAppender::_isEnabled())
                        {
                                $params_list = array();
                                foreach($params = ilParameterAppender::_getParams($item['link_id']) as $id => $param)
                                {
                                        $txt_param = $param['name'];
                                        switch($param['value'])
                                        {
                                                case LINKS_USER_ID:
                                                        $txt_param .= '=IL_USER_ID';
                                                        break;

                                                case LINKS_SESSION_ID:
                                                        $txt_param .= '=IL_SESSION_ID';
                                                        break;
                                                
                                                case LINKS_LOGIN:
                                                        $txt_param .= '=IL_LOGIN';
                                                        break;
                                        }
                                        $params_list[] = $txt_param;
                                }
                                $tpl->setCurrentBlock("params");
                                $tpl->setVariable("DYN_PARAM",count($params_list) ? 
                                                                  implode('<br />',$params_list) :
                                                                  $this->lng->txt('links_not_available'));
                                $tpl->parseCurrentBlock();
                        }                       


                        if(strlen($item['description']))
                        {
                                $tpl->setCurrentBlock("description");
                                $tpl->setVariable("DESCRIPTION",$item['description']);
                                $tpl->parseCurrentBlock();
                        }

                        $tpl->setCurrentBlock("row");
                        $tpl->setVariable("ROW_CSS",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
                        
                        $tpl->setVariable("CHECK_ITEM",ilUtil::formCheckbox(0,'item_id[]',$item['link_id']));
                        $tpl->setVariable("TITLE",$item['title']);

                        if($item['last_check'])
                        {
                                $last_check = date('Y-m-d H:i:s',$item['last_check']);
                        }
                        else
                        {
                                $last_check = $this->lng->txt('webr_never_checked');
                        }
                        $tpl->setVariable("TXT_LAST_CHECK",$this->lng->txt('webr_last_check_table'));
                        $tpl->setVariable("LAST_CHECK",$last_check);

                        $target = substr($item['target'],0,70);
                        if(strlen($item['target']) > 70)
                        {
                                $target = substr($item['target'],0,70).'...';
                        }
                        else
                        {
                                $target = $item['target'];
                        }

                                

                        $tpl->setVariable("TARGET",$target);
                        $tpl->setVariable("VALID",ilUtil::formCheckbox($item['valid'] ? 1 : 0,'valid['.$item['link_id'].']',1));
                        $tpl->setVariable("ACTIVE",ilUtil::formCheckbox($item['active'] ? 1 : 0,'active['.$item['link_id'].']',1));
                        $tpl->setVariable("DISABLE_CHECK",ilUtil::formCheckbox($item['disable_check'] ? 1 : 0,'disable['.$item['link_id'].']',1));
                        $tpl->setVariable("EDIT_IMG",ilUtil::getImagePath('icon_pencil.gif'));
                        $tpl->setVariable("EDIT_ALT",$this->lng->txt('edit'));

                        $this->ctrl->setParameter($this,'item_id',$item['link_id']);
                        $tpl->setVariable("EDIT_LINK",$this->ctrl->getLinkTarget($this,'editItem'));

                        $tpl->parseCurrentBlock();
                }

                // create table
                $tbl = new ilTableGUI();




                // title & header columns
                $tbl->setTitle($this->lng->txt("web_resources"),"icon_webr.gif",$this->lng->txt("web_resources"));

                if(!ilParameterAppender::_isEnabled())
                {
                        $tbl->setHeaderNames(array('',
                                                                           $this->lng->txt("title"),
                                                                           $this->lng->txt("target"),
                                                                           $this->lng->txt('valid'),
                                                                           $this->lng->txt('active'),
                                                                           $this->lng->txt('disable_check'),
                                                                           $this->lng->txt('details')));
                        $tbl->setHeaderVars(array("",
                                                                          "title",
                                                                          "target",
                                                                          "valid",
                                                                          "active",
                                                                          "disable_check",
                                                                          ""),array("ref_id" => $this->object->getRefId(),
                                                                                                "cmd" => 'editItems'));
                        $tbl->setColumnWidth(array("",
                                                                           "50%",
                                                                           "30%",
                                                                           "5%",
                                                                           "5%",
                                                                           "5%",
                                                                           "5%"));
                }
                else
                {
                        $tbl->setHeaderNames(array('',
                                                                           $this->lng->txt("title"),
                                                                           $this->lng->txt("target"),
                                                                           $this->lng->txt("links_dyn_parameter"),
                                                                           $this->lng->txt('valid'),
                                                                           $this->lng->txt('active'),
                                                                           $this->lng->txt('disable_check'),
                                                                           $this->lng->txt('details')));
                        
                        $tbl->setHeaderVars(array("",
                                                                          "title",
                                                                          "target",
                                                                          "parameter",
                                                                          "valid",
                                                                          "active",
                                                                          "disable_check",
                                                                          ""),array("ref_id" => $this->object->getRefId(),
                                                                                                "cmd" => 'editItems'));
                        $tbl->setColumnWidth(array("",
                                                                           "40%",
                                                                           "20%",
                                                                           "20%",
                                                                           "5%",
                                                                           "5%",
                                                                           "5%",
                                                                           "5%"));
                }
                $tbl->disable('linkbar');
                $tbl->disable('numinfo');
                $tbl->enable('sort');

                $tbl->setOrderColumn($_GET['sort_by']);
                $tbl->setOrderDirection($_GET['sort_order']);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount(count($items));

                // render table
                $tbl->setTemplate($tpl);
                $tbl->render();

                $this->tpl->setVariable("ITEM_TABLE", $tpl->get());

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

& ilObjLinkResourceGUI::executeCommand (  ) 

execute command

Reimplemented from ilObjectGUI.

Definition at line 59 of file class.ilObjLinkResourceGUI.php.

References $_GET, $cmd, $rbacsystem, __prepareOutput(), ilObjectGUI::getCreationMode(), infoScreen(), and ilObjectGUI::prepareOutput().

        {
                global $rbacsystem;

                if($this->ctrl->getTargetScript() == 'link_resources.php')
                {
                        $this->__prepareOutput();
                }
                
                if (strtolower($_GET["baseClass"]) == "iladministrationgui" ||
                        $this->getCreationMode() == true)
                {
                        $this->prepareOutput();
                }


                $next_class = $this->ctrl->getNextClass($this);
                $cmd = $this->ctrl->getCmd();

                switch($next_class)
                {
                        case "ilinfoscreengui":
                                $this->infoScreen();    // forwards command
                                break;

                        case 'ilmdeditorgui':

                                include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';

                                $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
                                $md_gui->addObserver($this->object,'MDUpdateListener','General');

                                $this->ctrl->forwardCommand($md_gui);
                                break;
                                
                        case 'ilpermissiongui':
                                include_once("./classes/class.ilPermissionGUI.php");
                                $perm_gui =& new ilPermissionGUI($this);
                                $ret =& $this->ctrl->forwardCommand($perm_gui);
                                break;

                        default:
                                if(!$cmd)
                                {
                                        $cmd = "view";
                                }
                                $cmd .= "Object";
                                $this->$cmd();
                                        
                                break;
                }
                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::getTabs ( &$  tabs_gui  ) 

get tabs public

Parameters:
object tabs gui object

Reimplemented from ilObjectGUI.

Definition at line 1104 of file class.ilObjLinkResourceGUI.php.

References $_GET, $rbacreview, and $rbacsystem.

Referenced by __setHeader().

        {
                global $rbacsystem,$rbacreview;

                if ($rbacsystem->checkAccess('read',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("view_content",
                                $this->ctrl->getLinkTarget($this, "view"), array("", "view"),
                                array(strtolower(get_class($this)), ""));
                }

                if ($rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("edit_content",
                                $this->ctrl->getLinkTarget($this, "editItems"),
                                array("editItems", "addItem", "deleteItems", "editItem", "updateItem"),
                                "");
                }
                
                if ($rbacsystem->checkAccess('visible',$this->ref_id))
                {
                        // this is not nice. tabs should be displayed in ilcoursegui
                        // not via ilrepositorygui, then next_class == ilinfoscreengui
                        // could be checked
                        $force_active = (strtolower($_GET["cmdClass"]) == "ilinfoscreengui"
                                || strtolower($_GET["cmdClass"]) == "ilnotegui")
                                ? true
                                : false;
                        $tabs_gui->addTarget("info_short",
                                                                 $this->ctrl->getLinkTargetByClass(
                                                                 array("ilobjlinkresourcegui", "ilinfoscreengui"), "showSummary"),
                                                                 "infoScreen",
                                                                 "", "", $force_active);
                }

                if ($rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("meta_data",
                                 $this->ctrl->getLinkTargetByClass('ilmdeditorgui','listSection'),
                                 "", 'ilmdeditorgui');
                }

                if ($rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("history",
                                $this->ctrl->getLinkTarget($this, "history"), "history", get_class($this));
                }

                if ($rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        // Check if pear library is available
                        if(@include_once('HTTP/Request.php'))
                        {
                                $tabs_gui->addTarget("link_check",
                                                                         $this->ctrl->getLinkTarget($this, "linkChecker"),
                                                                         array("linkChecker", "refreshLinkCheck"), get_class($this));
                        }
                }

                if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("perm_settings",
                                $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
                }
        }

Here is the caller graph for this function:

ilObjLinkResourceGUI::historyObject (  ) 

Definition at line 896 of file class.ilObjLinkResourceGUI.php.

References $_GET, and $rbacsystem.

        {
                global $rbacsystem;

                if (!$rbacsystem->checkAccess("write", $_GET["ref_id"]))
                {
                        $this->ilErr->raiseError($this->lng->txt("permission_denied"),$this->ilErr->MESSAGE);
                }

                include_once("classes/class.ilHistoryGUI.php");
                
                $hist_gui =& new ilHistoryGUI($this->object->getId());
                
                $hist_html = $hist_gui->getHistoryTable(array("ref_id" => $_GET["ref_id"], 
                                                                                                          "cmd" => "history",
                                                                                                          "cmdClass" =>$_GET["cmdClass"],
                                                                                                          "cmdNode" =>$_GET["cmdNode"]));
                
                $this->tpl->setVariable("ADM_CONTENT", $hist_html);
        }

ilObjLinkResourceGUI::ilObjLinkResourceGUI ( a_data,
a_id,
a_call_by_reference,
a_prepare_output = true 
)

Constructor public.

Definition at line 45 of file class.ilObjLinkResourceGUI.php.

References $ilCtrl, and ilObjectGUI::ilObjectGUI().

        {
                global $ilCtrl;

                $this->type = "webr";
                $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference,false);

                // CONTROL OPTIONS
                $this->ctrl =& $ilCtrl;
                $this->ctrl->saveParameter($this,array("ref_id","cmdClass"));

                $this->lng->loadLanguageModule('webr');
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::infoScreen (  ) 

show information screen

Definition at line 874 of file class.ilObjLinkResourceGUI.php.

Referenced by executeCommand(), and infoScreenObject().

        {
                global $ilAccess;

                if (!$ilAccess->checkAccess("visible", "", $this->ref_id))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                include_once("classes/class.ilInfoScreenGUI.php");
                $info = new ilInfoScreenGUI($this);
                
                $info->enablePrivateNotes();
                
                // standard meta data
                $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
                
                // forward the command
                $this->ctrl->forwardCommand($info);
        }

Here is the caller graph for this function:

ilObjLinkResourceGUI::infoScreenObject (  ) 

this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed

Definition at line 864 of file class.ilObjLinkResourceGUI.php.

References infoScreen().

        {
                $this->ctrl->setCmd("showSummary");
                $this->ctrl->setCmdClass("ilinfoscreengui");
                $this->infoScreen();
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::linkCheckerObject (  ) 

Definition at line 945 of file class.ilObjLinkResourceGUI.php.

References $counter, ilObjectGUI::$ilias, __initLinkChecker(), ilLinkCheckNotify::_getNotifyStatus(), ilUtil::formCheckbox(), ilUtil::getImagePath(), and ilUtil::switchColor().

Referenced by refreshLinkCheckObject(), and saveLinkCheckObject().

        {
                global $ilias,$ilUser;

                $this->__initLinkChecker();
                $this->object->initLinkResourceItemsObject();

                $invalid_links = $this->link_checker_obj->getInvalidLinksFromDB();


                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.link_check.html",'link');

                if($last_access = $this->link_checker_obj->getLastCheckTimestamp())
                {
                        $this->tpl->setCurrentBlock("LAST_MODIFIED");
                        $this->tpl->setVariable("AS_OF",$this->lng->txt('last_change').": ");
                        $this->tpl->setVariable("LAST_CHECK",date('Y-m-d H:i:s',$last_access));
                        $this->tpl->parseCurrentBlock();
                }


                $this->tpl->setVariable("F_ACTION",$this->ctrl->getFormAction($this));

                $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_webr.gif'));
                $this->tpl->setVariable("ALT_IMG",$this->lng->txt('obj_webr'));
                $this->tpl->setVariable("TITLE",$this->object->getTitle().' ('.$this->lng->txt('link_check').')');
                $this->tpl->setVariable("PAGE_TITLE",$this->lng->txt('title'));
                $this->tpl->setVariable("URL",$this->lng->txt('url'));
                $this->tpl->setVariable("OPTIONS",$this->lng->txt('edit'));

                if(!count($invalid_links))
                {
                        $this->tpl->setCurrentBlock("no_invalid");
                        $this->tpl->setVariable("TXT_NO_INVALID",$this->lng->txt('no_invalid_links'));
                        $this->tpl->parseCurrentBlock();
                }
                else
                {
                        $counter = 0;
                        foreach($invalid_links as $invalid)
                        {
                                $this->object->items_obj->readItem($invalid['page_id']);

                                $this->tpl->setCurrentBlock("invalid_row");
                                $this->tpl->setVariable("ROW_COLOR",ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
                                $this->tpl->setVariable("ROW_PAGE_TITLE",$this->object->items_obj->getTitle());
                                $this->tpl->setVariable("ROW_URL",$invalid['url']);


                                // EDIT IMAGE
                                $this->ctrl->setParameter($this,'item_id',$invalid['page_id']);
                                $this->tpl->setVariable("ROW_EDIT_LINK",$this->ctrl->getLinkTarget($this,'editItem'));
                                $this->tpl->setVariable("ROW_IMG",ilUtil::getImagePath('icon_pencil.gif'));
                                $this->tpl->setVariable("ROW_ALT_IMG",$this->lng->txt('edit'));
                                $this->tpl->parseCurrentBlock();
                        }
                }
                if((bool) $ilias->getSetting('cron_web_resource_check'))
                {
                        include_once './classes/class.ilLinkCheckNotify.php';

                        // Show message block
                        $this->tpl->setCurrentBlock("MESSAGE_BLOCK");
                        $this->tpl->setVariable("INFO_MESSAGE",$this->lng->txt('link_check_message_a'));
                        $this->tpl->setVariable("CHECK_MESSAGE",ilUtil::formCheckbox(
                                                                                ilLinkCheckNotify::_getNotifyStatus($ilUser->getId(),$this->object->getId()),
                                                                                'link_check_message',
                                                                                1));
                        $this->tpl->setVariable("INFO_MESSAGE_LONG",$this->lng->txt('link_check_message_b'));
                        $this->tpl->parseCurrentBlock();

                        // Show save button
                        $this->tpl->setCurrentBlock("CRON_ENABLED");
                        $this->tpl->setVariable("DOWNRIGHT_IMG",ilUtil::getImagePath('arrow_downright.gif'));
                        $this->tpl->setVariable("BTN_SUBMIT_LINK_CHECK",$this->lng->txt('save'));
                        $this->tpl->parseCurrentBlock();
                }
                $this->tpl->setVariable("BTN_REFRESH",$this->lng->txt('refresh'));

                return true;

        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::listItemsObject (  ) 

Definition at line 128 of file class.ilObjLinkResourceGUI.php.

References $_GET, $counter, $rbacsystem, $tbl, ilObjectGUI::$tpl, ilParameterAppender::_append(), ilParameterAppender::_isEnabled(), sendInfo(), ilUtil::sortArray(), and ilUtil::switchColor().

Referenced by viewObject().

        {
                global $rbacsystem;

                include_once './classes/class.ilTableGUI.php';
                include_once './link/classes/class.ilParameterAppender.php';

                // MINIMUM ACCESS LEVEL = 'read'
                if(!$rbacsystem->checkAccess("read", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                $this->object->initLinkResourceItemsObject();
                if(!count($items = $this->object->items_obj->getActivatedItems()))
                {
                        sendInfo($this->lng->txt('webr_no_items_created'));

                        return true;
                }

                $this->tpl->addBlockFile("ADM_CONTENT","adm_content","tpl.lnkr_view_items.html","link");
                
                $tpl =& new ilTemplate("tpl.table.html", true, true);
                #$items_sliced = array_slice($items, $_GET["offset"], $_GET["limit"]);

                $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.lnkr_view_items_row.html",'link');

                $items = ilUtil::sortArray($items,
                                                                   'title',
                                                                   $_GET['sort_order'] ? $_GET['sort_order'] : 'asc');
                $counter = 0;
                foreach($items as $item_id => $item)
                {
                        if(ilParameterAppender::_isEnabled())
                        {
                                $item = ilParameterAppender::_append($item);
                        }
                        if(strlen($item['description']))
                        {
                                $tpl->setCurrentBlock("description");
                                $tpl->setVariable("DESCRIPTION",$item['description']);
                                $tpl->parseCurrentBlock();
                        }
                        $tpl->setCurrentBlock("row");
                        $tpl->setVariable("ROW_CSS",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
                        $tpl->setVariable("TITLE",$item['title']);
                        $tpl->setVariable("TARGET",$item['target']);
                        $tpl->parseCurrentBlock();
                }

                // create table
                $tbl = new ilTableGUI();

                // title & header columns
                $tbl->setTitle($this->lng->txt("web_resources"),"icon_webr.gif",$this->lng->txt("web_resources"));
                $tbl->setHeaderNames(array($this->lng->txt("title")));
                $tbl->setHeaderVars(array("title"),array("ref_id" => $this->object->getRefId(),
                                                                                                           "cmd" => 'listItems'));
                $tbl->setColumnWidth(array("100%"));
                $tbl->disable('linkbar');
                $tbl->disable('numinfo');

                $tbl->setOrderColumn('title');
                $tbl->setOrderDirection($_GET['sort_order']);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount(count($items));

                // render table
                $tbl->setTemplate($tpl);
                $tbl->render();

                $this->tpl->setVariable("ITEM_TABLE", $tpl->get());

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::refreshLinkCheckObject (  ) 

Definition at line 1054 of file class.ilObjLinkResourceGUI.php.

References __initLinkChecker(), linkCheckerObject(), and sendInfo().

        {
                $this->__initLinkChecker();

                if(!$this->link_checker_obj->checkPear())
                {
                        sendInfo($this->lng->txt('missing_pear_library'));
                        $this->linkCheckerObject();

                        return false;
                }


                $this->object->initLinkResourceItemsObject();

                // Set all link to valid. After check invalid links will be set to invalid
                $this->object->items_obj->updateValidByCheck();
                
                foreach($this->link_checker_obj->checkWebResourceLinks() as $invalid)
                {
                        $this->object->items_obj->readItem($invalid['page_id']);
                        $this->object->items_obj->setActiveStatus(false);
                        $this->object->items_obj->setValidStatus(false);
                        $this->object->items_obj->update(false);
                }
                
                $this->object->items_obj->updateLastCheck();
                sendInfo($this->lng->txt('link_checker_refreshed'));

                $this->linkCheckerObject();

                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::saveLinkCheckObject (  ) 

Definition at line 1027 of file class.ilObjLinkResourceGUI.php.

References $_POST, linkCheckerObject(), and sendInfo().

        {
                global $ilDB,$ilUser;

                include_once './classes/class.ilLinkCheckNotify.php';

                $link_check_notify =& new ilLinkCheckNotify($ilDB);
                $link_check_notify->setUserId($ilUser->getId());
                $link_check_notify->setObjId($this->object->getId());

                if($_POST['link_check_message'])
                {
                        sendInfo($this->lng->txt('link_check_message_enabled'));
                        $link_check_notify->addNotifier();
                }
                else
                {
                        sendInfo($this->lng->txt('link_check_message_disabled'));
                        $link_check_notify->deleteNotifier();
                }
                $this->linkCheckerObject();

                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::saveObject (  ) 

save object public

Reimplemented from ilObjectGUI.

Definition at line 921 of file class.ilObjLinkResourceGUI.php.

References $rbacadmin, and ilUtil::redirect().

        {
                global $rbacadmin;

                // create and insert forum in objecttree
                $newObj = parent::saveObject();

                // setup rolefolder & default local roles
                //$roles = $newObj->initDefaultRoles();

                // ...finally assign role to creator of object
                //$rbacadmin->assignUser($roles[0], $newObj->getOwner(), "y");

                // put here object specific stuff

                // always send a message
                //sendInfo($this->lng->txt("object_added"),true);
                ilUtil::redirect("link/link_resources.php?ref_id=".$newObj->getRefId().
                        "&cmd=showAddItem");
                
                //ilUtil::redirect($this->getReturnLocation("save",'adm_object.php?ref_id='.$newObj->getRefId()));
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::showAddItemObject (  ) 

Definition at line 742 of file class.ilObjLinkResourceGUI.php.

References $_POST, $rbacsystem, $title, ilParameterAppender::_getOptionSelect(), ilParameterAppender::_isEnabled(), ilUtil::formSelect(), and ilUtil::prepareFormOutput().

Referenced by addItemObject().

        {
                global $rbacsystem;

                $this->tabs_gui->setTabActive('edit_content');

                // MINIMUM ACCESS LEVEL = 'read'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }

                $title = $_POST['title'] ? ilUtil::prepareFormOutput($_POST['title'],true) : '';
                $target = $_POST['target'] ? ilUtil::prepareFormOutput($_POST['target'],true) : 'http://';


                $this->tpl->addBlockFile("ADM_CONTENT","adm_content","tpl.lnkr_add_item.html","link");

                $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TXT_HEADER",$this->lng->txt('webr_add_item'));
                $this->tpl->setVariable("TXT_TITLE",$this->lng->txt('title'));
                $this->tpl->setVariable("TXT_DESC",$this->lng->txt('description'));
                $this->tpl->setVariable("TXT_TARGET",$this->lng->txt('target'));
                $this->tpl->setVariable("TARGET",$target);
                $this->tpl->setVariable("TXT_ACTIVE",$this->lng->txt('active'));
                $this->tpl->setVariable("TXT_CHECK",$this->lng->txt('webr_disable_check'));
                $this->tpl->setVariable("TXT_REQUIRED_FLD",$this->lng->txt('required'));
                $this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel'));
                $this->tpl->setVariable("TXT_SUBMIT",$this->lng->txt('add'));
                $this->tpl->setVariable("CMD_SUBMIT",'addItem');
                $this->tpl->setVariable("CMD_CANCEL",'editItems');

                // Params
                include_once('link/classes/class.ilParameterAppender.php');

                if(ilParameterAppender::_isEnabled())
                {
                        $this->tpl->setCurrentBlock("params");
                        $this->tpl->setVariable("TXT_DYNAMIC",$this->lng->txt('links_dynamic'));
                        $this->tpl->setVariable("TXT_NAME",$this->lng->txt('links_name'));
                        $this->tpl->setVariable("TXT_VALUE",$this->lng->txt('links_value'));
                        $this->tpl->setVariable("DYNAMIC_INFO",$this->lng->txt('links_dynamic_info'));

                        $this->tpl->setVariable("NAME",$_POST['name'] ? ilUtil::prepareFormOutput($_POST['name'],true) : '');
                        $this->tpl->setVariable("VAL_SEL",ilUtil::formSelect((int) $_POST['value'],
                                                                                                                                 'value',
                                                                                                                                 ilParameterAppender::_getOptionSelect(),
                                                                                                                                 false,
                                                                                                                                 true));
                        $this->tpl->parseCurrentBlock();
                }

                $this->tpl->setVariable("ACTIVE_CHECK",ilUtil::formCheckBox(1,'active',1));
                $this->tpl->setVariable("CHECK_CHECK",ilUtil::formCheckBox(0,'disable_check',1));
        
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjLinkResourceGUI::updateItemObject (  ) 

Definition at line 672 of file class.ilObjLinkResourceGUI.php.

References $_POST, $_SESSION, $rbacsystem, ilParameterAppender::_isEnabled(), editItemObject(), editItemsObject(), sendInfo(), and ilUtil::stripSlashes().

        {
                include_once 'link/classes/class.ilParameterAppender.php';

                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'write'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }
                if(!$_POST['title'] or $_POST['target'] == 'http://')
                {
                        sendInfo($this->lng->txt('webr_fillout_all'));

                        $this->editItemObject();
                        return false;
                }
                if(ilParameterAppender::_isEnabled())
                {
                        $appender =& new ilParameterAppender($this->object->getId());
                        $appender->setName(ilUtil::stripSlashes($_POST['name']));
                        $appender->setValue(ilUtil::stripSlashes($_POST['value']));
                        
                        if(!$appender->validate())
                        {
                                switch($appender->getErrorCode())
                                {
                                        case LINKS_ERR_NO_NAME:
                                                sendInfo($this->lng->txt('links_no_name_given'));
                                                $this->editItemObject();
                                                return false;

                                        case LINKS_ERR_NO_VALUE:
                                                sendInfo($this->lng->txt('links_no_value_given'));
                                                $this->editItemObject();
                                                return false;

                                        default:
                                                break;
                                }
                        }
                }

                $this->object->initLinkResourceItemsObject();

                $this->object->items_obj->readItem($_SESSION['webr_item_id']);
                $this->object->items_obj->setLinkId($_SESSION['webr_item_id']);
                $this->object->items_obj->setTitle(ilUtil::stripSlashes($_POST['title']));
                $this->object->items_obj->setDescription(ilUtil::stripSlashes($_POST['description']));
                $this->object->items_obj->setTarget(ilUtil::stripSlashes($_POST['target']));
                $this->object->items_obj->setActiveStatus($_POST['active']);
                $this->object->items_obj->setValidStatus($_POST['valid']);
                $this->object->items_obj->setDisableCheckStatus($_POST['disable']);
                $this->object->items_obj->update();

                if(is_object($appender))
                {
                        $appender->add($_SESSION['webr_item_id']);
                }

                unset($_SESSION['webr_item_id']);
                sendInfo($this->lng->txt('webr_item_updated'));
                $this->editItemsObject();
                
                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::updateItemsObject (  ) 

Definition at line 500 of file class.ilObjLinkResourceGUI.php.

References $_POST, $rbacsystem, $valid, editItemsObject(), and sendInfo().

        {
                global $rbacsystem;

                // MINIMUM ACCESS LEVEL = 'write'
                if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
                }
                $this->object->initLinkResourceItemsObject();
                foreach($this->object->items_obj->getAllItems() as $item)
                {
                        $update = false;

                        $valid = (int) $_POST['valid'][$item['link_id']];
                        $active = (int) $_POST['active'][$item['link_id']];
                        $disable = (int) $_POST['disable'][$item['link_id']];

                        if($valid != $item['valid'] or
                           $active != $item['active'] or 
                           $disable != $item['disable_check'])
                        {
                                $this->object->items_obj->readItem($item['link_id']);
                                $this->object->items_obj->setValidStatus($valid);
                                $this->object->items_obj->setActiveStatus($active);
                                $this->object->items_obj->setDisableCheckStatus($disable);
                                $this->object->items_obj->update();
                        }
                }

                sendInfo($this->lng->txt('webr_modified_items'));
                $this->editItemsObject();

                return true;
        }

Here is the call graph for this function:

ilObjLinkResourceGUI::viewObject (  ) 

list childs of current object

public

Reimplemented from ilObjectGUI.

Definition at line 113 of file class.ilObjLinkResourceGUI.php.

References $_GET, and listItemsObject().

        {
                if (strtolower($_GET["baseClass"]) == "iladministrationgui")
                {
                        parent::viewObject();
                        return true;
                }
                else
                {
                        $this->listItemsObject();

                        return true;
                }
        }

Here is the call graph for this function:


The documentation for this class was generated from the following file: