Public Member Functions | Protected Member Functions

ilObjRemoteCourseGUI Class Reference
[Modules/RemoteCourse]

Inheritance diagram for ilObjRemoteCourseGUI:
Collaboration diagram for ilObjRemoteCourseGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
 Contructor.
 executeCommand ()
 Execute command.
 getTabs ($tabs_gui)
 get tabs
 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 info screen
 editObject ()
 Edit object.
 updateObject ()
 update object
 availabilityToString ()
 public

Protected Member Functions

 initEditTable ()
 Init edit settings table.

Detailed Description

Author:
Stefan Meyer <smeyer@databay.de>
Version:
$Id$

ilObjRemoteCourseGUI: ilPermissionGUI, ilInfoScreenGUI

Definition at line 36 of file class.ilObjRemoteCourseGUI.php.


Constructor & Destructor Documentation

ilObjRemoteCourseGUI::__construct ( a_data,
a_id,
a_call_by_reference = true,
a_prepare_output = true 
)

Contructor.

public

Definition at line 43 of file class.ilObjRemoteCourseGUI.php.

References ilObjectGUI::ilObjectGUI().

        {
                $this->type = 'rcrs';
                parent::ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);

                $this->lng->loadLanguageModule('rcrs');
                $this->lng->loadLanguageModule('crs');
        }

Here is the call graph for this function:


Member Function Documentation

ilObjRemoteCourseGUI::availabilityToString (  ) 

public

Parameters:
 

Definition at line 314 of file class.ilObjRemoteCourseGUI.php.

References ilObjRemoteCourse::ACTIVATION_LIMITED, ilObjRemoteCourse::ACTIVATION_OFFLINE, ilObjRemoteCourse::ACTIVATION_UNLIMITED, and ilFormat::formatUnixTime().

Referenced by infoScreen().

        {
                switch($this->object->getAvailabilityType())
                {
                        case ilObjRemoteCourse::ACTIVATION_OFFLINE:
                                return $this->lng->txt('offline');
                        
                        case ilObjRemoteCourse::ACTIVATION_UNLIMITED:
                                return $this->lng->txt('crs_unlimited');
                        
                        case ilObjRemoteCourse::ACTIVATION_LIMITED:
                                return $this->lng->txt('crs_from').' '.ilFormat::formatUnixTime($this->object->getStartingTime(),true).
                                        '<br /> '.$this->lng->txt('crs_to').' '.ilFormat::formatUnixTime($this->object->getEndingTime(),true);
                }
                return '';
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjRemoteCourseGUI::editObject (  ) 

Edit object.

protected

Reimplemented from ilObjectGUI.

Definition at line 183 of file class.ilObjRemoteCourseGUI.php.

References $ilErr, and initEditTable().

Referenced by updateObject().

        {
                global $ilErr,$ilAccess;

                if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
                {
                        $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
                }
                $this->tabs_gui->setTabActive('edit');
                
                $this->initEditTable();
                $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.edit.html','Modules/RemoteCourse');
                $this->tpl->setVariable('EDIT_TABLE',$this->form->getHTML());
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjRemoteCourseGUI::executeCommand (  ) 

Execute command.

public

Reimplemented from ilObjectGUI.

Definition at line 58 of file class.ilObjRemoteCourseGUI.php.

References $cmd, $ilErr, infoScreen(), and ilObjectGUI::prepareOutput().

        {
                global $rbacsystem,$ilErr,$ilAccess;

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

                $this->prepareOutput();

                switch($next_class)
                {
                        case 'ilinfoscreengui':
                                $this->infoScreen();    // forwards command
                                break;
                
                        case 'ilpermissiongui':
                                $this->tabs_gui->setTabActive('perm_settings');
                                include_once("./classes/class.ilPermissionGUI.php");
                                $this->ctrl->forwardCommand(new ilPermissionGUI($this));
                                break;

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

Here is the call graph for this function:

ilObjRemoteCourseGUI::getTabs ( tabs_gui  ) 

get tabs

public

Parameters:
object tabs gui object

Definition at line 97 of file class.ilObjRemoteCourseGUI.php.

        {
                global $ilAccess;

                if($ilAccess->checkAccess('visible','',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("info_short",
                                $this->ctrl->getLinkTarget($this, "infoScreen"));
                }

                if($ilAccess->checkAccess('write','',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("edit",
                                $this->ctrl->getLinkTarget($this, "edit"),
                                array(),
                                "");
                }
                if ($ilAccess->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');
                }
        }

ilObjRemoteCourseGUI::infoScreen (  ) 

show info screen

public

Parameters:
 

Definition at line 142 of file class.ilObjRemoteCourseGUI.php.

References $ilErr, availabilityToString(), and ilAdvancedMDRecordGUI::MODE_INFO.

Referenced by executeCommand(), and infoScreenObject().

        {
                global $ilErr,$ilAccess;

                if(!$ilAccess->checkAccess('visible','',$this->object->getRefId()))
                {
                        $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
                }

                include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
                $info = new ilInfoScreenGUI($this);
                
                $info->addSection($this->lng->txt('crs_general_info'));
                $info->addProperty($this->lng->txt('title'),$this->object->getTitle());
                if(strlen($this->object->getDescription()))
                {
                        $info->addProperty($this->lng->txt('description'),$this->object->getDescription());
                }
                if(strlen($loc = $this->object->getLocalInformation()))
                {
                        $info->addProperty($this->lng->txt('local_information'),$this->object->getLocalInformation());
                }
                
                // Access
                $info->addProperty($this->lng->txt('crs_visibility'),$this->availabilityToString());
                
                
                include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
                $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO,
                        'rcrs',$this->object->getId());
                $record_gui->setInfoObject($info);
                $record_gui->parse();
                
                $this->ctrl->forwardCommand($info);
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjRemoteCourseGUI::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 127 of file class.ilObjRemoteCourseGUI.php.

References infoScreen().

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

Here is the call graph for this function:

ilObjRemoteCourseGUI::initEditTable (  )  [protected]

Init edit settings table.

protected

Definition at line 237 of file class.ilObjRemoteCourseGUI.php.

References ilObjRemoteCourse::ACTIVATION_LIMITED, ilObjRemoteCourse::ACTIVATION_OFFLINE, ilObjRemoteCourse::ACTIVATION_UNLIMITED, ilRadioOption::addSubItem(), and ilAdvancedMDRecordGUI::MODE_EDITOR.

Referenced by editObject().

        {
                if(is_object($this->form))
                {
                        return true;
                }
                
                $this->lng->loadLanguageModule('crs');
        
                include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
                $this->form = new ilPropertyFormGUI();
                $this->form->setTableWidth('75%');
                $this->form->setFormAction($this->ctrl->getFormAction($this));
                $this->form->setTitle($this->lng->txt('rcrs_general_info'));
                $this->form->addCommandButton('update',$this->lng->txt('save'));
                $this->form->addCommandButton('edit',$this->lng->txt('cancel'));
                
                $text = new ilTextInputGUI($this->lng->txt('title'),'title');
                $text->setValue($this->object->getTitle());
                $text->setSize(40);
                $text->setMaxLength(128);
                $text->setDisabled(true);
                $this->form->addItem($text);
                
                
                $area = new ilTextAreaInputGUI($this->lng->txt('description'),'description');
                $area->setValue($this->object->getDescription());
                $area->setRows(3);
                $area->setCols(80);
                $area->setDisabled(true);
                $this->form->addItem($area);

                $area = new ilTextAreaInputGUI($this->lng->txt('local_info'),'local_info');
                $area->setValue($this->object->getLocalInformation());
                $area->setRows(3);
                $area->setCols(80);
                $this->form->addItem($area);
                
                $radio_grp = new ilRadioGroupInputGUI($this->lng->txt('crs_visibility'),'activation_type');
                $radio_grp->setValue($this->object->getAvailabilityType());
                $radio_grp->setDisabled(true);

                $radio_opt = new ilRadioOption($this->lng->txt('crs_visibility_unvisible'),ilObjRemoteCourse::ACTIVATION_OFFLINE);
                $radio_grp->addOption($radio_opt);

                $radio_opt = new ilRadioOption($this->lng->txt('crs_visibility_limitless'),ilObjRemoteCourse::ACTIVATION_UNLIMITED);
                $radio_grp->addOption($radio_opt);      

                $radio_opt = new ilRadioOption($this->lng->txt('crs_visibility_until'),ilObjRemoteCourse::ACTIVATION_LIMITED);
                
                $start = new ilDateTimeInputGUI($this->lng->txt('crs_start'),'start');
                $start->setUnixTime(time());
                $start->setDisabled(true);
                $start->setShowTime(true);
                $radio_opt->addSubItem($start);
                $end = new ilDateTimeInputGUI($this->lng->txt('crs_end'),'end');
                $end->setUnixTime(time());
                $end->setDisabled(true);
                $end->setShowTime(true);
                $radio_opt->addSubItem($end);
                
                $radio_grp->addOption($radio_opt);
                $this->form->addItem($radio_grp);       

                include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
                $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_EDITOR,'rcrs',$this->object->getId());
                $record_gui->setPropertyForm($this->form);
                $record_gui->parse();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjRemoteCourseGUI::updateObject (  ) 

update object

public

Parameters:
 

Reimplemented from ilObjectGUI.

Definition at line 205 of file class.ilObjRemoteCourseGUI.php.

References $ilErr, editObject(), ilAdvancedMDRecordGUI::MODE_EDITOR, ilUtil::sendInfo(), and ilUtil::stripSlashes().

        {
                global $ilErr,$ilAccess;

                if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
                {
                        $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
                }
                
                $this->object->setLocalInformation(ilUtil::stripSlashes($_POST['local_info']));
                #$this->object->setAvailabilityType($_POST['activation_type']);
                #$this->object->setStartingTime($_POST['start']);
                #$this->object->setEndingTime($_POST['end']);
                $this->object->update();
                
                // Save advanced meta data
                include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
                $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_EDITOR,
                        'rcrs',$this->object->getId());
                $record_gui->loadFromPost();
                $record_gui->saveValues();

                ilUtil::sendInfo($this->lng->txt("settings_saved"));
                $this->editObject();
                return true;
        }

Here is the call graph for this function:


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