2include_once 
'./Services/Calendar/interfaces/interface.ilCalendarAppointmentPresentation.php';
 
    3include_once 
'./Services/Calendar/classes/AppointmentPresentation/class.ilAppointmentPresentationGUI.php';
 
   20        $user_id = 
$DIC->user()->getId();
 
   22        $this->lng->loadLanguageModule(
"exc");
 
   24        include_once 
"./Modules/Exercise/classes/class.ilObjExercise.php";
 
   25        include_once(
'./Services/Link/classes/class.ilLink.php');
 
   26        include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
 
   28        $f = 
$DIC->ui()->factory();
 
   29        $r = 
$DIC->ui()->renderer();
 
   37        $exc_ref = current($refs);
 
   46        $ass_id = $a_app[
"event"]->getContextId() / 10;                 
 
   50        if ($state->areInstructionsVisible()) {
 
   51            $assignment_instructions = trim($assignment->getInstruction());
 
   52            if ($assignment_instructions != 
"") {
 
   54                $is_html = (strlen($assignment_instructions) != strlen(strip_tags($assignment_instructions)));
 
   56                    $assignment_instructions = nl2br($assignment_instructions);
 
   58                $this->
addInfoProperty($this->lng->txt(
"exc_instruction"), $assignment_instructions);
 
   60            $files = $assignment->getFiles();
 
   61            if (count($files) > 0) {
 
   62                $this->has_files = 
true;
 
   64                foreach ($files as $file) {
 
   65                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"ref_id", $exc_ref);
 
   66                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"file", urlencode($file[
"name"]));
 
   67                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"ass_id", $ass_id);
 
   68                    $url = 
$ctrl->getLinkTargetByClass(array(
"ilExerciseHandlerGUI",
 
   72                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"ass_id", 
"");
 
   73                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"file", 
"");
 
   74                    $ctrl->setParameterByClass(
"ilexsubmissiongui", 
"ref_if", 
"");
 
   75                    $str_files[$file[
"name"]] = $r->render(
$f->button()->shy($file[
"name"], 
$url));
 
   77                ksort($str_files, SORT_NATURAL|SORT_FLAG_CASE);
 
   78                $str_files = implode(
"<br>", $str_files);
 
   79                $this->
addInfoProperty($this->lng->txt(
"exc_instruction_files"), $str_files);
 
   81                    str_replace(
"<br>", 
", ", $str_files));
 
   86        if ($assignment->getMandatory()) {
 
   87            $this->
addInfoProperty($this->lng->txt(
"exc_mandatory"), $this->lng->txt(
"yes"));
 
   90            $this->
addInfoProperty($this->lng->txt(
"exc_mandatory"), $this->lng->txt(
"no"));
 
   99            $this->lng->txt(
"cal_exc_open"),
 
  100            "goto.php?target=exc_" . $exc_ref . 
"_" . $ass_id . 
"&client_id=" . 
CLIENT_ID 
  110        if (is_array($a_appointment)) {
 
  111            $ass_id = $a_appointment[
"event"]->getContextId() / 10;
 
  114            return parent::buildDirectLinkForAppointment($a_ref_id, $a_appointment);
 
An exception for terminatinating execution or to throw for unit testing.
collectPropertiesAndActions()
Collect properties and actions.
buildDirectLinkForAppointment($a_ref_id, $a_appointment=null)
Build direct link for appointment.string
addLastUpdate($a_app)
Add last update.
addListItemProperty($a_txt, $a_val)
Add list item property.
getReadableRefIds($a_obj_id)
Get readable ref ids.
addCommonSection($a_app, $a_obj_id=0, $cat_info=null, $a_container_info=false)
Add common section.
addAction($a_txt, $a_link)
Add action.
addInfoProperty($a_txt, $a_val)
Add info property.
addInfoSection($a_txt)
Add info section.
static getInstanceByIds($a_ass_id, $a_user_id=0)
Get instance by IDs (recommended for consumer code)
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")