ILIAS  Release_4_1_x_branch Revision 61804
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjSessionGUI Class Reference
+ Inheritance diagram for ilObjSessionGUI:
+ Collaboration diagram for ilObjSessionGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
 Constructor.
 executeCommand ()
 execute command
 registerObject ()
 register to session
 joinObject ()
 Called from info screen.
 unregisterObject ()
 unregister from session
 addToDeskObject ()
 removeFromDeskObject ()
 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
 modifyItemGUI ($a_item_list_gui, $a_item_data, $a_show_path)
 Modify Item ListGUI for presentation in container.
 infoScreen ()
 info screen
 sendFileObject ()
 send file
 createObject ()
 create new event
 initImportForm ($a_new_type="")
 Init object import form.
 importFileObject ()
 Import.
 saveAndAssignMaterialsObject ()
 Save and assign sessoin materials.
 saveObject ($a_redirect_on_success=true)
 save object
 handleFileUpload ()
 editObject ()
 edit object
 updateObject ()
 update object
 confirmDeleteFilesObject ()
 confirm delete files
 deleteFilesObject ()
 delete files
 materialsObject ()
 show material assignment
 saveMaterialsObject ()
 save material assignment
 setShowHidePrefs ()
 set preferences (show/hide tabel content)
 updateMembersObject ()
 update participants
 attendanceListObject ()
 show attendance list selection
 printViewMembersObject ()
 print view
 eventsListObject ()
 list sessions of all user
 addLocatorItems ()
 Add session locator.
 getTabs ($tabs_gui)
 Build tabs.
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public.
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not)
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui
 getCreationMode ()
 get creation mode
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder
 getHTML ()
 undeleteObject ()
 Get objects back from trash.
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled
 cancelDeleteObject ()
 cancel deletion of object
 removeFromSystemObject ()
 remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 saveObject ()
 save object
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g.
 isVisible ($a_ref_id, $a_type)
 viewObject ()
 list childs of current object
 deleteObject ($a_error=false)
 Display deletion confirmation screen.
 trashObject ()
 Show trash content of object.
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl.
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI.
 copyWizardHasOptions ($a_mode)
 Check if there is any modules specific option.

Static Public Member Functions

static _goto ($a_target)
 goto

Data Fields

 $lng
 $ctrl
 $tpl
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 $ilias
 $objDefinition
 $tpl
 $tree
 $lng
 $data
 $object
 $ref_id
 $obj_id
 $maxcount
 $formaction
 $return_location
 $target_frame
 $tab_target_script
 $actions
 $sub_objects
 $omit_locator = false

Protected Member Functions

 prepareOutput ()
 createRecurringSessions ()
 create recurring sessions
 membersObject ()
 Show participants table.
 initAttendanceForm ()
 show attendance list selection form
 printAttendanceListObject ()
 print attendance list
 initForm ($a_mode)
 Init Form.
 load ()
 load settings
 loadRecurrenceSettings ()
 load recurrence settings
 __toUnix ($date, $time)
 protected
 formatPath ($a_ref_id)
 format path
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 setTitleAndDescription ()
 called by prepare output
 showUpperIcon ()
 setTabs ()
 set admin tabs public
 setAdminTabs ()
 set admin tabs public
 setLocator ()
 set Locator
 omitLocator ($a_omit=true)
 addAdminLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded)
 displayEditForm ($fields)
 display edit form (usually called by editObject)
 afterUpdate ()
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g.
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g.
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu)
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste
 getTabs (&$tabs_gui)
 get tabs abstract method.
 __showButton ($a_cmd, $a_text, $a_target= '')
 hitsperpageObject ()
__initTableGUI ()
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table
 __showClipboardTable ($a_result_set, $a_from="")
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning.
 getCenterColumnHTML ()
 Get center column.
 getRightColumnHTML ()
 Display right column.
 setColumnSettings ($column_gui)
 May be overwritten in subclasses.
 checkPermission ($a_perm, $a_cmd="")

Protected Attributes

 $course_ref_id = 0
 $course_obj_id = 0
 $files = array()

Detailed Description

Constructor & Destructor Documentation

ilObjSessionGUI::__construct (   $a_data,
  $a_id,
  $a_call_by_reference,
  $a_prepare_output = true 
)

Constructor.

public

Parameters
@return

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

References $ilCtrl, $lng, and $tpl.

{
global $ilCtrl, $lng, $tpl;
$this->type = "sess";
parent::__construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
$this->lng = $lng;
$this->lng->loadLanguageModule("event");
$this->lng->loadLanguageModule('crs');
$this->lng->loadLanguageModule('trac');
$this->tpl = $tpl;
$this->ctrl = $ilCtrl;
}

Member Function Documentation

ilObjSessionGUI::__toUnix (   $date,
  $time 
)
protected

protected

Parameters
@return

Definition at line 1951 of file class.ilObjSessionGUI.php.

Referenced by load().

{
return mktime($time['h'],$time['m'],0,$date['m'],$date['d'],$date['y']);
}

+ Here is the caller graph for this function:

static ilObjSessionGUI::_goto (   $a_target)
static

goto

public

Parameters
@return

Definition at line 219 of file class.ilObjSessionGUI.php.

References $_GET, $ilErr, $lng, and exit.

{
global $ilAccess,$ilErr,$lng;
if($ilAccess->checkAccess('visible', "", $a_target))
{
$_GET["cmd"] = "infoScreen";
$_GET["ref_id"] = $a_target;
include("repository.php");
}
$ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
}
ilObjSessionGUI::addLocatorItems ( )

Add session locator.

public

Reimplemented from ilObjectGUI.

Definition at line 1989 of file class.ilObjSessionGUI.php.

References $_GET.

{
global $ilLocator;
if (is_object($this->object))
{
$ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "infoScreen"), "", $_GET["ref_id"]);
}
}
ilObjSessionGUI::addToDeskObject ( )
See Also
ilDesktopItemHandling::addToDesk()

Implements ilDesktopItemHandling.

Definition at line 236 of file class.ilObjSessionGUI.php.

References ilDesktopItemGUI\addToDesktop(), and infoScreenObject().

{
include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
$this->infoScreenObject();
}

+ Here is the call graph for this function:

ilObjSessionGUI::attendanceListObject ( )

show attendance list selection

public

Returns

Definition at line 1183 of file class.ilObjSessionGUI.php.

References $tpl, ilObjectGUI\checkPermission(), and initAttendanceForm().

{
global $tpl,$ilTabs;
$this->checkPermission('write');
$ilTabs->setTabActive('event_edit_members');
$tpl->setContent($this->form->getHTML());
}

+ Here is the call graph for this function:

ilObjSessionGUI::confirmDeleteFilesObject ( )

confirm delete files

public

Parameters
@return

Definition at line 807 of file class.ilObjSessionGUI.php.

References $_POST, $file, editObject(), and ilUtil\sendFailure().

{
$this->tabs_gui->setTabActive('edit_properties');
if(!count($_POST['file_id']))
{
ilUtil::sendFailure($this->lng->txt('select_one'));
$this->editObject();
return false;
}
include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
$c_gui = new ilConfirmationGUI();
// set confirm/cancel commands
$c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteFiles"));
$c_gui->setHeaderText($this->lng->txt("info_delete_sure"));
$c_gui->setCancel($this->lng->txt("cancel"), "edit");
$c_gui->setConfirm($this->lng->txt("confirm"), "deleteFiles");
// add items to delete
foreach($_POST["file_id"] as $file_id)
{
$file = new ilSessionFile($file_id);
if($file->getSessionId() != $this->object->getEventId())
{
ilUtil::sendFailure($this->lng->txt('select_one'));
$this->edit();
return false;
}
$c_gui->addItem("file_id[]", $file_id, $file->getFileName());
}
$this->tpl->setContent($c_gui->getHTML());
return true;
}

+ Here is the call graph for this function:

ilObjSessionGUI::createObject ( )

create new event

protected

Parameters
@return

Reimplemented from ilObjectGUI.

Definition at line 440 of file class.ilObjSessionGUI.php.

References ilObjectGUI\fillCloneTemplate(), initForm(), and initImportForm().

Referenced by saveObject().

{
if(!is_object($this->object))
{
$this->object = new ilObjSession();
}
$this->ctrl->setParameter($this,'new_type','sess');
$this->initForm('create');
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_create.html','Modules/Session');
$this->tpl->setVariable('EVENT_ADD_TABLE',$this->form->getHTML());
$this->fillCloneTemplate('DUPLICATE','sess');
$this->initImportForm("sess");
$this->tpl->setVariable("IMPORT", $this->form->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::createRecurringSessions ( )
protected

create recurring sessions

protected

Parameters
@return

Definition at line 669 of file class.ilObjSessionGUI.php.

References ilObjectGUI\$tree, ilCalendarRecurrenceCalculator\calculateDateList(), ilEventItems\getItems(), IL_CAL_UNIX, IL_CAL_YEAR, and ilEventItems\setItems().

Referenced by saveObject().

{
global $tree;
if(!$this->rec->getFrequenceType())
{
return true;
}
include_once('./Services/Calendar/classes/class.ilCalendarRecurrenceCalculator.php');
$calc = new ilCalendarRecurrenceCalculator($this->object->getFirstAppointment(),$this->rec);
$period_start = clone $this->object->getFirstAppointment()->getStart();
$period_end = clone $this->object->getFirstAppointment()->getStart();
$period_end->increment(IL_CAL_YEAR,5);
$date_list = $calc->calculateDateList($period_start,$period_end);
$period_diff = $this->object->getFirstAppointment()->getEnd()->get(IL_CAL_UNIX) -
$this->object->getFirstAppointment()->getStart()->get(IL_CAL_UNIX);
$parent_id = $tree->getParentId($this->object->getRefId());
include_once './Modules/Session/classes/class.ilEventItems.php';
$evi = new ilEventItems($this->object->getId());
$eitems = $evi->getItems();
$counter = 0;
foreach($date_list->get() as $date)
{
if(!$counter++)
{
continue;
}
$new_obj = $this->object->cloneObject($parent_id);
$new_obj->read();
$new_obj->getFirstAppointment()->setStartingTime($date->get(IL_CAL_UNIX));
$new_obj->getFirstAppointment()->setEndingTime($date->get(IL_CAL_UNIX) + $period_diff);
$new_obj->getFirstAppointment()->update();
$new_obj->update();
$new_evi = new ilEventItems($new_obj->getId());
$new_evi->setItems($eitems);
$new_evi->update();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::deleteFilesObject ( )

delete files

public

Parameters
@return

Definition at line 851 of file class.ilObjSessionGUI.php.

References $_POST, $file, editObject(), and ilUtil\sendFailure().

{
if(!count($_POST['file_id']))
{
ilUtil::sendFailure($this->lng->txt('select_one'));
$this->editObject();
return false;
}
foreach($_POST['file_id'] as $id)
{
$file = new ilSessionFile($id);
$file->delete();
}
$this->object->initFiles();
$this->editObject();
return true;
}

+ Here is the call graph for this function:

ilObjSessionGUI::editObject ( )

edit object

protected

Parameters
@return

Reimplemented from ilObjectGUI.

Definition at line 724 of file class.ilObjSessionGUI.php.

References $file, and initForm().

Referenced by confirmDeleteFilesObject(), deleteFilesObject(), and updateObject().

{
$this->tabs_gui->setTabActive('edit_properties');
$this->initForm('edit');
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_edit.html','Modules/Session');
$this->tpl->setVariable('EVENT_EDIT_TABLE',$this->form->getHTML());
if(!count($this->object->getFiles()))
{
return true;
}
$rows = array();
foreach($this->object->getFiles() as $file)
{
$table_data['id'] = $file->getFileId();
$table_data['filename'] = $file->getFileName();
$table_data['filetype'] = $file->getFileType();
$table_data['filesize'] = $file->getFileSize();
$rows[] = $table_data;
}
include_once("./Modules/Session/classes/class.ilSessionFileTableGUI.php");
$table_gui = new ilSessionFileTableGUI($this, "edit");
$table_gui->setTitle($this->lng->txt("event_files"));
$table_gui->setData($rows);
$table_gui->addCommandButton("cancel", $this->lng->txt("cancel"));
$table_gui->addMultiCommand("confirmDeleteFiles", $this->lng->txt("delete"));
$table_gui->setSelectAllCheckbox("file_id");
$this->tpl->setVariable('EVENT_FILE_TABLE',$table_gui->getHTML());
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::eventsListObject ( )

list sessions of all user

public

Parameters
@return

Definition at line 1470 of file class.ilObjSessionGUI.php.

References $_GET, $_SESSION, $course_ref_id, $ilErr, ilObjectGUI\$tree, ilObjectGUI\__showButton(), ilCourseParticipants\_getInstanceByObjId(), ilObjUser\_lookupLogin(), ilObjUser\_lookupName(), ilUtil\_sortIds(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), and ilUtil\switchColor().

{
global $ilErr,$ilAccess, $ilUser,$tree;
if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
}
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_list.html','Modules/Session');
$this->__showButton($this->ctrl->getLinkTarget($this,'exportCSV'),$this->lng->txt('event_csv_export'));
include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
include_once 'Modules/Session/classes/class.ilEventParticipants.php';
$this->tpl->addBlockfile("EVENTS_TABLE","events_table", "tpl.table.html");
$this->tpl->addBlockfile('TBL_CONTENT','tbl_content','tpl.sess_list_row.html','Modules/Session');
$members_obj = ilCourseParticipants::_getInstanceByObjId($this->object->getId());
$members = $members_obj->getParticipants();
$members = ilUtil::_sortIds($members,'usr_data','lastname','usr_id');
// Table
$tbl = new ilTableGUI();
$tbl->setTitle($this->lng->txt("event_overview"),
'icon_usr.gif',
$this->lng->txt('obj_usr'));
$this->ctrl->setParameter($this,'offset',(int) $_GET['offset']);
$course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
$events = array();
foreach($tree->getSubtree($tree->getNodeData($course_ref_id),false,'sess') as $event_id)
{
$tmp_event = ilObjectFactory::getInstanceByRefId($event_id,false);
if(!is_object($tmp_event) or $tmp_event->getType() != 'sess')
{
continue;
}
$events[] = $tmp_event;
}
$headerNames = array();
$headerVars = array();
$colWidth = array();
$headerNames[] = $this->lng->txt('name');
$headerVars[] = "name";
$colWidth[] = '20%';
for ($i = 1; $i <= count($events); $i++)
{
$headerNames[] = $i;
$headerVars[] = "event_".$i;
$colWidth[] = 80/count($events)."%";
}
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tbl->setHeaderNames($headerNames);
$tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this,'eventsList'));
$tbl->setColumnWidth($colWidth);
$tbl->setOrderColumn($_GET["sort_by"]);
$tbl->setOrderDirection($_GET["sort_order"]);
$tbl->setOffset($_GET["offset"]);
$tbl->setLimit($ilUser->getPref("hits_per_page"));
$tbl->setMaxCount(count($members));
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
$sliced_users = array_slice($members,$_GET['offset'],$_SESSION['tbl_limit']);
$tbl->disable('sort');
$tbl->render();
$counter = 0;
foreach($sliced_users as $user_id)
{
foreach($events as $event_obj)
{
$this->tpl->setCurrentBlock("eventcols");
$event_part = new ilEventParticipants($this->object->getId());
{
$this->tpl->setVariable("IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ?
ilUtil::getImagePath('icon_ok.gif') :
ilUtil::getImagePath('icon_not_ok.gif'));
$this->tpl->setVariable("PARTICIPATED", $event_part->hasParticipated($user_id) ?
$this->lng->txt('event_participated') :
$this->lng->txt('event_not_participated'));
}
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("tbl_content");
$name = ilObjUser::_lookupName($user_id);
$this->tpl->setVariable("CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
$this->tpl->setVariable("LASTNAME",$name['lastname']);
$this->tpl->setVariable("FIRSTNAME",$name['firstname']);
$this->tpl->setVariable("LOGIN",ilObjUser::_lookupLogin($user_id));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("HEAD_TXT_LEGEND", $this->lng->txt("legend"));
$this->tpl->setVariable("HEAD_TXT_DIGIT", $this->lng->txt("event_digit"));
$this->tpl->setVariable("HEAD_TXT_EVENT", $this->lng->txt("event"));
$this->tpl->setVariable("HEAD_TXT_LOCATION", $this->lng->txt("event_location"));
$this->tpl->setVariable("HEAD_TXT_DATE_TIME",$this->lng->txt("event_date_time"));
$i = 1;
foreach($events as $event_obj)
{
$this->tpl->setCurrentBlock("legend_loop");
$this->tpl->setVariable("LEGEND_CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
$this->tpl->setVariable("LEGEND_DIGIT", $i++);
$this->tpl->setVariable("LEGEND_EVENT_TITLE", $event_obj->getTitle());
$this->tpl->setVariable("LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription());
$this->tpl->setVariable("LEGEND_EVENT_LOCATION", $event_obj->getLocation());
$this->tpl->setVariable("LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString());
$this->tpl->parseCurrentBlock();
}
}

+ Here is the call graph for this function:

ilObjSessionGUI::executeCommand ( )

execute command

public

Returns

Reimplemented from ilObjectGUI.

Definition at line 62 of file class.ilObjSessionGUI.php.

References $_REQUEST, $cmd, $ilCtrl, $ret, ilObjectGUI\checkPermission(), infoScreen(), and prepareOutput().

{
global $ilUser,$ilCtrl;
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
$this->prepareOutput();
switch($next_class)
{
case "ilinfoscreengui":
$this->checkPermission("visible");
$this->infoScreen(); // forwards command
break;
case 'ilpermissiongui':
$this->tabs_gui->setTabActive('perm_settings');
include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
$perm_gui = new ilPermissionGUI($this);
$ret = $this->ctrl->forwardCommand($perm_gui);
break;
case 'ilcourseitemadministrationgui':
include_once 'Modules/Course/classes/class.ilCourseItemAdministrationGUI.php';
$this->tabs_gui->clearSubTabs();
$this->ctrl->setReturn($this,'info');
$item_adm_gui = new ilCourseItemAdministrationGUI($this->object,(int) $_REQUEST['item_id']);
$this->ctrl->forwardCommand($item_adm_gui);
break;
case 'ilobjectcopygui':
include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
$cp = new ilObjectCopyGUI($this);
$cp->setType('sess');
$this->ctrl->forwardCommand($cp);
break;
case "ilexportgui":
// $this->prepareOutput();
$this->tabs_gui->setTabActive("export");
include_once("./Services/Export/classes/class.ilExportGUI.php");
$exp_gui = new ilExportGUI($this);
$exp_gui->addFormat("xml");
$ret = $this->ctrl->forwardCommand($exp_gui);
// $this->tpl->show();
break;
default:
if(!$cmd)
{
$cmd = "infoScreen";
}
$cmd .= "Object";
if ($cmd != "infoScreenObject")
{
$this->checkPermission("read");
}
else
{
$this->checkPermission("visible");
}
$this->$cmd();
break;
}
return true;
}

+ Here is the call graph for this function:

ilObjSessionGUI::formatPath (   $a_ref_id)
protected

format path

protected

Parameters
intref_id

Definition at line 1962 of file class.ilObjSessionGUI.php.

References $path, and ilObjectGUI\$tree.

Referenced by materialsObject().

{
global $tree;
$path = $this->lng->txt('path') . ': ';
$first = true;
foreach($tree->getPathFull($a_ref_id,$this->course_ref_id) as $node)
{
if($node['ref_id'] != $a_ref_id)
{
if(!$first)
{
$path .= ' -> ';
}
$first = false;
$path .= $node['title'];
}
}
return $path;
}

+ Here is the caller graph for this function:

ilObjSessionGUI::getTabs (   $tabs_gui)

Build tabs.

public

Definition at line 2005 of file class.ilObjSessionGUI.php.

References ilObjectGUI\$tree.

{
global $ilAccess,$ilTabs,$tree;
$parent_id = $tree->getParentId($this->object->getRefId());
$tabs_gui->setBackTarget($this->lng->txt('back_to_crs_content'),'repository.php?ref_id='.$parent_id);
$tabs_gui->addTarget('info_short',
$this->ctrl->getLinkTarget($this,'infoScreen'));
if($ilAccess->checkAccess('write','',$this->object->getRefId()))
{
$tabs_gui->addTarget('edit_properties',
$this->ctrl->getLinkTarget($this,'edit'));
$tabs_gui->addTarget('crs_materials',
$this->ctrl->getLinkTarget($this,'materials'));
$tabs_gui->addTarget('event_edit_members',
$this->ctrl->getLinkTarget($this,'members'));
}
// export
if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
{
$ilTabs->addTarget("export",
$this->ctrl->getLinkTargetByClass("ilexportgui", ""), "", "ilexportgui");
}
// edit permissions
if ($ilAccess->checkAccess('edit_permission', "", $this->object->getRefId()))
{
$tabs_gui->addTarget("perm_settings",
$this->ctrl->getLinkTargetByClass("ilpermissiongui", "perm"), array("perm","info","owner"), 'ilpermissiongui');
}
}
ilObjSessionGUI::handleFileUpload ( )

Definition at line 613 of file class.ilObjSessionGUI.php.

References $file, ilObjectGUI\$tree, ilEventItems\getItems(), ilEventItems\setItems(), and ilUtil\stripSlashes().

Referenced by saveObject(), and updateObject().

{
global $tree;
include_once './Modules/Session/classes/class.ilEventItems.php';
$ev = new ilEventItems($this->object->getId());
$items = $ev->getItems();
$counter = 0;
while(true)
{
if(!isset($_FILES['files']['name'][$counter]))
{
break;
}
if(!strlen($_FILES['files']['name'][$counter]))
{
$counter++;
continue;
}
include_once './Modules/File/classes/class.ilObjFile.php';
$file = new ilObjFile();
$file->setTitle(ilUtil::stripSlashes($_FILES['files']['name'][$counter]));
$file->setDescription('');
$file->setFileName(ilUtil::stripSlashes($_FILES['files']['name'][$counter]));
$file->setFileType($_FILES['files']['type'][$counter]);
$file->setFileSize($_FILES['files']['size'][$counter]);
$file->create();
$new_ref_id = $file->createReference();
$file->putInTree($tree->getParentId($this->object->getRefId()));
$file->setPermissions($tree->getParentId($this->object->getRefId()));
$file->createDirectory();
$file->getUploadFile(
$_FILES['files']['tmp_name'][$counter],
$_FILES['files']['name'][$counter]
);
$items[] = $new_ref_id;
$counter++;
}
$ev->setItems($items);
$ev->update();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::importFileObject ( )

Import.

public

Definition at line 492 of file class.ilObjSessionGUI.php.

References $_GET, $_POST, $lng, ilObjectGUI\$objDefinition, $tpl, ilObjectFactory\getInstanceByObjId(), initImportForm(), and ilUtil\sendSuccess().

{
global $rbacsystem, $objDefinition, $tpl, $lng;
$new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"];
// create permission is already checked in createObject. This check here is done to prevent hacking attempts
if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $new_type))
{
$this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->MESSAGE);
}
$this->ctrl->setParameter($this, "new_type", $new_type);
$this->initImportForm($new_type);
if ($this->form->checkInput())
{
// todo: make some check on manifest file
include_once("./Services/Export/classes/class.ilImport.php");
$imp = new ilImport((int) $_GET['ref_id']);
$new_id = $imp->importObject($newObj, $_FILES["importfile"]["tmp_name"],
$_FILES["importfile"]["name"], $new_type);
// put new object id into tree
if ($new_id > 0)
{
$newObj->createReference();
$newObj->putInTree($_GET["ref_id"]);
$newObj->setPermissions($_GET["ref_id"]);
ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
//$this->afterSave($newObj);
$this->ctrl->returnToParent($this);
}
return;
}
$this->form->setValuesByPost();
$tpl->setContent($this->form->getHtml());
}

+ Here is the call graph for this function:

ilObjSessionGUI::infoScreen ( )

info screen

protected

Parameters
@return

Definition at line 298 of file class.ilObjSessionGUI.php.

References $_SESSION, $ilCtrl, $location, ilObjectGUI\$obj_id, ilObjectGUI\$tree, ilContainerSorting\_getInstance(), ilCourseItems\_getItem(), ilEventParticipants\_isRegistered(), ilObject\_lookupDescription(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilChangeEvent\_recordReadEvent(), ilObjectGUI\checkPermission(), ilSessionObjectListGUIFactory\factory(), modifyItemGUI(), and ilUtil\sendInfo().

Referenced by executeCommand(), and infoScreenObject().

{
global $ilAccess, $ilUser,$ilCtrl,$tree,$ilToolbar;
$this->checkPermission('visible');
$this->tabs_gui->setTabActive('info_short');
$appointment_obj = $this->object->getFirstAppointment();
include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
$info = new ilInfoScreenGUI($this);
if($this->object->enabledRegistration())
{
include_once './Modules/Session/classes/class.ilEventParticipants.php';
if(ilEventParticipants::_isRegistered($ilUser->getId(), $this->object->getId()))
{
$ilToolbar->addFormButton($this->lng->txt('event_unregister'),'join');
}
else
{
if(!isset($_SESSION['sess_hide_info']))
{
ilUtil::sendInfo($this->lng->txt('sess_join_info'));
}
$ilToolbar->addFormButton($this->lng->txt('join_session'),'join');
}
$ilToolbar->setFormAction($this->ctrl->getFormAction($this));
}
// Session information
if(strlen($this->object->getLocation()) or strlen($this->object->getDetails()))
{
$info->addSection($this->lng->txt('event_section_information'));
}
if(strlen($location = $this->object->getLocation()))
{
$info->addProperty($this->lng->txt('event_location'),
nl2br($this->object->getLocation()));
}
if(strlen($this->object->getDetails()))
{
$info->addProperty($this->lng->txt('event_details_workflow'),
nl2br($this->object->getDetails()));
}
// Tutor information
if($this->object->hasTutorSettings())
{
$info->addSection($this->lng->txt('event_tutor_data'));
if(strlen($fullname = $this->object->getName()))
{
$info->addProperty($this->lng->txt('event_lecturer'),
$fullname);
}
if(strlen($email = $this->object->getEmail()))
{
$info->addProperty($this->lng->txt('tutor_email'),
$email);
}
if(strlen($phone = $this->object->getPhone()))
{
$info->addProperty($this->lng->txt('tutor_phone'),
$phone);
}
}
include_once './Modules/Session/classes/class.ilSessionObjectListGUIFactory.php';
include_once './Modules/Session/classes/class.ilEventItems.php';
include_once './Modules/Course/classes/class.ilCourseItems.php';
$html = '';
$eventItems = new ilEventItems($this->object->getId());
$parent_id = $tree->getParentId($this->object->getRefId());
$items = new ilCourseItems($parent_id);
$eventItems = $items->getItemsByEvent($this->object->getId());
include_once './Services/Container/classes/class.ilContainerSorting.php';
ilObject::_lookupObjId($parent_id))->sortSubItems(
'sess',
$this->object->getId(),
$eventItems
);
foreach($eventItems as $item)
{
$item_id = $item['ref_id'];
$list_gui->setContainerObject($this);
$this->modifyItemGUI($list_gui, ilCourseItems::_getItem($item_id),false);
$html .= $list_gui->getListItemHTML(
$item_id,
);
}
if(strlen($html))
{
$info->addSection($this->lng->txt('event_materials'));
$info->addProperty(
'&nbsp;',
$html);
}
// forward the command
$this->ctrl->forwardCommand($info);
// store read event
require_once 'Services/Tracking/classes/class.ilChangeEvent.php';
ilChangeEvent::_recordReadEvent($this->object->getType(), $this->object->getRefId(),
$this->object->getId(), $ilUser->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::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 259 of file class.ilObjSessionGUI.php.

References infoScreen().

Referenced by addToDeskObject(), and removeFromDeskObject().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::initAttendanceForm ( )
protected

show attendance list selection form

protected

Returns

Definition at line 1202 of file class.ilObjSessionGUI.php.

References $comment, and ilCheckboxInputGUI\setOptionTitle().

Referenced by attendanceListObject().

{
include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
$this->form = new ilPropertyFormGUI();
$this->form->setFormAction($this->ctrl->getFormAction($this));
$this->form->setTarget('_blank');
$this->form->setTitle($this->lng->txt('sess_gen_attendance_list'));
$mark = new ilCheckboxInputGUI($this->lng->txt('trac_mark'),'show_mark');
$mark->setOptionTitle($this->lng->txt('sess_gen_mark_title'));
$mark->setValue(1);
$this->form->addItem($mark);
$comment = new ilCheckboxInputGUI($this->lng->txt('trac_comment'),'show_comment');
$comment->setOptionTitle($this->lng->txt('sess_gen_comment'));
$comment->setValue(1);
$this->form->addItem($comment);
$signature = new ilCheckboxInputGUI($this->lng->txt('sess_signature'),'show_signature');
$signature->setOptionTitle($this->lng->txt('sess_gen_signature'));
$signature->setValue(1);
$this->form->addItem($signature);
$part = new ilFormSectionHeaderGUI();
$part->setTitle($this->lng->txt('event_participant_selection'));
$this->form->addItem($part);
// Admins
$admin = new ilCheckboxInputGUI($this->lng->txt('event_tbl_admins'),'show_admins');
$admin->setOptionTitle($this->lng->txt('event_inc_admins'));
$admin->setValue(1);
$this->form->addItem($admin);
// Tutors
$tutor = new ilCheckboxInputGUI($this->lng->txt('event_tbl_tutors'),'show_tutors');
$tutor->setOptionTitle($this->lng->txt('event_inc_tutors'));
$tutor->setValue(1);
$this->form->addItem($tutor);
// Members
$member = new ilCheckboxInputGUI($this->lng->txt('event_tbl_members'),'show_members');
$member->setOptionTitle($this->lng->txt('event_inc_members'));
$member->setValue(1);
$member->setChecked(true);
$this->form->addItem($member);
$this->form->addCommandButton('printAttendanceList',$this->lng->txt('sess_print_attendance_list'));
#$this->form->addCommandButton('members', $this->lng->txt('cancel'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::initForm (   $a_mode)
protected

Init Form.

protected

Definition at line 1598 of file class.ilObjSessionGUI.php.

References $files, $section, $title, ilRecurrenceInputGUI\allowUnlimitedRecurrences(), ilUtil\getImagePath(), ilYuiUtil\initDomEvent(), ilCheckboxInputGUI\setChecked(), ilDateDurationInputGUI\setStartText(), ilTextInputGUI\setValue(), and ilTextAreaInputGUI\setValue().

Referenced by createObject(), editObject(), saveObject(), and updateObject().

{
global $ilUser;
if(is_object($this->form))
{
return true;
}
$this->lng->loadLanguageModule('dateplaner');
include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
include_once('./Services/YUI/classes/class.ilYuiUtil.php');
$this->form = new ilPropertyFormGUI();
$this->form->setMultipart(true);
$this->form->setTableWidth('600px');
$this->form->setFormAction($this->ctrl->getFormAction($this));
$this->form->setMultipart(true);
/*
$full = new ilCheckboxInputGUI('','fulltime');
$full->setChecked($this->object->getFirstAppointment()->enabledFulltime() ? true : false);
$full->setOptionTitle($this->lng->txt('event_fulltime_info'));
$full->setAdditionalAttributes('onchange="ilToggleSessionTime(this);"');
#$this->form->addItem($full);
*/
$this->lng->loadLanguageModule('dateplaner');
include_once './Services/Form/classes/class.ilDateDurationInputGUI.php';
#$this->tpl->addJavaScript('./Modules/Session/js/toggle_session_time.js');
$this->tpl->addJavaScript('./Services/Form/js/date_duration.js');
$dur = new ilDateDurationInputGUI($this->lng->txt('cal_fullday'),'event');
$dur->setStartText($this->lng->txt('event_start_date'));
$dur->setEndText($this->lng->txt('event_end_date'));
$dur->enableToggleFullTime(
$this->lng->txt('event_fulltime_info'),
$this->object->getFirstAppointment()->enabledFulltime() ? true : false
);
$dur->setMinuteStepSize(5);
$dur->setShowTime(true);
$dur->setShowDate(true);
$dur->setStart($this->object->getFirstAppointment()->getStart());
$dur->setEnd($this->object->getFirstAppointment()->getEnd());
$this->form->addItem($dur);
/*
// start
$start = new ilDateTimeInputGUI($this->lng->txt('event_start_date'),'start');
$start->setMinuteStepSize(5);
$start->setDate($this->object->getFirstAppointment()->getStart());
$start->setShowTime(true);
#$this->form->addItem($start);
// end
$end = new ilDateTimeInputGUI($this->lng->txt('event_end_date'),'end');
$end->setMinuteStepSize(5);
$end->setDate($this->object->getFirstAppointment()->getEnd());
$end->setShowTime(true);
#$this->form->addItem($end);
*/
// Recurrence
if($a_mode == 'create')
{
if(!is_object($this->rec))
{
include_once('./Modules/Session/classes/class.ilEventRecurrence.php');
$this->rec = new ilEventRecurrence();
}
include_once('./Services/Calendar/classes/Form/class.ilRecurrenceInputGUI.php');
$rec = new ilRecurrenceInputGUI($this->lng->txt('cal_recurrences'),'frequence');
$rec->setRecurrence($this->rec);
$this->form->addItem($rec);
}
$section->setTitle($this->lng->txt('event_section_information'));
$this->form->addItem($section);
// title
$title = new ilTextInputGUI($this->lng->txt('event_title'),'title');
$title->setValue($this->object->getTitle());
$title->setSize(50);
$title->setMaxLength(70);
$this->form->addItem($title);
// desc
$desc = new ilTextAreaInputGUI($this->lng->txt('event_desc'),'desc');
$desc->setValue($this->object->getLongDescription());
$desc->setRows(4);
$desc->setCols(50);
$this->form->addItem($desc);
// location
$desc = new ilTextAreaInputGUI($this->lng->txt('event_location'),'location');
$desc->setValue($this->object->getLocation());
$desc->setRows(4);
$desc->setCols(50);
$this->form->addItem($desc);
// workflow
$details = new ilTextAreaInputGUI($this->lng->txt('event_details_workflow'),'details');
$details->setValue($this->object->getDetails());
$details->setCols(50);
$details->setRows(4);
$this->form->addItem($details);
// section
$section->setTitle($this->lng->txt('event_tutor_data'));
$this->form->addItem($section);
// name
$tutor_name = new ilTextInputGUI($this->lng->txt('tutor_name'),'tutor_name');
$tutor_name->setValue($this->object->getName());
$tutor_name->setSize(20);
$tutor_name->setMaxLength(70);
$this->form->addItem($tutor_name);
// email
$tutor_email = new ilTextInputGUI($this->lng->txt('tutor_email'),'tutor_email');
$tutor_email->setValue($this->object->getEmail());
$tutor_email->setSize(20);
$tutor_email->setMaxLength(70);
$this->form->addItem($tutor_email);
// phone
$tutor_phone = new ilTextInputGUI($this->lng->txt('tutor_phone'),'tutor_phone');
$tutor_phone->setValue($this->object->getPhone());
$tutor_phone->setSize(20);
$tutor_phone->setMaxLength(70);
$this->form->addItem($tutor_phone);
$section->setTitle($this->lng->txt('crs_further_settings'));
$this->form->addItem($section);
// registration
$reg = new ilCheckboxInputGUI($this->lng->txt('event_registration'),'registration');
$reg->setChecked($this->object->enabledRegistration() ? true : false);
$reg->setOptionTitle($this->lng->txt('event_registration_info'));
$this->form->addItem($reg);
$section->setTitle($this->lng->txt('event_assign_files'));
$this->form->addItem($section);
$files = new ilFileWizardInputGUI($this->lng->txt('objs_file'),'files');
$files->setFilenames(array(0 => ''));
$this->form->addItem($files);
switch($a_mode)
{
case 'create':
$this->form->setTitle($this->lng->txt('event_table_create'));
$this->form->setTitleIcon(ilUtil::getImagePath('icon_event.gif'));
$this->form->addCommandButton('save',$this->lng->txt('event_btn_add'));
$this->form->addCommandButton('saveAndAssignMaterials',$this->lng->txt('event_btn_add_edit'));
$this->form->addCommandButton('cancel',$this->lng->txt('cancel'));
return true;
case 'edit':
$this->form->setTitle($this->lng->txt('event_table_update'));
$this->form->setTitleIcon(ilUtil::getImagePath('icon_event.gif'));
$this->form->addCommandButton('update',$this->lng->txt('save'));
$this->form->addCommandButton('cancel',$this->lng->txt('cancel'));
return true;
}
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::initImportForm (   $a_new_type = "")

Init object import form.

Parameters
stringnew type

Definition at line 462 of file class.ilObjSessionGUI.php.

References $ilCtrl, $lng, and ilFileInputGUI\setSuffixes().

Referenced by createObject(), and importFileObject().

{
global $lng, $ilCtrl;
$lng->loadLanguageModule("sess");
include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
$this->form = new ilPropertyFormGUI();
$this->form->setTableWidth('600px');
$this->form->setTarget("_top");
// Import file
include_once("./Services/Form/classes/class.ilFileInputGUI.php");
$fi = new ilFileInputGUI($lng->txt("import_file"), "importfile");
$fi->setSuffixes(array("zip"));
$fi->setRequired(true);
$this->form->addItem($fi);
$this->form->addCommandButton("importFile", $lng->txt("import"));
$this->form->addCommandButton("cancel", $lng->txt("cancel"));
$this->form->setTitle($lng->txt($a_new_type."_import"));
$this->form->setFormAction($ilCtrl->getFormAction($this));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::joinObject ( )

Called from info screen.

Returns

Definition at line 171 of file class.ilObjSessionGUI.php.

References $_SESSION, ilEventParticipants\_isRegistered(), ilEventParticipants\_register(), ilEventParticipants\_unregister(), ilObjectGUI\checkPermission(), and ilUtil\sendSuccess().

{
global $ilUser;
$this->checkPermission('read');
include_once './Modules/Session/classes/class.ilEventParticipants.php';
if(ilEventParticipants::_isRegistered($ilUser->getId(),$this->object->getId()))
{
$_SESSION['sess_hide_info'] = true;
ilEventParticipants::_unregister($ilUser->getId(),$this->object->getId());
ilUtil::sendSuccess($this->lng->txt('event_unregistered'),true);
}
else
{
ilEventParticipants::_register($ilUser->getId(),$this->object->getId());
ilUtil::sendSuccess($this->lng->txt('event_registered'),true);
}
$this->ctrl->redirect($this,'infoScreen');
}

+ Here is the call graph for this function:

ilObjSessionGUI::load ( )
protected

load settings

protected

Parameters
@return

Definition at line 1786 of file class.ilObjSessionGUI.php.

References $_POST, __toUnix(), IL_CAL_DATE, IL_CAL_FKT_GETDATE, and ilUtil\stripSlashes().

Referenced by saveObject(), and updateObject().

{
global $ilUser;
$this->object->getFirstAppointment()->setStartingTime($this->__toUnix($_POST['event']['start']['date'],$_POST['event']['start']['time']));
$this->object->getFirstAppointment()->setEndingTime($this->__toUnix($_POST['event']['end']['date'],$_POST['event']['end']['time']));
$this->object->getFirstAppointment()->toggleFullTime((bool) $_POST['event']['fulltime']);
include_once('./Services/Calendar/classes/class.ilDate.php');
if($this->object->getFirstAppointment()->isFullday())
{
$start = new ilDate($_POST['event']['start']['date']['y'].'-'.$_POST['event']['start']['date']['m'].'-'.$_POST['event']['start']['date']['d'],
$this->object->getFirstAppointment()->setStart($start);
$end = new ilDate($_POST['event']['end']['date']['y'].'-'.$_POST['event']['end']['date']['m'].'-'.$_POST['event']['end']['date']['d'],
$this->object->getFirstAppointment()->setEnd($end);
}
else
{
$start_dt['year'] = (int) $_POST['event']['start']['date']['y'];
$start_dt['mon'] = (int) $_POST['event']['start']['date']['m'];
$start_dt['mday'] = (int) $_POST['event']['start']['date']['d'];
$start_dt['hours'] = (int) $_POST['event']['start']['time']['h'];
$start_dt['minutes'] = (int) $_POST['event']['start']['time']['m'];
$start = new ilDateTime($start_dt,IL_CAL_FKT_GETDATE,$ilUser->getTimeZone());
$this->object->getFirstAppointment()->setStart($start);
$end_dt['year'] = (int) $_POST['event']['end']['date']['y'];
$end_dt['mon'] = (int) $_POST['event']['end']['date']['m'];
$end_dt['mday'] = (int) $_POST['event']['end']['date']['d'];
$end_dt['hours'] = (int) $_POST['event']['end']['time']['h'];
$end_dt['minutes'] = (int) $_POST['event']['end']['time']['m'];
$end = new ilDateTime($end_dt,IL_CAL_FKT_GETDATE,$ilUser->getTimeZone());
$this->object->getFirstAppointment()->setEnd($end);
}
$this->object->setTitle(ilUtil::stripSlashes($_POST['title']));
$this->object->setDescription(ilUtil::stripSlashes($_POST['desc']));
$this->object->setLocation(ilUtil::stripSlashes($_POST['location']));
$this->object->setName(ilUtil::stripSlashes($_POST['tutor_name']));
$this->object->setPhone(ilUtil::stripSlashes($_POST['tutor_phone']));
$this->object->setEmail(ilUtil::stripSlashes($_POST['tutor_email']));
$this->object->setDetails(ilUtil::stripSlashes($_POST['details']));
$this->object->enableRegistration((int) $_POST['registration']);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::loadRecurrenceSettings ( )
protected

load recurrence settings

protected

Returns

Definition at line 1841 of file class.ilObjSessionGUI.php.

References $_POST, IL_CAL_FKT_GETDATE, IL_CAL_FREQ_DAILY, IL_CAL_FREQ_MONTHLY, IL_CAL_FREQ_WEEKLY, IL_CAL_FREQ_YEARLY, and ilUtil\stripSlashes().

Referenced by saveObject().

{
include_once('./Modules/Session/classes/class.ilSessionRecurrence.php');
$this->rec = new ilSessionRecurrence();
switch($_POST['frequence'])
{
$this->rec->setFrequenceType($_POST['frequence']);
$this->rec->setInterval((int) $_POST['count_DAILY']);
break;
$this->rec->setFrequenceType($_POST['frequence']);
$this->rec->setInterval((int) $_POST['count_WEEKLY']);
if(is_array($_POST['byday_WEEKLY']))
{
$this->rec->setBYDAY(ilUtil::stripSlashes(implode(',',$_POST['byday_WEEKLY'])));
}
break;
$this->rec->setFrequenceType($_POST['frequence']);
$this->rec->setInterval((int) $_POST['count_MONTHLY']);
switch((int) $_POST['subtype_MONTHLY'])
{
case 0:
// nothing to do;
break;
case 1:
switch((int) $_POST['monthly_byday_day'])
{
case 8:
// Weekday
$this->rec->setBYSETPOS((int) $_POST['monthly_byday_num']);
$this->rec->setBYDAY('MO,TU,WE,TH,FR');
break;
case 9:
// Day of month
$this->rec->setBYMONTHDAY((int) $_POST['monthly_byday_num']);
break;
default:
$this->rec->setBYDAY((int) $_POST['monthly_byday_num'].$_POST['monthly_byday_day']);
break;
}
break;
case 2:
$this->rec->setBYMONTHDAY((int) $_POST['monthly_bymonthday']);
break;
}
break;
$this->rec->setFrequenceType($_POST['frequence']);
$this->rec->setInterval((int) $_POST['count_YEARLY']);
switch((int) $_POST['subtype_YEARLY'])
{
case 0:
// nothing to do;
break;
case 1:
$this->rec->setBYMONTH((int) $_POST['yearly_bymonth_byday']);
$this->rec->setBYDAY((int) $_POST['yearly_byday_num'].$_POST['yearly_byday']);
break;
case 2:
$this->rec->setBYMONTH((int) $_POST['yearly_bymonth_by_monthday']);
$this->rec->setBYMONTHDAY((int) $_POST['yearly_bymonthday']);
break;
}
break;
}
// UNTIL
switch((int) $_POST['until_type'])
{
case 1:
$this->rec->setFrequenceUntilDate(null);
// nothing to do
break;
case 2:
$this->rec->setFrequenceUntilDate(null);
$this->rec->setFrequenceUntilCount((int) $_POST['count']);
break;
case 3:
$end_dt['year'] = (int) $_POST['until_end']['date']['y'];
$end_dt['mon'] = (int) $_POST['until_end']['date']['m'];
$end_dt['mday'] = (int) $_POST['until_end']['date']['d'];
$this->rec->setFrequenceUntilCount(0);
$this->rec->setFrequenceUntilDate(new ilDate($end_dt,IL_CAL_FKT_GETDATE,$this->timezone));
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::materialsObject ( )

show material assignment

protected

Parameters
@return

Definition at line 876 of file class.ilObjSessionGUI.php.

References ilObjectGUI\$objDefinition, ilObjectGUI\$tree, formatPath(), ilUtil\formCheckbox(), ilUtil\getImagePath(), ilEventItems\getItems(), ilUtil\sendFailure(), and ilUtil\switchColor().

Referenced by saveMaterialsObject().

{
$this->tabs_gui->setTabActive('crs_materials');
include_once 'Modules/Session/classes/class.ilEventItems.php';
$this->event_items = new ilEventItems($this->object->getId());
$items = $this->event_items->getItems();
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_materials.html','Modules/Session');
#$this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this,'materials'));
$this->tpl->setVariable("COLL_TITLE_IMG",ilUtil::getImagePath('icon_sess.gif'));
$this->tpl->setVariable("COLL_TITLE_IMG_ALT",$this->lng->txt('events'));
$this->tpl->setVariable("TABLE_TITLE",$this->lng->txt('event_assign_materials_table'));
$this->tpl->setVariable("TABLE_INFO",$this->lng->txt('event_assign_materials_info'));
$this->course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
if(!$this->course_ref_id)
{
ilUtil::sendFailure('No course object found. Aborting');
return true;
}
$nodes = $tree->getSubTree($tree->getNodeData($this->course_ref_id));
$counter = 1;
foreach($nodes as $node)
{
// No side blocks here
if ($objDefinition->isSideBlock($node['type']) or $node['type'] == 'sess')
{
continue;
}
if($node['type'] == 'rolf')
{
continue;
}
if($counter++ == 1)
{
continue;
}
$this->tpl->setCurrentBlock("material_row");
$this->tpl->setVariable('TYPE_IMG',ilUtil::getImagePath('icon_'.$node['type'].'_s.gif'));
$this->tpl->setVariable('IMG_ALT',$this->lng->txt('obj_'.$node['type']));
$this->tpl->setVariable("ROW_CLASS",ilUtil::switchColor($counter,'tblrow1','tblrow2'));
$this->tpl->setVariable("CHECK_COLL",ilUtil::formCheckbox(in_array($node['ref_id'],$items) ? 1 : 0,
'items[]',$node['ref_id']));
$this->tpl->setVariable("COLL_TITLE",$node['title']);
if(strlen($node['description']))
{
$this->tpl->setVariable("COLL_DESC",$node['description']);
}
$this->tpl->setVariable("ASSIGNED_IMG_OK",in_array($node['ref_id'],$items) ?
ilUtil::getImagePath('icon_ok.gif') :
ilUtil::getImagePath('icon_not_ok.gif'));
$this->tpl->setVariable("ASSIGNED_STATUS",$this->lng->txt('event_material_assigned'));
$this->tpl->setVariable("COLL_PATH",$this->formatPath($node['ref_id']));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("SELECT_ROW",ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
$this->tpl->setVariable("SELECT_ALL",$this->lng->txt('select_all'));
$this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath('arrow_downright.gif'));
$this->tpl->setVariable("BTN_SAVE",$this->lng->txt('save'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::membersObject ( )
protected

Show participants table.

Returns
void

Definition at line 969 of file class.ilObjSessionGUI.php.

References ilObjectGUI\$tree, ilCourseParticipants\_getInstanceByObjId(), ilObject\_lookupObjId(), ilObjectGUI\checkPermission(), ilUtil\getImagePath(), ilUtil\sendFailure(), setShowHidePrefs(), ilSessionParticipantsTableGUI\TYPE_ADMIN, ilSessionParticipantsTableGUI\TYPE_MEMBER, and ilSessionParticipantsTableGUI\TYPE_TUTOR.

Referenced by updateMembersObject().

{
global $tree,$ilUser;
$this->checkPermission('write');
$this->tabs_gui->setTabActive('event_edit_members');
$this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.sess_members.html', 'Modules/Session');
include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
$toolbar = new ilToolbarGUI();
$toolbar->addButton(
$this->lng->txt('print'),
$this->ctrl->getLinkTarget($this,'printViewMembers'),
'_blank');
$toolbar->addButton($this->lng->txt('sess_gen_attendance_list'),
$this->ctrl->getLinkTarget($this,'attendanceList'));
$this->tpl->setVariable('ACTION_BUTTONS',$toolbar->getHTML());
$this->course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
$this->course_obj_id = ilObject::_lookupObjId($this->course_ref_id);
if(!$this->course_ref_id)
{
ilUtil::sendFailure('No course object found. Aborting');
return true;
}
include_once './Modules/Course/classes/class.ilCourseParticipants.php';
include_once './Modules/Session/classes/class.ilEventParticipants.php';
$members_obj = ilCourseParticipants::_getInstanceByObjId($this->course_obj_id);
$event_part = new ilEventParticipants($this->object->getId());
// Save hide/show table settings
$this->setShowHidePrefs();
// Admins
if(count($admins = $members_obj->getAdmins()))
{
include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
if($ilUser->getPref('sess_admin_hide'))
{
$this->ctrl->setParameter($this,'admin_hide',0);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('show'),
'',
ilUtil::getImagePath('edit_add.png'));
$this->ctrl->clearParameters($this);
}
else
{
$this->ctrl->setParameter($this,'admin_hide',1);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('hide'),
'',
ilUtil::getImagePath('edit_remove.png'));
$this->ctrl->clearParameters($this);
}
$table->addCommandButton('updateMembers',$this->lng->txt('save'));
$table->setTitle($this->lng->txt('event_tbl_admins'),'icon_usr.gif',$this->lng->txt('event_tbl_admins'));
$table->enableRegistration($this->object->enabledRegistration());
$table->setParticipants($admins);
$table->parse();
$this->tpl->setVariable('ADMINS',$table->getHTML());
}
// Tutors
if(count($tutors = $members_obj->getTutors()))
{
include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
if($ilUser->getPref('sess_tutor_hide'))
{
$this->ctrl->setParameter($this,'tutor_hide',0);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('show'),
'',
ilUtil::getImagePath('edit_add.png'));
$this->ctrl->clearParameters($this);
}
else
{
$this->ctrl->setParameter($this,'tutor_hide',1);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('hide'),
'',
ilUtil::getImagePath('edit_remove.png'));
$this->ctrl->clearParameters($this);
}
$table->addCommandButton('updateMembers',$this->lng->txt('save'));
$table->setTitle($this->lng->txt('event_tbl_tutors'),'icon_usr.gif',$this->lng->txt('event_tbl_admins'));
$table->enableRegistration($this->object->enabledRegistration());
$table->setParticipants($tutors);
$table->parse();
$this->tpl->setVariable('TUTORS',$table->getHTML());
}
// Members
if(count($members = $members_obj->getMembers()))
{
include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
if($ilUser->getPref('sess_member_hide'))
{
$this->ctrl->setParameter($this,'member_hide',0);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('show'),
'',
ilUtil::getImagePath('edit_add.png'));
$this->ctrl->clearParameters($this);
}
else
{
$this->ctrl->setParameter($this,'member_hide',1);
$table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
$this->lng->txt('hide'),
'',
ilUtil::getImagePath('edit_remove.png'));
$this->ctrl->clearParameters($this);
}
$table->addCommandButton('updateMembers',$this->lng->txt('save'));
$table->setTitle($this->lng->txt('event_tbl_members'),'icon_usr.gif',$this->lng->txt('event_tbl_admins'));
$table->enableRegistration($this->object->enabledRegistration());
$table->setParticipants($members);
$table->parse();
$this->tpl->setVariable('MEMBERS',$table->getHTML());
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::modifyItemGUI (   $a_item_list_gui,
  $a_item_data,
  $a_show_path 
)

Modify Item ListGUI for presentation in container.

Definition at line 269 of file class.ilObjSessionGUI.php.

References $course_obj_id, $course_ref_id, ilObjectGUI\$tree, ilObjCourse\_lookupAboStatus(), ilObject\_lookupObjId(), and ilObjCourseGUI\_modifyItemGUI().

Referenced by infoScreen().

{
global $tree;
// if folder is in a course, modify item list gui according to course requirements
if ($course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs'))
{
include_once("./Modules/Course/classes/class.ilObjCourse.php");
include_once("./Modules/Course/classes/class.ilObjCourseGUI.php");
$a_item_list_gui,
get_class($this),
$a_item_data,
$a_show_path,
$this->object->getRefId());
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::prepareOutput ( )
protected
See Also
ilObjectGUI::prepareOutput()

Reimplemented from ilObjectGUI.

Definition at line 135 of file class.ilObjSessionGUI.php.

References $title, and ilObjectGUI\getCreationMode().

Referenced by executeCommand().

{
if(!$this->getCreationMode())
{
$title = strlen($this->object->getTitle()) ? (': '.$this->object->getTitle()) : '';
include_once './Modules/Session/classes/class.ilSessionAppointment.php';
$this->tpl->setTitle(
$this->object->getFirstAppointment()->appointmentToString().$title);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjSessionGUI::printAttendanceListObject ( )
protected

print attendance list

protected

Definition at line 1259 of file class.ilObjSessionGUI.php.

References $_POST, $ilErr, $tpl, ilObjectGUI\$tree, ilCourseParticipants\_getInstanceByObjId(), ilObjUser\_lookupLogin(), ilObjUser\_lookupName(), ilObject\_lookupObjId(), ilUtil\_sortIds(), ilObjectGUI\checkPermission(), exit, ilDatePresentation\formatPeriod(), ilUtil\getStyleSheetLocation(), ilUtil\sendFailure(), and ilDatePresentation\setUseRelativeDates().

{
global $ilErr,$ilAccess,$tree;
include_once 'Modules/Session/classes/class.ilEventParticipants.php';
include_once('./Modules/Course/classes/class.ilCourseParticipants.php');
$this->checkPermission('write');
$this->course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
$this->course_obj_id = ilObject::_lookupObjId($this->course_ref_id);
if(!$this->course_ref_id)
{
ilUtil::sendFailure('No course object found. Aborting');
return true;
}
$members_obj = ilCourseParticipants::_getInstanceByObjId($this->course_obj_id);
$event_app = $this->object->getFirstAppointment();
$event_part = new ilEventParticipants($this->object->getId());
$this->tpl = new ilTemplate('tpl.main.html',true,true);
// load style sheet depending on user's settings
$location_stylesheet = ilUtil::getStyleSheetLocation();
$this->tpl->setVariable("LOCATION_STYLESHEET",$location_stylesheet);
$tpl = new ilTemplate('tpl.sess_attendance_list_print.html',true,true,'Modules/Session');
$tpl->setVariable("ATTENDANCE_LIST",$this->lng->txt('sess_attendance_list'));
$tpl->setVariable("EVENT_NAME",$this->object->getTitle() ? ': '.$this->object->getTitle() : '');
$tpl->setVariable("DATE",ilDatePresentation::formatPeriod($event_app->getStart(),$event_app->getEnd()));
$tpl->setVariable("TXT_NAME",$this->lng->txt('name'));
if($_POST['show_mark'])
{
$tpl->setVariable("TXT_MARK",$this->lng->txt('trac_mark'));
}
if($_POST['show_comment'])
{
$tpl->setVariable("TXT_COMMENT",$this->lng->txt('trac_comment'));
}
if($_POST['show_signature'])
{
$tpl->setVariable("TXT_SIGNATURE",$this->lng->txt('sess_signature'));
}
if($_POST['show_admins'])
{
$members = array_merge((array) $members,$members_obj->getAdmins());
}
if($_POST['show_tutors'])
{
$members = array_merge((array) $members,$members_obj->getTutors());
}
if($_POST['show_members'])
{
$members = array_merge((array) $members,$members_obj->getMembers());
}
$members = ilUtil::_sortIds((array) $members,'usr_data','lastname','usr_id');
foreach($members as $user_id)
{
$user_data = $event_part->getUser($user_id);
if($_POST['show_mark'])
{
$tpl->setVariable("MARK",$user_data['mark'] ? $user_data['mark'] : ' ');
}
if($_POST['show_comment'])
{
$tpl->setVariable("COMMENT",$user_data['comment'] ? $user_data['comment'] : ' ');
}
if($_POST['show_signature'])
{
$tpl->touchBlock('row_signature');
}
$tpl->setCurrentBlock("member_row");
$name = ilObjUser::_lookupName($user_id);
$tpl->setVariable("LASTNAME",$name['lastname']);
$tpl->setVariable("FIRSTNAME",$name['firstname']);
$tpl->setVariable("LOGIN",ilObjUser::_lookupLogin($user_id));
$tpl->parseCurrentBlock();
}
$this->tpl->setVariable("CONTENT",$tpl->get());
$this->tpl->setVariable("BODY_ATTRIBUTES",'onload="window.print()"');
$this->tpl->show();
}

+ Here is the call graph for this function:

ilObjSessionGUI::printViewMembersObject ( )

print view

public

Parameters
@return

Definition at line 1361 of file class.ilObjSessionGUI.php.

References $ilErr, $tpl, ilObjectGUI\$tree, ilCourseParticipants\_getInstanceByObjId(), ilObjUser\_lookupLogin(), ilObjUser\_lookupName(), ilObject\_lookupObjId(), ilUtil\_sortIds(), exit, ilDatePresentation\formatPeriod(), ilUtil\getStyleSheetLocation(), ilUtil\sendFailure(), and ilDatePresentation\setUseRelativeDates().

{
include_once 'Modules/Session/classes/class.ilEventParticipants.php';
include_once('./Modules/Course/classes/class.ilCourseParticipants.php');
global $ilErr,$ilAccess,$tree,$ilUser;
$this->course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
$this->course_obj_id = ilObject::_lookupObjId($this->course_ref_id);
if(!$this->course_ref_id)
{
ilUtil::sendFailure('No course object found. Aborting');
return true;
}
$members_obj = ilCourseParticipants::_getInstanceByObjId($this->course_obj_id);
$event_app = $this->object->getFirstAppointment();
$event_part = new ilEventParticipants($this->object->getId());
$this->tpl = new ilTemplate('tpl.main.html',true,true);
// load style sheet depending on user's settings
$location_stylesheet = ilUtil::getStyleSheetLocation();
$this->tpl->setVariable("LOCATION_STYLESHEET",$location_stylesheet);
$tpl = new ilTemplate('tpl.sess_members_print.html',true,true,'Modules/Session');
#$tpl->setVariable("EVENT",$this->lng->txt('event'));
$tpl->setVariable("EVENT_NAME",$this->object->getTitle() ? ': '.$this->object->getTitle() : $this->object->getTitle());
$tpl->setVariable("DATE",ilDatePresentation::formatPeriod($event_app->getStart(),$event_app->getEnd()));
if(!$ilUser->getPref('sess_admin_hide') and count($members_obj->getAdmins()))
{
$tmp['txt'] = $this->lng->txt('event_tbl_admins');
$tmp['users'] = $members_obj->getAdmins();
$participants[] = $tmp;
}
if(!$ilUser->getPref('sess_tutor_hide') and count($members_obj->getTutors()))
{
$tmp['txt'] = $this->lng->txt('event_tbl_tutors');
$tmp['users'] = $members_obj->getTutors();
$participants[] = $tmp;
}
if(!$ilUser->getPref('sess_member_hide') and count($members_obj->getMembers()))
{
$tmp['txt'] = $this->lng->txt('event_tbl_members');
$tmp['users'] = $members_obj->getMembers();
$participants[] = $tmp;
}
foreach((array) $participants as $participants_data)
{
$members = ilUtil::_sortIds($participants_data['users'],'usr_data','lastname','usr_id');
foreach($members as $user_id)
{
$user_data = $event_part->getUser($user_id);
if($this->object->enabledRegistration())
{
$tpl->setCurrentBlock("reg_col");
$tpl->setVariable("REGISTERED",$event_part->isRegistered($user_id) ? "X" : "");
$tpl->parseCurrentBlock();
}
$tpl->setVariable("COMMENT",$user_data['comment']);
$tpl->setCurrentBlock("member_row");
$name = ilObjUser::_lookupName($user_id);
$tpl->setVariable("LASTNAME",$name['lastname']);
$tpl->setVariable("FIRSTNAME",$name['firstname']);
$tpl->setVariable("LOGIN",ilObjUser::_lookupLogin($user_id));
$tpl->setVariable("MARK",$user_data['mark']);
$tpl->setVariable("PARTICIPATED",$event_part->hasParticipated($user_id) ? "X" : "");
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock('part_group');
$tpl->setVariable('GROUP_NAME',$participants_data['txt']);
$tpl->setVariable("TXT_NAME",$this->lng->txt('name'));
$tpl->setVariable("TXT_MARK",$this->lng->txt('trac_mark'));
$tpl->setVariable("TXT_COMMENT",$this->lng->txt('trac_comment'));
$tpl->setVariable("TXT_PARTICIPATED",$this->lng->txt('event_tbl_participated'));
if($this->object->enabledRegistration())
{
$tpl->setVariable("TXT_REGISTERED",$this->lng->txt('event_tbl_registered'));
}
$tpl->parseCurrentBlock();
}
$this->tpl->setVariable("CONTENT",$tpl->get());
$this->tpl->setVariable("BODY_ATTRIBUTES",'onload="window.print()"');
$this->tpl->show();
}

+ Here is the call graph for this function:

ilObjSessionGUI::registerObject ( )

register to session

public

Parameters
@return

Definition at line 156 of file class.ilObjSessionGUI.php.

References ilEventParticipants\_register(), and ilUtil\sendSuccess().

{
global $ilUser;
include_once 'Modules/Session/classes/class.ilEventParticipants.php';
ilEventParticipants::_register($ilUser->getId(),$this->object->getId());
ilUtil::sendSuccess($this->lng->txt('event_registered'),true);
$this->ctrl->returnToParent($this);
}

+ Here is the call graph for this function:

ilObjSessionGUI::removeFromDeskObject ( )
See Also
ilDesktopItemHandling::removeFromDesk()

Implements ilDesktopItemHandling.

Definition at line 246 of file class.ilObjSessionGUI.php.

References infoScreenObject(), and ilDesktopItemGUI\removeFromDesktop().

{
include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
$this->infoScreenObject();
}

+ Here is the call graph for this function:

ilObjSessionGUI::saveAndAssignMaterialsObject ( )

Save and assign sessoin materials.

protected

Definition at line 535 of file class.ilObjSessionGUI.php.

References $ilLog, and ilObjectGUI\saveObject().

{
global $ilLog;
$this->saveObject(false);
/*
$this->ctrl->setParameter($this,'ref_id',$this->object->getRefId());
$target = $this->ctrl->getLinkTarget($this,'materials');
$target = str_replace('new_type=','nt=',$target);
*/
$this->ctrl->setParameter($this,'ref_id',$this->object->getRefId());
$this->ctrl->redirect($this,'materials');
}

+ Here is the call graph for this function:

ilObjSessionGUI::saveMaterialsObject ( )

save material assignment

public

Parameters
@return

Definition at line 953 of file class.ilObjSessionGUI.php.

References $_POST, materialsObject(), ilUtil\sendSuccess(), and ilEventItems\setItems().

{
include_once './Modules/Session/classes/class.ilEventItems.php';
$this->event_items = new ilEventItems($this->object->getId());
$this->event_items->setItems(is_array($_POST['items']) ? $_POST['items'] : array());
$this->event_items->update();
ilUtil::sendSuccess($this->lng->txt('settings_saved'));
$this->materialsObject();
}

+ Here is the call graph for this function:

ilObjSessionGUI::saveObject (   $a_redirect_on_success = true)

save object

protected

Parameters
bool$a_redirect_on_successRedirect to repository after success.
Returns

Definition at line 558 of file class.ilObjSessionGUI.php.

References $_GET, $ilErr, createObject(), createRecurringSessions(), ilObjectFactory\getInstanceByRefId(), handleFileUpload(), initForm(), load(), loadRecurrenceSettings(), ilUtil\sendFailure(), and ilUtil\sendInfo().

{
global $ilErr,$ilUser;
$this->object = new ilObjSession();
$this->load();
$this->initForm('create');
$ilErr->setMessage('');
if(!$this->form->checkInput()) {
$ilErr->setMessage($this->lng->txt('err_check_input'));
}
$this->object->validate();
$this->object->getFirstAppointment()->validate();
if(strlen($ilErr->getMessage()))
{
ilUtil::sendFailure($ilErr->getMessage().$_GET['ref_id']);
$this->createObject();
return false;
}
// Create session
$this->object->create();
$this->object->createReference();
$this->object->putInTree($_GET["ref_id"]);
$this->object->setPermissions($_GET["ref_id"]);
// create appointment
$this->object->getFirstAppointment()->setSessionId($this->object->getId());
$this->object->getFirstAppointment()->create();
$this->handleFileUpload();
// call crs items for creating a new entry for the new session
// Otherwise the sorting of sessions is wrong.
// TODO find a better solution
include_once './Modules/Course/classes/class.ilCourseItems.php';
$tmp_course = ilObjectFactory::getInstanceByRefId((int) $_GET['ref_id'],false);
$items = new ilCourseItems($tmp_course->getRefId());
if($a_redirect_on_success)
{
ilUtil::sendInfo($this->lng->txt('event_add_new_event'),true);
$this->ctrl->returnToParent($this);
}
return true;
}

+ Here is the call graph for this function:

ilObjSessionGUI::sendFileObject ( )

send file

public

Definition at line 424 of file class.ilObjSessionGUI.php.

References $_GET, $file, and ilUtil\deliverFile().

{
$file = new ilSessionFile((int) $_GET['file_id']);
ilUtil::deliverFile($file->getAbsolutePath(),$file->getFileName(),$file->getFileType());
return true;
}

+ Here is the call graph for this function:

ilObjSessionGUI::setShowHidePrefs ( )

set preferences (show/hide tabel content)

public

Returns

Definition at line 1115 of file class.ilObjSessionGUI.php.

References $_GET.

Referenced by membersObject().

{
global $ilUser;
if(isset($_GET['admin_hide']))
{
$ilUser->writePref('sess_admin_hide',(int) $_GET['admin_hide']);
}
if(isset($_GET['tutor_hide']))
{
$ilUser->writePref('sess_tutor_hide',(int) $_GET['tutor_hide']);
}
if(isset($_GET['member_hide']))
{
$ilUser->writePref('sess_member_hide',(int) $_GET['member_hide']);
}
}

+ Here is the caller graph for this function:

ilObjSessionGUI::unregisterObject ( )

unregister from session

public

Returns

Definition at line 200 of file class.ilObjSessionGUI.php.

References ilEventParticipants\_unregister(), and ilUtil\sendSuccess().

{
global $ilUser;
include_once './Modules/Session/classes/class.ilEventParticipants.php';
ilEventParticipants::_unregister($ilUser->getId(),$this->object->getId());
ilUtil::sendSuccess($this->lng->txt('event_unregistered'),true);
$this->ctrl->returnToParent($this);
}

+ Here is the call graph for this function:

ilObjSessionGUI::updateMembersObject ( )

update participants

public

Parameters
@return

Definition at line 1140 of file class.ilObjSessionGUI.php.

References $_POST, ilObjectGUI\$tree, $user, ilCourseParticipants\_getInstanceByObjId(), ilEventParticipants\_isRegistered(), ilObject\_lookupObjId(), ilObjectGUI\checkPermission(), membersObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), ilEventParticipants\setUserId(), and ilUtil\stripSlashes().

{
global $tree;
$this->checkPermission('write');
include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
include_once 'Modules/Session/classes/class.ilEventParticipants.php';
$this->course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
$this->course_obj_id = ilObject::_lookupObjId($this->course_ref_id);
if(!$this->course_ref_id)
{
ilUtil::sendFailure('No course object found. Aborting');
return true;
}
$_POST['participants'] = is_array($_POST['participants']) ? $_POST['participants'] : array();
$members_obj = ilCourseParticipants::_getInstanceByObjId($this->course_obj_id);
$event_part = new ilEventParticipants($this->object->getId());
$visible = $_POST['visible_participants'] ? $_POST['visible_participants'] : array();
foreach($visible as $user)
{
$part = new ilEventParticipants($this->object->getId());
$part->setUserId($user);
$part->setMark(ilUtil::stripSlashes($_POST['mark'][$user]));
$part->setComment(ilUtil::stripSlashes($_POST['comment'][$user]));
$part->setParticipated(isset($_POST['participants'][$user]) ? true : false);
$part->setRegistered(ilEventParticipants::_isRegistered($user,$this->object->getId()));
$part->updateUser();
}
ilUtil::sendSuccess($this->lng->txt('settings_saved'));
$this->membersObject();
}

+ Here is the call graph for this function:

ilObjSessionGUI::updateObject ( )

update object

protected

Parameters
@return

Reimplemented from ilObjectGUI.

Definition at line 766 of file class.ilObjSessionGUI.php.

References $ilErr, editObject(), handleFileUpload(), initForm(), load(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

{
global $ilErr;
$this->load();
$this->initForm('edit');
$ilErr->setMessage('');
if(!$this->form->checkInput())
{
$ilErr->setMessage($this->lng->txt('err_check_input'));
}
$this->object->validate();
$this->object->getFirstAppointment()->validate();
if(strlen($ilErr->getMessage()))
{
ilUtil::sendFailure($ilErr->getMessage());
$this->editObject();
return false;
}
// Update event
$this->object->update();
$this->object->getFirstAppointment()->update();
$this->handleFileUpload();
ilUtil::sendSuccess($this->lng->txt('event_updated'),true);
$this->ctrl->redirect($this,'edit');
#$this->object->initFiles();
#$this->editObject();
return true;
}

+ Here is the call graph for this function:

Field Documentation

ilObjSessionGUI::$course_obj_id = 0
protected

Definition at line 28 of file class.ilObjSessionGUI.php.

Referenced by modifyItemGUI().

ilObjSessionGUI::$course_ref_id = 0
protected

Definition at line 27 of file class.ilObjSessionGUI.php.

Referenced by eventsListObject(), and modifyItemGUI().

ilObjSessionGUI::$ctrl

Definition at line 24 of file class.ilObjSessionGUI.php.

ilObjSessionGUI::$files = array()
protected

Definition at line 30 of file class.ilObjSessionGUI.php.

Referenced by initForm().

ilObjSessionGUI::$lng

Definition at line 23 of file class.ilObjSessionGUI.php.

Referenced by __construct(), _goto(), importFileObject(), and initImportForm().


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