Example #1
0
 /** create the form, INTERNAL
  * this methods creates the form with the form definitions
  *
  * @author CommSy Development Topic
  */
 function _createForm()
 {
     // rubrics
     $iid = $_GET['iid'];
     $manager = $this->_environment->getItemManager();
     $item = $manager->getItem($iid);
     $module = $item->getItemType();
     $link_module = $module;
     if ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $link_module = $label->getLabelType();
     }
     $item_manager = $this->_environment->getManager($module);
     $item = $item_manager->getItem($iid);
     $item_name = $item->getTitle();
     $context_name = $this->_context_name;
     $article = '';
     // Wenn man mit HTTPS auf Commsy surft und eine Email generiert
     // sollte diese Mail auch https links erstellen.
     if (!empty($_SERVER["HTTPS"]) and $_SERVER["HTTPS"]) {
         $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     } else {
         $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     }
     $link = $url;
     $rubric_type_pretty = '';
     $content = '';
     //generate module name for the interface- a pretty version of module...
     if ($module == 'new' or $module == 'news') {
         $news_content = $this->_translator->getMessage('COMMON_NEWS') . ': ' . $item->getTitle() . LF;
         $content = $news_content;
     } elseif ($module == CS_DATE_TYPE) {
         $rubric_type_pretty = $this->_translator->getMessage('COMMON_DATES');
         // set up style of days and times
         $parse_time_start = convertTimeFromInput($item->getStartingTime());
         $conforms = $parse_time_start['conforms'];
         if ($conforms == TRUE) {
             $start_time_print = getTimeLanguage($parse_time_start['datetime']);
         } else {
             $start_time_print = $item->getStartingTime();
         }
         $parse_time_end = convertTimeFromInput($item->getEndingTime());
         $conforms = $parse_time_end['conforms'];
         if ($conforms == TRUE) {
             $end_time_print = getTimeLanguage($parse_time_end['datetime']);
         } else {
             $end_time_print = $item->getEndingTime();
         }
         $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_start['conforms'];
         if ($conforms == TRUE) {
             $start_day_print = getDateInLang($parse_day_start['datetime']);
         } else {
             $start_day_print = $item->getStartingDay();
         }
         $parse_day_end = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_end['conforms'];
         if ($conforms == TRUE) {
             $end_day_print = getDateLanguage($parse_day_end['datetime']);
         } else {
             $end_day_print = $item->getEndingDay();
         }
         //formating dates and times for displaying
         $date_print = "";
         $time_print = "";
         if ($end_day_print != "") {
             //with ending day
             $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print;
             if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                 //start and end are dates, not strings
                 $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
             }
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ', ' . $start_time_print . '<br />' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print . ', ' . $end_time_print;
                 if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                     $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
                 }
             }
         } else {
             //without ending day
             $date_print = $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         if ($parse_day_start['timestamp'] == $parse_day_end['timestamp'] and $parse_day_start['conforms'] and $parse_day_end['conforms']) {
             $date_print = $this->_translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         // Date and time
         $dates_content = '';
         $dates_content = $this->_translator->getMessage('DATES_DATETIME') . ': ' . $item_name . LF;
         if ($time_print != '') {
             $dates_content .= $this->_translator->getMessage('COMMON_TIME') . ': ' . $date_print . ',' . $time_print . LF;
         } else {
             $dates_content .= $this->_translator->getMessage('COMMON_TIME') . ': ' . $date_print . LF;
         }
         // Place
         $place = $item->getPlace();
         if (!empty($place)) {
             $dates_content .= $this->_translator->getMessage('DATES_PLACE') . ': ';
             $dates_content .= $place . LF;
         }
         $content = $dates_content;
     } elseif ($module == 'discussion' or $module == 'discussions') {
         $discussion_content = $this->_translator->getMessage('COMMON_DISCUSSION') . ': ' . $item->getTitle() . LF;
         $article_count = $item->getAllArticlesCount();
         $discussion_content .= $this->_translator->getMessage('DISCUSSION_DISCARTICLE_COUNT') . ': ' . $article_count . LF;
         $time = $item->getLatestArticleModificationDate();
         $discussion_content .= $this->_translator->getMessage('DISCUSSION_LAST_ENTRY') . ': ' . getDateTimeInLang($time) . LF;
         $content = $discussion_content;
     } elseif ($module == 'material' or $module == 'materials') {
         $material_content = $this->_translator->getMessage('COMMON_MATERIAL') . ': ' . $item->getTitle() . LF;
         $content = $material_content;
     } elseif ($module == 'announcement' or $module == CS_ANNOUNCEMENT_TYPE) {
         $announcement_content = $this->_translator->getMessage('COMMON_ANNOUNCEMENT') . ': ' . $item->getTitle() . LF;
         $content = $announcement_content;
     } elseif ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $module = $label->getLabelType();
         if ($module == 'group' or $module == 'groups') {
             $group_content = $this->_translator->getMessage('COMMON_GROUP') . ': ' . $item->getTitle() . LF;
             $content = $group_content;
         } elseif ($module == 'institution' or $module == 'institutions') {
             $institution_content = $this->_translator->getMessage('INSTITUTION') . ': ' . $item->getTitle() . LF;
             $content = $institution_content;
         }
     }
     if ($this->_environment->inProjectRoom()) {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT', $context_name) . LF;
     } elseif ($this->_environment->inGroupRoom()) {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_GROUPROOM', $context_name) . LF;
     } else {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_COMMUNITY', $context_name) . LF;
     }
     if (empty($content)) {
         $emailtext .= LF . LF;
     } else {
         $emailtext .= $content;
     }
     $emailtext .= $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT_END', $link);
     $this->_form->addTextField('subject', '', $this->_translator->getMessage('COMMON_MAIL_SUBJECT'), '', '', '57', true);
     $this->_form->addTextArea('mailcontent', $emailtext, $this->_translator->getMessage('COMMON_MAIL_CONTENT'), $this->_translator->getMessage('COMMON_MAIL_CONTENT_DESC'), '60', '15', '', true, false, false);
     if ($module == 'date') {
         $this->_form->addCheckBox('attendees', '2', false, $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ASIGNED_PEOPLE'), $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ATTENDEES'));
     } elseif ($module == 'todo') {
         $this->_form->addCheckBox('processors', '2', false, $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ASIGNED_PEOPLE'), $this->_translator->getMessage('COMMON_MAIL_SEND_TO_PROCESSORS'));
     }
     if ($this->_environment->inProjectRoom() and !empty($this->_group_array)) {
         $context_item = $this->_environment->getCurrentContextItem();
         if ($context_item->withRubric(CS_GROUP_TYPE)) {
             $this->_initCheckBoxGroup();
         }
     } else {
         $context_item = $this->_environment->getCurrentContextItem();
         if ($context_item->withRubric(CS_INSTITUTION_TYPE) and !empty($this->_institution_array)) {
             $this->_initCheckBoxInstitution();
         }
     }
     $projekt_room_show_mail_to_all = false;
     //Projectroom and no groups enabled -> send mails to group all
     if ($context_item->isProjectRoom() and !$context_item->withRubric(CS_GROUP_TYPE)) {
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         $all_iid = $this->_group_array[0]['value'];
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('groups[0]', $all_iid);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('groups[0]', $all_iid, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     if ($context_item->isCommunityRoom() and !$context_item->withRubric(CS_INSTITUTION_TYPE)) {
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('send_to_all', true);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('send_to_all', 1, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     // send to all members in group rooms
     if ($context_item->isGroupRoom()) {
         $cid = $this->_environment->getCurrentContextID();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('send_to_all', true);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('send_to_all', 1, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     $yesno[][] = array();
     $yesno['0']['text'] = $this->_translator->getMessage('COMMON_YES');
     $yesno['0']['value'] = $this->_translator->getMessage('COMMON_YES');
     $yesno['1']['text'] = $this->_translator->getMessage('COMMON_NO');
     $yesno['1']['value'] = $this->_translator->getMessage('COMMON_NO');
     $this->_form->addRadioGroup('copytosender', $this->_translator->getMessage('MAILCOPY_TO_SENDER'), $this->_translator->getMessage('MAILCOPY_TO_SENDER_DESC'), $yesno, $this->_translator->getMessage('COMMON_NO'), true, false);
     // buttons
     $this->_form->addButtonBar('option', $this->_translator->getMessage('COMMON_MAIL_SEND_BUTTON'), $this->_translator->getMessage('COMMON_CANCEL_BUTTON'));
 }
 /** get the date of the item
  * this method returns the item place in the right formatted style
  *
  * @return string title
  *
  * @author CommSy Development Group
  */
 function _getItemDate($item)
 {
     // set up style of days and times
     $shown_time = $item->getShownStartingTime();
     if (!empty($shown_time)) {
         $parse_time_start = convertTimeFromInput($shown_time);
     } else {
         $parse_time_start = convertTimeFromInput($item->getStartingTime());
     }
     $conforms = $parse_time_start['conforms'];
     if ($conforms == TRUE) {
         $start_time_print = getTimeLanguage($parse_time_start['datetime']);
     } else {
         if (!empty($shown_time)) {
             $start_time_print = $shown_time;
         } else {
             $start_time_print = $item->getStartingTime();
         }
     }
     $parse_time_end = convertTimeFromInput($item->getEndingTime());
     $conforms = $parse_time_end['conforms'];
     if ($conforms == TRUE) {
         $end_time_print = getTimeLanguage($parse_time_end['datetime']);
     } else {
         $end_time_print = $item->getEndingTime();
     }
     $shown_day = $item->getShownStartingDay();
     if (!empty($shown_day)) {
         $parse_day_start = convertDateFromInput($shown_day, $this->_environment->getSelectedLanguage());
     } else {
         $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage());
     }
     $conforms = $parse_day_start['conforms'];
     if ($conforms == TRUE) {
         $start_day_print = $this->_translator->getDateInLang($parse_day_start['datetime']);
     } else {
         if (!empty($shown_day)) {
             $start_day_print = $shown_day;
         } else {
             $start_day_print = $item->getStartingDay();
         }
     }
     $parse_day_end = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage());
     $conforms = $parse_day_end['conforms'];
     if ($conforms == TRUE) {
         $end_day_print = getDateLanguage($parse_day_end['datetime']);
     } else {
         $end_day_print = $item->getEndingDay();
     }
     //formating dates and times for displaying
     $date_print = "";
     $time_print = "";
     if ($end_day_print != "") {
         //with ending day
         $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print;
         if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
             //start and end are dates, not strings
             $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
         }
         if ($start_time_print != "" and $end_time_print == "") {
             //starting time given
             $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
             if ($parse_time_start['conforms'] == true) {
                 $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
         } elseif ($start_time_print == "" and $end_time_print != "") {
             //endtime given
             $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             if ($parse_time_end['conforms'] == true) {
                 $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
         } elseif ($start_time_print != "" and $end_time_print != "") {
             //all times given
             if ($parse_time_end['conforms'] == true) {
                 $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
             if ($parse_time_start['conforms'] == true) {
                 $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
             $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ', ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print . ', ' . $end_time_print;
             if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                 $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
             }
         }
     } else {
         //without ending day
         $date_print = $start_day_print;
         if ($start_time_print != "" and $end_time_print == "") {
             //starting time given
             $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
             if ($parse_time_start['conforms'] == true) {
                 $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
         } elseif ($start_time_print == "" and $end_time_print != "") {
             //endtime given
             $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             if ($parse_time_end['conforms'] == true) {
                 $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
         } elseif ($start_time_print != "" and $end_time_print != "") {
             //all times given
             if ($parse_time_end['conforms'] == true) {
                 $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
             if ($parse_time_start['conforms'] == true) {
                 $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
             }
             $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
         }
     }
     if ($parse_day_start['timestamp'] == $parse_day_end['timestamp'] and $parse_day_start['conforms'] and $parse_day_end['conforms']) {
         $date_print = $this->_translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print;
         if ($start_time_print != "" and $end_time_print == "") {
             //starting time given
             $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
         } elseif ($start_time_print == "" and $end_time_print != "") {
             //endtime given
             $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
         } elseif ($start_time_print != "" and $end_time_print != "") {
             //all times given
             $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
         }
     }
     // Date and time
     $date = '';
     if ($time_print != '') {
         $date .= $date_print . ', ' . $time_print;
     } else {
         $date .= $date_print;
     }
     return $date;
 }
 public function actionInit()
 {
     $response = array();
     $iid = $this->_data['itemId'];
     $current_user = $this->_environment->getCurrentUserItem();
     $current_context = $this->_environment->getCurrentContextItem();
     $translator = $this->_environment->getTranslationObject();
     // context information
     $contextInformation = array();
     $contextInformation["name"] = $current_context->getTitle();
     $response['context'] = $contextInformation;
     // group information
     $groupArray = $this->getAllLabelsByType("group");
     // institutions information
     $institutionArray = $this->getAllLabelsByType("institution");
     // get item
     $manager = $this->_environment->getItemManager();
     $item = $manager->getItem($iid);
     $module = $item->getItemType();
     $link_module = $module;
     if ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $link_module = $label->getLabelType();
     }
     $item_manager = $this->_environment->getManager($module);
     $item = $item_manager->getItem($iid);
     $item_name = $item->getTitle();
     // Wenn man mit HTTPS auf Commsy surft und eine Email generiert
     // sollte diese Mail auch https links erstellen.
     if (!empty($_SERVER["HTTPS"]) and $_SERVER["HTTPS"]) {
         $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     } else {
         $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     }
     $link = $url;
     $content = '';
     //generate module name for the interface- a pretty version of module...
     if ($module == CS_DATE_TYPE) {
         // set up style of days and times
         $parse_time_start = convertTimeFromInput($item->getStartingTime());
         $conforms = $parse_time_start['conforms'];
         if ($conforms == TRUE) {
             $start_time_print = getTimeLanguage($parse_time_start['datetime']);
         } else {
             $start_time_print = $item->getStartingTime();
         }
         $parse_time_end = convertTimeFromInput($item->getEndingTime());
         $conforms = $parse_time_end['conforms'];
         if ($conforms == TRUE) {
             $end_time_print = getTimeLanguage($parse_time_end['datetime']);
         } else {
             $end_time_print = $item->getEndingTime();
         }
         $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_start['conforms'];
         if ($conforms == TRUE) {
             $start_day_print = getDateInLang($parse_day_start['datetime']);
         } else {
             $start_day_print = $item->getStartingDay();
         }
         $parse_day_end = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_end['conforms'];
         if ($conforms == TRUE) {
             $end_day_print = getDateLanguage($parse_day_end['datetime']);
         } else {
             $end_day_print = $item->getEndingDay();
         }
         //formating dates and times for displaying
         $date_print = "";
         $time_print = "";
         if ($end_day_print != "") {
             //with ending day
             $date_print = $translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ' ' . $translator->getMessage('DATES_TILL') . ' ' . $end_day_print;
             if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                 //start and end are dates, not strings
                 $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $translator->getMessage('DATES_DAYS') . ')';
             }
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
                 $date_print = $translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ', ' . $start_time_print . '<br />' . $translator->getMessage('DATES_TILL') . ' ' . $end_day_print . ', ' . $end_time_print;
                 if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                     $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $translator->getMessage('DATES_DAYS') . ')';
                 }
             }
         } else {
             //without ending day
             $date_print = $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $translator->getMessage('DATES_OCLOCK');
                 }
                 $time_print = $translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         if ($parse_day_start['timestamp'] == $parse_day_end['timestamp'] and $parse_day_start['conforms'] and $parse_day_end['conforms']) {
             $date_print = $translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 $time_print = $translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         // Date and time
         $dates_content = '';
         $dates_content = $translator->getMessage('DATES_DATETIME') . ': ' . $item_name . LF;
         if ($time_print != '') {
             $dates_content .= $translator->getMessage('COMMON_TIME') . ': ' . $date_print . ',' . $time_print . LF;
         } else {
             $dates_content .= $translator->getMessage('COMMON_TIME') . ': ' . $date_print . LF;
         }
         // Place
         $place = $item->getPlace();
         if (!empty($place)) {
             $dates_content .= $translator->getMessage('DATES_PLACE') . ': ';
             $dates_content .= $place . LF;
         }
         $content = $dates_content;
     } elseif ($module == 'discussion' or $module == 'discussions') {
         $discussion_content = $translator->getMessage('COMMON_DISCUSSION') . ': ' . $item->getTitle() . LF;
         $article_count = $item->getAllArticlesCount();
         $discussion_content .= $translator->getMessage('DISCUSSION_DISCARTICLE_COUNT') . ': ' . $article_count . LF;
         $time = $item->getLatestArticleModificationDate();
         $discussion_content .= $translator->getMessage('DISCUSSION_LAST_ENTRY') . ': ' . getDateTimeInLang($time) . LF;
         $content = $discussion_content;
     } elseif ($module == 'material' or $module == 'materials') {
         $material_content = $translator->getMessage('COMMON_MATERIAL') . ': ' . $item->getTitle() . LF;
         $content = $material_content;
     } elseif ($module == 'announcement' or $module == CS_ANNOUNCEMENT_TYPE) {
         $announcement_content = $translator->getMessage('COMMON_ANNOUNCEMENT') . ': ' . $item->getTitle() . LF;
         $content = $announcement_content;
     } elseif ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $module = $label->getLabelType();
         if ($module == 'group' or $module == 'groups') {
             $group_content = $translator->getMessage('COMMON_GROUP') . ': ' . $item->getTitle() . LF;
             $content = $group_content;
         } elseif ($module == 'institution' or $module == 'institutions') {
             $institution_content = $translator->getMessage('INSTITUTION') . ': ' . $item->getTitle() . LF;
             $content = $institution_content;
         }
     }
     if ($this->_environment->inProjectRoom()) {
         $emailtext = $translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT', $current_context->getTitle()) . LF;
     } elseif ($this->_environment->inGroupRoom()) {
         $emailtext = $translator->getMessage('RUBRIC_EMAIL_DEFAULT_GROUPROOM', $current_context->getTitle()) . LF;
     } else {
         $emailtext = $translator->getMessage('RUBRIC_EMAIL_DEFAULT_COMMUNITY', $current_context->getTitle()) . LF;
     }
     if (empty($content)) {
         $emailtext .= LF . LF;
     } else {
         $emailtext .= $content;
     }
     $emailtext .= $translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT_END', $link);
     $response['body'] = strip_tags($emailtext);
     // receiver
     $showAttendees = false;
     if ($module === CS_DATE_TYPE) {
         $showAttendees = true;
         $attendeeType = CS_DATE_TYPE;
     }
     if ($module === CS_TODO_TYPE) {
         $showAttendees = true;
         $attendeeType = CS_TODO_TYPE;
     }
     $response['showAttendees'] = $showAttendees;
     $response['attendeeType'] = $attendeeType;
     $showGroupRecipients = false;
     $showInstitutionRecipients = false;
     if ($this->_environment->inProjectRoom() and !empty($groupArray)) {
         if ($current_context->withRubric(CS_GROUP_TYPE)) {
             $showGroupRecipients = true;
         }
     } else {
         if ($current_context->withRubric(CS_INSTITUTION_TYPE) and !empty($institutionArray)) {
             $showInstitutionRecipients = true;
         }
     }
     //Projectroom and no groups enabled -> send mails to group all
     $withGroups = true;
     if ($current_context->isProjectRoom() && !$current_context->withRubric(CS_GROUP_TYPE)) {
         $showGroupRecipients = true;
         $withGroups = false;
         // get number of users
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         $response['numMebers'] = $count;
         $groupArray = array_slice($groupArray, 0, 1);
     }
     $response['showGroupRecipients'] = $showGroupRecipients;
     $response['withGroups'] = $withGroups;
     $response['groups'] = $groupArray;
     $allMembers = false;
     if ($current_context->isCommunityRoom() && !$current_context->withRubric(CS_INSTITUTION_TYPE) || $current_context->isGroupRoom()) {
         $allMembers = true;
         // get number of users
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         $response['numMebers'] = $count;
     }
     $response['showInstitutionRecipients'] = $showInstitutionRecipients;
     $response['institutions'] = $institutionArray;
     $response['allMembers'] = $allMembers;
     $response['allowAdditional'] = true;
     $this->setSuccessfullDataReturn($response);
     echo $this->_return;
 }