ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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. More...
 
 executeCommand ()
 execute command More...
 
 getCurrentObject ()
 Get session object. More...
 
 prepareOutput ($a_show_subobjects=true)
 
 registerObject ()
 register to session More...
 
 joinObject ()
 Called from info screen. More...
 
 unregisterObject ()
 unregister from session More...
 
 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 More...
 
 modifyItemGUI ($a_item_list_gui, $a_item_data, $a_show_path)
 Modify Item ListGUI for presentation in container @global type $tree. More...
 
 infoScreen ()
 info screen More...
 
 sendFileObject ()
 send file More...
 
 saveAndAssignMaterialsObject ()
 Save and assign sessoin materials. More...
 
 saveObject ($a_redirect_on_success=true)
 save object More...
 
 handleFileUpload ()
 
 editObject ()
 edit object More...
 
 updateObject ()
 update object More...
 
 confirmDeleteFilesObject ()
 confirm delete files More...
 
 deleteFilesObject ()
 delete files More...
 
 materialsObject ()
 show material assignment More...
 
 saveMaterialsObject ()
 save material assignment More...
 
 setShowHidePrefs ()
 set preferences (show/hide tabel content) More...
 
 updateMembersObject ()
 update participants More...
 
 attendanceListObject ()
 show attendance list selection More...
 
 getAttendanceListUserData ($a_user_id, $a_filters)
 Get user data for attendance list. More...
 
 eventsListObject ()
 list sessions of all user More...
 
 addLocatorItems ()
 Add session locator. More...
 
 getTabs ()
 Build tabs. More...
 
 afterSaveCallback (ilObject $a_obj)
 Custom callback after object is created (in parent containert. More...
 
 readMemberData ($a_usr_ids)
 Used for waiting list. More...
 
 assignFromWaitingListObject ()
 add from waiting list More...
 
 refuseFromListObject ()
 refuse from waiting list More...
 
 assignSubscribersObject ()
 assign subscribers More...
 
 refuseSubscribersObject ()
 refuse subscribers More...
 
 getContainerRefId ()
 container ref id More...
 
 confirmRefuseSubscribersObject ()
 
 confirmAssignSubscribersObject ()
 
 confirmRefuseFromListObject ()
 
 confirmAssignFromWaitingListObject ()
 
- Public Member Functions inherited from ilObjectGUI
 executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 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 More...
 
 getCreationMode ()
 get creation mode More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ()
 cancel action and go back to previous page @access public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 
 addToDeskObject ()
 Add desktop item @access public. More...
 
 removeFromDeskObject ()
 Remove from desktop @access public. More...
 

Static Public Member Functions

static _goto ($a_target)
 goto More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

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
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 

Protected Member Functions

 showJoinRequestButton ()
 show join request More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 createRecurringSessions ($a_activate_lp=true)
 create recurring sessions More...
 
 initContainer ($a_init_participants=false)
 
 membersObject ()
 Show participants table. More...
 
 initAttendanceList ()
 Init attendance list object. More...
 
 printAttendanceListObject ()
 print attendance list More...
 
 initForm ($a_mode)
 Init Form. More...
 
 load ()
 load settings More...
 
 loadRecurrenceSettings ()
 load recurrence settings More...
 
 __toUnix ($date, $time)
 @access protected More...
 
 redirectToParentContentPageObject ()
 Redirect to parent content page. More...
 
 sendMailToSelectedUsersObject ()
 Send mail to selected users. More...
 
 cancelEditObject ()
 Cancel editigin @global type $ilCtrl @global type $tree. More...
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs @access public More...
 
 setAdminTabs ()
 set admin tabs @access public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTabs ()
 get tabs abstract method. More...
 
 __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 More...
 
 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 More...
 
 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. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Protected Attributes

 $logger = null
 
 $container_ref_id = 0
 
 $container_obj_id = 0
 
 $files = array()
 
- Protected Attributes inherited from ilObjectGUI
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

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

Constructor.

@access public

Parameters

return

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

45 {
46 global $ilCtrl, $lng, $tpl;
47
48 $this->type = "sess";
49 parent::__construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
50
51 $this->lng = $lng;
52 $this->lng->loadLanguageModule("event");
53 $this->lng->loadLanguageModule('crs');
54 $this->lng->loadLanguageModule('trac');
55 $this->lng->loadLanguageModule('sess');
56
57
58 $this->tpl = $tpl;
59 $this->ctrl = $ilCtrl;
60
61 $this->logger = $GLOBALS['DIC']->logger()->sess();
62 }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilCtrl
Definition: ilias.php:18

References $GLOBALS, $ilCtrl, $lng, and $tpl.

Member Function Documentation

◆ __toUnix()

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

@access protected

Parameters

return

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

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

◆ _goto()

static ilObjSessionGUI::_goto (   $a_target)
static

goto

@access public

Parameters

return

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

316 {
317 global $ilAccess,$ilErr,$lng;
318
319 if($ilAccess->checkAccess('visible', "", $a_target))
320 {
321 ilObjectGUI::_gotoRepositoryNode($a_target, "infoScreen");
322 }
323 $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
324 }
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
global $ilErr
Definition: raiseError.php:16

References $ilErr, $lng, and ilObjectGUI\_gotoRepositoryNode().

+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjSessionGUI::addLocatorItems ( )

Add session locator.

@access public

Reimplemented from ilObjectGUI.

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

1905 {
1906 global $ilLocator;
1907
1908 if (!$this->getCreationMode())
1909 {
1910 // see prepareOutput()
1911 include_once './Modules/Session/classes/class.ilSessionAppointment.php';
1912 $title = strlen($this->object->getTitle()) ? (': '.$this->object->getTitle()) : '';
1913 $title = $this->object->getFirstAppointment()->appointmentToString().$title;
1914
1915 $ilLocator->addItem($title, $this->ctrl->getLinkTarget($this, "infoScreen"), "", $_GET["ref_id"]);
1916 }
1917 }
$_GET["client_id"]
getCreationMode()
get creation mode

References $_GET, $title, and ilObjectGUI\getCreationMode().

+ Here is the call graph for this function:

◆ addToDeskObject()

ilObjSessionGUI::addToDeskObject ( )
See also
ilDesktopItemHandling::addToDesk()

Implements ilDesktopItemHandling.

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

330 {
331 include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
333 $this->infoScreenObject();
334 }
static addToDesktop()
Add desktop item @access public.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...

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

+ Here is the call graph for this function:

◆ afterSaveCallback()

ilObjSessionGUI::afterSaveCallback ( ilObject  $a_obj)

Custom callback after object is created (in parent containert.

Parameters
ilObject$a_obj

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

2011 {
2012 // add new object to materials
2013 include_once './Modules/Session/classes/class.ilEventItems.php';
2014 $event_items = new ilEventItems($this->object->getId());
2015 $event_items->addItem($a_obj->getRefId());
2016 $event_items->update();
2017
2018 /*
2019 ilUtil::sendSuccess($this->lng->txt("object_added"), true);
2020 $this->ctrl->redirect($this, "materials");
2021 */
2022 }
class ilEvent
getRefId()
get reference id @access public

References ilObject\getRefId().

+ Here is the call graph for this function:

◆ assignFromWaitingListObject()

ilObjSessionGUI::assignFromWaitingListObject ( )

add from waiting list

@access public

Parameters

return

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

2057 {
2058 $this->checkPermission('write');
2059
2060 if(!count($_POST["waiting"]))
2061 {
2062 ilUtil::sendFailure($this->lng->txt("no_checkbox"));
2063 $this->membersObject();
2064 return false;
2065 }
2066
2067 include_once('./Modules/Session/classes/class.ilSessionWaitingList.php');
2068 $waiting_list = new ilSessionWaitingList($this->object->getId());
2069
2070 include_once './Modules/Session/classes/class.ilEventParticipants.php';
2071 $part = new ilEventParticipants($this->object->getId());
2072
2073 $added_users = 0;
2074 foreach($_POST["waiting"] as $user_id)
2075 {
2076 $part->register($user_id);
2077 $waiting_list->removeFromList($user_id);
2078
2079 include_once './Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2081 $noti->setRefId($this->object->getRefId());
2082 $noti->setRecipients(array($user_id));
2084 $noti->send();
2085
2086 ++$added_users;
2087 }
2088 if($added_users)
2089 {
2090 ilUtil::sendSuccess($this->lng->txt("sess_users_added"));
2091 $this->membersObject();
2092
2093 return true;
2094 }
2095 else
2096 {
2097 ilUtil::sendFailure($this->lng->txt("sess_users_already_assigned"));
2098 $this->searchObject();
2099 return false;
2100 }
2101 }
$_POST["username"]
membersObject()
Show participants table.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References $_POST, ilObjectGUI\checkPermission(), membersObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilSessionMembershipMailNotification\TYPE_ACCEPTED_SUBSCRIPTION_MEMBER.

+ Here is the call graph for this function:

◆ assignSubscribersObject()

ilObjSessionGUI::assignSubscribersObject ( )

assign subscribers

@access public

Returns

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

2148 {
2149 global $lng,$ilUser;
2150
2151 $this->checkPermission('write');
2152
2153 if(!count($_POST['subscribers']))
2154 {
2155 ilUtil::sendFailure($this->lng->txt('no_checkbox'));
2156 $this->membersObject();
2157 return false;
2158 }
2159
2160 include_once './Services/Membership/classes/class.ilParticipants.php';
2161 $part = ilParticipants::getInstanceByObjId($this->object->getId());
2162
2163 foreach($_POST['subscribers'] as $usr_id)
2164 {
2165 $part->add($usr_id);
2166 $part->deleteSubscriber($usr_id);
2167
2168 include_once './Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2170 $noti->setRefId($this->object->getRefId());
2171 $noti->setRecipients(array($usr_id));
2173 $noti->send();
2174 }
2175 ilUtil::sendSuccess($this->lng->txt("sess_msg_applicants_assigned"),true);
2176 $this->ctrl->redirect($this,'members');
2177 return true;
2178 }
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
$ilUser
Definition: imgupload.php:18

References $_POST, $ilUser, $lng, ilObjectGUI\checkPermission(), ilParticipants\getInstanceByObjId(), membersObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilSessionMembershipMailNotification\TYPE_ACCEPTED_SUBSCRIPTION_MEMBER.

+ Here is the call graph for this function:

◆ attendanceListObject()

ilObjSessionGUI::attendanceListObject ( )

show attendance list selection

@access public

Returns

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

1310 {
1311 global $tpl,$ilTabs;
1312
1313 $this->checkPermission('write');
1314 $ilTabs->setTabActive('event_edit_members');
1315
1316 $list = $this->initAttendanceList();
1317 $form = $list->initForm('printAttendanceList');
1318 $tpl->setContent($form->getHTML());
1319 }
initAttendanceList()
Init attendance list object.

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

+ Here is the call graph for this function:

◆ cancelEditObject()

ilObjSessionGUI::cancelEditObject ( )
protected

Cancel editigin @global type $ilCtrl @global type $tree.

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

2383 {
2384 global $ilCtrl, $tree;
2385
2386 $parent_id = $tree->getParentId((int) $_REQUEST['ref_id']);
2387
2388 $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $parent_id);
2389
2390 $ilCtrl->redirectByClass("ilrepositorygui", "");
2391 }

References $ilCtrl, and ilObjectGUI\$tree.

◆ confirmAssignFromWaitingListObject()

ilObjSessionGUI::confirmAssignFromWaitingListObject ( )

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

2342 {
2343 if(!is_array($_POST["waiting"]))
2344 {
2345 ilUtil::sendFailure($this->lng->txt("no_checkbox"));
2346 $this->membersObject();
2347
2348 return false;
2349 }
2350 $this->checkPermission('write');
2351 $this->tabs_gui->setTabActive('event_edit_members');
2352
2353 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
2354 $c_gui = new ilConfirmationGUI();
2355
2356 // set confirm/cancel commands
2357 $c_gui->setFormAction($this->ctrl->getFormAction($this, "assignFromWaitingList"));
2358 $c_gui->setHeaderText($this->lng->txt("info_assign_sure"));
2359 $c_gui->setCancel($this->lng->txt("cancel"), "members");
2360 $c_gui->setConfirm($this->lng->txt("confirm"), "assignFromWaitingList");
2361
2362 foreach($_POST["waiting"] as $waiting)
2363 {
2364 $name = ilObjUser::_lookupName($waiting);
2365
2366 $c_gui->addItem('waiting[]',
2367 $name['user_id'],
2368 $name['lastname'].', '.$name['firstname'].' ['.$name['login'].']',
2369 ilUtil::getImagePath('icon_usr.svg'));
2370 }
2371
2372 $this->tpl->setContent($c_gui->getHTML());
2373 return true;
2374 }
Confirmation screen class.
static _lookupName($a_user_id)
lookup user name
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)

References $_POST, ilObjUser\_lookupName(), ilObjectGUI\checkPermission(), ilUtil\getImagePath(), membersObject(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ confirmAssignSubscribersObject()

ilObjSessionGUI::confirmAssignSubscribersObject ( )

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

2269 {
2270 if(!is_array($_POST["subscribers"]))
2271 {
2272 ilUtil::sendFailure($this->lng->txt("no_checkbox"));
2273 $this->membersObject();
2274
2275 return false;
2276 }
2277 $this->checkPermission('write');
2278 $this->tabs_gui->setTabActive('event_edit_members');
2279
2280 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
2281 $c_gui = new ilConfirmationGUI();
2282
2283 // set confirm/cancel commands
2284 $c_gui->setFormAction($this->ctrl->getFormAction($this, "assignSubscribers"));
2285 $c_gui->setHeaderText($this->lng->txt("info_assign_sure"));
2286 $c_gui->setCancel($this->lng->txt("cancel"), "members");
2287 $c_gui->setConfirm($this->lng->txt("confirm"), "assignSubscribers");
2288
2289 foreach($_POST["subscribers"] as $subscribers)
2290 {
2291 $name = ilObjUser::_lookupName($subscribers);
2292
2293 $c_gui->addItem('subscribers[]',
2294 $name['user_id'],
2295 $name['lastname'].', '.$name['firstname'].' ['.$name['login'].']',
2296 ilUtil::getImagePath('icon_usr.svg'));
2297 }
2298
2299 $this->tpl->setContent($c_gui->getHTML());
2300 return true;
2301 }

References $_POST, ilObjUser\_lookupName(), ilObjectGUI\checkPermission(), ilUtil\getImagePath(), membersObject(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ confirmDeleteFilesObject()

ilObjSessionGUI::confirmDeleteFilesObject ( )

confirm delete files

@access public

Parameters

return

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

893 {
894 $this->tabs_gui->setTabActive('settings');
895
896 if(!count($_POST['file_id']))
897 {
898 ilUtil::sendFailure($this->lng->txt('select_one'));
899 $this->editObject();
900 return false;
901 }
902
903 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
904 $c_gui = new ilConfirmationGUI();
905
906 // set confirm/cancel commands
907 $c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteFiles"));
908 $c_gui->setHeaderText($this->lng->txt("info_delete_sure"));
909 $c_gui->setCancel($this->lng->txt("cancel"), "edit");
910 $c_gui->setConfirm($this->lng->txt("confirm"), "deleteFiles");
911
912 // add items to delete
913 foreach($_POST["file_id"] as $file_id)
914 {
915 $file = new ilSessionFile($file_id);
916 if($file->getSessionId() != $this->object->getEventId())
917 {
918 ilUtil::sendFailure($this->lng->txt('select_one'));
919 $this->edit();
920 return false;
921 }
922 $c_gui->addItem("file_id[]", $file_id, $file->getFileName());
923 }
924
925 $this->tpl->setContent($c_gui->getHTML());
926 return true;
927 }
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file

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

+ Here is the call graph for this function:

◆ confirmRefuseFromListObject()

ilObjSessionGUI::confirmRefuseFromListObject ( )

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

2304 {
2305 if(!is_array($_POST["waiting"]))
2306 {
2307 ilUtil::sendFailure($this->lng->txt("no_checkbox"));
2308 $this->membersObject();
2309
2310 return false;
2311 }
2312
2313 $this->lng->loadLanguageModule('mmbr');
2314
2315 $this->checkPermission('write');
2316 $this->tabs_gui->setTabActive('event_edit_members');
2317
2318 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
2319 $c_gui = new ilConfirmationGUI();
2320
2321 // set confirm/cancel commands
2322 $c_gui->setFormAction($this->ctrl->getFormAction($this, "refuseFromList"));
2323 $c_gui->setHeaderText($this->lng->txt("info_refuse_sure"));
2324 $c_gui->setCancel($this->lng->txt("cancel"), "members");
2325 $c_gui->setConfirm($this->lng->txt("confirm"), "refuseFromList");
2326
2327 foreach($_POST["waiting"] as $waiting)
2328 {
2329 $name = ilObjUser::_lookupName($waiting);
2330
2331 $c_gui->addItem('waiting[]',
2332 $name['user_id'],
2333 $name['lastname'].', '.$name['firstname'].' ['.$name['login'].']',
2334 ilUtil::getImagePath('icon_usr.svg'));
2335 }
2336
2337 $this->tpl->setContent($c_gui->getHTML());
2338 return true;
2339 }

References $_POST, ilObjUser\_lookupName(), ilObjectGUI\checkPermission(), ilUtil\getImagePath(), membersObject(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ confirmRefuseSubscribersObject()

ilObjSessionGUI::confirmRefuseSubscribersObject ( )

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

2231 {
2232 if(!is_array($_POST["subscribers"]))
2233 {
2234 ilUtil::sendFailure($this->lng->txt("no_checkbox"));
2235 $this->membersObject();
2236
2237 return false;
2238 }
2239
2240 $this->lng->loadLanguageModule('mmbr');
2241
2242 $this->checkPermission('write');
2243 $this->tabs_gui->setTabActive('event_edit_members');
2244
2245 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
2246 $c_gui = new ilConfirmationGUI();
2247
2248 // set confirm/cancel commands
2249 $c_gui->setFormAction($this->ctrl->getFormAction($this, "refuseSubscribers"));
2250 $c_gui->setHeaderText($this->lng->txt("info_refuse_sure"));
2251 $c_gui->setCancel($this->lng->txt("cancel"), "members");
2252 $c_gui->setConfirm($this->lng->txt("confirm"), "refuseSubscribers");
2253
2254 foreach($_POST["subscribers"] as $subscribers)
2255 {
2256 $name = ilObjUser::_lookupName($subscribers);
2257
2258 $c_gui->addItem('subscribers[]',
2259 $name['user_id'],
2260 $name['lastname'].', '.$name['firstname'].' ['.$name['login'].']',
2261 ilUtil::getImagePath('icon_usr.svg'));
2262 }
2263
2264 $this->tpl->setContent($c_gui->getHTML());
2265 return true;
2266 }

References $_POST, ilObjUser\_lookupName(), ilObjectGUI\checkPermission(), ilUtil\getImagePath(), membersObject(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ createRecurringSessions()

ilObjSessionGUI::createRecurringSessions (   $a_activate_lp = true)
protected

create recurring sessions

@access protected

Parameters
bool$a_activate_lp
Returns

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

736 {
737 global $tree;
738
739 if(!$this->rec->getFrequenceType())
740 {
741 return true;
742 }
743 include_once('./Services/Calendar/classes/class.ilCalendarRecurrenceCalculator.php');
744 $calc = new ilCalendarRecurrenceCalculator($this->object->getFirstAppointment(),$this->rec);
745
746 $period_start = clone $this->object->getFirstAppointment()->getStart();
747
748
749 $period_end = clone $this->object->getFirstAppointment()->getStart();
750 $period_end->increment(IL_CAL_YEAR,5);
751 $date_list = $calc->calculateDateList($period_start,$period_end);
752
753 $period_diff = $this->object->getFirstAppointment()->getEnd()->get(IL_CAL_UNIX) -
754 $this->object->getFirstAppointment()->getStart()->get(IL_CAL_UNIX);
755 $parent_id = $tree->getParentId($this->object->getRefId());
756
757 include_once './Modules/Session/classes/class.ilEventItems.php';
758 $evi = new ilEventItems($this->object->getId());
759 $eitems = $evi->getItems();
760
761 $counter = 0;
762 foreach($date_list->get() as $date)
763 {
764 if(!$counter++)
765 {
766 continue;
767 }
768
769 $new_obj = $this->object->cloneObject($parent_id);
770 $new_obj->read();
771 $new_obj->getFirstAppointment()->setStartingTime($date->get(IL_CAL_UNIX));
772 $new_obj->getFirstAppointment()->setEndingTime($date->get(IL_CAL_UNIX) + $period_diff);
773 $new_obj->getFirstAppointment()->update();
774 $new_obj->update();
775
776 // #14547 - active is default
777 if(!$a_activate_lp)
778 {
779 include_once "Services/Tracking/classes/class.ilLPObjSettings.php";
780 $lp_obj_settings = new ilLPObjSettings($new_obj->getId());
781 $lp_obj_settings->setMode(ilLPObjSettings::LP_MODE_DEACTIVATED);
782 $lp_obj_settings->update(false);
783 }
784
785 $new_evi = new ilEventItems($new_obj->getId());
786 $new_evi->setItems($eitems);
787 $new_evi->update();
788 }
789 }
const IL_CAL_UNIX
const IL_CAL_YEAR
Calculates an ilDateList for a given calendar entry and recurrence rule.
$counter

References $counter, ilObjectGUI\$tree, IL_CAL_UNIX, IL_CAL_YEAR, and ilLPObjSettings\LP_MODE_DEACTIVATED.

Referenced by saveObject().

+ Here is the caller graph for this function:

◆ deleteFilesObject()

ilObjSessionGUI::deleteFilesObject ( )

delete files

@access public

Parameters

return

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

937 {
938 if(!count($_POST['file_id']))
939 {
940 ilUtil::sendFailure($this->lng->txt('select_one'));
941 $this->editObject();
942 return false;
943 }
944 foreach($_POST['file_id'] as $id)
945 {
946 $file = new ilSessionFile($id);
947 $file->delete();
948 }
949 $this->object->initFiles();
950 $this->editObject();
951 return true;
952 }

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

+ Here is the call graph for this function:

◆ editObject()

ilObjSessionGUI::editObject ( )

edit object

@access protected

Parameters

return

Reimplemented from ilObjectGUI.

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

800 {
801 $this->tabs_gui->setTabActive('settings');
802
803 $this->initForm('edit');
804 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_edit.html','Modules/Session');
805 $this->tpl->setVariable('EVENT_EDIT_TABLE',$this->form->getHTML());
806
807 if(!count($this->object->getFiles()))
808 {
809 return true;
810 }
811 $rows = array();
812 foreach($this->object->getFiles() as $file)
813 {
814 $table_data['id'] = $file->getFileId();
815 $table_data['filename'] = $file->getFileName();
816 $table_data['filetype'] = $file->getFileType();
817 $table_data['filesize'] = $file->getFileSize();
818
819 $rows[] = $table_data;
820 }
821
822 include_once("./Modules/Session/classes/class.ilSessionFileTableGUI.php");
823 $table_gui = new ilSessionFileTableGUI($this, "edit");
824 $table_gui->setTitle($this->lng->txt("event_files"));
825 $table_gui->setData($rows);
826 $table_gui->addCommandButton("cancel", $this->lng->txt("cancel"));
827 $table_gui->addMultiCommand("confirmDeleteFiles", $this->lng->txt("delete"));
828 $table_gui->setSelectAllCheckbox("file_id");
829 $this->tpl->setVariable('EVENT_FILE_TABLE',$table_gui->getHTML());
830
831 return true;
832 }
initForm($a_mode)
Init Form.

References $file, and initForm().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ eventsListObject()

ilObjSessionGUI::eventsListObject ( )

list sessions of all user

@access public

Parameters

return

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

1414 {
1415 global $ilErr,$ilAccess, $ilUser,$tree;
1416
1417 if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
1418 {
1419 $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
1420 }
1421
1422 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.sess_list.html','Modules/Session');
1423 $this->__showButton($this->ctrl->getLinkTarget($this,'exportCSV'),$this->lng->txt('event_csv_export'));
1424
1425 include_once 'Modules/Session/classes/class.ilEventParticipants.php';
1426
1427 $this->tpl->addBlockfile("EVENTS_TABLE","events_table", "tpl.table.html");
1428 $this->tpl->addBlockfile('TBL_CONTENT','tbl_content','tpl.sess_list_row.html','Modules/Session');
1429
1430 $members_obj = $this->initContainer(true);
1431 $members = $members_obj->getParticipants();
1432 $members = ilUtil::_sortIds($members,'usr_data','lastname','usr_id');
1433
1434 // Table
1435 $tbl = new ilTableGUI();
1436 $tbl->setTitle($this->lng->txt("event_overview"),
1437 'icon_usr.svg',
1438 $this->lng->txt('obj_usr'));
1439 $this->ctrl->setParameter($this,'offset',(int) $_GET['offset']);
1440
1441 $course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
1442 $events = array();
1443 foreach($tree->getSubtree($tree->getNodeData($course_ref_id),false,'sess') as $event_id)
1444 {
1445 $tmp_event = ilObjectFactory::getInstanceByRefId($event_id,false);
1446 if(!is_object($tmp_event) or $tmp_event->getType() != 'sess')
1447 {
1448 continue;
1449 }
1450 $events[] = $tmp_event;
1451 }
1452
1453 $headerNames = array();
1454 $headerVars = array();
1455 $colWidth = array();
1456
1457 $headerNames[] = $this->lng->txt('name');
1458 $headerVars[] = "name";
1459 $colWidth[] = '20%';
1460
1461 for ($i = 1; $i <= count($events); $i++)
1462 {
1463 $headerNames[] = $i;
1464 $headerVars[] = "event_".$i;
1465 $colWidth[] = 80/count($events)."%";
1466 }
1467
1468 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
1469 $tbl->setHeaderNames($headerNames);
1470 $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this,'eventsList'));
1471 $tbl->setColumnWidth($colWidth);
1472
1473 $tbl->setOrderColumn($_GET["sort_by"]);
1474 $tbl->setOrderDirection($_GET["sort_order"]);
1475 $tbl->setOffset($_GET["offset"]);
1476 $tbl->setLimit($ilUser->getPref("hits_per_page"));
1477 $tbl->setMaxCount(count($members));
1478 $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
1479
1480 $sliced_users = array_slice($members,$_GET['offset'],$_SESSION['tbl_limit']);
1481 $tbl->disable('sort');
1482 $tbl->render();
1483
1484 $counter = 0;
1485 foreach($sliced_users as $user_id)
1486 {
1487 foreach($events as $event_obj)
1488 {
1489 $this->tpl->setCurrentBlock("eventcols");
1490
1491 $event_part = new ilEventParticipants($this->object->getId());
1492
1493 {
1494 $this->tpl->setVariable("IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ?
1495 ilUtil::getImagePath('icon_ok.svg') :
1496 ilUtil::getImagePath('icon_not_ok.svg'));
1497
1498 $this->tpl->setVariable("PARTICIPATED", $event_part->hasParticipated($user_id) ?
1499 $this->lng->txt('event_participated') :
1500 $this->lng->txt('event_not_participated'));
1501 }
1502
1503 $this->tpl->parseCurrentBlock();
1504 }
1505
1506 $this->tpl->setCurrentBlock("tbl_content");
1507 $name = ilObjUser::_lookupName($user_id);
1508 $this->tpl->setVariable("CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
1509 $this->tpl->setVariable("LASTNAME",$name['lastname']);
1510 $this->tpl->setVariable("FIRSTNAME",$name['firstname']);
1511 $this->tpl->setVariable("LOGIN",ilObjUser::_lookupLogin($user_id));
1512 $this->tpl->parseCurrentBlock();
1513 }
1514
1515 $this->tpl->setVariable("HEAD_TXT_LEGEND", $this->lng->txt("legend"));
1516 $this->tpl->setVariable("HEAD_TXT_DIGIT", $this->lng->txt("event_digit"));
1517 $this->tpl->setVariable("HEAD_TXT_EVENT", $this->lng->txt("event"));
1518 $this->tpl->setVariable("HEAD_TXT_LOCATION", $this->lng->txt("event_location"));
1519 $this->tpl->setVariable("HEAD_TXT_DATE_TIME",$this->lng->txt("event_date_time"));
1520 $i = 1;
1521 foreach($events as $event_obj)
1522 {
1523 $this->tpl->setCurrentBlock("legend_loop");
1524 $this->tpl->setVariable("LEGEND_CSS_ROW",ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
1525 $this->tpl->setVariable("LEGEND_DIGIT", $i++);
1526 $this->tpl->setVariable("LEGEND_EVENT_TITLE", $event_obj->getTitle());
1527 $this->tpl->setVariable("LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription());
1528 $this->tpl->setVariable("LEGEND_EVENT_LOCATION", $event_obj->getLocation());
1529 $this->tpl->setVariable("LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString());
1530 $this->tpl->parseCurrentBlock();
1531 }
1532
1533 }
$_SESSION["AccountId"]
initContainer($a_init_participants=false)
static _lookupLogin($a_user_id)
lookup login
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
__showButton($a_cmd, $a_text, $a_target='')
Class ilTableGUI.
static _sortIds($a_ids, $a_table, $a_field, $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,...
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
$tbl
Definition: example_048.php:81

References $_GET, $_SESSION, $counter, $ilErr, $ilUser, $tbl, ilObjectGUI\$tree, ilObjectGUI\__showButton(), ilObjUser\_lookupLogin(), ilObjUser\_lookupName(), ilUtil\_sortIds(), ilUtil\getImagePath(), ilObjectFactory\getInstanceByRefId(), initContainer(), and ilUtil\switchColor().

+ Here is the call graph for this function:

◆ executeCommand()

ilObjSessionGUI::executeCommand ( )

execute command

@access public

Returns

Reimplemented from ilObjectGUI.

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

72 {
73 global $ilUser,$ilCtrl;
74
75 $next_class = $this->ctrl->getNextClass($this);
76 $cmd = $this->ctrl->getCmd();
77
78 if(
79 !$this->getCreationMode() &&
80 $GLOBALS['DIC']->access()->checkAccess('read','', $_GET['ref_id'])
81 )
82 {
83 include_once("./Services/Link/classes/class.ilLink.php");
84 $GLOBALS['DIC']['ilNavigationHistory']->addItem(
85 (int) $_GET['ref_id'],
86 ilLink::_getLink((int) $_GET['ref_id'], 'sess'),
87 'sess'
88 );
89 }
90
91 $this->prepareOutput();
92 switch($next_class)
93 {
94 case "ilinfoscreengui":
95 $this->checkPermission("visible");
96 $this->infoScreen(); // forwards command
97 break;
98
99 case 'ilpermissiongui':
100 $this->tabs_gui->setTabActive('perm_settings');
101 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
102 $perm_gui = new ilPermissionGUI($this);
103 $ret = $this->ctrl->forwardCommand($perm_gui);
104 break;
105
106 case 'ilobjectcopygui':
107 include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
108 $cp = new ilObjectCopyGUI($this);
109 $cp->setType('sess');
110 $this->ctrl->forwardCommand($cp);
111 break;
112
113 case "ilexportgui":
114// $this->prepareOutput();
115 $this->tabs_gui->setTabActive("export");
116 include_once("./Services/Export/classes/class.ilExportGUI.php");
117 $exp_gui = new ilExportGUI($this);
118 $exp_gui->addFormat("xml");
119 $ret = $this->ctrl->forwardCommand($exp_gui);
120// $this->tpl->show();
121 break;
122
123 case "ilcommonactiondispatchergui":
124 include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
126 $this->ctrl->forwardCommand($gui);
127 break;
128
129 case 'ilmembershipgui':
130 $this->ctrl->setReturn($this,'members');
131 include_once './Services/Membership/classes/class.ilMembershipMailGUI.php';
132 $mem = new ilMembershipMailGUI($this);
133 $this->ctrl->forwardCommand($mem);
134 break;
135
136 case "illearningprogressgui":
137 include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
139 $this->object->getRefId(),
140 $_GET['user_id'] ? $_GET['user_id'] : $ilUser->getId());
141 $this->ctrl->forwardCommand($new_gui);
142 $this->tabs_gui->setTabActive('learning_progress');
143 break;
144
145 default:
146 if(!$cmd)
147 {
148 $cmd = "infoScreen";
149 }
150 $cmd .= "Object";
151 if ($cmd != "infoScreenObject")
152 {
153 $this->checkPermission("read");
154 }
155 else
156 {
157 $this->checkPermission("visible");
158 }
159 $this->$cmd();
160
161 break;
162 }
163
164 $this->addHeaderAction();
165
166 return true;
167 }
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Export User Interface Class.
Class ilObjUserTrackingGUI.
prepareOutput($a_show_subobjects=true)
GUI class for the workflow of copying objects.
addHeaderAction()
Add header action menu.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
$ret
Definition: parser.php:6
$cmd
Definition: sahs_server.php:35

References $_GET, $cmd, $GLOBALS, $ilCtrl, $ilUser, $ret, ilLink\_getLink(), ilObjectGUI\addHeaderAction(), ilObjectGUI\checkPermission(), ilObjectGUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), infoScreen(), ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, and prepareOutput().

+ Here is the call graph for this function:

◆ getAttendanceListUserData()

ilObjSessionGUI::getAttendanceListUserData (   $a_user_id,
  $a_filters 
)

Get user data for attendance list.

Parameters
int$a_user_id
bool$a_is_admin
bool$a_is_tutor
bool$a_is_member
array$a_filters
Returns
array

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

1388 {
1389 $data = $this->event_part->getUser($a_user_id);
1390
1391 if($a_filters && $a_filters["registered"] && !$data["registered"])
1392 {
1393 return;
1394 }
1395
1396 $data['registered'] = $data['registered'] ?
1397 $this->lng->txt('yes') :
1398 $this->lng->txt('no');
1399 $data['participated'] = $data['participated'] ?
1400 $this->lng->txt('yes') :
1401 $this->lng->txt('no');
1402
1403 return $data;
1404 }

References ilObjectGUI\$data.

◆ getContainerRefId()

ilObjSessionGUI::getContainerRefId ( )

container ref id

Returns
int ref id

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

2222 {
2223 if(!$this->container_ref_id)
2224 {
2225 $this->initContainer();
2226 }
2228 }

References $container_ref_id, and initContainer().

Referenced by materialsObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCurrentObject()

ilObjSessionGUI::getCurrentObject ( )

Get session object.

Returns
ilObjSession

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

174 {
175 return $this->object;
176 }

References ilObjectGUI\$object.

Referenced by registerObject(), and showJoinRequestButton().

+ Here is the caller graph for this function:

◆ getTabs()

ilObjSessionGUI::getTabs ( )

Build tabs.

@access public

Reimplemented from ilObjectGUI.

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

1952 {
1953 global $ilAccess, $ilTabs, $tree, $ilCtrl, $ilHelp;
1954
1955 $ilHelp->setScreenIdComponent("sess");
1956
1957 $parent_id = $tree->getParentId($this->object->getRefId());
1958
1959 // #11650
1960 $parent_type = ilObject::_lookupType($parent_id, true);
1961
1962 $this->tabs_gui->setBackTarget($this->lng->txt('back_to_'.$parent_type.'_content'),
1963 $ilCtrl->getLinkTarget($this, "redirectToParentContentPage"));
1964
1965 $this->tabs_gui->addTarget('info_short',
1966 $this->ctrl->getLinkTarget($this,'infoScreen'));
1967
1968 if($ilAccess->checkAccess('write','',$this->object->getRefId()))
1969 {
1970 $this->tabs_gui->addTarget('settings',
1971 $this->ctrl->getLinkTarget($this,'edit'));
1972 $this->tabs_gui->addTarget('crs_materials',
1973 $this->ctrl->getLinkTarget($this,'materials'));
1974 $this->tabs_gui->addTarget('event_edit_members',
1975 $this->ctrl->getLinkTarget($this,'members'));
1976 }
1977
1978 // learning progress
1979 include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
1980 if(ilLearningProgressAccess::checkAccess($this->object->getRefId()))
1981 {
1982 $this->tabs_gui->addTarget('learning_progress',
1983 $this->ctrl->getLinkTargetByClass(array('ilobjsessiongui','illearningprogressgui'),''),
1984 '',
1985 array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui'));
1986 }
1987
1988 // export
1989 if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
1990 {
1991 $this->tabs_gui->addTarget("export",
1992 $this->ctrl->getLinkTargetByClass("ilexportgui", ""), "", "ilexportgui");
1993 }
1994
1995
1996 // edit permissions
1997 if ($ilAccess->checkAccess('edit_permission', "", $this->object->getRefId()))
1998 {
1999 $this->tabs_gui->addTarget("perm_settings",
2000 $this->ctrl->getLinkTargetByClass("ilpermissiongui", "perm"), array("perm","info","owner"), 'ilpermissiongui');
2001 }
2002
2003 }
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
static _lookupType($a_id, $a_reference=false)
lookup object type

References $ilCtrl, ilObjectGUI\$tree, ilObject\_lookupType(), and ilLearningProgressAccess\checkAccess().

+ Here is the call graph for this function:

◆ handleFileUpload()

ilObjSessionGUI::handleFileUpload ( )

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

680 {
681 global $tree;
682
683 include_once './Modules/Session/classes/class.ilEventItems.php';
684 $ev = new ilEventItems($this->object->getId());
685 $items = $ev->getItems();
686
687 $counter = 0;
688 while(true)
689 {
690 if(!isset($_FILES['files']['name'][$counter]))
691 {
692 break;
693 }
694 if(!strlen($_FILES['files']['name'][$counter]))
695 {
696 $counter++;
697 continue;
698 }
699
700 include_once './Modules/File/classes/class.ilObjFile.php';
701 $file = new ilObjFile();
702 $file->setTitle(ilUtil::stripSlashes($_FILES['files']['name'][$counter]));
703 $file->setDescription('');
704 $file->setFileName(ilUtil::stripSlashes($_FILES['files']['name'][$counter]));
705 $file->setFileType($_FILES['files']['type'][$counter]);
706 $file->setFileSize($_FILES['files']['size'][$counter]);
707 $file->create();
708 $new_ref_id = $file->createReference();
709 $file->putInTree($tree->getParentId($this->object->getRefId()));
710 $file->setPermissions($tree->getParentId($this->object->getRefId()));
711 $file->createDirectory();
712 $file->getUploadFile(
713 $_FILES['files']['tmp_name'][$counter],
714 $_FILES['files']['name'][$counter]
715 );
716
717 $items[] = $new_ref_id;
718 $counter++;
719
720 }
721
722 $ev->setItems($items);
723 $ev->update();
724 }
Class ilObjFile.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $counter, $file, ilObjectGUI\$tree, and ilUtil\stripSlashes().

Referenced by saveObject(), and updateObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreen()

ilObjSessionGUI::infoScreen ( )

info screen

@access protected

Parameters

return

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

472 {
473 global $ilAccess, $ilUser,$ilCtrl,$tree,$ilToolbar,$lng;
474
475 $this->checkPermission('visible');
476 $this->tabs_gui->setTabActive('info_short');
477
478 $appointment_obj = $this->object->getFirstAppointment();
479
480 include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
481 $info = new ilInfoScreenGUI($this);
482
483 $this->showJoinRequestButton();
484
485 // Session information
486 if(strlen($this->object->getLocation()) or strlen($this->object->getDetails()))
487 {
488 $info->addSection($this->lng->txt('event_section_information'));
489 }
490 if(strlen($location = $this->object->getLocation()))
491 {
492 $info->addProperty($this->lng->txt('event_location'),
493 nl2br($this->object->getLocation()));
494 }
495 if(strlen($this->object->getDetails()))
496 {
497 $info->addProperty($this->lng->txt('event_details_workflow'),
498 nl2br($this->object->getDetails()));
499 }
500
501 // Tutor information
502 if($this->object->hasTutorSettings())
503 {
504 $info->addSection($this->lng->txt('event_tutor_data'));
505 if(strlen($fullname = $this->object->getName()))
506 {
507 $info->addProperty($this->lng->txt('event_lecturer'),
508 $fullname);
509 }
510 if(strlen($email = $this->object->getEmail()))
511 {
512 $info->addProperty($this->lng->txt('tutor_email'),
513 $email);
514 }
515 if(strlen($phone = $this->object->getPhone()))
516 {
517 $info->addProperty($this->lng->txt('tutor_phone'),
518 $phone);
519 }
520 }
521
522
523 $html = '';
524
525 include_once './Services/Object/classes/class.ilObjectActivation.php';
526 include_once './Services/Container/classes/class.ilContainerSorting.php';
527 include_once './Modules/Session/classes/class.ilSessionObjectListGUIFactory.php';
528
529 $eventItems = ilObjectActivation::getItemsByEvent($this->object->getId());
530 $parent_id = $tree->getParentId($this->object->getRefId());
531 $parent_id = ilObject::_lookupObjId($parent_id);
532 $eventItems = ilContainerSorting::_getInstance($parent_id)->sortSubItems(
533 'sess',
534 $this->object->getId(),
535 $eventItems
536 );
537
538 $lng->loadLanguageModule("cntr");// #14158
539
540 foreach($eventItems as $item)
541 {
542 $list_gui = ilSessionObjectListGUIFactory::factory($item['type']);
543 $list_gui->setContainerObject($this);
544
545 $this->modifyItemGUI($list_gui, $item, false);
546
547 $html .= $list_gui->getListItemHTML(
548 $item['ref_id'],
549 $item['obj_id'],
550 $item['title'],
551 $item['description']
552 );
553 }
554
555 if(strlen($html))
556 {
557 $info->addSection($this->lng->txt('event_materials'));
558 $info->addProperty(
559 '&nbsp;',
560 $html);
561 }
562
563 // forward the command
564 $this->ctrl->forwardCommand($info);
565
566 // store read event
567 require_once 'Services/Tracking/classes/class.ilChangeEvent.php';
568 ilChangeEvent::_recordReadEvent($this->object->getType(), $this->object->getRefId(),
569 $this->object->getId(), $ilUser->getId());
570 }
$location
Definition: buildRTE.php:44
static _recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static _getInstance($a_obj_id)
get instance by obj_id
Class ilInfoScreenGUI.
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container @global type $tree.
showJoinRequestButton()
show join request
static getItemsByEvent($a_event_id)
Get session material / event items.
static _lookupObjId($a_id)
static factory($a_type)
Get list gui by type This method caches all the returned list guis.
$html
Definition: example_001.php:87
$info
Definition: example_052.php:80

References $html, $ilCtrl, $ilUser, $info, $lng, $location, ilObjectGUI\$tree, ilContainerSorting\_getInstance(), ilObject\_lookupObjId(), ilChangeEvent\_recordReadEvent(), ilObjectGUI\checkPermission(), ilSessionObjectListGUIFactory\factory(), ilObjectActivation\getItemsByEvent(), modifyItemGUI(), and showJoinRequestButton().

Referenced by executeCommand(), and infoScreenObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreenObject()

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

353 {
354 $this->ctrl->setCmd("showSummary");
355 $this->ctrl->setCmdClass("ilinfoscreengui");
356 $this->infoScreen();
357 }

References infoScreen().

Referenced by addToDeskObject(), and removeFromDeskObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initAttendanceList()

ilObjSessionGUI::initAttendanceList ( )
protected

Init attendance list object.

Returns
ilAttendanceList

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

1327 {
1328 $members_obj = $this->initContainer(true);
1329
1330 include_once 'Services/Membership/classes/class.ilAttendanceList.php';
1331 $list = new ilAttendanceList(
1332 $this,
1333 $this->object,
1334 $members_obj);
1335 $list->setId('sessattlst');
1336
1337 $event_app = $this->object->getFirstAppointment();
1339 $desc = ilDatePresentation::formatPeriod($event_app->getStart(),$event_app->getEnd());
1341 $desc .= " ".$this->object->getTitle();
1342 $list->setTitle($this->lng->txt('sess_attendance_list'), $desc);
1343
1344 $list->addPreset('mark', $this->lng->txt('trac_mark'), true);
1345 $list->addPreset('comment', $this->lng->txt('trac_comment'), true);
1346 if($this->object->enabledRegistration())
1347 {
1348 $list->addPreset('registered', $this->lng->txt('event_tbl_registered'), true);
1349 }
1350 $list->addPreset('participated', $this->lng->txt('event_tbl_participated'), true);
1351 $list->addBlank($this->lng->txt('sess_signature'));
1352
1353 $list->addUserFilter('registered', $this->lng->txt('event_list_registered_only'));
1354
1355 return $list;
1356 }
Base class for attendance lists.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
static setUseRelativeDates($a_status)
set use relative dates

References ilDatePresentation\formatPeriod(), initContainer(), and ilDatePresentation\setUseRelativeDates().

Referenced by attendanceListObject(), and printAttendanceListObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initContainer()

ilObjSessionGUI::initContainer (   $a_init_participants = false)
protected

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

955 {
956 global $tree;
957
958 $is_course = $is_group = false;
959
960 // #13178
961 $this->container_ref_id = $tree->checkForParentType($this->object->getRefId(),'grp');
962 if($this->container_ref_id)
963 {
964 $is_group = true;
965 }
966 if(!$this->container_ref_id)
967 {
968 $this->container_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs');
969 if($this->container_ref_id)
970 {
971 $is_course = true;
972 }
973 }
974 if(!$this->container_ref_id)
975 {
976 ilUtil::sendFailure('No container object found. Aborting');
977 return true;
978 }
979 $this->container_obj_id = ilObject::_lookupObjId($this->container_ref_id);
980
981 if($a_init_participants && $this->container_obj_id)
982 {
983 if($is_course)
984 {
985 include_once './Modules/Course/classes/class.ilCourseParticipants.php';
986 return ilCourseParticipants::_getInstanceByObjId($this->container_obj_id);
987 }
988 else if($is_group)
989 {
990 include_once './Modules/Group/classes/class.ilGroupParticipants.php';
991 return ilGroupParticipants::_getInstanceByObjId($this->container_obj_id);
992 }
993 }
994
995 }
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.

References ilObjectGUI\$tree, ilCourseParticipants\_getInstanceByObjId(), ilGroupParticipants\_getInstanceByObjId(), ilObject\_lookupObjId(), and ilUtil\sendFailure().

Referenced by eventsListObject(), getContainerRefId(), initAttendanceList(), membersObject(), and updateMembersObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCreateForm()

ilObjSessionGUI::initCreateForm (   $a_new_type)
protected

Init object creation form.

Parameters
string$a_new_type
Returns
ilPropertyFormGUI

Reimplemented from ilObjectGUI.

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

586 {
587 if(!is_object($this->object))
588 {
589 $this->object = new ilObjSession();
590 }
591 $this->initForm('create');
592 return $this->form;
593 }

References initForm().

+ Here is the call graph for this function:

◆ initForm()

ilObjSessionGUI::initForm (   $a_mode)
protected

Init Form.

@access protected

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

1541 {
1542 global $ilUser;
1543
1544 if(is_object($this->form))
1545 {
1546 return true;
1547 }
1548
1549 $this->lng->loadLanguageModule('dateplaner');
1550
1551 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1552
1553 include_once('./Services/YUI/classes/class.ilYuiUtil.php');
1555
1556 $this->form = new ilPropertyFormGUI();
1557 $this->form->setMultipart(true);
1558 $this->form->setTableWidth('600px');
1559 $this->form->setFormAction($this->ctrl->getFormAction($this));
1560 $this->form->setMultipart(true);
1561
1562 /*
1563 $full = new ilCheckboxInputGUI('','fulltime');
1564 $full->setChecked($this->object->getFirstAppointment()->enabledFulltime() ? true : false);
1565 $full->setOptionTitle($this->lng->txt('event_fulltime_info'));
1566 $full->setAdditionalAttributes('onchange="ilToggleSessionTime(this);"');
1567 #$this->form->addItem($full);
1568 */
1569
1570 $this->lng->loadLanguageModule('dateplaner');
1571 include_once './Services/Form/classes/class.ilDateDurationInputGUI.php';
1572 $dur = new ilDateDurationInputGUI($this->lng->txt('cal_fullday'),'event');
1573 $dur->setRequired(true);
1574 $dur->enableToggleFullTime(
1575 $this->lng->txt('event_fulltime_info'),
1576 $this->object->getFirstAppointment()->enabledFulltime() ? true : false
1577 );
1578 $dur->setShowTime(true);
1579 $dur->setStart($this->object->getFirstAppointment()->getStart());
1580 $dur->setEnd($this->object->getFirstAppointment()->getEnd());
1581
1582 $this->form->addItem($dur);
1583
1584 /*
1585 // start
1586 $start = new ilDateTimeInputGUI($this->lng->txt('event_start_date'),'start');
1587 $start->setMinuteStepSize(5);
1588 $start->setDate($this->object->getFirstAppointment()->getStart());
1589 $start->setShowTime(true);
1590 #$this->form->addItem($start);
1591
1592 // end
1593 $end = new ilDateTimeInputGUI($this->lng->txt('event_end_date'),'end');
1594 $end->setMinuteStepSize(5);
1595 $end->setDate($this->object->getFirstAppointment()->getEnd());
1596 $end->setShowTime(true);
1597 #$this->form->addItem($end);
1598 */
1599
1600 // Recurrence
1601 if($a_mode == 'create')
1602 {
1603 if(!is_object($this->rec))
1604 {
1605 include_once('./Modules/Session/classes/class.ilEventRecurrence.php');
1606 $this->rec = new ilEventRecurrence();
1607 }
1608 include_once('./Services/Calendar/classes/Form/class.ilRecurrenceInputGUI.php');
1609 $rec = new ilRecurrenceInputGUI($this->lng->txt('cal_recurrences'),'frequence');
1610 $rec->allowUnlimitedRecurrences(false);
1611 $rec->setRecurrence($this->rec);
1612 $this->form->addItem($rec);
1613
1614 // #14547
1615 $lp = new ilCheckboxInputGUI($this->lng->txt("sess_lp_preset"), "lp_preset");
1616 $lp->setInfo($this->lng->txt("sess_lp_preset_info"));
1617 $lp->setChecked(true);
1618 $this->form->addItem($lp);
1619 }
1620
1622 $section->setTitle($this->lng->txt('event_section_information'));
1623 $this->form->addItem($section);
1624
1625 // title
1626 $title = new ilTextInputGUI($this->lng->txt('event_title'),'title');
1627 $title->setValue($this->object->getTitle());
1628 $title->setSize(50);
1629 $title->setMaxLength(70);
1630 $this->form->addItem($title);
1631
1632 // desc
1633 $desc = new ilTextAreaInputGUI($this->lng->txt('event_desc'),'desc');
1634 $desc->setValue($this->object->getLongDescription());
1635 $desc->setRows(4);
1636 $desc->setCols(50);
1637 $this->form->addItem($desc);
1638
1639 // location
1640 $desc = new ilTextAreaInputGUI($this->lng->txt('event_location'),'location');
1641 $desc->setValue($this->object->getLocation());
1642 $desc->setRows(4);
1643 $desc->setCols(50);
1644 $this->form->addItem($desc);
1645
1646 // workflow
1647 $details = new ilTextAreaInputGUI($this->lng->txt('event_details_workflow'),'details');
1648 $details->setValue($this->object->getDetails());
1649 $details->setCols(50);
1650 $details->setRows(4);
1651 $this->form->addItem($details);
1652
1653 // section
1655 $section->setTitle($this->lng->txt('event_tutor_data'));
1656 $this->form->addItem($section);
1657
1658 // name
1659 $tutor_name = new ilTextInputGUI($this->lng->txt('tutor_name'),'tutor_name');
1660 $tutor_name->setValue($this->object->getName());
1661 $tutor_name->setSize(20);
1662 $tutor_name->setMaxLength(70);
1663 $this->form->addItem($tutor_name);
1664
1665 // email
1666 $tutor_email = new ilTextInputGUI($this->lng->txt('tutor_email'),'tutor_email');
1667 $tutor_email->setValue($this->object->getEmail());
1668 $tutor_email->setSize(20);
1669 $tutor_email->setMaxLength(70);
1670 $this->form->addItem($tutor_email);
1671
1672 // phone
1673 $tutor_phone = new ilTextInputGUI($this->lng->txt('tutor_phone'),'tutor_phone');
1674 $tutor_phone->setValue($this->object->getPhone());
1675 $tutor_phone->setSize(20);
1676 $tutor_phone->setMaxLength(70);
1677 $this->form->addItem($tutor_phone);
1678
1680 $section->setTitle($this->lng->txt('sess_section_reg'));
1681 $this->form->addItem($section);
1682
1683 include_once './Modules/Session/classes/class.ilSessionMembershipRegistrationSettingsGUI.php';
1684 include_once './Services/Membership/classes/class.ilMembershipRegistrationSettings.php';
1686 $this,
1687 $this->object,
1688 array(
1693 )
1694 );
1695 $reg_settings->addMembershipFormElements($this->form, '');
1696
1697
1699 $section->setTitle($this->lng->txt('event_assign_files'));
1700 $this->form->addItem($section);
1701
1702 $files = new ilFileWizardInputGUI($this->lng->txt('objs_file'),'files');
1703 $files->setFilenames(array(0 => ''));
1704 $this->form->addItem($files);
1705
1706 switch($a_mode)
1707 {
1708 case 'create':
1709 $this->form->setTitle($this->lng->txt('event_table_create'));
1710
1711 $this->form->addCommandButton('save',$this->lng->txt('event_btn_add'));
1712 $this->form->addCommandButton('saveAndAssignMaterials',$this->lng->txt('event_btn_add_edit'));
1713 $this->form->addCommandButton('cancel',$this->lng->txt('cancel'));
1714
1715 return true;
1716
1717 case 'edit':
1718 $this->form->setTitle($this->lng->txt('event_table_update'));
1719
1720 $this->form->addCommandButton('update',$this->lng->txt('save'));
1721 $this->form->addCommandButton('cancelEdit',$this->lng->txt('cancel'));
1722
1723 return true;
1724 }
1725 return true;
1726 }
$section
Definition: Utf8Test.php:83
This class represents a checkbox property in a property form.
input GUI for a time span (start and end date)
This class represents a file wizard property in a property form.
This class represents a section header in a property form.
This class represents a property form user interface.
This class represents an input GUI for recurring events/appointments (course events or calendar appoi...
This class represents a text area property in a property form.
This class represents a text property in a property form.
static initDomEvent()
Init YUI DomEvent.

References $files, $ilUser, $section, $title, ilYuiUtil\initDomEvent(), ilMembershipRegistrationSettings\REGISTRATION_LIMITED_USERS, ilMembershipRegistrationSettings\TYPE_DIRECT, ilMembershipRegistrationSettings\TYPE_NONE, and ilMembershipRegistrationSettings\TYPE_REQUEST.

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ joinObject()

ilObjSessionGUI::joinObject ( )

Called from info screen.

Returns

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

253 {
254 global $ilUser;
255
256 $this->checkPermission('read');
257
258 if($ilUser->isAnonymous())
259 {
260 $this->ctrl->redirect($this,'infoScreen');
261 }
262
263 include_once './Modules/Session/classes/class.ilEventParticipants.php';
264
265 if(ilEventParticipants::_isRegistered($ilUser->getId(),$this->object->getId()))
266 {
267 $_SESSION['sess_hide_info'] = true;
268 ilEventParticipants::_unregister($ilUser->getId(),$this->object->getId());
269 ilUtil::sendSuccess($this->lng->txt('event_unregistered'),true);
270 }
271 else
272 {
273 ilEventParticipants::_register($ilUser->getId(),$this->object->getId());
274 ilUtil::sendSuccess($this->lng->txt('event_registered'),true);
275 }
276
277 $this->ctrl->redirect($this,'infoScreen');
278 }
static _isRegistered($a_usr_id, $a_event_id)
static _register($a_usr_id, $a_event_id)
static _unregister($a_usr_id, $a_event_id)

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

+ Here is the call graph for this function:

◆ load()

ilObjSessionGUI::load ( )
protected

load settings

@access protected

Parameters

return

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

1736 {
1737 $event = $this->form->getItemByPostVar('event');
1738 if($event->getStart() && $event->getEnd())
1739 {
1740 $this->object->getFirstAppointment()->setStartingTime($event->getStart()->get(IL_CAL_UNIX));
1741 $this->object->getFirstAppointment()->setEndingTime($event->getStart()->get(IL_CAL_UNIX));
1742 $this->object->getFirstAppointment()->setStart($event->getStart());
1743 $this->object->getFirstAppointment()->setEnd($event->getEnd());
1744 $this->object->getFirstAppointment()->toggleFulltime($event->getStart() instanceof ilDate);
1745 }
1746
1747 $this->object->setTitle(ilUtil::stripSlashes($_POST['title']));
1748 $this->object->setDescription(ilUtil::stripSlashes($_POST['desc']));
1749 $this->object->setLocation(ilUtil::stripSlashes($_POST['location']));
1750 $this->object->setName(ilUtil::stripSlashes($_POST['tutor_name']));
1751 $this->object->setPhone(ilUtil::stripSlashes($_POST['tutor_phone']));
1752 $this->object->setEmail(ilUtil::stripSlashes($_POST['tutor_email']));
1753 $this->object->setDetails(ilUtil::stripSlashes($_POST['details']));
1754
1755 $this->object->setRegistrationType((int) $_POST['registration_type']);
1756 // $this->object->setRegistrationMinUsers((int) $_POST['registration_min_members']);
1757 $this->object->setRegistrationMaxUsers((int) $_POST['registration_max_members']);
1758 $this->object->enableRegistrationUserLimit((int) $_POST['registration_membership_limited']);
1759
1760 switch((int) $_POST['waiting_list'])
1761 {
1762 case 2:
1763 $this->object->enableRegistrationWaitingList(true);
1764 $this->object->setWaitingListAutoFill(true);
1765 break;
1766
1767 case 1:
1768 $this->object->enableRegistrationWaitingList(true);
1769 $this->object->setWaitingListAutoFill(false);
1770 break;
1771
1772 default:
1773 $this->object->enableRegistrationWaitingList(false);
1774 $this->object->setWaitingListAutoFill(false);
1775 break;
1776 }
1777 }
Class for single dates.

References $_POST, IL_CAL_UNIX, and ilUtil\stripSlashes().

Referenced by saveObject(), and updateObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadRecurrenceSettings()

ilObjSessionGUI::loadRecurrenceSettings ( )
protected

load recurrence settings

@access protected

Returns

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

1786 {
1787 include_once('./Modules/Session/classes/class.ilSessionRecurrence.php');
1788 $this->rec = new ilSessionRecurrence();
1789
1790 switch($_POST['frequence'])
1791 {
1792 case IL_CAL_FREQ_DAILY:
1793 $this->rec->setFrequenceType($_POST['frequence']);
1794 $this->rec->setInterval((int) $_POST['count_DAILY']);
1795 break;
1796
1797 case IL_CAL_FREQ_WEEKLY:
1798 $this->rec->setFrequenceType($_POST['frequence']);
1799 $this->rec->setInterval((int) $_POST['count_WEEKLY']);
1800 if(is_array($_POST['byday_WEEKLY']))
1801 {
1802 $this->rec->setBYDAY(ilUtil::stripSlashes(implode(',',$_POST['byday_WEEKLY'])));
1803 }
1804 break;
1805
1807 $this->rec->setFrequenceType($_POST['frequence']);
1808 $this->rec->setInterval((int) $_POST['count_MONTHLY']);
1809 switch((int) $_POST['subtype_MONTHLY'])
1810 {
1811 case 0:
1812 // nothing to do;
1813 break;
1814
1815 case 1:
1816 switch((int) $_POST['monthly_byday_day'])
1817 {
1818 case 8:
1819 // Weekday
1820 $this->rec->setBYSETPOS((int) $_POST['monthly_byday_num']);
1821 $this->rec->setBYDAY('MO,TU,WE,TH,FR');
1822 break;
1823
1824 case 9:
1825 // Day of month
1826 $this->rec->setBYMONTHDAY((int) $_POST['monthly_byday_num']);
1827 break;
1828
1829 default:
1830 $this->rec->setBYDAY((int) $_POST['monthly_byday_num'].$_POST['monthly_byday_day']);
1831 break;
1832 }
1833 break;
1834
1835 case 2:
1836 $this->rec->setBYMONTHDAY((int) $_POST['monthly_bymonthday']);
1837 break;
1838 }
1839 break;
1840
1841 case IL_CAL_FREQ_YEARLY:
1842 $this->rec->setFrequenceType($_POST['frequence']);
1843 $this->rec->setInterval((int) $_POST['count_YEARLY']);
1844 switch((int) $_POST['subtype_YEARLY'])
1845 {
1846 case 0:
1847 // nothing to do;
1848 break;
1849
1850 case 1:
1851 $this->rec->setBYMONTH((int) $_POST['yearly_bymonth_byday']);
1852 $this->rec->setBYDAY((int) $_POST['yearly_byday_num'].$_POST['yearly_byday']);
1853 break;
1854
1855 case 2:
1856 $this->rec->setBYMONTH((int) $_POST['yearly_bymonth_by_monthday']);
1857 $this->rec->setBYMONTHDAY((int) $_POST['yearly_bymonthday']);
1858 break;
1859 }
1860 break;
1861 }
1862
1863 // UNTIL
1864 switch((int) $_POST['until_type'])
1865 {
1866 case 1:
1867 $this->rec->setFrequenceUntilDate(null);
1868 // nothing to do
1869 break;
1870
1871 case 2:
1872 $this->rec->setFrequenceUntilDate(null);
1873 $this->rec->setFrequenceUntilCount((int) $_POST['count']);
1874 break;
1875
1876 case 3:
1877 $frequence = $this->form->getItemByPostVar('frequence');
1878 $end = $frequence->getRecurrence()->getFrequenceUntilDate();
1879 $this->rec->setFrequenceUntilCount(0);
1880 $this->rec->setFrequenceUntilDate($end);
1881 break;
1882 }
1883 }
const IL_CAL_FREQ_YEARLY
const IL_CAL_FREQ_MONTHLY
const IL_CAL_FREQ_WEEKLY
const IL_CAL_FREQ_DAILY
Model of calendar entry recurrcences.

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

Referenced by saveObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ materialsObject()

ilObjSessionGUI::materialsObject ( )

show material assignment

@access protected

Parameters

return

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

1005 {
1006 global $tree, $objDefinition;
1007
1008 $this->tabs_gui->setTabActive('crs_materials');
1009
1010 // #11337 - support ANY parent container (crs, grp, fld)
1011 $parent_ref_id = $tree->getParentId($this->object->getRefId());
1012
1013 include_once "Services/Object/classes/class.ilObjectAddNewItemGUI.php";
1014 $gui = new ilObjectAddNewItemGUI($parent_ref_id);
1015 $gui->setDisabledObjectTypes(array("itgr", "sess"));
1016 $gui->setAfterCreationCallback($this->ref_id);
1017 $gui->render();
1018
1019 include_once 'Modules/Session/classes/class.ilEventItems.php';
1020 $this->event_items = new ilEventItems($this->object->getId());
1021
1022 include_once 'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
1023 $tbl = new ilSessionMaterialsTableGUI($this, "materials");
1024 $tbl->setTitle($this->lng->txt("event_assign_materials_table"));
1025 $tbl->setDescription($this->lng->txt('event_assign_materials_info'));
1026
1027 $tbl->setMaterialItems($this->event_items->getItems());
1028 $tbl->setContainerRefId($this->getContainerRefId());
1029 $tbl->getDataFromDb();
1030
1031 $this->tpl->setContent($tbl->getHTML());
1032 }
getContainerRefId()
container ref id
Render add new item selector.

References ilObjectGUI\$objDefinition, $tbl, ilObjectGUI\$tree, and getContainerRefId().

+ Here is the call graph for this function:

◆ membersObject()

ilObjSessionGUI::membersObject ( )
protected

Show participants table.

Returns
void

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

1071 {
1072 global $tree,$ilUser;
1073
1074 $this->checkPermission('write');
1075 $this->tabs_gui->setTabActive('event_edit_members');
1076
1077 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.sess_members.html', 'Modules/Session');
1078
1079 include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
1080 $toolbar = new ilToolbarGUI();
1081 $toolbar->addButton($this->lng->txt('crs_print_list'),
1082 $this->ctrl->getLinkTarget($this,'attendanceList'));
1083
1084 $this->tpl->setVariable('ACTION_BUTTONS',$toolbar->getHTML());
1085
1086 $members_obj = $this->initContainer(true);
1087
1088 include_once './Modules/Session/classes/class.ilEventParticipants.php';
1089
1090 // Save hide/show table settings
1091 $this->setShowHidePrefs();
1092
1093 // Waiting list table
1094 include_once('./Modules/Session/classes/class.ilSessionWaitingList.php');
1095 $waiting_list = new ilSessionWaitingList($this->object->getId());
1096 if(count($wait = $waiting_list->getAllUsers()))
1097 {
1098 include_once('./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1099 if($ilUser->getPref('sess_wait_hide'))
1100 {
1101 $table_gui = new ilWaitingListTableGUI($this,$this->object, $waiting_list,false);
1102 $this->ctrl->setParameter($this,'wait_hide',0);
1103 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1104 $this->lng->txt('show'));
1105 $this->ctrl->clearParameters($this);
1106 }
1107 else
1108 {
1109 $table_gui = new ilWaitingListTableGUI($this,$this->object, $waiting_list,true);
1110 $this->ctrl->setParameter($this,'wait_hide',1);
1111 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1112 $this->lng->txt('hide'));
1113 $this->ctrl->clearParameters($this);
1114 }
1115 $table_gui->setUsers($wait);
1116 $table_gui->setTitle($this->lng->txt('grp_header_waiting_list'),'icon_usr.svg',$this->lng->txt('group_new_registrations'));
1117 $this->tpl->setVariable('TABLE_WAIT',$table_gui->getHTML());
1118 }
1119
1120 // subscribers
1121 // Subscriber table
1122 include_once './Services/Membership/classes/class.ilParticipants.php';
1123 $part = ilParticipants::getInstanceByObjId($this->object->getId());
1124 if($part->getSubscribers())
1125 {
1126 include_once('./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1127 if($ilUser->getPref('grp_subscriber_hide'))
1128 {
1129 $table_gui = new ilSubscriberTableGUI($this,$this->object, false, false);
1130 $this->ctrl->setParameter($this,'subscriber_hide',0);
1131 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1132 $this->lng->txt('show'));
1133 $this->ctrl->clearParameters($this);
1134 }
1135 else
1136 {
1137 $table_gui = new ilSubscriberTableGUI($this,$this->object, true, false);
1138 $this->ctrl->setParameter($this,'subscriber_hide',1);
1139 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1140 $this->lng->txt('hide'));
1141 $this->ctrl->clearParameters($this);
1142 }
1143 $table_gui->readSubscriberData();
1144 $table_gui->setTitle($this->lng->txt('sess_new_registrations'),'icon_usr.svg',$this->lng->txt('sess_new_registrations'));
1145 $this->tpl->setVariable('TABLE_SUB',$table_gui->getHTML());
1146 }
1147
1148
1149 // Admins
1150 if(count($admins = $members_obj->getAdmins()))
1151 {
1152 include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1153 if($ilUser->getPref('sess_admin_hide'))
1154 {
1156 $this->ctrl->setParameter($this,'admin_hide',0);
1157 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1158 $this->lng->txt('show'));
1159 $this->ctrl->clearParameters($this);
1160 }
1161 else
1162 {
1164 $this->ctrl->setParameter($this,'admin_hide',1);
1165 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1166 $this->lng->txt('hide'));
1167 $this->ctrl->clearParameters($this);
1168 }
1169
1170 $table->addCommandButton('updateMembers',$this->lng->txt('save'));
1171 $table->setTitle($this->lng->txt('event_tbl_admins'),'icon_usr.svg',$this->lng->txt('event_tbl_admins'));
1172 $table->enableRegistration($this->object->enabledRegistration());
1173 $table->setParticipants($admins);
1174 $table->parse();
1175 $this->tpl->setVariable('ADMINS',$table->getHTML());
1176 }
1177
1178 // Tutors
1179 if(count($tutors = $members_obj->getTutors()))
1180 {
1181 include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1182 if($ilUser->getPref('sess_tutor_hide'))
1183 {
1185 $this->ctrl->setParameter($this,'tutor_hide',0);
1186 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1187 $this->lng->txt('show'));
1188 $this->ctrl->clearParameters($this);
1189 }
1190 else
1191 {
1193 $this->ctrl->setParameter($this,'tutor_hide',1);
1194 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1195 $this->lng->txt('hide'));
1196 $this->ctrl->clearParameters($this);
1197 }
1198 $table->addCommandButton('updateMembers',$this->lng->txt('save'));
1199 $table->setTitle($this->lng->txt('event_tbl_tutors'),'icon_usr.svg',$this->lng->txt('event_tbl_tutors'));
1200 $table->enableRegistration($this->object->enabledRegistration());
1201 $table->setParticipants($tutors);
1202 $table->parse();
1203 $this->tpl->setVariable('TUTORS',$table->getHTML());
1204 }
1205
1206 // Members
1207 if(count($members = $members_obj->getMembers()))
1208 {
1209 include_once('./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1210 if($ilUser->getPref('sess_member_hide'))
1211 {
1213 $this->ctrl->setParameter($this,'member_hide',0);
1214 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1215 $this->lng->txt('show'));
1216 $this->ctrl->clearParameters($this);
1217 }
1218 else
1219 {
1221 $this->ctrl->setParameter($this,'member_hide',1);
1222 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,'members'),
1223 $this->lng->txt('hide'));
1224 $this->ctrl->clearParameters($this);
1225 }
1226 $table->addCommandButton('updateMembers',$this->lng->txt('save'));
1227 $table->setTitle($this->lng->txt('event_tbl_members'),'icon_usr.svg',$this->lng->txt('event_tbl_members'));
1228 $table->enableRegistration($this->object->enabledRegistration());
1229 $table->setParticipants($members);
1230 $table->parse();
1231 $this->tpl->setVariable('MEMBERS',$table->getHTML());
1232 }
1233
1234
1235 $GLOBALS['lng']->loadLanguageModule('mmbr');
1236 $this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
1237 $this->tpl->setVariable('TXT_SELECTED_USER',$this->lng->txt('mmbr_selected_users'));
1238 $this->tpl->setVariable('BTN_FOOTER_MAIL',$this->lng->txt('mmbr_btn_mail_selected_users'));
1239 $this->tpl->setVariable('ARROW_DOWN',ilUtil::getImagePath('arrow_downright.svg'));
1240 }
setShowHidePrefs()
set preferences (show/hide tabel content)
GUI class for course/group subscriptions.
GUI class for course/group waiting list.

References $GLOBALS, $ilUser, ilObjectGUI\$tree, ilObjectGUI\checkPermission(), ilUtil\getImagePath(), ilParticipants\getInstanceByObjId(), initContainer(), setShowHidePrefs(), ilSessionParticipantsTableGUI\TYPE_ADMIN, ilSessionParticipantsTableGUI\TYPE_MEMBER, and ilSessionParticipantsTableGUI\TYPE_TUTOR.

Referenced by assignFromWaitingListObject(), assignSubscribersObject(), confirmAssignFromWaitingListObject(), confirmAssignSubscribersObject(), confirmRefuseFromListObject(), confirmRefuseSubscribersObject(), refuseFromListObject(), refuseSubscribersObject(), and updateMembersObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ modifyItemGUI()

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

Modify Item ListGUI for presentation in container @global type $tree.

Parameters
type$a_item_list_gui
type$a_item_data
type$a_show_path

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

367 {
368 global $tree;
369
370 // if folder is in a course, modify item list gui according to course requirements
371 if ($course_ref_id = $tree->checkForParentType($this->object->getRefId(),'crs'))
372 {
373 // #10611
374 include_once "Services/Object/classes/class.ilObjectActivation.php";
375 ilObjectActivation::addListGUIActivationProperty($a_item_list_gui, $a_item_data);
376
377 include_once("./Modules/Course/classes/class.ilObjCourse.php");
378 include_once("./Modules/Course/classes/class.ilObjCourseGUI.php");
379 $course_obj_id = ilObject::_lookupObjId($course_ref_id);
381 $a_item_list_gui,
382 get_class($this),
383 $a_item_data,
384 $a_show_path,
385 ilObjCourse::_lookupAboStatus($course_obj_id),
386 $course_ref_id,
387 $course_obj_id,
388 $this->object->getRefId());
389 }
390 }
static _modifyItemGUI($a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path, $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id=0)
We need a static version of this, e.g.
static _lookupAboStatus($a_id)
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.

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

Referenced by infoScreen().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prepareOutput()

ilObjSessionGUI::prepareOutput (   $a_show_subobjects = true)
See also
ilObjectGUI::prepareOutput()

Reimplemented from ilObjectGUI.

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

182 {
183 parent::prepareOutput($a_show_subobjects);
184
185 if (!$this->getCreationMode())
186 {
187 $title = strlen($this->object->getTitle()) ? (': '.$this->object->getTitle()) : '';
188
189 include_once './Modules/Session/classes/class.ilSessionAppointment.php';
190 $this->tpl->setTitle(
191 $this->object->getFirstAppointment()->appointmentToString().$title);
192 }
193 }

References $title, and ilObjectGUI\getCreationMode().

Referenced by executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printAttendanceListObject()

ilObjSessionGUI::printAttendanceListObject ( )
protected

print attendance list

@access protected

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

1364 {
1365 $this->checkPermission('write');
1366
1367 $list = $this->initAttendanceList();
1368 $list->initFromForm();
1369 $list->setCallback(array($this, 'getAttendanceListUserData'));
1370
1371 include_once 'Modules/Session/classes/class.ilEventParticipants.php';
1372 $this->event_part = new ilEventParticipants($this->object->getId());
1373
1374 echo $list->getFullscreenHTML();
1375 exit();
1376 }

References ilObjectGUI\checkPermission(), exit, and initAttendanceList().

+ Here is the call graph for this function:

◆ readMemberData()

ilObjSessionGUI::readMemberData (   $a_usr_ids)

Used for waiting list.

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

2040 {
2041 $tmp_data = array();
2042 foreach ($a_usr_ids as $usr_id)
2043 {
2044 $tmp_data[$usr_id] = array();
2045 }
2046 return $tmp_data;
2047 }

◆ redirectToParentContentPageObject()

ilObjSessionGUI::redirectToParentContentPageObject ( )
protected

Redirect to parent content page.

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

1924 {
1925 global $DIC;
1926
1927 $objDefinition = $DIC['objDefinition'];
1928
1929 $tree = $DIC->repositoryTree();
1930 $ctrl = $DIC->ctrl();
1931
1932 $parent_id = $tree->getParentId($this->object->getRefId());
1933
1934 // #11650
1935 $parent_type = ilObject::_lookupType($parent_id, true);
1936
1937 $parent_class = $objDefinition->getClassName($parent_type);
1938 $parent_class = 'ilObj'.$parent_class.'GUI';
1939
1940 $ctrl->setParameterByClass($parent_class, "ref_id", $parent_id);
1941 $ctrl->redirectByClass($parent_class, "view");
1942 }
global $DIC

References $ctrl, $DIC, ilObjectGUI\$objDefinition, ilObjectGUI\$tree, and ilObject\_lookupType().

+ Here is the call graph for this function:

◆ refuseFromListObject()

ilObjSessionGUI::refuseFromListObject ( )

refuse from waiting list

@access public

Returns

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

2110 {
2111 $this->checkPermission('write');
2112
2113 if(!count($_POST['waiting']))
2114 {
2115 ilUtil::sendFailure($this->lng->txt('no_checkbox'));
2116 $this->membersObject();
2117 return false;
2118 }
2119
2120 include_once('./Modules/Session/classes/class.ilSessionWaitingList.php');
2121 $waiting_list = new ilSessionWaitingList($this->object->getId());
2122
2123 foreach($_POST["waiting"] as $user_id)
2124 {
2125 $waiting_list->removeFromList($user_id);
2126
2127 include_once './Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2129 $noti->setRefId($this->object->getRefId());
2130 $noti->setRecipients(array($user_id));
2132 $noti->send();
2133
2134 }
2135
2136 ilUtil::sendSuccess($this->lng->txt('sess_users_removed_from_list'));
2137 $this->membersObject();
2138 return true;
2139 }

References $_POST, ilObjectGUI\checkPermission(), membersObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilSessionMembershipMailNotification\TYPE_REFUSED_SUBSCRIPTION_MEMBER.

+ Here is the call graph for this function:

◆ refuseSubscribersObject()

ilObjSessionGUI::refuseSubscribersObject ( )

refuse subscribers

@access public

Returns

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

2187 {
2188 global $lng;
2189
2190 $this->checkPermission('write');
2191
2192 if(!count($_POST['subscribers']))
2193 {
2194 ilUtil::sendFailure($this->lng->txt('no_checkbox'));
2195 $this->membersObject();
2196 return false;
2197 }
2198
2199 include_once './Services/Membership/classes/class.ilParticipants.php';
2200 $part = ilParticipants::getInstanceByObjId($this->object->getId());
2201 foreach($_POST['subscribers'] as $usr_id)
2202 {
2203 $part->deleteSubscriber($usr_id);
2204
2205 include_once './Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2207 $noti->setRefId($this->object->getRefId());
2208 $noti->setRecipients(array($usr_id));
2210 $noti->send();
2211 }
2212 ilUtil::sendSuccess($this->lng->txt("sess_msg_applicants_removed"));
2213 $this->membersObject();
2214 return true;
2215
2216 }

References $_POST, $lng, ilObjectGUI\checkPermission(), ilParticipants\getInstanceByObjId(), membersObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilSessionMembershipMailNotification\TYPE_REFUSED_SUBSCRIPTION_MEMBER.

+ Here is the call graph for this function:

◆ registerObject()

ilObjSessionGUI::registerObject ( )

register to session

@access public

Parameters

return

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

203 {
204 global $ilUser;
205
206 $this->checkPermission('read');
207
208 include_once './Services/Membership/classes/class.ilParticipants.php';
209 $part = ilParticipants::getInstanceByObjId($this->getCurrentObject()->getId());
210
211 include_once './Modules/Session/classes/class.ilEventParticipants.php';
212 $event_part = new ilEventParticipants($this->getCurrentObject()->getId());
213 if(
214 $this->getCurrentObject()->isRegistrationUserLimitEnabled() and
215 $this->getCurrentObject()->getRegistrationMaxUsers() and
216 (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
217 )
218 {
219 include_once './Modules/Session/classes/class.ilSessionWaitingList.php';
220 $wait = new ilSessionWaitingList($this->getCurrentObject()->getId());
221 $wait->addToList($ilUser->getId());
222 ilUtil::sendInfo($this->lng->txt('sess_reg_added_to_wl'),TRUE);
223 $this->ctrl->redirect($this,'infoScreen');
224 return TRUE;
225 }
226
227
228 switch($this->getCurrentObject()->getRegistrationType())
229 {
231 $this->ctrl->redirect($this,'info');
232 break;
233
235 $part->add($ilUser->getId());
236 ilUtil::sendSuccess($this->lng->txt('event_registered'),true);
237 $this->ctrl->redirect($this,'infoScreen');
238 break;
239
241 ilUtil::sendSuccess($this->lng->txt('sess_registered_confirm'),true);
242 $part->addSubscriber($ilUser->getId());
243 $this->ctrl->redirect($this,'infoScreen');
244 break;
245 }
246 }
getCurrentObject()
Get session object.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.

References $ilUser, ilObjectGUI\checkPermission(), getCurrentObject(), ilParticipants\getInstanceByObjId(), ilUtil\sendInfo(), ilUtil\sendSuccess(), ilMembershipRegistrationSettings\TYPE_DIRECT, ilMembershipRegistrationSettings\TYPE_NONE, and ilMembershipRegistrationSettings\TYPE_REQUEST.

+ Here is the call graph for this function:

◆ removeFromDeskObject()

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

Implements ilDesktopItemHandling.

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

340 {
341 include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
343 $this->infoScreenObject();
344 }
static removeFromDesktop()
Remove item from personal desktop @access public.

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

+ Here is the call graph for this function:

◆ saveAndAssignMaterialsObject()

ilObjSessionGUI::saveAndAssignMaterialsObject ( )

Save and assign sessoin materials.

@access protected

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

601 {
602 global $ilLog;
603
604 $this->saveObject(false);
605
606 $this->ctrl->setParameter($this,'ref_id',$this->object->getRefId());
607 $this->ctrl->setParameter($this,'new_type', '');
608 $this->ctrl->redirect($this,'materials');
609 }
saveObject()
save object

References $ilLog, and ilObjectGUI\saveObject().

+ Here is the call graph for this function:

◆ saveMaterialsObject()

ilObjSessionGUI::saveMaterialsObject ( )

save material assignment

@access public

Parameters

return

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

1042 {
1043 include_once './Modules/Session/classes/class.ilEventItems.php';
1044
1045 $this->event_items = new ilEventItems($this->object->getId());
1046
1047 $list_items = is_array($_POST['all_items']) ? $_POST['all_items'] : array();
1048 $list_items_checked = is_array($_POST['items']) ? $_POST['items'] : array();
1049
1050 $checked = $this->event_items->getItems();
1051 $checked = array_diff($checked, $list_items);//remove all visible items in list
1052 $checked = array_merge($checked, $list_items_checked);//add checked items in list
1053
1054 $this->event_items->setItems($checked);
1055 $this->event_items->update();
1056
1057 include_once 'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
1058 $tbl = new ilSessionMaterialsTableGUI($this, "materials");
1059 $tbl->setOffset(0);
1060 $tbl->storeNavParameter();//remove offset and go to page 1
1061
1062 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1063 $this->ctrl->redirect($this,'materials');
1064 }

References $_POST, $tbl, and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ saveObject()

ilObjSessionGUI::saveObject (   $a_redirect_on_success = true)

save object

@access protected

Parameters
bool$a_redirect_on_successRedirect to repository after success.
Returns

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

619 {
620 global $ilErr,$ilUser;
621
622 $this->object = new ilObjSession();
623
624 $this->ctrl->saveParameter($this, "new_type");
625
626 $this->initForm('create');
627 $ilErr->setMessage('');
628 if(!$this->form->checkInput())
629 {
630 $ilErr->setMessage($this->lng->txt('err_check_input'));
631 }
632
633 $this->load();
634 $this->loadRecurrenceSettings();
635
636 $this->object->validate();
637 $this->object->getFirstAppointment()->validate();
638
639 if(strlen($ilErr->getMessage()))
640 {
641 ilUtil::sendFailure($ilErr->getMessage());
642 $this->form->setValuesByPost();
643 $this->createObject();
644 return false;
645 }
646 // Create session
647 $this->object->create();
648 $this->object->createReference();
649 $this->object->putInTree($_GET["ref_id"]);
650 $this->object->setPermissions($_GET["ref_id"]);
651
652 // #14547 - active is default
653 if(!$this->form->getInput("lp_preset"))
654 {
655 include_once "Services/Tracking/classes/class.ilLPObjSettings.php";
656 $lp_obj_settings = new ilLPObjSettings($this->object->getId());
657 $lp_obj_settings->setMode(ilLPObjSettings::LP_MODE_DEACTIVATED);
658 $lp_obj_settings->update(false);
659 }
660
661 // create appointment
662 $this->object->getFirstAppointment()->setSessionId($this->object->getId());
663 $this->object->getFirstAppointment()->create();
664
665 $this->handleFileUpload();
666
667 $this->createRecurringSessions($this->form->getInput("lp_preset"));
668
669 if($a_redirect_on_success)
670 {
671 ilUtil::sendInfo($this->lng->txt('event_add_new_event'),true);
672 $this->ctrl->returnToParent($this);
673 }
674
675 return true;
676
677 }
loadRecurrenceSettings()
load recurrence settings
createRecurringSessions($a_activate_lp=true)
create recurring sessions
createObject()
create new object form

References $_GET, $ilErr, $ilUser, ilObjectGUI\createObject(), createRecurringSessions(), handleFileUpload(), initForm(), load(), loadRecurrenceSettings(), ilLPObjSettings\LP_MODE_DEACTIVATED, ilUtil\sendFailure(), and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ sendFileObject()

ilObjSessionGUI::sendFileObject ( )

send file

@access public

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

578 {
579 $file = new ilSessionFile((int) $_GET['file_id']);
580
581 ilUtil::deliverFile($file->getAbsolutePath(),$file->getFileName(),$file->getFileType());
582 return true;
583 }
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.

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

+ Here is the call graph for this function:

◆ sendMailToSelectedUsersObject()

ilObjSessionGUI::sendMailToSelectedUsersObject ( )
protected

Send mail to selected users.

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

2028 {
2029 $GLOBALS['ilCtrl']->setReturn($this,'members');
2030 $GLOBALS['ilCtrl']->setCmdClass('ilmembershipmailgui');
2031 include_once './Services/Membership/classes/class.ilMembershipMailGUI.php';
2032 $mem = new ilMembershipMailGUI($this);
2033 $GLOBALS['ilCtrl']->forwardCommand($mem);
2034 }

References $GLOBALS.

◆ setShowHidePrefs()

ilObjSessionGUI::setShowHidePrefs ( )

set preferences (show/hide tabel content)

@access public

Returns

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

1249 {
1250 global $ilUser;
1251
1252 if(isset($_GET['admin_hide']))
1253 {
1254 $ilUser->writePref('sess_admin_hide',(int) $_GET['admin_hide']);
1255 }
1256 if(isset($_GET['tutor_hide']))
1257 {
1258 $ilUser->writePref('sess_tutor_hide',(int) $_GET['tutor_hide']);
1259 }
1260 if(isset($_GET['member_hide']))
1261 {
1262 $ilUser->writePref('sess_member_hide',(int) $_GET['member_hide']);
1263 }
1264 }

References $_GET, and $ilUser.

Referenced by membersObject().

+ Here is the caller graph for this function:

◆ showJoinRequestButton()

ilObjSessionGUI::showJoinRequestButton ( )
protected

show join request

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

396 {
397 global $ilToolbar, $ilUser;
398
399 if(!$this->getCurrentObject()->enabledRegistration() || $ilUser->isAnonymous())
400 {
401 return FALSE;
402 }
403
404 include_once './Modules/Session/classes/class.ilSessionWaitingList.php';
405
406 include_once './Services/Membership/classes/class.ilParticipants.php';
407 $part = ilParticipants::getInstanceByObjId($this->getCurrentObject()->getId());
408
409 include_once './Modules/Session/classes/class.ilEventParticipants.php';
410 if(ilEventParticipants::_isRegistered($ilUser->getId(), $this->getCurrentObject()->getId()))
411 {
412 $ilToolbar->addFormButton($this->lng->txt('event_unregister'),'unregister');
413 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
414 return TRUE;
415 }
416 elseif($part->isSubscriber($ilUser->getId()))
417 {
418 $ilToolbar->addFormButton($this->lng->txt('event_unregister'),'unregister');
419 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
420 return TRUE;
421 }
422 elseif(ilSessionWaitingList::_isOnList($ilUser->getId(), $this->getCurrentObject()->getId()))
423 {
424 $ilToolbar->addFormButton($this->lng->txt('leave_waiting_list'),'unregister');
425 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
426 return TRUE;
427 }
428
429 $event_part = new ilEventParticipants($this->getCurrentObject()->getId());
430
431 if(
432 $this->getCurrentObject()->isRegistrationUserLimitEnabled() and
433 $this->getCurrentObject()->getRegistrationMaxUsers() and
434 (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
435 )
436 {
437 if($this->getCurrentObject()->isRegistrationWaitingListEnabled())
438 {
439 ilUtil::sendInfo($this->lng->txt('sess_reg_max_users_exceeded_wl'));
440 $ilToolbar->addFormButton($this->lng->txt('mem_add_to_wl'),'register');
441 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
442 return TRUE;
443 }
444 else
445 {
446 ilUtil::sendInfo($this->lng->txt('sess_reg_max_users_exceeded'));
447 return TRUE;
448 }
449 }
450 else
451 {
452 if(!isset($_SESSION['sess_hide_info']))
453 {
454 ilUtil::sendInfo($this->lng->txt('sess_join_info'));
455 $ilToolbar->addFormButton($this->lng->txt('join_session'),'register', '', true);
456 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
457 return TRUE;
458 }
459 }
460 }
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.

References $_SESSION, $ilUser, ilWaitingList\_isOnList(), ilEventParticipants\_isRegistered(), getCurrentObject(), ilParticipants\getInstanceByObjId(), and ilUtil\sendInfo().

Referenced by infoScreen().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ unregisterObject()

ilObjSessionGUI::unregisterObject ( )

unregister from session

@access public

Returns

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

287 {
288 global $ilUser;
289
290 include_once './Modules/Session/classes/class.ilSessionParticipants.php';
291 $part = ilSessionParticipants::getInstanceByObjId($this->object->getId());
292 if($part->isSubscriber($ilUser->getId()))
293 {
294 $part->deleteSubscriber($ilUser->getId());
295 }
296
297 include_once './Modules/Session/classes/class.ilEventParticipants.php';
298 ilEventParticipants::_unregister($ilUser->getId(),$this->object->getId());
299
300 include_once './Modules/Session/classes/class.ilSessionWaitingList.php';
301 ilSessionWaitingList::deleteUserEntry($ilUser->getId(), $this->getCurrentObject()->getId());
302
303 ilUtil::sendSuccess($this->lng->txt('event_unregistered'),true);
304 $this->ctrl->returnToParent($this);
305 }
static deleteUserEntry($a_usr_id, $a_obj_id)
Delete one user entry.

References $ilUser, ilEventParticipants\_unregister(), ilWaitingList\deleteUserEntry(), ilParticipants\getInstanceByObjId(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ updateMembersObject()

ilObjSessionGUI::updateMembersObject ( )

update participants

@access public

Parameters

return

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

1274 {
1275 global $tree;
1276
1277 $this->checkPermission('write');
1278
1279
1280
1281 $this->initContainer();
1282
1283 $_POST['participants'] = is_array($_POST['participants']) ? $_POST['participants'] : array();
1284 $_POST['registered'] = is_array($_POST['registered']) ? $_POST['registered'] : array();
1285
1286 include_once 'Modules/Session/classes/class.ilEventParticipants.php';
1287
1288 $visible = $_POST['visible_participants'] ? $_POST['visible_participants'] : array();
1289 foreach($visible as $user)
1290 {
1291 $part = new ilEventParticipants($this->object->getId());
1292 $part->setUserId($user);
1293 $part->setMark(ilUtil::stripSlashes($_POST['mark'][$user]));
1294 $part->setComment(ilUtil::stripSlashes($_POST['comment'][$user]));
1295 $part->setParticipated(isset($_POST['participants'][$user]) ? true : false);
1296 $part->setRegistered(isset($_POST['registered'][$user]) ? true : false);
1297 $part->updateUser();
1298 }
1299 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
1300 $this->membersObject();
1301 }

References $_POST, ilObjectGUI\$tree, ilObjectGUI\checkPermission(), initContainer(), membersObject(), ilUtil\sendSuccess(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateObject()

ilObjSessionGUI::updateObject ( )

update object

@access protected

Parameters

return

Reimplemented from ilObjectGUI.

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

842 {
843 global $ilErr;
844
845 $old_autofill = $this->object->hasWaitingListAutoFill();
846
847 $this->initForm('edit');
848 $ilErr->setMessage('');
849 if(!$this->form->checkInput())
850 {
851 $ilErr->setMessage($this->lng->txt('err_check_input'));
852 }
853
854 $this->load();
855
856 $this->object->validate();
857 $this->object->getFirstAppointment()->validate();
858
859 if(strlen($ilErr->getMessage()))
860 {
861 ilUtil::sendFailure($ilErr->getMessage());
862 $this->editObject();
863 return false;
864 }
865 // Update event
866 $this->object->update();
867 $this->object->getFirstAppointment()->update();
868
869 $this->handleFileUpload();
870
871 // if autofill has been activated trigger process
872 if(!$old_autofill &&
873 $this->object->hasWaitingListAutoFill())
874 {
875 $this->object->handleAutoFill();
876 }
877
878 ilUtil::sendSuccess($this->lng->txt('event_updated'),true);
879 $this->ctrl->redirect($this,'edit');
880 #$this->object->initFiles();
881 #$this->editObject();
882 return true;
883 }

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

+ Here is the call graph for this function:

Field Documentation

◆ $container_obj_id

ilObjSessionGUI::$container_obj_id = 0
protected

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

◆ $container_ref_id

ilObjSessionGUI::$container_ref_id = 0
protected

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

Referenced by getContainerRefId().

◆ $ctrl

ilObjSessionGUI::$ctrl

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

Referenced by redirectToParentContentPageObject().

◆ $files

ilObjSessionGUI::$files = array()
protected

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

Referenced by initForm().

◆ $lng

ilObjSessionGUI::$lng

◆ $logger

ilObjSessionGUI::$logger = null
protected

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

◆ $tpl

ilObjSessionGUI::$tpl

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

Referenced by __construct(), and attendanceListObject().


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