function getTooltipDate($date) { $parse_time_start = convertTimeFromInput($date->getStartingTime()); $conforms = $parse_time_start['conforms']; if ($conforms == TRUE) { $start_time_print = getTimeLanguage($parse_time_start['datetime']); } else { $start_time_print = $this->_text_as_html_short($this->_compareWithSearchText($date->getStartingTime())); } $parse_time_end = convertTimeFromInput($date->getEndingTime()); $conforms = $parse_time_end['conforms']; if ($conforms == TRUE) { $end_time_print = getTimeLanguage($parse_time_end['datetime']); } else { $end_time_print = $this->_text_as_html_short($this->_compareWithSearchText($date->getEndingTime())); } $parse_day_start = convertDateFromInput($date->getStartingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_start['conforms']; if ($conforms == TRUE) { $start_day_print = $date->getStartingDayName() . ', ' . $this->_translator->getDateInLang($parse_day_start['datetime']); } else { $start_day_print = $this->_text_as_html_short($this->_compareWithSearchText($date->getStartingDay())); } $parse_day_end = convertDateFromInput($date->getEndingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_end['conforms']; if ($conforms == TRUE) { $end_day_print = $date->getEndingDayName() . ', ' . $this->_translator->getDateInLang($parse_day_end['datetime']); } else { $end_day_print = $this->_text_as_html_short($this->_compareWithSearchText($date->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 = $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; 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 $temp_array = array(); $temp_array[] = $this->_translator->getMessage('DATES_DATETIME'); if ($time_print != '') { $temp_array[] = $date_print . BRLF . $time_print; } else { $temp_array[] = $date_print; } $tooltip_date = $temp_array; return $tooltip_date; }
/** get the time of the item * this method returns the item place in the right formatted style * * @return string title * * @author CommSy Development Group */ function _getItemTime($item) { $parse_time_start = convertTimeFromInput($item->getStartingTime()); $conforms = $parse_time_start['conforms']; if ($conforms == TRUE) { $time = getTimeLanguage($parse_time_start['datetime']); } else { $time = $item->getStartingTime(); } if ($item->issetPrivatDate()) { $time = '<i>' . $this->_text_as_html_short($time) . '</i>'; } else { $time = $this->_text_as_html_short($this->_compareWithSearchText($time)); } return $time; }
public function initPopup($item, $data) { if (!empty($data['editType'])) { $this->_edit_type = $data['editType']; $this->_popup_controller->assign('item', 'edit_type', $data['editType']); } // assign template vars $this->assignTemplateVars(); $current_context = $this->_environment->getCurrentContextItem(); if ($item !== null) { // edit mode // TODO: check rights // files $attachment_infos = array(); $converter = $this->_environment->getTextConverter(); $file_list = $item->getFileList(); $file = $file_list->getFirst(); while ($file) { #$info['file_name'] = $converter->text_as_html_short($file->getDisplayName()); $info['file_name'] = $converter->filenameFormatting($file->getDisplayName()); $info['file_icon'] = $file->getFileIcon(); $info['file_id'] = $file->getFileID(); $attachment_infos[] = $info; $file = $file_list->getNext(); } $this->_popup_controller->assign('item', 'files', $attachment_infos); $this->_popup_controller->assign('item', 'title', $item->getTitle()); // old formating $c_old_text_formating_array = $this->_environment->getConfiguration('c_old_text_formating_array'); if (!empty($c_old_text_formating_array) and is_array($c_old_text_formating_array) and in_array($this->_environment->getCurrentContextID(), $c_old_text_formating_array)) { $this->_with_old_text_formating = true; } if ($this->_with_old_text_formating) { $desc_string = $item->getDescription(); $desc_string = preg_replace('/(?:[ \\t]*(?:\\n|\\r\\n?)){2,}/', "\n", $desc_string); $desc_string = nl2br($desc_string); $desc_string = str_replace('<br /><br />', '<br />', $desc_string); $this->_popup_controller->assign('item', 'description', $desc_string); } else { $this->_popup_controller->assign('item', 'description', $item->getDescription()); } $this->_popup_controller->assign('item', 'public', $item->isPublic()); $this->_popup_controller->assign('item', 'mode', $item->getDateMode()); if ($data["contextId"]) { $this->_popup_controller->assign('item', 'external_viewer', $item->issetExternalViewerStatus()); $this->_popup_controller->assign('item', 'external_viewer_accounts', $item->getExternalViewerString()); } $temp = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage()); if ($temp['conforms']) { //$this->_popup_controller->assign('item', 'dayStart', getDateInLang($item->getStartingDay())); $this->_popup_controller->assign('item', 'dayStart', $item->getStartingDay()); } else { $this->_popup_controller->assign('item', 'dayStart', $item->getStartingDay()); } $temp = convertTimeFromInput($item->getStartingTime()); if ($temp['conforms']) { $this->_popup_controller->assign('item', 'timeStart', getTimeLanguage($item->getStartingTime())); } else { $this->_popup_controller->assign('item', 'timeStart', $item->getStartingTime()); } $temp = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage()); if ($temp['conforms']) { //$this->_popup_controller->assign('item', 'dayEnd', getDateInLang($item->getEndingDay())); $this->_popup_controller->assign('item', 'dayEnd', $item->getEndingDay()); } else { $this->_popup_controller->assign('item', 'dayEnd', $item->getEndingDay()); } $temp = convertTimeFromInput($item->getEndingTime()); if ($temp['conforms']) { $this->_popup_controller->assign('item', 'timeEnd', getTimeLanguage($item->getEndingTime())); } else { $this->_popup_controller->assign('item', 'timeEnd', $item->getEndingTime()); } $this->_popup_controller->assign('item', 'place', $item->getPlace()); $activating = false; if ($current_context->withActivatingContent()) { $activating = true; $this->_popup_controller->assign('item', 'private_editing', $item->isPrivateEditing()); if ($item->isNotActivated()) { $this->_popup_controller->assign('item', 'is_not_activated', true); $activating_date = $item->getActivatingDate(); if (!stristr($activating_date, '9999')) { $this->_popup_controller->assign('item', 'activating_date', mb_substr($activating_date, 0, 10)); $this->_popup_controller->assign('item', 'activating_time', mb_substr($activating_date, -8)); } } } $this->_popup_controller->assign('popup', 'activating', $activating); $this->_popup_controller->assign('item', 'date_addon_color', $item->getColor()); if ($item->getRecurrenceId() != '' and $item->getRecurrenceId() != 0) { $recurrence_pattern = $item->getRecurrencePattern(); $this->_popup_controller->assign('item', 'is_recurring_date', $recurrence_pattern['recurring_select']); if ($recurrence_pattern['recurring_select'] == 'daily') { $this->_popup_controller->assign('item', 'recurring_day', $recurrence_pattern['recurring_day']); } else { if ($recurrence_pattern['recurring_select'] == 'weekly') { $this->_popup_controller->assign('item', 'recurring_week', $recurrence_pattern['recurring_week']); $this->_popup_controller->assign('item', 'recurring_week_days_monday', $recurrence_pattern['recurring_week_days_monday']); foreach ($recurrence_pattern['recurring_week_days'] as $day) { if ($day == 'monday') { $this->_popup_controller->assign('item', 'recurring_week_days_monday', 'yes'); } if ($day == 'tuesday') { $this->_popup_controller->assign('item', 'recurring_week_days_tuesday', 'yes'); } if ($day == 'wednesday') { $this->_popup_controller->assign('item', 'recurring_week_days_wednesday', 'yes'); } if ($day == 'thursday') { $this->_popup_controller->assign('item', 'recurring_week_days_thusday', 'yes'); } if ($day == 'friday') { $this->_popup_controller->assign('item', 'recurring_week_days_friday', 'yes'); } if ($day == 'saturday') { $this->_popup_controller->assign('item', 'recurring_week_days_saturday', 'yes'); } if ($day == 'sunday') { $this->_popup_controller->assign('item', 'recurring_week_days_sunday', 'yes'); } } } else { if ($recurrence_pattern['recurring_select'] == 'monthly') { $this->_popup_controller->assign('item', 'recurring_month', $recurrence_pattern['recurring_month']); $this->_popup_controller->assign('item', 'recurring_month_every', $recurrence_pattern['recurring_month_every']); $this->_popup_controller->assign('item', 'recurring_month_day_every', $recurrence_pattern['recurring_month_day_every']); } else { if ($recurrence_pattern['recurring_select'] == 'yearly') { $this->_popup_controller->assign('item', 'recurring_year', $recurrence_pattern['recurring_year']); $this->_popup_controller->assign('item', 'recurring_year_every', $recurrence_pattern['recurring_year_every']); } } } } $this->_popup_controller->assign('item', 'recurring_end_date', getDateInLang($recurrence_pattern['recurring_end_date'])); } } else { $val = $this->_environment->inProjectRoom() || $this->_environment->inGroupRoom() ? '1' : '0'; $this->_popup_controller->assign('item', 'public', $val); $val = $this->_environment->inProjectRoom() || $this->_environment->inGroupRoom() ? false : true; $this->_popup_controller->assign('item', 'private_editing', $val); if (!empty($data['date_new'])) { $this->_popup_controller->assign('item', 'date_new_date', date('Y-m-d', $data['date_new'])); $this->_popup_controller->assign('item', 'date_new_time', date('H:i', $data['date_new'])); } } }
public function getListContent() { $session = $this->_environment->getSessionItem(); include_once 'classes/cs_list.php'; include_once 'classes/views/cs_view.php'; $environment = $this->_environment; $translator = $environment->getTranslationObject(); $context_item = $environment->getCurrentContextItem(); $current_user = $environment->getCurrentUser(); $converter = $environment->getTextConverter(); $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; $id_array = array(); $v_id_array = array(); $sub_id_array = array(); $disc_id_array = array(); $rubrics = $this->getRubrics(); $rubric_list = array(); $rubric_list_array = array(); // determe rubrics to show on home list foreach ($rubrics as $rubric) { list($rubric_name, $postfix) = explode('_', $rubric); // continue if postfix is none or nodisplay if ($postfix === 'none' || $postfix === 'nodisplay') { continue; } // TODO: where does activity come from? // continue if name of rubric is activity if ($rubric_name === 'activity') { continue; } // store hidden state $return[$rubric_name]['hidden'] = $postfix === 'short' ? false : true; // check rights if ($current_user->isUser() && $this->_with_modifying_actions && $rubric_name != CS_USER_TYPE) { $return[$rubric_name]['rights']['new'] = true; } else { $return[$rubric_name]['rights']['new'] = false; } $rubric_list[] = $rubric_name; $list = new cs_list(); $rubric = ''; switch ($rubric_name) { case CS_ANNOUNCEMENT_TYPE: $manager = $environment->getAnnouncementManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $count_all = $manager->getCountAll(); $manager->setDateLimit(getCurrentDateTimeInMySQL()); $manager->setSortOrder('modified'); $manager->showNoNotActivatedEntries(); $count_select = $manager->getCountAll(); $manager->setIntervalLimit(0, $home_rubric_limit); if ($home_rubric_limit < $count_select) { $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; } $manager->select(); $list = $manager->get(); break; case CS_DATE_TYPE: $manager = $environment->getDatesManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $manager->setDateModeLimit(2); $count_all = $manager->getCountAll(); $manager->setFutureLimit(); $manager->setDateModeLimit(3); $manager->showNoNotActivatedEntries(); $count_select = $manager->getCountAll(); $manager->setIntervalLimit(0, $home_rubric_limit); if ($home_rubric_limit < $count_select) { $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; } $manager->select(); $list = $manager->get(); $rubric = 'dates'; break; case CS_PROJECT_TYPE: $room_type = CS_PROJECT_TYPE; $manager = $environment->getProjectManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentPortalID()); if (!isset($c_cache_cr_pr) or !$c_cache_cr_pr) { $manager->setCommunityRoomLimit($environment->getCurrentContextID()); } else { # use redundant infos in community room $manager->setIDArrayLimit($context_item->getInternalProjectIDArray()); } $count_all = $manager->getCountAll(); $manager->setSortOrder('activity_rev'); if ($count_all > 10) { $manager->setIntervalLimit(0, 10); } $manager->select(); $list = $manager->get(); break; case CS_GROUP_TYPE: $manager = $environment->getGroupManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $manager->select(); $list = $manager->get(); $count_all = $list->getCount(); break; case CS_TODO_TYPE: $manager = $environment->getTodoManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $count_all = $manager->getCountAll(); $manager->setStatusLimit(4); $manager->setSortOrder('date'); $manager->showNoNotActivatedEntries(); $count_select = $manager->getCountAll(); $manager->setIntervalLimit(0, $home_rubric_limit); if ($home_rubric_limit < $count_select) { $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; } $manager->select(); $list = $manager->get(); $item = $list->getFirst(); $tmp_id_array = array(); while ($item) { $tmp_id_array[] = $item->getItemID(); $item = $list->getNext(); } $step_manager = $environment->getStepManager(); $step_list = $step_manager->getAllStepItemListByIDArray($tmp_id_array); $item = $step_list->getFirst(); while ($item) { $sub_id_array[] = $item->getItemID(); $item = $step_list->getNext(); } unset($step_list); unset($step_manager); unset($manager); break; case CS_TOPIC_TYPE: $manager = $environment->getTopicManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $manager->showNoNotActivatedEntries(); $manager->select(); $list = $manager->get(); $count_all = $list->getCount(); break; case CS_INSTITUTION_TYPE: $manager = $environment->getInstitutionManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $manager->select(); $list = $manager->get(); $count_all = $list->getCount(); break; case CS_USER_TYPE: $manager = $environment->getUserManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $manager->setUserLimit(); $count_all = $manager->getCountAll(); if (!$current_user->isGuest()) { $manager->setVisibleToAllAndCommsy(); } else { $manager->setVisibleToAll(); } $manager->setAgeLimit($context_item->getTimeSpread()); $manager->select(); $list = $manager->get(); break; case CS_MATERIAL_TYPE: # $short_list_view = $class_factory->getClass(MATERIAL_SHORT_VIEW,$param_class_array); $manager = $environment->getMaterialManager(); $manager->reset(); $manager->create_tmp_table($environment->getCurrentContextID()); $manager->setContextLimit($environment->getCurrentContextID()); $count_all = $manager->getCountAll(); $manager->setOrder('date'); if ($environment->inProjectRoom()) { $manager->setAgeLimit($context_item->getTimeSpread()); } else { $manager->setIntervalLimit(0, 5); $home_rubric_limit = 5; } $manager->showNoNotActivatedEntries(); $count_select = $manager->getCountAll(); $manager->setIntervalLimit(0, $home_rubric_limit); $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; if ($home_rubric_limit < $count_select) { $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; } $manager->select(); $list = $manager->get(); $manager->delete_tmp_table(); $item = $list->getFirst(); $tmp_id_array = array(); while ($item) { $tmp_id_array[] = $item->getItemID(); $item = $list->getNext(); } $section_manager = $environment->getSectionManager(); $section_list = $section_manager->getAllSectionItemListByIDArray($tmp_id_array); $item = $section_list->getFirst(); while ($item) { $sub_id_array[] = $item->getItemID(); $v_id_array[$item->getItemID()] = $item->getVersionID(); $item = $section_list->getNext(); } break; case CS_DISCUSSION_TYPE: $manager = $environment->getDiscussionManager(); $manager->reset(); $manager->setContextLimit($environment->getCurrentContextID()); $count_all = $manager->getCountAll(); if ($environment->inProjectRoom() or $environment->inGroupRoom()) { $manager->setAgeLimit($context_item->getTimeSpread()); } elseif ($environment->inCommunityRoom()) { $manager->setIntervalLimit(0, 5); $home_rubric_limit = 5; } $manager->showNoNotActivatedEntries(); $count_select = $manager->getCountAll(); $manager->setIntervalLimit(0, $home_rubric_limit); $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; if ($home_rubric_limit < $count_select) { $home_rubric_limit = CS_HOME_RUBRIC_LIST_LIMIT; } $manager->select(); $list = $manager->get(); $item = $list->getFirst(); $disc_id_array = array(); while ($item) { $disc_id_array[] = $item->getItemID(); $item = $list->getNext(); } $discarticle_manager = $environment->getDiscussionArticleManager(); $discarticle_list = $discarticle_manager->getAllDiscArticlesItemListByIDArray($disc_id_array); $item = $discarticle_list->getFirst(); while ($item) { $disc_id_array[] = $item->getItemID(); $item = $discarticle_list->getNext(); } break; } $rubric_list_array[$rubric_name] = $list; $rubric_count_all_array[$rubric_name] = $count_all; $tmp = $list->getFirst(); $ids = array(); while ($tmp) { $id_array[] = $tmp->getItemID(); if ($rubric_name == CS_MATERIAL_TYPE) { $v_id_array[$tmp->getItemID()] = $tmp->getVersionID(); } $ids[] = $tmp->getItemID(); $tmp = $list->getNext(); } if (empty($rubric)) { $session->setValue('cid' . $environment->getCurrentContextID() . '_' . $rubric_name . '_index_ids', $ids); } else { $session->setValue('cid' . $environment->getCurrentContextID() . '_' . $rubric . '_index_ids', $ids); } } $noticed_manager = $environment->getNoticedManager(); $id_array = array_merge($id_array, $disc_id_array); $id_array = array_merge($id_array, $sub_id_array); $noticed_manager->getLatestNoticedByIDArray($id_array); $noticed_manager->getLatestNoticedAnnotationsByIDArray($id_array); $link_manager = $environment->getLinkManager(); $file_id_array = $link_manager->getAllFileLinksForListByIDs($id_array, $v_id_array); $file_manager = $environment->getFileManager(); $file_manager->setIDArrayLimit($file_id_array); $file_manager->select(); $manager = $environment->getProjectManager(); $room_max_activity = 0; if ($this->_environment->inCommunityRoom()) { $manager->setContextLimit($environment->getCurrentPortalID()); global $c_cache_cr_pr; if (!isset($c_cache_cr_pr) or !$c_cache_cr_pr) { $room_max_activity = $manager->getMaxActivityPointsInCommunityRoom($environment->getCurrentContextID()); } else { $current_context_item = $environment->getCurrentContextItem(); $room_max_activity = $manager->getMaxActivityPointsInCommunityRoomInternal($current_context_item->getInternalProjectIDArray()); unset($current_context_item); } } $user_manager = $this->_environment->getUserManager(); foreach ($rubric_list_array as $key => $list) { $item_array = array(); $column1_addon = ''; $modificator_id = ''; $item = $list->getFirst(); $recurringDateArray = array(); $params = array(); $params['environment'] = $environment; $params['with_modifying_actions'] = false; $view = new cs_view($params); while ($item) { $may_enter = false; $noticed_text = $this->_getItemChangeStatus($item); # $noticed_text = ''; switch ($key) { case CS_ANNOUNCEMENT_TYPE: $column1 = $item->getTitle(); $parse_day_start = convertDateFromInput($item->getSeconddateTime(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_start['conforms']; if ($conforms === true) { $column2 = $translator->getDateInLang($parse_day_start['datetime']); } else { $column2 = $item->getSeconddateTime(); } $column3 = $item->getModificatorItem()->getFullName(); $modificator_id = $item->getModificatorItem()->getItemID(); break; case CS_DATE_TYPE: $displayDate = true; $column1_addon = false; // is this a recurring date? if ($item->getRecurrencePattern()) { // did we already displayed the first date? if (!isset($recurringDateArray[$item->getRecurrenceId()])) { // if not - this is the starting date $recurringDateArray[$item->getRecurrenceId()] = $item; } else { $displayDate = false; } } if ($displayDate) { $column1 = $item->getTitle(); if ($item->getRecurrencePattern()) { $column1_addon = true; } $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_start['conforms']; if ($conforms == TRUE) { $date = $translator->getDateInLang($parse_day_start['datetime']); } else { $date = $item->getStartingDay(); } $parse_time_start = convertTimeFromInput($item->getStartingTime()); $conforms = $parse_time_start['conforms']; if ($conforms == TRUE) { $time = getTimeLanguage($parse_time_start['datetime']); } else { $time = $item->getStartingTime(); } if (!empty($time)) { $time = ', ' . $time; } $column2 = $view->_text_as_html_short($date . $time); $column3 = $item->getPlace(); } else { // go to next item $item = $list->getNext(); /* * the "2" is needed, to continue the while loop an not only * the nested switch statement */ continue 2; } break; case CS_DISCUSSION_TYPE: $column1 = $item->getTitle(); $column2 = $this->_environment->getTranslationObject()->getDateInLang($item->getModificationDate()); $column3 = $item->getModificatorItem()->getFullName(); $modificator_id = $item->getModificatorItem()->getItemID(); $reader_array = $item->getAllAndUnreadArticles(); $column1_addon = $reader_array['unread'] . ' / ' . $reader_array['count']; break; case CS_USER_TYPE: $column1 = ''; $title = $item->getTitle(); if (!empty($title)) { $column1 = $item->getTitle() . ' '; } $column1 .= $view->_text_as_html_short($item->getFullname()); ################################################## # messenger - MUSS NOCH AUFGERÄUMT WERDEN: HTML INS TEMPLATE ################################################## global $c_commsy_domain; $host = $c_commsy_domain; global $c_commsy_url_path; $url_to_img = $host . $c_commsy_url_path . '/images/messenger'; $icq_number = $item->getICQ(); if (!empty($icq_number)) { //$column1 .= ' <img style="vertical-align:middle;" src="http://status.icq.com/online.gif?icq='.rawurlencode($icq_number).'&img=5" alt="ICQ Online Status" />'.LF; } $msn_number = $item->getMSN(); if (!empty($msn_number)) { //$column1 .= '<a href="http://www.IMStatusCheck.com/?msn">'.LF; //$column1 .= ' <img style="vertical-align:middle;" src="http://www.IMStatusCheck.com/status/msn/'.rawurlencode($msn_number).'?icons" alt="MSN Online Status" />'.LF; //$column1 .= '</a>'.LF; } $skype_number = $item->getSkype(); if (!empty($skype_number)) { //$column1 .= '<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>'.LF; //$column1 .= '<a href="skype:'.rawurlencode($skype_number).'?chat">'.LF; //$column1 .= ' <img src="http://mystatus.skype.com/smallicon/'.rawurlencode($skype_number).'" style="vertical-align:middle; border: none;" width="16" height="16" alt="Skype Online Status" />'.LF; //$column1 .= '</a>'.LF; } $yahoo_number = $item->getYahoo(); if (!empty($yahoo_number)) { //$column1 .= '<a href="http://messenger.yahoo.com/edit/send/?.target='.rawurlencode($yahoo_number).'">'.LF; //$column1 .= ' <img style="vertical-align:middle;" src="http://opi.yahoo.com/yahooonline/u='.rawurlencode($yahoo_number).'/m=g/t=0/l='.$this->_environment->getSelectedLanguage().'/opi.jpg" alt="Yahoo Online Status Indicator" />'.LF; //$column1 .= '</a>'.LF; } ################################################## # messenger - END ################################################## $phone = $item->getTelephone(); $handy = $item->getCellularphone(); $column2 = ''; if (!empty($phone)) { $column2 .= $view->_text_as_html_short($phone) . LF; } if (!empty($phone) and !empty($handy)) { $column2 .= BRLF; } if (!empty($handy)) { $column2 .= $view->_text_as_html_short($handy) . LF; } if ($item->isEmailVisible()) { $email = $item->getEmail(); $email_text = $email; $column3 = curl_mailto($item->getEmail(), $view->_text_as_html_short(chunkText($email_text, 20)), $email_text); } else { $column3 = $translator->getMessage('USER_EMAIL_HIDDEN'); } break; case CS_GROUP_TYPE: $column1 = $item->getTitle(); $members = $item->getMemberItemList(); $column2 = $translator->getMessage('GROUP_MEMBERS') . ': ' . $members->getCount(); $linked_item_array = $item->getAllLinkedItemIDArray(); $column3 = $translator->getMessage('COMMON_REFERENCED_LATEST_ENTRIES') . ': ' . count($linked_item_array); break; case CS_TOPIC_TYPE: $column1 = $item->getTitle(); $column2 = $this->_environment->getTranslationObject()->getDateInLang($item->getModificationDate()); $linked_item_array = $item->getAllLinkedItemIDArray(); $column3 = $translator->getMessage('COMMON_REFERENCED_LATEST_ENTRIES') . ': ' . count($linked_item_array); break; case CS_INSTITUTION_TYPE: $column1 = $item->getTitle(); $members = $item->getMemberItemList(); $column2 = $translator->getMessage('GROUP_MEMBERS') . ': ' . $members->getCount(); $linked_item_array = $item->getAllLinkedItemIDArray(); $column3 = $translator->getMessage('COMMON_REFERENCED_LATEST_ENTRIES') . ': ' . count($linked_item_array); break; case CS_PROJECT_TYPE: $column1 = $item->getTitle(); $column2 = $translator->getMessage('GROUP_MEMBERS') . ': ' . $item->getAllUsers(); $column3 = $this->_getItemActivity($item, $room_max_activity); $user_manager->setUserIDLimit($current_user->getUserID()); $user_manager->setAuthSourceLimit($current_user->getAuthSource()); $user_manager->setContextLimit($item->getItemID()); $user_manager->select(); $user_list = $user_manager->get(); if (!empty($user_list)) { $room_user = $user_list->getFirst(); } else { $room_user = ''; } if ($current_user->isRoot()) { $may_enter = true; } elseif (!empty($room_user)) { $may_enter = $item->mayEnter($room_user); } else { $may_enter = false; } break; case CS_TODO_TYPE: $column1 = $item->getTitle(); $original_date = $item->getDate(); $date = getDateInLang($original_date); $status = $item->getStatus(); $actual_date = date("Y-m-d H:i:s"); if ($status != $translator->getMessage('TODO_DONE') and $original_date < $actual_date) { $date = '<span class="required">' . $date . '</span>'; } if ($original_date == '9999-00-00 00:00:00') { $date = $translator->getMessage('TODO_NO_END_DATE'); } $column2 = $date; $column3 = $this->_getTodoItemProcess($item, $translator); break; default: $column1 = $item->getTitle(); $column2 = $this->_environment->getTranslationObject()->getDateInLang($item->getModificationDate()); $modificatorItem = $item->getModificatorItem(); if ($modificatorItem) { $column3 = $modificatorItem->getFullName(); $modificator_id = $modificatorItem->getItemID(); } else { $column3 = $translator->getMessage('COMMON_DELETED_USER'); $modificator_id = null; } } // files $with_files = false; $file_count = 0; if (in_array($key, $this->getRubricsWithFiles())) { $with_files = true; $attachment_infos = array(); if ($key == CS_MATERIAL_TYPE) { $file_count = $item->getFileListWithFilesFromSections()->getCount(); $file_list = $item->getFileListWithFilesFromSections(); } elseif ($key == CS_DISCUSSION_TYPE) { $file_count = $item->getFileListWithFilesFromArticles()->getCount(); $file_list = $item->getFileListWithFilesFromArticles(); } else { $file_count = $item->getFileList()->getCount(); $file_list = $item->getFileList(); } $file = $file_list->getFirst(); while ($file) { $lightbox = false; if ((!isset($_GET['download']) || $_GET['download'] !== 'zip') && in_array($file->getExtension(), array('png', 'jpg', 'jpeg', 'gif'))) { $lightbox = true; } $info = array(); #$info['file_name'] = $converter->text_as_html_short($file->getDisplayName()); $info['file_name'] = $converter->filenameFormatting($file->getDisplayName()); $info['file_icon'] = $file->getFileIcon(); $info['file_url'] = $file->getURL(); $info['file_size'] = $file->getFileSize(); $info['lightbox'] = $lightbox; $attachment_infos[] = $info; $file = $file_list->getNext(); } } $item_array[] = array('iid' => $item->getItemID(), 'user_iid' => $modificator_id, 'column_1' => $column1, 'column_1_addon' => $column1_addon, 'column_2' => $column2, 'column_3' => $column3, 'noticed' => $noticed_text, 'has_attachments' => $with_files, 'attachment_count' => $file_count, 'attachment_infos' => $attachment_infos, 'may_enter' => $may_enter); $item = $list->getNext(); } $return[$key]['items'] = $item_array; // message tag $message_tag = ''; //TODO: complete missing tags $shown = 0; switch ($key) { case CS_ANNOUNCEMENT_TYPE: $message_tag = $translator->getMessage('COMMON_' . mb_strtoupper($key) . '_SHORT_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); break; case CS_DATE_TYPE: $message_tag = $translator->getMessage('HOME_DATES_SHORT_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); break; case CS_PROJECT_TYPE: if ($this->_environment->inProjectRoom()) { $message_tag = $translator->getMessage('PROJECT_SHORT_DESCRIPTION', 5); } elseif ($this->_environment->inCommunityRoom()) { if (isset($list) && $list->isNotEmpty() && $list->getCount() < 10) { $count = $list->getCount(); } else { $count = '10'; } $message_tag = $translator->getMessage('COMMUNITY_SHORT_DESCRIPTION') . ' ' . $count; } break; case CS_GROUP_TYPE: $message_tag = $translator->getMessage('HOME_GROUP_SHORT_VIEW_DESCRIPTION', $list->getCount()); break; case CS_TODO_TYPE: $message_tag = $translator->getMessage('TODO_SHORT_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); break; case CS_TOPIC_TYPE: if (isset($list) && $list->isNotEmpty()) { $shown = $list->getCount(); } else { $shown = 0; } $message_tag = $translator->getMessage('HOME_TOPIC_SHORT_VIEW_DESCRIPTION', $shown); break; case CS_INSTITUTION_TYPE: if ($rubric_count_all_array[$key] > 0) { $message_tag = $translator->getMessage('HOME_INSTITUTION_SHORT_VIEW_DESCRIPTION', $list->getCount()); } break; case CS_USER_TYPE: if ($this->_environment->inProjectRoom()) { global $who_is_online; if (isset($who_is_online) && $who_is_online) { $shown = $list->getCount(); if ($shown > 0) { $days = $context_item->isProjectRoom() ? $context_item->getTimeSpread() : 90; $item = $list->getFirst(); $count_active_now = 0; while ($item) { $lastlogin = $item->getLastLogin(); if ($lastlogin > getCurrentDateTimeMinusMinutesInMySQL($days)) { $count_active_now++; } $item = $list->getNext(); } } $message_tag = $translator->getMessage('HOME_USER_SHORT_VIEW_DESCRIPTION2', $shown, $count_active_now, $rubric_count_all_array[$key], $days); } else { $message_tag = $translator->getMessage('HOME_USER_SHORT_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); } } else { $message_tag = $translator->getMessage('COMMON_SHORT_CONTACT_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); } break; case CS_MATERIAL_TYPE: if ($this->_environment->inProjectRoom()) { $period = $context_item->getTimeSpread(); $message_tag = $translator->getMessage('COMMON_SHORT_VIEW_DESCRIPTION', $list->getCount(), $period, $rubric_count_all_array[$key]); } else { $message_tag = $translator->getMessage('COMMON_SHORT_MATERIAL_VIEW_DESCRIPTION', $list->getCount(), $rubric_count_all_array[$key]); } break; case CS_DISCUSSION_TYPE: $shown = $list->getCount(); if ($this->_environment->inProjectRoom() || $this->_environment->inGroupRoom()) { $period = $context_item->getTimeSpread(); $message_tag = $translator->getMessage('COMMON_SHORT_VIEW_DESCRIPTION', $shown, $period, $rubric_count_all_array[$key]); } elseif ($this->_environment->inCommunityRoom()) { if ($shown != 1) { $message_tag = $translator->getMessage('COMMON_SHORT_VIEW_DESCRIPTION_CR', $shown, $rubric_count_all_array[$key]); } else { $message_tag = $translator->getMessage('COMMON_SHORT_VIEW_DESCRIPTION_CR_ONE', $shown, $rubric_count_all_array[$key]); } } break; } $return[$key]['message_tag'] = $message_tag; } // TODO attachment_count... // append return /* $return = array( 'items' => $rubric_array/*, 'count_all' => $count_all_shown*/ /*); */ return $return; }
/** loads the selected and given values to the form * this methods loads the selected and given values to the form from the material item or the form_post data * * @author CommSy Development Group */ function _prepareValues() { $this->_values = array(); if (!empty($this->_form_post)) { $temp_array = array(); if (isset($this->_form_post['dayActivateStart'])) { $temp_array['dayActivateStart'] = $this->_form_post['dayActivateStart']; } else { $temp_array['dayActivateStart'] = ''; } if (isset($this->_form_post['timeActivateStart'])) { $temp_array['timeActivateStart'] = $this->_form_post['timeActivateStart']; } else { $temp_array['timeActivateStart'] = ''; } $this->_form_post['start_activate_date_time'] = $temp_array; $temp_array = array(); if (!empty($this->_form_post['dayStart'])) { $temp_array[] = $this->_form_post['dayStart']; } else { $temp_array[] = ''; } if (!empty($this->_form_post['timeStart'])) { $temp_array[] = $this->_form_post['timeStart']; } else { $temp_array[] = ''; } $this->_form_post['start_date_time'] = $temp_array; $temp_time_array = array(); if (!empty($this->_form_post['dayEnd'])) { $temp_time_array['dayEnd'] = $this->_form_post['dayEnd']; } else { $temp_time_array['dayEnd'] = ''; } if (!empty($this->_form_post['timeEnd'])) { $temp_time_array['timeEnd'] = $this->_form_post['timeEnd']; } else { $temp_time_array['timeEnd'] = ''; } $this->_form_post['end_date_time'] = $temp_time_array; $this->_values = $this->_form_post; if (!isset($this->_values['public'])) { $this->_values['public'] = ($this->_environment->inProjectRoom() or $this->_environment->inGroupRoom()) ? '1' : '0'; //In projectrooms everybody can edit the item by default, else default is creator only } #if ( !empty($this->_form_post['colorpicker']) ) { # $this->_values['colorpicker'] = '<br/><br/><INPUT class="color" value="' . $_POST['colorpicker'] . '" name="colorpicker">'; # $this->_color = $_POST['colorpicker']; #} if (isset($this->_form_post['date_addon_color'])) { $this->_values['date_addon_color'] = $this->_form_post['date_addon_color']; } if (isset($this->_form_post['recurring'])) { $this->_values['recurring'] = $this->_form_post['recurring']; // avoid "manipulation of data"-error if ($this->_form_post['recurring_select'] == 'daily') { unset($this->_form_post['recurring_month']); unset($this->_form_post['recurring_month_every']); unset($this->_form_post['recurring_month_day_every']); unset($this->_form_post['recurring_year_every']); unset($this->_form_post['recurring_week']); unset($this->_form_post['recurring_week_days']); } elseif ($this->_form_post['recurring_select'] == 'weekly') { unset($this->_form_post['recurring_month']); unset($this->_form_post['recurring_month_every']); unset($this->_form_post['recurring_month_day_every']); unset($this->_form_post['recurring_year_every']); unset($this->_form_post['recurring_day']); } elseif ($this->_form_post['recurring_select'] == 'monthly') { unset($this->_form_post['recurring_week']); unset($this->_form_post['recurring_week_days']); unset($this->_form_post['recurring_year_every']); unset($this->_form_post['recurring_day']); } elseif ($this->_form_post['recurring_select'] == 'yearly') { unset($this->_form_post['recurring_month']); unset($this->_form_post['recurring_month_every']); unset($this->_form_post['recurring_month_day_every']); unset($this->_form_post['recurring_day']); unset($this->_form_post['recurring_week']); unset($this->_form_post['recurring_week_days']); } } } elseif (isset($this->_item)) { $this->_values['external_viewer'] = $this->_item->issetExternalViewerStatus(); $this->_values['external_viewer_accounts'] = $this->_item->getExternalViewerString(); $this->_values['iid'] = $this->_item->getItemID(); $this->_values['title'] = $this->_item->getTitle(); $this->_values['description'] = $this->_item->getDescription(); $this->_values['mode'] = $this->_item->getDateMode(); // DATE AND TIME $temp_array = array(); $temp = convertDateFromInput($this->_item->getStartingDay(), $this->_environment->getSelectedLanguage()); if ($temp['conforms']) { $temp_array['dayStart'] = getDateInLang($this->_item->getStartingDay()); } else { $temp_array['dayStart'] = $this->_item->getStartingDay(); } $temp = convertTimeFromInput($this->_item->getStartingTime()); if ($temp['conforms'] == TRUE) { $temp_array['timeStart'] = getTimeLanguage($this->_item->getStartingTime()); } else { $temp_array['timeStart'] = $this->_item->getStartingTime(); } $this->_values['start_date_time'] = $temp_array; $temp_array = array(); $temp = convertDateFromInput($this->_item->getEndingDay(), $this->_environment->getSelectedLanguage()); if ($temp['conforms']) { $temp_array['dayEnd'] = getDateInLang($this->_item->getEndingDay()); } else { $temp_array['dayEnd'] = $this->_item->getEndingDay(); } $temp = convertTimeFromInput($this->_item->getEndingTime()); if ($temp['conforms'] == TRUE) { $temp_array['timeEnd'] = getTimeLanguage($this->_item->getEndingTime()); } else { $temp_array['timeEnd'] = $this->_item->getEndingTime(); } $this->_values['end_date_time'] = $temp_array; $this->_values['place'] = $this->_item->getPlace(); $current_context = $this->_environment->getCurrentContextItem(); if ($current_context->withActivatingContent()) { if ($this->_item->isPrivateEditing()) { $this->_values['private_editing'] = 1; } else { $this->_values['private_editing'] = $this->_item->isPrivateEditing(); } } else { $this->_values['public'] = $this->_item->isPublic(); } $this->_setValuesForRubricConnections(); // file $file_array = array(); $file_list = $this->_item->getFileList(); if ($file_list->getCount() > 0) { $file_item = $file_list->getFirst(); while ($file_item) { $file_array[] = $file_item->getFileID(); $file_item = $file_list->getNext(); } } if (isset($this->_form_post['filelist'])) { $this->_values['filelist'] = $this->_form_post['filelist']; } else { $this->_values['filelist'] = $file_array; } $this->_values['hide'] = $this->_item->isNotActivated() ? '1' : '0'; if ($this->_item->isNotActivated()) { $activating_date = $this->_item->getActivatingDate(); if (!strstr($activating_date, '9999-00-00')) { $array = array(); $array['dayActivateStart'] = getDateInLang($activating_date); $array['timeActivateStart'] = getTimeInLang($activating_date); $this->_values['start_activate_date_time'] = $array; } } if ($this->_item->getColor() != '') { //$this->_values['colorpicker'] = '<br/><br/><INPUT class="color" value="' . $this->_item->getColor() . '" name="colorpicker">'; $this->_values['date_addon_color'] = $this->_item->getColor(); #$this->_color = $this->_item->getColor(); } } else { $temp_array['dayStart'] = $this->_private_date_starting_date; $temp_array['timeStart'] = $this->_private_date_starting_time; $this->_values['start_date_time'] = $temp_array; $temp_array = array(); $temp_array['dayEnd'] = $this->_private_date_ending_date; $temp_array['timeEnd'] = $this->_private_date_ending_time; $this->_values['end_date_time'] = $temp_array; $current_context = $this->_environment->getCurrentContextItem(); if ($current_context->withActivatingContent()) { if (!isset($this->_values['private_editing'])) { $this->_values['private_editing'] = ($this->_environment->inProjectRoom() or $this->_environment->inGroupRoom()) ? '0' : '1'; //In projectrooms everybody can edit the item by default, else default is creator only } } else { if (!isset($this->_values['public'])) { $this->_values['public'] = ($this->_environment->inProjectRoom() or $this->_environment->inGroupRoom()) ? '1' : '0'; //In projectrooms everybody can edit the item by default, else default is creator only } } #$this->_values['date_addon_color'] = '#FFFF66'; } }
/** get the single entry of the list view as HTML * this method returns the single entry in HTML-Code * * @returns string $item as HMTL * * @param object item the single list entry */ function _getItemAsHTML($item) { $html = LF . '<!-- BEGIN OF DATE ITEM DETAIL -->' . LF; // DATE AND TIME // $formal_data = array(); // 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 = $this->_text_as_html_short($this->_compareWithSearchText($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 = $this->_text_as_html_short($this->_compareWithSearchText($item->getEndingTime())); } $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_start['conforms']; if ($conforms == TRUE) { $start_day_print = $item->getStartingDayName() . ', ' . $this->_translator->getDateInLang($parse_day_start['datetime']); } else { $start_day_print = $this->_text_as_html_short($this->_compareWithSearchText($item->getStartingDay())); } $parse_day_end = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_end['conforms']; if ($conforms == TRUE) { $end_day_print = $item->getEndingDayName() . ', ' . $this->_translator->getDateInLang($parse_day_end['datetime']); } else { $end_day_print = $this->_text_as_html_short($this->_compareWithSearchText($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 = $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; 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 $temp_array = array(); $temp_array[] = $this->_translator->getMessage('DATES_DATETIME'); if ($time_print != '') { $temp_array[] = $date_print . BRLF . $time_print; } else { $temp_array[] = $date_print; } $formal_data[] = $temp_array; // Place $place = $item->getPlace(); if (!empty($place)) { $place = $this->_compareWithSearchText($place); $temp_array = array(); $temp_array[] = $this->_translator->getMessage('DATES_PLACE'); $temp_array[] = $this->_text_as_html_short($place); $formal_data[] = $temp_array; } // Color $color = $item->getColor(); if (!empty($color)) { $temp_array = array(); $temp_array[] = $this->_translator->getMessage('DATES_COLOR'); $temp_array[] = '<img src="images/spacer.gif" style="height:10px; width:10px; background-color:' . $this->_text_as_html_short($color) . '; border:1px solid #cccccc;"/>'; $formal_data[] = $temp_array; } // Files $files = $this->_getFilesForFormalData($item); if (!empty($files)) { $temp_array = array(); $temp_array[] = $this->_translator->getMessage('MATERIAL_FILES'); $temp_array[] = implode(BRLF, $files); $formal_data[] = $temp_array; } if (!empty($formal_data)) { $html .= $this->_getFormalDataAsHTML($formal_data); $html .= BRLF; } // Members $user = $this->_environment->getCurrentUser(); $member_html = ''; $members = $item->getParticipantsItemList(); if ($members->isEmpty()) { $member_html .= ' ' . $this->_translator->getMessage('TODO_NO_PROCESSOR') . LF; } else { $member = $members->getFirst(); $count = $members->getCount(); $counter = 0; while ($member) { $counter++; if ($member->isUser()) { $linktext = $member->getFullname(); $linktext = $this->_compareWithSearchText($linktext); $linktext = $this->_text_converter->text_as_html_short($linktext); if ($member->maySee($user)) { $params = array(); $params['iid'] = $member->getItemID(); $param_zip = $this->_environment->getValueOfParameter('download'); if (empty($param_zip) or $param_zip != 'zip') { $member_html .= ahref_curl($this->_environment->getCurrentContextID(), 'user', 'detail', $params, $linktext); } else { $member_html .= $linktext; } unset($params); } else { $member_html .= '<span class="disabled">' . $linktext . '</span>' . LF; } if ($counter != $count) { $member_html .= ', '; } } else { $link_title = chunkText($member->getFullName(), 35); $link_title = $this->_compareWithSearchText($link_title); $link_title = $this->_text_converter->text_as_html_short($link_title); $param_zip = $this->_environment->getValueOfParameter('download'); if (empty($param_zip) or $param_zip != 'zip') { $member_html .= ahref_curl($this->_environment->getCurrentContextID(), $this->_environment->getCurrentModule(), $this->_environment->getCurrentFunction(), array(), $link_title, $this->_translator->getMessage('USER_STATUS_REJECTED'), '_self', '', '', '', '', 'class="disabled"', '', '', true); } else { $member_html .= $link_title; } if ($counter != $count) { $member_html .= ', '; } } $member = $members->getNext(); } } $temp_array[0] = $this->_translator->getMessage('DATE_PARTICIPANTS'); $temp_array[1] = $member_html; $formal_data = array(); $formal_data[] = $temp_array; if (!empty($formal_data)) { $html .= $this->_getFormalDataAsHTML($formal_data); $html .= BRLF; } // Description $desc = $item->getDescription(); if (!empty($desc)) { $desc = $this->_text_as_html_long($this->_compareWithSearchText($this->_cleanDataFromTextArea($desc))); $desc = $this->_show_images($desc, $item, true); $html .= $this->getScrollableContent($desc, $item, '', true) . LF; } $html .= '<!-- END OF DATE ITEM DETAIL -->' . "\n\n"; return $html; }
/** get the time of the item * this method returns the item place in the right formatted style * * @return string title * * @author CommSy Development Group */ function _getItemTime($item) { $parse_time_start = convertTimeFromInput($item->getStartingTime()); $conforms = $parse_time_start['conforms']; if ($conforms == TRUE) { $time = getTimeLanguage($parse_time_start['datetime']); } else { $time = $item->getStartingTime(); } return $this->_text_as_html_short($time); }
/** 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')); }
protected function getDetailContent() { $converter = $this->_environment->getTextConverter(); $translator = $this->_environment->getTranslationObject(); // description $desc = $this->_item->getDescription(); if (!empty($desc)) { $converter->setFileArray($this->getItemFileList()); if ($this->_with_old_text_formating) { $desc = $converter->textFullHTMLFormatting($desc); } else { //$desc = $converter->cleanDataFromTextArea($desc); //$desc = $converter->compareWithSearchText... //$desc = $converter->text_as_html_long($desc); //$desc = $converter->show_images($desc, $this->_item, true); $desc = $converter->textFullHTMLFormatting($desc); } } // set up style of days and times // time $parse_time_start = convertTimeFromInput($this->_item->getStartingTime()); $conforms = $parse_time_start['conforms']; if ($conforms === true) { $start_time_print = getTimeLanguage($parse_time_start['datetime']); } else { // TODO: compareWithSearchText $start_time_print = $converter->text_as_html_short($this->_item->getStartingTime()); } $parse_time_end = convertTimeFromInput($this->_item->getEndingTime()); $conforms = $parse_time_end['conforms']; if ($conforms === true) { $end_time_print = getTimeLanguage($parse_time_end['datetime']); } else { // TODO: compareWithSearchText $end_time_print = $converter->text_as_html_short($this->_item->getEndingTime()); } // day $parse_day_start = convertDateFromInput($this->_item->getStartingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_start['conforms']; if ($conforms === true) { $start_day_print = $this->_item->getStartingDayName() . ', ' . $translator->getDateInLang($parse_day_start['datetime']); } else { // TODO: compareWithSearchText $start_day_print = $converter->text_as_html_short($this->_item->getStartingDay()); } $parse_day_end = convertDateFromInput($this->_item->getEndingDay(), $this->_environment->getSelectedLanguage()); $conforms = $parse_day_end['conforms']; if ($conforms === true) { $end_day_print = $this->_item->getEndingDayName() . ', ' . $translator->getDateInLang($parse_day_end['datetime']); } else { // TODO: compareWithSearchText $end_day_print = $converter->text_as_html_short($this->_item->getEndingDay()); } // formate 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'] && $parse_day_end['conforms']) { // start and end are dates, not string <- ??? $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $translator->getMessage('DATES_DAYS') . ')'; } if ($start_time_print !== '' && $end_time_print === '') { // only start 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 === '' && $end_time_print !== '') { // only end time 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 !== '' && $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'] && $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 = $translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print; if ($start_time_print !== '' && $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 === '' && $end_time_print !== '') { // end time 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 !== '' && $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'] && $parse_day_start['conforms'] && $parse_day_end['conforms']) { $date_print = $translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print; if ($start_time_print !== '' && $end_time_print === '') { // starting time given $time_print = $translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print; } elseif ($start_time_print === '' && $end_time_print !== '') { // endtime given $time_print = $translator->getMessage('DATES_TILL') . ' ' . $end_time_print; } elseif ($start_time_print !== '' && $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 $datetime = $date_print; if ($time_print !== '') { $datetime .= BRLF . $time_print; } // place $place = $this->_item->getPlace(); if (!empty($place)) { // TODO: compareWithSearchText $place = $place; } // color $color = $this->_item->getColor(); if (!empty($color)) { $color = $converter->text_as_html_short($color); } $formal = array(); if ($this->_item->isNotActivated()) { $activating_date = $this->_item->getActivatingDate(); $text = ''; if (strstr($activating_date, '9999-00-00')) { $activating_text = $translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $activating_text = $translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($this->_item->getActivatingDate()); } $temp_array = array(); $temp_array[] = $translator->getMessage('COMMON_RIGHTS'); $temp_array[] = $activating_text; $formal[] = $temp_array; } $temp_array = array(); return array('formal' => $formal, 'privat' => $this->_item->issetPrivatDate(), 'datetime' => $datetime, 'place' => $place, 'color' => $color, 'files' => $this->getFileContent(), 'member' => $this->getMember(), 'item_id' => $this->_item->getItemID(), 'title' => $this->_item->getTitle(), 'description' => $desc, 'moredetails' => $this->getCreatorInformationAsArray($this->_item)); }
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; }