ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilAppointmentPresentationExerciseGUI Class Reference
+ Inheritance diagram for ilAppointmentPresentationExerciseGUI:
+ Collaboration diagram for ilAppointmentPresentationExerciseGUI:

Public Member Functions

 collectPropertiesAndActions ()
 
- Public Member Functions inherited from ilAppointmentPresentationGUI
 __construct (array $a_appointment, ?ilInfoScreenGUI $a_info_screen, ?ilToolbarGUI $a_toolbar, ?Item $a_list_item)
 
 getObjIdForAppointment ()
 
 getToolbar ()
 
 getListItem ()
 Get list item. More...
 
 getInfoScreen ()
 
 getCatId (int $a_entry_id)
 
 getCatInfo ()
 
 executeCommand ()
 
 getHTML ()
 
 addContainerInfo (int $a_obj_id)
 Add course/group container info. More...
 
 addInfoSection (string $a_txt)
 Add info section. More...
 
 addInfoProperty (string $a_txt, string $a_val)
 Add info property. More...
 
 addListItemProperty (string $a_txt, string $a_val)
 Add list item property. More...
 
 addAction (string $a_txt, string $a_link)
 Add action. More...
 
 collectPropertiesAndActions ()
 Collect properties and actions. More...
 
 collectStandardPropertiesAndActions ()
 Collect standard properties and actions. More...
 
 addObjectLinks (int $obj_id, ?array $a_appointment=null)
 Add object link. More...
 
 getReadableRefIds (int $a_obj_id)
 
 addEventDescription (array $a_app)
 Add event description. More...
 
 addEventLocation (array $a_app)
 Add event location. More...
 
 addLastUpdate (array $a_app)
 Add last update. More...
 
 addCalendarInfo (array $cat_info)
 
 addCommonSection (array $a_app, int $a_obj_id=0, ?array $cat_info=null, bool $a_container_info=false)
 
 addMetaData (string $a_obj_type, int $a_obj_id, ?string $a_sub_obj_type=null, ?int $a_sub_obj_id=null)
 
 getUserName (int $a_user_id, bool $a_force_name=false)
 Get (linked if possible) user name. More...
 
 downloadFiles ()
 Download files from an appointment ( Modals ) More...
 

Protected Member Functions

 buildDirectLinkForAppointment (int $a_ref_id, ?array $a_appointment=null)
 
- Protected Member Functions inherited from ilAppointmentPresentationGUI
 readObjIdForAppointment ()
 read obj_id for appointment More...
 
 buildDirectLinkForAppointment (int $a_ref_id, ?array $a_appointment=null)
 Build direct link for appointment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ilAppointmentPresentationGUI
static getInstance (array $a_appointment, ?ilInfoScreenGUI $a_info_screen, ?ilToolbarGUI $a_toolbar, ?Item $a_list_item)
 
- Protected Attributes inherited from ilAppointmentPresentationGUI
array $appointment
 
ilToolbarGUI $toolbar
 
ilInfoScreenGUI $infoscreen
 
ilLanguage $lng
 
ilTree $tree
 
UIServices $ui
 
ilCtrlInterface $ctrl
 
ilAccessHandler $access
 
ilRbacSystem $rbacsystem
 
ilObjUser $user
 
RefineryFactory $refinery
 
HttpServices $http
 
Item $list_item = null
 
array $info_items = []
 
array $list_properties = []
 
array $actions = []
 
array $readable_ref_ids
 
bool $has_files = false
 
int $obj_id = 0
 
- Static Protected Attributes inherited from ilAppointmentPresentationGUI
static self $instance
 

Detailed Description

Member Function Documentation

◆ buildDirectLinkForAppointment()

ilAppointmentPresentationExerciseGUI::buildDirectLinkForAppointment ( int  $a_ref_id,
?array  $a_appointment = null 
)
protected

Definition at line 114 of file class.ilAppointmentPresentationExerciseGUI.php.

References $ass_id.

114  : string
115  {
116  $ass_id = 0;
117  if (is_array($a_appointment)) {
118  $ass_id = $a_appointment["event"]->getContextId() / 10;
119  }
120  if (!$ass_id) {
121  return parent::buildDirectLinkForAppointment($a_ref_id, $a_appointment);
122  }
123  return ilLink::_getLink(
124  $a_ref_id,
125  'exc',
126  [],
127  '_' . $ass_id
128  );
129  }

◆ collectPropertiesAndActions()

ilAppointmentPresentationExerciseGUI::collectPropertiesAndActions ( )

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

References ilAppointmentPresentationGUI\$appointment, $ass_id, $DIC, Vendor\Package\$f, $r, $url, ilAppointmentPresentationGUI\addAction(), ilAppointmentPresentationGUI\addCommonSection(), ilAppointmentPresentationGUI\addInfoProperty(), ilAppointmentPresentationGUI\addInfoSection(), ilAppointmentPresentationGUI\addLastUpdate(), ilAppointmentPresentationGUI\addListItemProperty(), CLIENT_ID, ILIAS\Repository\ctrl(), ilExcAssMemberState\getInstanceByIds(), ilAppointmentPresentationGUI\getObjIdForAppointment(), ilAppointmentPresentationGUI\getReadableRefIds(), ILIAS\Repository\lng(), null, and ILIAS\Repository\user().

29  : void
30  {
31  global $DIC;
32 
33  $this->lng->loadLanguageModule("exc");
34 
35  $f = $DIC->ui()->factory();
36  $r = $DIC->ui()->renderer();
37 
38  $a_app = $this->appointment;
39  $exc_obj = new ilObjExercise($this->getObjIdForAppointment(), false);
40  //is this safe?
41 
42  $refs = $this->getReadableRefIds($this->getObjIdForAppointment());
43  $exc_ref = current($refs);
44 
45  // common section: title, location, parent info
46  $this->addCommonSection($a_app, $this->getObjIdForAppointment(), null, true);
47 
48  //Assignment title information
49  $this->addInfoSection($this->lng->txt("cal_exc_info"));
50 
51  //var_dump($a_app); exit;
52  $ass_id = $a_app["event"]->getContextId() / 10; // see ilExAssignment->handleCalendarEntries $dl parameter
53  $assignment = new ilExAssignment($ass_id);
54  $state = ilExcAssMemberState::getInstanceByIds($assignment->getId(), $this->user->getId());
55  if ($state->areInstructionsVisible()) {
56  $assignment_instructions = trim($assignment->getInstruction());
57  if ($assignment_instructions != "") {
58  #21517
59  $is_html = (strlen($assignment_instructions) != strlen(strip_tags($assignment_instructions)));
60  if (!$is_html) {
61  $assignment_instructions = nl2br($assignment_instructions);
62  }
63  $this->addInfoProperty($this->lng->txt("exc_instruction"), $assignment_instructions);
64  }
65  $files = $assignment->getFiles();
66  if (count($files) > 0) {
67  $this->has_files = true;
68  $str_files = array();
69  foreach ($files as $file) {
70  $this->ctrl->setParameterByClass("ilexsubmissiongui", "ref_id", $exc_ref);
71  $this->ctrl->setParameterByClass("ilexsubmissiongui", "file", urlencode($file["name"]));
72  $this->ctrl->setParameterByClass("ilexsubmissiongui", "ass_id", $ass_id);
73  $url = $this->ctrl->getLinkTargetByClass(array("ilExerciseHandlerGUI",
74  "ilobjexercisegui",
75  ilAssignmentPresentationGUI::class, ilExSubmissionGUI::class
76  ), "downloadFile");
77  $this->ctrl->setParameterByClass("ilexsubmissiongui", "ass_id", "");
78  $this->ctrl->setParameterByClass("ilexsubmissiongui", "file", "");
79  $this->ctrl->setParameterByClass("ilexsubmissiongui", "ref_if", "");
80  $str_files[$file["name"]] = $r->render($f->button()->shy($file["name"], $url));
81  }
82  ksort($str_files, SORT_NATURAL | SORT_FLAG_CASE);
83  $str_files = implode("<br>", $str_files);
84  $this->addInfoProperty($this->lng->txt("exc_instruction_files"), $str_files);
85  $this->addListItemProperty(
86  $this->lng->txt("exc_instruction_files"),
87  str_replace("<br>", ", ", $str_files)
88  );
89  }
90  }
91 
92  //pass mode
93  if ($assignment->getMandatory()) {
94  $this->addInfoProperty($this->lng->txt("exc_mandatory"), $this->lng->txt("yes"));
95  $this->addListItemProperty($this->lng->txt("exc_mandatory"), $this->lng->txt("yes"));
96  } else {
97  $this->addInfoProperty($this->lng->txt("exc_mandatory"), $this->lng->txt("no"));
98  $this->addListItemProperty($this->lng->txt("exc_mandatory"), $this->lng->txt("no"));
99  }
100 
101  // last edited
102  $this->addLastUpdate($a_app);
103 
104  //go to the exercise.
105  $this->addAction(
106  $this->lng->txt("cal_exc_open"),
107  "goto.php?target=exc_" . $exc_ref . "_" . $ass_id . "&client_id=" . CLIENT_ID
108  );
109  }
Exercise assignment.
addListItemProperty(string $a_txt, string $a_val)
Add list item property.
$url
Definition: shib_logout.php:66
addInfoSection(string $a_txt)
Add info section.
addInfoProperty(string $a_txt, string $a_val)
Add info property.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
addLastUpdate(array $a_app)
Add last update.
Class ilObjExercise.
const CLIENT_ID
Definition: constants.php:41
global $DIC
Definition: shib_login.php:22
static getInstanceByIds(int $a_ass_id, int $a_user_id=0)
addCommonSection(array $a_app, int $a_obj_id=0, ?array $cat_info=null, bool $a_container_info=false)
addAction(string $a_txt, string $a_link)
Add action.
$r
+ Here is the call graph for this function:

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