private function getForwardInformation($ids) { $return = array(); $converter = $this->_environment->getTextConverter(); if (empty($ids) and isset($this->_item)) { $ids = array(); $ids[] = $this->_item->getItemID(); } // determe item positions for forward box $count = 0; $pos = 0; foreach ($ids as $id) { if (isset($this->_item) and $id == $this->_item->getItemID()) { $pos = $count; } else { $count++; } } $start = $pos - 4; $end = $pos + 4; if ($start < 0) { $end -= $start; } if ($end > count($ids)) { $end = count($ids); $start = $end - 9; if ($start < 0) { $start = 0; } } // get information $listed_ids = array(); $count_items = 0; $i = 1; foreach ($ids as $id) { if ($count_items >= $start && $count_items <= $end) { $item_manager = $this->_environment->getItemManager(); $tmp_item = $item_manager->getItem($id); //$text = ''; if (isset($tmp_item)) { $manager = $this->_environment->getManager($tmp_item->getItemType()); $item = $manager->getItem($ids[$count_items]); $type = $tmp_item->getItemType(); if ($type == 'label') { $label_manager = $this->_environment->getLabelManager(); $label_item = $label_manager->getItem($tmp_item->getItemID()); $type = $label_item->getLabelType(); } } $link_title = ''; if (isset($item) && is_object($item) && $item->isA(CS_USER_TYPE)) { $link_title = $item->getFullName(); } elseif (isset($item) && is_object($item)) { $link_title = $item->getTitle(); } $params = $this->_environment->getCurrentParameterArray(); unset($params['iid']); // append to return $activating_text = ''; $current_user_item = $this->_environment->getCurrentUserItem(); if (isset($item) && $item->isNotActivated() && !($item->getCreatorID() === $current_user_item->getItemID()) && !$current_user_item->isModerator()) { $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_NOT_ACTIVATED'); } else { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } } if (isset($item)) { $return[] = array('title' => $link_title, 'is_current' => $item->getItemID() == $this->_item->getItemID(), 'item_id' => $item->getItemID(), 'type' => $type, 'params' => $params, 'position' => $count_items + 1, 'activating_text' => $activating_text); unset($item); } } $count_items++; } return $return; }
public function getNetnavigation($item) { $return = array(); if (isset($item)) { $current_context = $this->_environment->getCurrentContextItem(); $current_user = $this->_environment->getCurrentUser(); $translator = $this->_environment->getTranslationObject(); $converter = $this->_environment->getTextConverter(); $link_items = $item->getAllLinkItemList(); // remove items from list the current user is not allowed to see or ??? $count_item = $link_items->getFirst(); while ($count_item) { $linked_item = $count_item->getLinkedItem($item); if (isset($linked_item)) { $type = $linked_item->getType(); } // $module = Type2Module($type); // if($module === CS_USER_TYPE && ($item->getItemType()== CS_GROUP_TYPE || (!$linked_item->isUser() || !$linked_item->maySee($current_user)))) { // $link_items->removeElement($count_item); // } $count_item = $link_items->getNext(); } $count_link_item = $link_items->getCount(); $return['count'] = $count_link_item; /* * $this->_right_box_config['title_string'] .= $separator.'"'.$this->_translator->getMessage('COMMON_NETNAVIGATION_ENTRIES').' ('.$count_link_item.')"'; $this->_right_box_config['desc_string'] .= $separator.'""'; $this->_right_box_config['size_string'] .= $separator.'"10"'; if($current_context->isNetnavigationShowExpanded()){ $this->_right_box_config['config_string'] .= $separator.'true'; } else { $this->_right_box_config['config_string'] .= $separator.'false'; } $html .= '<div class="commsy_panel" style="margin-bottom:1px;">'.LF; $html .= '<div class="right_box">'.LF; */ $return['items'] = array(); if (!$link_items->isEmpty()) { $link_item = $link_items->getFirst(); while ($link_item) { $entry = array('creator' => ''); $link_creator = $link_item->getCreatorItem(); if (isset($link_creator) && !$link_creator->isDeleted()) { $entry['creator'] = $link_creator->getFullname(); // create the list entry $linked_item = $link_item->getLinkedItem($item); if (isset($linked_item)) { $type = $linked_item->getType(); if ($type === 'label') { $type = $linked_item->getLabelType(); } $link_created = $translator->getDateInLang($link_item->getCreationDate()); switch (mb_strtoupper($type, 'UTF-8')) { case 'ANNOUNCEMENT': $text = $translator->getMessage('COMMON_ONE_ANNOUNCEMENT'); $img = 'announcement.png'; break; case 'DATE': $text = $translator->getMessage('COMMON_ONE_DATE'); $img = 'date.png'; break; case 'DISCUSSION': $text = $translator->getMessage('COMMON_ONE_DISCUSSION'); $img = 'discussion.png'; break; case 'GROUP': $text = $translator->getMessage('COMMON_ONE_GROUP'); $img = 'group.png'; break; case 'INSTITUTION': $text = $translator->getMessage('COMMON_ONE_INSTITUTION'); $img = ''; break; case 'MATERIAL': $text = $translator->getMessage('COMMON_ONE_MATERIAL'); $img = 'material.png'; break; case 'PROJECT': $text = $translator->getMessage('COMMON_ONE_PROJECT'); $img = ''; break; case 'TODO': $text = $translator->getMessage('COMMON_ONE_TODO'); $img = 'todo.png'; break; case 'TOPIC': $text = $translator->getMessage('COMMON_ONE_TOPIC'); $img = 'topic.png'; break; case 'USER': $text = $translator->getMessage('COMMON_ONE_USER'); $img = 'user.png'; break; default: $text = $translator->getMessage('COMMON_MESSAGETAB_ERROR'); $img = ''; break; } $link_creator_text = $text . ' - ' . $translator->getMessage('COMMON_LINK_CREATOR') . ' ' . $entry['creator'] . ', ' . $link_created; switch ($type) { case CS_DISCARTICLE_TYPE: $linked_iid = $linked_item->getDiscussionID(); $discussion_manager = $this->_environment->getDiscussionManager(); $linked_item = $discussion_manager->getItem($linked_iid); break; case CS_SECTION_TYPE: $linked_iid = $linked_item->getLinkedItemID(); $material_manager = $this->_environment->getMaterialManager(); $linked_item = $material_manager->getItem($linked_iid); break; default: $linked_iid = $linked_item->getItemID(); } $entry['link_id'] = $link_item->getItemID(); $entry['linked_iid'] = $linked_iid; $entry['sorting_place'] = $link_item->getSortingPlace(); $module = Type2Module($type); $user = $this->_environment->getCurrentUser(); if (!($module == CS_USER_TYPE && (!$linked_item->isUser() || !$linked_item->maySee($user)))) { if ($linked_item->isNotActivated() && !($linked_item->getCreatorID() === $user->getItemID() || $user->isModerator())) { $activating_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text .= ' (' . $translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text .= ' (' . $translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()) . ')'; } if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; /* * TODO: check if working $html .= ahref_curl( $this->_environment->getCurrentContextID(), $module, 'detail', $params, '<img src="' . $img . '" style="padding-right:3px;" title="' . $link_creator_text . '"/>', $link_creator_text, '_self', $fragment, '', '', '', 'class="disabled"', '', '', true); $html .= ahref_curl( $this->_environment->getCurrentContextID(), $module, 'detail', $params, $link_title, $link_creator_text, '_self', $fragment, '', '', '', 'class="disabled"', '', '', true); unset($params); */ } else { if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; /* * TODO: check if needed - $link_creator_text is empty!!! * * * $html .= ahref_curl( $this->_environment->getCurrentContextID(), $module, 'detail', $params, '<img src="' . $img . '" style="padding-right:3px;" title="' . $link_creator_text . '"/>', $link_creator_text, '_self', $fragment, '', '', '', 'style=""'); $html .= ahref_curl( $this->_environment->getCurrentContextID(), $module, 'detail', $params, $link_title, $link_creator_text, '_self', $fragment, '', '', '', 'style=""'); unset($params); */ } $return['items'][] = $entry; } } } $link_item = $link_items->getNext(); } } } 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 */ function _prepareValues() { $current_context = $this->_environment->getCurrentContextItem(); if (isset($this->_form_post)) { $this->_values = $this->_form_post; $tmp_array = array(); if (isset($this->_form_post['dayStart'])) { $tmp_array['dayStart'] = $this->_form_post['dayStart']; } else { $tmp_array['dayStart'] = ''; } if (isset($this->_form_post['timeStart'])) { $tmp_array['timeStart'] = $this->_form_post['timeStart']; } else { $tmp_array['timeStart'] = ''; } $this->_values['start_date_time'] = $tmp_array; if ($current_context->withWorkflow()) { $this->_values['workflow_traffic_light'] = $this->_form_post['workflow_traffic_light']; $this->_values['workflow_resubmission_date'] = array('workflow_resubmission_date' => $this->_form_post['workflow_resubmission_date']); $this->_values['workflow_resubmission_who'] = $this->_form_post['workflow_resubmission_who']; $this->_values['workflow_resubmission_who_additional'] = $this->_form_post['workflow_resubmission_who_additional']; $this->_values['workflow_resubmission_traffic_light'] = $this->_form_post['workflow_resubmission_traffic_light']; $this->_values['workflow_validity_date'] = array('workflow_validity_date' => $this->_form_post['workflow_validity_date']); $this->_values['workflow_validity_who'] = $this->_form_post['workflow_validity_who']; $this->_values['workflow_validity_who_additional'] = $this->_form_post['workflow_validity_who_additional']; $this->_values['workflow_validity_traffic_light'] = $this->_form_post['workflow_validity_traffic_light']; } } elseif (isset($this->_item)) { $this->_values['modification_date'] = $this->_item->getModificationDate(); $this->_values['iid'] = $this->_item->getItemID(); $this->_values['vid'] = $this->_item->getVersionID(); $this->_values['publishing_date'] = $this->_item->getPublishingDate(); $this->_values['title'] = $this->_item->getTitle(); $this->_values['description'] = $this->_item->getDescription(); $this->_values['external_viewer'] = $this->_item->issetExternalViewerStatus(); $this->_values['external_viewer_accounts'] = $this->_item->getExternalViewerString(); // 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; } 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(); } if ($current_context->withWorkflow()) { $this->_values['workflow_traffic_light'] = $this->_item->getWorkflowTrafficLight(); $this->_values['workflow_resubmission'] = $this->_item->getWorkflowResubmission(); if ($this->_item->getWorkflowResubmissionDate() != '' and $this->_item->getWorkflowResubmissionDate() != '0000-00-00 00:00:00') { $this->_values['workflow_resubmission_date']['workflow_resubmission_date'] = getDateInLang($this->_item->getWorkflowResubmissionDate()); } else { $this->_values['workflow_resubmission_date']['workflow_resubmission_date'] = ''; } $this->_values['workflow_resubmission_who'] = $this->_item->getWorkflowResubmissionWho(); $this->_values['workflow_resubmission_who_additional'] = $this->_item->getWorkflowResubmissionWhoAdditional(); $this->_values['workflow_resubmission_traffic_light'] = $this->_item->getWorkflowResubmissionTrafficLight(); $this->_values['workflow_validity'] = $this->_item->getWorkflowValidity(); if ($this->_item->getWorkflowValidityDate() != '' and $this->_item->getWorkflowValidityDate() != '0000-00-00 00:00:00') { $this->_values['workflow_validity_date']['workflow_validity_date'] = getDateInLang($this->_item->getWorkflowValidityDate()); } else { $this->_values['workflow_validity_date']['workflow_validity_date'] = ''; } $this->_values['workflow_validity_who'] = $this->_item->getWorkflowValidityWho(); $this->_values['workflow_validity_who_additional'] = $this->_item->getWorkflowValidityWhoAdditional(); $this->_values['workflow_validity_traffic_light'] = $this->_item->getWorkflowValidityTrafficLight(); } // rubric connections $this->_setValuesForRubricConnections(); $this->_values['author'] = $this->_item->getAuthor(); // no encode here - encode in form-views $this->_values['bib_kind'] = $this->_item->getBibKind(); $this->_values['publisher'] = $this->_item->getPublisher(); $this->_values['address'] = $this->_item->getAddress(); $this->_values['edition'] = $this->_item->getEdition(); $this->_values['series'] = $this->_item->getSeries(); $this->_values['volume'] = $this->_item->getVolume(); $this->_values['isbn'] = $this->_item->getISBN(); $this->_values['issn'] = $this->_item->getISSN(); $this->_values['editor'] = $this->_item->getEditor(); $this->_values['booktitle'] = $this->_item->getBooktitle(); $this->_values['pages'] = $this->_item->getPages(); $this->_values['journal'] = $this->_item->getJournal(); $this->_values['issue'] = $this->_item->getIssue(); $this->_values['thesis_kind'] = $this->_item->getThesisKind(); $this->_values['university'] = $this->_item->getUniversity(); $this->_values['faculty'] = $this->_item->getFaculty(); $this->_values['common'] = $this->_item->getBibliographicValues(); $this->_values['url'] = $this->_item->getURL(); $this->_values['url_date'] = $this->_item->getURLDate(); /** Start Dokumentenverwaltung **/ $this->_values['document_editor'] = $this->_item->getDocumentEditor(); $this->_values['document_maintainer'] = $this->_item->getDocumentMaintainer(); $this->_values['document_release_number'] = $this->_item->getDocumentReleaseNumber(); $this->_values['document_release_date'] = $this->_item->getDocumentReleaseDate(); /** Ende Dokumentenverwaltung **/ if (empty($this->_values['bib_kind']) and !empty($this->_values['common'])) { $this->_values['bib_kind'] = 'common'; } $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['dayStart'] = getDateInLang($activating_date); $array['timeStart'] = getTimeInLang($activating_date); $this->_values['start_date_time'] = $array; } } } else { 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 } } if ($current_context->withWorkflow()) { $this->_values['workflow_traffic_light'] = $current_context->getWorkflowTrafficLightDefault(); $this->_values['workflow_resubmission'] = false; $this->_values['workflow_resubmission_date']['workflow_resubmission_date'] = ''; $this->_values['workflow_resubmission_who'] = 'creator'; $this->_values['workflow_resubmission_traffic_light'] = '3_none'; $this->_values['workflow_validity'] = false; $this->_values['workflow_validity_date']['workflow_validity_date'] = ''; $this->_values['workflow_validity_who'] = 'creator'; $this->_values['workflow_validity_traffic_light'] = '3_none'; } } }
/** get the item of the list view as HTML * this method returns the single item in HTML-Code * * overwritten method form the upper class * * @return string item as HMTL */ function _getItemAsHTML($item, $pos = 0, $with_links = TRUE) { $html = ''; $shown_entry_number = $pos; $shown_entry_number = $pos + $this->_count_headlines; if ($shown_entry_number % 2 == 0) { $style = 'class="odd"'; } else { $style = 'class="even"'; } if ($this->_clipboard_mode) { $sort_criteria = $item->getContextID(); if ($sort_criteria != $this->_last_sort_criteria) { $this->_last_sort_criteria = $sort_criteria; $this->_count_headlines++; $room_manager = $this->_environment->getProjectManager(); $sort_room = $room_manager->getItem($sort_criteria); $html .= ' <tr class="list"><td ' . $style . ' width="100%" style="font-weight:bold;" colspan="6">' . LF; if (empty($sort_room)) { $community_manager = $this->_environment->getCommunityManager(); $sort_community = $community_manager->getItem($sort_criteria); $html .= ' ' . $this->_translator->getMessage('COPY_FROM') . ' ' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . ' "' . $sort_community->getTitle() . '"' . "\n"; } elseif ($sort_room->isPrivateRoom()) { $user = $this->_environment->getCurrentUserItem(); $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . ' "' . $user->getFullname() . '"' . "\n"; } elseif ($sort_room->isGroupRoom()) { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } else { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . ' "' . $sort_room->getTitle() . '"' . "\n"; } $html .= ' </td></tr>' . "\n"; if ($style == 'class="odd"') { $style = 'class="even"'; } else { $style = 'class="odd"'; } } } $html .= ' <tr class="list">' . LF; $checked_ids = $this->getCheckedIDs(); $dontedit_ids = $this->getDontEditIDs(); $key = $item->getItemID(); $fileicons = $this->_getItemFiles($item, $with_links); if (!empty($fileicons)) { $fileicons = ' ' . $fileicons; } if (!(isset($_GET['mode']) and $_GET['mode'] == 'print') or !empty($download) and $download == 'zip') { $html .= ' <td ' . $style . ' style="vertical-align:middle;" width="2%">' . LF; if (empty($download) or $download != 'zip') { $html .= ' <input style="color:blue; font-size:8pt; padding-left:0px; padding-right:0px; margin-left:0px; margin-right:0px;" type="checkbox" onClick="quark(this)" name="attach[' . $key . ']" value="1"'; $user = $this->_environment->getCurrentUser(); if ($item->isNotActivated() and !($item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $html .= ' disabled="disabled"' . LF; } elseif (isset($checked_ids) and !empty($checked_ids) and in_array($key, $checked_ids)) { $html .= ' checked="checked"' . LF; if (in_array($key, $dontedit_ids)) { $html .= ' disabled="disabled"' . LF; } } $html .= '/>' . LF; $html .= ' <input type="hidden" name="shown[' . $this->_text_as_form($key) . ']" value="1"/>' . LF; } $html .= ' </td>' . LF; if ($item->isNotActivated()) { $title = $item->getTitle(); $title = $this->_compareWithSearchText($title); $user = $this->_environment->getCurrentUser(); if ($item->getCreatorID() == $user->getItemID() or $user->isModerator()) { $params = array(); $params['iid'] = $item->getItemID(); $title = ahref_curl($this->_environment->getCurrentContextID(), CS_DATE_TYPE, 'detail', $params, $title, '', '', '', '', '', '', '', '', CS_DATE_TYPE . $item->getItemID()); unset($params); } $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $title .= BR . $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title .= BR . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } $title = '<span class="disabled">' . $title . '</span>'; $html .= ' <td ' . $style . '>' . $title . LF; } else { if ($with_links) { $html .= ' <td ' . $style . '>' . $this->_getItemTitle($item) . $fileicons . LF; } else { $title = $this->_text_as_html_short($item->getTitle()); $html .= ' <td ' . $style . '>' . $title . LF; } } } else { $html .= ' <td colspan="2" ' . $style . ' style="font-size:10pt;">' . $this->_getItemTitle($item) . $fileicons . '</td>' . LF; } $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemDate($item); $time = $this->_getItemTime($item); $starting_time = $item->getStartingTime(); if (!empty($time) and !empty($starting_time)) { $html .= ', ' . $time; } $html .= '</td>' . LF; if (isset($this->_available_color_array[0])) { $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemPlace($item) . '</td>' . LF; $color = $item->getColor(); if (!empty($color)) { $html .= '<td ' . $style . ' style="width:1%;"><img src="images/spacer.gif" style="height:10px; width:10px; background-color:' . $this->_text_as_html_short($color) . '; border:1px solid #cccccc;"/>'; # $html .= '<td '.$style.' style="width:0%;">'; } else { $html .= '<td ' . $style . ' style="width:0%;">'; } $html .= '</td>'; } else { $html .= ' <td colspan="2"' . $style . ' style="font-size:8pt;">' . $this->_getItemPlace($item) . '</td>' . LF; } $html .= ' </tr>' . LF; return $html; }
function _getTodosListAsHTML($todo_list, $number_of_portlets) { $html = ''; #$html .= '</div>'.LF; #$html .= '</div>'.LF; $html .= '<div class="portlet" style="width:200px;">' . LF; $html .= '<div id="mycalendar_todo_portlet" class="portlet-header">'; $html .= $this->_translator->getMessage('TODO_INDEX'); $html .= '<div style="float:right;"><a name="mycalendar_remove" style="cursor:pointer;"><img src="images/commsyicons/16x16/delete.png" /></a></div>'; $html .= '</div>' . LF; $html .= '<div class="portlet-content">' . LF; $width = ''; #$current_browser = mb_strtolower($this->_environment->getCurrentBrowser(), 'UTF-8'); #$current_browser_version = $this->_environment->getCurrentBrowserVersion(); #if ( $current_browser == 'msie' and (strstr($current_browser_version,'5.') or (strstr($current_browser_version,'6.'))) ){ # $width = 'width:170px;'; #} else { # $width = 'width:170px;'; #} #if ( isset($parameter_array['show_todo_selections']) # and $parameter_array['show_todo_selections'] == 'true' # ) { # if ( $current_browser == 'msie' and (strstr($current_browser_version,'5.') or (strstr($current_browser_version,'6.'))) ){ # $width = 'width:170px;'; // TBD # } else { # $width = 'width:190px;'; # } # if ($this->_presentation_mode == '2'){ # $html .= '<div class="" style="'.$width.' height:393px; overflow-y:auto;">'.LF; # }else{ # $html .= '<div class="" style="'.$width.' height:273px; overflow-y:auto;">'.LF; # } # $html .= $this->_getAdditionalFormFieldsForPrivateRoomAsHTML(CS_TODO_TYPE); # $html .= '</div>'.LF; #}else{ #if ($this->_presentation_mode == '2'){ # $html .= '<div class="" style="'.$width.' height:398px; overflow-y:auto; padding:0px;">'.LF; #}else{ # $html .= '<div class="" style="'.$width.' height:278px; overflow-y:auto; padding:0px;">'.LF; #} $height = '300px'; if ($number_of_portlets == 1) { $height = '614px'; } elseif ($number_of_portlets == 2) { $height = '369px'; } elseif ($number_of_portlets == 3) { $height = '200px'; } $html .= '<div class="" style="height:' . $height . '; overflow-y:auto; padding:0px;">' . LF; // show selections $html .= $this->_getTodoSelectionsAsHTML(); if (isset($todo_list) and !$todo_list->isEmpty()) { $todo_array_for_jQuery = array(); $todo_tooltip_array = array(); $todo_item = $todo_list->getFirst(); $i = 1; while ($todo_item) { if ($i % 2 == 0) { $color = '#DFDFDF'; } else { $color = '#FFFFFF'; } $html .= '<div style="background-color:' . $color . '; width:100%; overflow-x:hidden; white-space:nowrap;">'; $html .= '<div style="padding:2px 3px;" id="todo_tooltip_' . $todo_item->getItemID() . '" data-tooltip="todo_tooltip_' . $todo_item->getItemID() . '">' . LF; $params = array(); $params['iid'] = $todo_item->getItemID(); $original_date = $todo_item->getDate(); $date = getDateInLang($original_date); $actual_date = date("Y-m-d H:i:s"); if ($original_date < $actual_date) { $style = 'class="required" style="font-weight:normal;"'; $color_link = 'red'; } else { $style = 'style="color:#05860F;"'; $color_link = '#05860F'; } $link = ahref_curl($todo_item->getContextID(), CS_TODO_TYPE, 'detail', $params, $this->_text_as_html_short($todo_item->getTitle()), '', '', '', '', '', '', $style) . LF; $html .= $link; $html .= '</div></div>'; // tooltip $todo_tooltip = array(); $todo_tooltip['iid'] = $todo_item->getItemID(); $todo_tooltip['title'] = $todo_item->getTitle(); $todo_tooltip['participants'] = $todo_item->getProcessorItemList(); $original_date = $todo_item->getDate(); $date = getDateTimeInLang($original_date); if ($date != '00.00.0000, 00:00 Uhr' and $date != '00.00.9999, 00:00 Uhr') { $todo_tooltip['date'] = $date; } else { $todo_tooltip['date'] = $this->_translator->getMessage('TODO_NO_END_DATE_LONG'); } $todo_tooltip['color'] = $color_link; $todo_context_item = $todo_item->getContextItem(); if (isset($todo_context_item)) { $room_title = $todo_context_item->getTitle(); if (!empty($room_title)) { $todo_tooltip['context'] = encode(AS_HTML_SHORT, $room_title); } unset($todo_context_item); } $todo_tooltip_array[$todo_tooltip['iid']] = $todo_tooltip; // tooltip $i++; $todo_item = $todo_list->getNext(); } } $html .= '</div>' . LF; // tooltip if (!empty($todo_tooltip_array)) { foreach ($todo_tooltip_array as $id => $tooltip) { $tooltip_html = '<div id="todo_tooltip_' . $tooltip['iid'] . '" class="atip" style="padding:5px; border:2px solid ' . $tooltip['color'] . '">' . LF; $tooltip_html .= '<table>' . LF; $tooltip_html .= '<tr><td colspan="2"><b>' . $tooltip['title'] . '</b></td></tr>' . LF; $tooltip_html .= '<tr><td style="vertical-align:top;"><b>' . $this->_translator->getMessage('TODO_DATE') . ':</b></td><td>' . $tooltip['date'] . '</td></tr>' . LF; $tooltip_html .= '<tr><td style="vertical-align:top;"><b>' . $this->_translator->getMessage('DATE_PARTICIPANTS') . ':</b></td><td>' . LF; if ($tooltip['participants']->isEmpty()) { $tooltip_html .= $this->_translator->getMessage('TODO_NO_PROCESSOR'); } else { $participant = $tooltip['participants']->getFirst(); $count = $tooltip['participants']->getCount(); $counter = 1; while ($participant) { $tooltip_html .= $participant->getFullName(); if ($counter < $count) { $tooltip_html .= ', '; } $participant = $tooltip['participants']->getNext(); $counter++; } } $tooltip_html .= '</td></tr>' . LF; if (!empty($tooltip['context'])) { $tooltip_html .= '<tr><td style="vertical-align:top;"><b>' . $this->_translator->getMessage('COMMON_ROOM') . ':</b></td><td>' . $tooltip['context'] . '</td></tr>' . LF; } $tooltip_html .= '</table>' . LF; $tooltip_html .= '</div>' . LF; $this->_tooltip_div_array[] = $tooltip_html; unset($tooltip_html); } } // tooltip #} $html .= '</div>' . LF; $html .= '</div>' . LF; return $html; }
private function getFormalData() { $return = array(); $translator = $this->_environment->getTranslationObject(); $converter = $this->_environment->getTextConverter(); $context_item = $this->_environment->getCurrentContextItem(); $current_user = $this->_environment->getCurrentUserItem(); $formal_data = 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; $return[] = $temp_array; } $temp_array = array(); $temp_array[0] = $translator->getMessage('ANNOUNCEMENT_SHOW_HOME_DATE'); $temp_array[1] = getDateTimeInLang($this->_item->getSeconddateTime()); $return[] = $temp_array; return $return; }
function _getNewestLinkedItemsAsHTML($item) { $current_context = $this->_environment->getCurrentContextItem(); $path_shown = false; $html = ''; if ($current_context->withPath() and $item->isPathActive()) { $item_list = $item->getPathItemList(); if (!$item_list->isEmpty()) { $path_shown = true; $html .= '<h3 class="subitemtitle" style="margin-top:0px; margin-bottom:5px;">' . $this->_translator->getMessage('TOPIC_PATH'); $html .= '</h3>' . LF; $i = 0; $html .= '<ul style="list-style-type: none; list-style-position:inside; font-size:8pt; padding-left:0px; margin-left:0px; margin-top:0px; margin-bottom:20px; padding-bottom:0px;"> ' . LF; $linked_item = $item_list->getFirst(); while ($linked_item) { $params = array(); $params['iid'] = $linked_item->getItemID(); $params['path'] = $item->getItemID(); $mod = type2Module($linked_item->getItemType()); $type = $linked_item->getItemType(); if ($type == 'date') { $type .= 's'; } $temp_type = mb_strtoupper($type, 'UTF-8'); switch ($temp_type) { case 'ANNOUNCEMENT': $type = $this->_translator->getMessage('COMMON_ANNOUNCEMENT'); break; case 'DATES': $type = $this->_translator->getMessage('COMMON_DATES'); break; case 'DISCUSSION': $type = $this->_translator->getMessage('COMMON_DISCUSSION'); break; case 'GROUP': $type = $this->_translator->getMessage('COMMON_GROUP'); break; case 'INSTITUTION': $type = $this->_translator->getMessage('COMMON_INSTITUTION'); break; case 'MATERIAL': $type = $this->_translator->getMessage('COMMON_MATERIAL'); break; case 'PROJECT': $type = $this->_translator->getMessage('COMMON_PROJECT'); break; case 'TODO': $type = $this->_translator->getMessage('COMMON_TODO'); break; case 'TOPIC': $type = $this->_translator->getMessage('COMMON_TOPIC'); break; case 'USER': $type = $this->_translator->getMessage('COMMON_USER'); break; default: $type = $this->_translator->getMessage('COMMON_MESSAGETAG_ERROR' . ' cs_topic_detail(' . __LINE__ . ') '); break; } $user = $this->_environment->getCurrentUser(); if ($linked_item->isNotActivated() and !($linked_item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $activating_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text = $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $link_creator_text = $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()); } $html_text = ahref_curl($this->_environment->getCurrentContextID(), $mod, 'detail', $params, $linked_item->getTitle(), $link_creator_text, '', '', '', '', '', 'class="disabled"', '', '', true) . LF; } else { $html_text = ahref_curl($this->_environment->getCurrentContextID(), $mod, 'detail', $params, $linked_item->getTitle(), $type . ' - ' . $linked_item->getTitle()) . LF; } $html .= ' <li style="font-size:10pt;">' . ($i + 1) . '. ' . $html_text . '</li>' . LF; unset($params); $linked_item = $item_list->getNext(); $i++; } $html .= '</ul>' . LF . LF; } } return $html; }
function _getLinkedItemsAsHTML($item, $link_items, $connection, $is_perspective = false, $always = false, $attach_link = false) { $current_context = $this->_environment->getCurrentContextItem(); $user = $this->_environment->getCurrentUserItem(); $mod = $this->_with_modifying_actions; $module = Type2Module($connection); $html = '<div>' . LF; $html .= '<ul style="list-style-type: circle; font-size:8pt;"> ' . LF; if (isset($link_items) and $link_items->isEmpty()) { $html .= ' <li><a><span class="disabled">' . $this->_translator->getMessage('COMMON_NONE') . '</span></a></li>' . LF; } else { $count = $link_items->getCount(); if (!$is_perspective and $count > 10) { // Only show up to five items $limit = 9; $count_shown = 1; } else { $limit = 0; $count_shown = 0; } $link_item = $link_items->getFirst(); while ($link_item and $count_shown <= $limit) { // Get link creator $link_creator = $link_item->getCreatorItem(); if (isset($link_creator) and !$link_creator->isDeleted()) { $fullname = $link_creator->getFullname(); } else { $fullname = $this->_translator->getMessage('COMMON_DELETED_USER'); } $link_created = $this->_translator->getDateInLang($link_item->getCreationDate()); $link_creator_text = $this->_translator->getMessage('COMMON_LINK_CREATOR') . ' ' . $fullname . ', ' . $link_created; // Create the list entry $linked_item = $link_item->getLinkedItem($item); // Get the linked item if (isset($linked_item)) { $fragment = ''; // there is no anchor defined by default switch ($connection) { case CS_DISCARTICLE_TYPE: $linked_iid = $linked_item->getDiscussionID(); $fragment = $linked_item->getItemID(); $discussion_manager = $this->_environment->getDiscussionManager(); $linked_item = $discussion_manager->getItem($linked_iid); break; case CS_SECTION_TYPE: $linked_iid = $linked_item->getLinkedItemID(); $fragment = $linked_item->getItemID(); $material_manager = $this->_environment->getMaterialManager(); $linked_item = $material_manager->getItem($linked_iid); break; default: $linked_iid = $linked_item->getItemID(); } $html .= ' <li>'; $params = array(); $params['iid'] = $linked_iid; $user = $this->_environment->getCurrentUser(); if ($linked_item->isNotActivated() and !($linked_item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $activating_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text .= ' (' . $this->_translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text .= ' (' . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()) . ')'; } $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'detail', $params, chunkText($linked_item->getTitle(), 27), $link_creator_text, '_self', $fragment, '', '', '', 'class="disabled"', '', '', true); unset($params); } else { $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'detail', $params, chunkText($linked_item->getTitle(), 27), $link_creator_text, '_self', $fragment); unset($params); } $html .= '</li>' . LF; } // Show all linked perspectives if ($limit > 0) { $count_shown++; } $link_item = $link_items->getNext(); } if ($limit > 0) { $html .= ' <li>'; $params = array(); $params['ref_iid'] = $item->getItemID(); $params['mode'] = 'attached'; $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'index', $params, $this->_translator->getMessage('RUBRIC_ALL_ATTACHMENTS', $link_items->getCount())); unset($params); $html .= '</li>' . LF; } } $html .= '</ul> '; $html .= ' <div style="text-align:right; border-top:0px solid black; padding-bottom:5px; font-size:8pt; padding-right: 3px; font-size:8pt;">' . LF; if ($attach_link) { if ($user->isUser() and $mod) { $params = array(); $params['ref_iid'] = $item->getItemID(); $params['mode'] = 'detailattach'; $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'index', $params, $this->_translator->getMessage('COMMON_ATTACH_LINK')) . LF; unset($params); } else { $html .= $this->_translator->getMessage('COMMON_ATTACH_LINK') . LF; } } $html .= ' </div>' . LF; $html .= ' </div>'; return $html; }
function _getItemAsHTML($item, $pos = 0, $with_links = TRUE) { $html = ''; $shown_entry_number = $pos; $shown_entry_number = $pos + $this->_count_headlines; if ($shown_entry_number % 2 == 0) { $style = 'class="odd"'; } else { $style = 'class="even"'; } if ($this->_clipboard_mode) { $sort_criteria = $item->getContextID(); if ($sort_criteria != $this->_last_sort_criteria) { $this->_last_sort_criteria = $sort_criteria; $this->_count_headlines++; $room_manager = $this->_environment->getProjectManager(); $sort_room = $room_manager->getItem($sort_criteria); $html .= ' <tr class="list"><td ' . $style . ' width="100%" style="font-weight:bold;" colspan="5">' . "\n"; if (empty($sort_room)) { $community_manager = $this->_environment->getCommunityManager(); $sort_community = $community_manager->getItem($sort_criteria); if (!empty($sort_community)) { $html .= ' ' . $this->_translator->getMessage('COPY_FROM') . ' ' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . ' "' . $sort_community->getTitle() . '"' . "\n"; } } elseif ($sort_room->isPrivateRoom()) { $user = $this->_environment->getCurrentUserItem(); $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . ' "' . $user->getFullname() . '"' . LF; } elseif ($sort_room->isGroupRoom()) { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } else { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } $html .= ' </td></tr>' . "\n"; if ($style == 'class="odd"') { $style = 'class="even"'; } else { $style = 'class="odd"'; } } } $html .= ' <tr class="list">' . LF; $checked_ids = $this->getCheckedIDs(); $dontedit_ids = $this->getDontEditIDs(); $key = $item->getItemID(); $fileicons = $this->_getItemFiles($item, $with_links); if (!empty($fileicons)) { $fileicons = ' ' . $fileicons; } if (!(isset($_GET['mode']) and $_GET['mode'] == 'print')) { $html .= ' <td ' . $style . ' style="vertical-align:middle;" width="2%">' . LF; $html .= ' <input style="font-size:8pt; padding-left:0px; padding-right:0px; margin-left:0px; margin-right:0px;" type="checkbox" onClick="quark(this)" name="attach[' . $key . ']" value="1"'; $user = $this->_environment->getCurrentUser(); if ($item->isNotActivated() and !($item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $html .= ' disabled="disabled"' . LF; } elseif (isset($checked_ids) and !empty($checked_ids) and in_array($key, $checked_ids)) { $html .= ' checked="checked"' . LF; if (in_array($key, $dontedit_ids)) { $html .= ' disabled="disabled"' . LF; } } $html .= '/>' . LF; $html .= ' <input type="hidden" name="shown[' . $this->_text_as_form($key) . ']" value="1"/>' . LF; $html .= ' </td>' . LF; if ($item->isNotActivated()) { $title = $item->getTitle(); $title = $this->_compareWithSearchText($this->_text_as_html_short($title)); $user = $this->_environment->getCurrentUser(); if ($item->getCreatorID() == $user->getItemID() or $user->isModerator()) { $params = array(); $params['iid'] = $item->getItemID(); $title = ahref_curl($this->_environment->getCurrentContextID(), CS_ANNOUNCEMENT_TYPE, 'detail', $params, $title, '', '', '', '', '', '', '', '', CS_ANNOUNCEMENT_TYPE . $item->getItemID()); unset($params); if (!$this->_environment->inPrivateRoom()) { $title .= $this->_getItemChangeStatus($item); $title .= $this->_getItemAnnotationChangeStatus($item); } } $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $title .= BR . $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title .= BR . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } $title = '<span class="disabled">' . $title . '</span>'; $html .= ' <td ' . $style . '>' . $title . LF; } else { if ($with_links) { $html .= ' <td ' . $style . '>' . $this->_getItemTitle($item) . LF; } else { $title = $this->_text_as_html_short($item->getTitle()); $html .= ' <td ' . $style . '>' . $title . LF; } } } else { $html .= ' <td colspan="2" ' . $style . ' style="font-size:10pt;">' . $this->_getItemTitle($item) . $fileicons . '</td>' . LF; } $text = ''; switch (mb_strtoupper($item->getItemType(), 'UTF-8')) { case 'ANNOUNCEMENT': $text .= $this->_translator->getMessage('ANNOUNCEMENTS'); break; case 'DATE': $text .= $this->_translator->getMessage('DATES'); break; case 'DISCUSSION': $text .= $this->_translator->getMessage('DISCUSSIONS'); break; case 'GROUP': $text .= $this->_translator->getMessage('GROUPS'); break; case 'INSTITUTION': $text .= $this->_translator->getMessage('INSTITUTIONS'); break; case 'MATERIAL': $text .= $this->_translator->getMessage('MATERIALS'); break; case 'MYROOM': $text .= $this->_translator->getMessage('COMMON_ROOMS'); break; case 'PROJECT': $text .= $this->_translator->getMessage('PROJECTS'); break; case 'TODO': $text .= $this->_translator->getMessage('TODOS'); break; case 'TOPIC': $text .= $this->_translator->getMessage('TOPICS'); break; case 'USER': $text .= $this->_translator->getMessage('COMMON_USER_INDEX'); break; case 'ACCOUNT': $text .= $this->_translator->getMessage('COMMON_ACCOUNTS'); break; default: $text .= $this->_translator->getMessage('COMMON_MESSAGETAG_ERROR') . ' cs_index_view(' . __LINE__ . ') '; break; } $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $text . '</td>' . LF; $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemModificator($item) . '</td>' . LF; $html .= ' <td ' . $style . ' style="font-size:8pt;" colspan="2">' . $this->_getItemModificationDate($item) . '</td>' . LF; $html .= ' </tr>' . LF; return $html; }
public function actionUpdateLinkedItem() { $return = array(); // get request data $item_id = $this->_data['item_id']; $link_id = $this->_data['link_id']; $checked = $this->_data['checked']; // get item $item_manager = $this->_environment->getItemManager(); $temp_item = $item_manager->getItem($item_id); if (isset($temp_item)) { if ($temp_item->getItemType() == 'label') { $label_manager = $this->_environment->getLabelManager(); $label_item = $label_manager->getItem($temp_item->getItemID()); $manager = $this->_environment->getManager($label_item->getLabelType()); } else { $manager = $this->_environment->getManager($temp_item->getItemType()); } $item = $manager->getItem($item_id); } // get ids of linked items $selected_ids = $this->getLinkedItemIDArray($item); // update id array if ($checked === true) { // add $selected_ids[] = $link_id; $selected_ids = array_unique($selected_ids); // ensure uniqueness // get linked item $temp_item = $item_manager->getItem($link_id); if (isset($temp_item)) { $manager = $this->_environment->getManager($temp_item->getItemType()); $linked_item = $manager->getItem($link_id); } // collect new item information $entry = array(); $user = $this->_environment->getCurrentUser(); $converter = $this->_environment->getTextConverter(); $translator = $this->_environment->getTranslationObject(); $type = $linked_item->getType(); if ($type === 'label') { $type = $linked_item->getLabelType(); } switch (mb_strtoupper($type, 'UTF-8')) { case 'ANNOUNCEMENT': $text = $translator->getMessage('COMMON_ONE_ANNOUNCEMENT'); $img = 'announcement.png'; break; case 'DATE': $text = $translator->getMessage('COMMON_ONE_DATE'); $img = 'date.png'; break; case 'DISCUSSION': $text = $translator->getMessage('COMMON_ONE_DISCUSSION'); $img = 'discussion.png'; break; case 'GROUP': $text = $translator->getMessage('COMMON_ONE_GROUP'); $img = 'group.png'; break; case 'INSTITUTION': $text = $translator->getMessage('COMMON_ONE_INSTITUTION'); $img = ''; break; case 'MATERIAL': $text = $translator->getMessage('COMMON_ONE_MATERIAL'); $img = 'material.png'; break; case 'PROJECT': $text = $translator->getMessage('COMMON_ONE_PROJECT'); $img = ''; break; case 'TODO': $text = $translator->getMessage('COMMON_ONE_TODO'); $img = 'todo.png'; break; case 'TOPIC': $text = $translator->getMessage('COMMON_ONE_TOPIC'); $img = 'topic.png'; break; case 'USER': $text = $translator->getMessage('COMMON_ONE_USER'); $img = 'user.png'; break; default: $text = $translator->getMessage('COMMON_MESSAGETAB_ERROR'); $img = ''; break; } $link_creator_text = $text . ' - ' . $translator->getMessage('COMMON_LINK_CREATOR') . ' ' . $entry['creator']; switch ($type) { case CS_DISCARTICLE_TYPE: $linked_iid = $linked_item->getDiscussionID(); $discussion_manager = $this->_environment->getDiscussionManager(); $linked_item = $discussion_manager->getItem($linked_iid); break; case CS_SECTION_TYPE: $linked_iid = $linked_item->getLinkedItemID(); $material_manager = $this->_environment->getMaterialManager(); $linked_item = $material_manager->getItem($linked_iid); break; default: $linked_iid = $linked_item->getItemID(); } $entry['linked_iid'] = $linked_iid; $module = Type2Module($type); if ($linked_item->isNotActivated() && !($linked_item->getCreatorID() === $user->getItemID() || $user->isModerator())) { $activating_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text .= ' (' . $translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text .= ' (' . $translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()) . ')'; } if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; } else { if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; } $return['linked_item'] = $entry; } else { // remove if (($offset = array_search($link_id, $selected_ids)) !== false) { array_splice($selected_ids, $offset, 1); } } // update item if (isset($item)) { if ($item->isA(CS_LABEL_TYPE) && $item->getLabelType() == CS_BUZZWORD_TYPE) { $item->saveLinksByIDArray($selected_ids); } else { $item->setLinkedItemsByIDArray($selected_ids); $item->save(); } } $this->setSuccessfullDataReturn($return); echo $this->_return; }
/** get the item of the list view as HTML * this method returns the single item in HTML-Code * * overwritten method form the upper class * * @return string item as HMTL * * @author CommSy Development Group */ function _getItemAsHTML($item, $pos = 0, $with_links = TRUE) { $html = ''; $shown_entry_number = $pos + $this->_count_headlines; if ($shown_entry_number % 2 == 0) { $style = 'class="odd"'; } else { $style = 'class="even"'; } if ($this->_clipboard_mode) { $sort_criteria = $item->getContextID(); if ($sort_criteria != $this->_last_sort_criteria) { $this->_last_sort_criteria = $sort_criteria; $this->_count_headlines++; $room_manager = $this->_environment->getProjectManager(); $sort_room = $room_manager->getItem($sort_criteria); $html .= ' <tr class="list"><td ' . $style . ' width="100%" style="font-weight:bold;" colspan="5">' . "\n"; if (empty($sort_room)) { $community_manager = $this->_environment->getCommunityManager(); $sort_community = $community_manager->getItem($sort_criteria); $html .= ' ' . $this->_translator->getMessage('COPY_FROM') . ' ' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . ' "' . $sort_community->getTitle() . '"' . "\n"; } elseif ($sort_room->isPrivateRoom()) { $user = $this->_environment->getCurrentUserItem(); $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . ' "' . $user->getFullname() . '"' . LF; } elseif ($sort_room->isCommunityRoom()) { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_COMMUNITYROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } elseif ($sort_room->isGroupRoom()) { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } else { $html .= ' ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . ' "' . $sort_room->getTitle() . '"' . LF; } $html .= ' </td></tr>' . "\n"; if ($style == 'class="odd"') { $style = 'class="even"'; } else { $style = 'class="odd"'; } } } $html .= ' <tr class="list">' . LF; $checked_ids = $this->getCheckedIDs(); $dontedit_ids = $this->getDontEditIDs(); $key = $item->getItemID(); if (!(isset($_GET['mode']) and $_GET['mode'] == 'print') or !empty($download) and $download == 'zip') { $html .= ' <td ' . $style . ' style="vertical-align:middle;" width="2%">' . LF; if (empty($download) or $download != 'zip') { $html .= ' <input style="font-size:8pt; padding-left:0px; padding-right:0px; margin-left:0px; margin-right:0px;" type="checkbox" onClick="quark(this)" name="attach[' . $key . ']" value="1"'; $user = $this->_environment->getCurrentUser(); if ($item->isNotActivated() and !($item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $html .= ' disabled="disabled"' . LF; } elseif (isset($checked_ids) and !empty($checked_ids) and in_array($key, $checked_ids)) { $html .= ' checked="checked"' . LF; if (in_array($key, $dontedit_ids)) { $html .= ' disabled="disabled"' . LF; } } $html .= '/>' . LF; $html .= ' <input type="hidden" name="shown[' . $this->_text_as_form($key) . ']" value="1"/>' . LF; } $html .= ' </td>' . LF; if ($item->isNotActivated()) { $title = $this->_getItemTitle($item); $title = $this->_compareWithSearchText($title); $user = $this->_environment->getCurrentUser(); if ($item->getCreatorID() == $user->getItemID() or $user->isModerator()) { $params = array(); $params['iid'] = $item->getItemID(); $title = ahref_curl($this->_environment->getCurrentContextID(), CS_MATERIAL_TYPE, 'detail', $params, $title, '', '', '', '', '', '', '', '', CS_MATERIAL_TYPE . $item->getItemID()); unset($params); } $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $title .= BR . $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title .= BR . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } $title = '<span class="disabled">' . $title . '</span>'; $html .= ' <td ' . $style . '>' . $title . LF; } else { if ($with_links) { $html .= ' <td ' . $style . '>' . $this->_getItemTitle($item) . LF; } else { $title = $this->_text_as_html_short($this->_getItemTitle($item)); $html .= ' <td ' . $style . '>' . $title . LF; } } } else { if ($with_links) { $html .= ' <td colspan="2" ' . $style . '>' . $this->_getItemTitle($item) . LF; } else { $title = $this->_text_as_html_short($this->_getItemTitle($item)); $html .= ' <td colspan="2" ' . $style . '>' . $title . LF; } } if (!$item->isNotActivated() or $item->getCreatorID() == $user->getItemID() or $user->isModerator()) { $html .= ' ' . $this->_getItemFiles($item, $with_links); } $html .= '</td>' . LF; $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemModificationDate($item) . '</td>' . LF; ######################## # EDU HACK - BEGIN ######################## if ($this->_environment->inConfigArray('c_material_auhtor_array', $this->_environment->getCurrentContextID())) { $text = $this->_getItemAuthor($item); if (empty($text)) { $text = $this->_getItemModificator($item); } $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $text . '</td>' . LF; } else { ######################## # EDU HACK - END ######################## $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemModificator($item) . '</td>' . LF; // assessment $current_context = $this->_environment->getCurrentContextItem(); if ($current_context->isAssessmentActive()) { // display stars $assessment_manager = $this->_environment->getAssessmentManager(); $assessment = $assessment_manager->getAssessmentForItemAverage($item); if (isset($assessment[0])) { $assessment = sprintf('%1.1f', (double) $assessment[0]); } else { $assessment = 0; } $php_version = explode('.', phpversion()); if ($php_version[0] >= 5 && $php_version[1] >= 3) { // if php version is equal to or above 5.3 $stars_full = round($assessment, 0, PHP_ROUND_HALF_UP); } else { // if php version is below 5.3 $stars_full = round($assessment); } $stars = ''; for ($i = 0; $i < $stars_full; $i++) { $stars .= '<span><img src="images/commsyicons/32x32/star_filled.png" data-tooltip="sticky_' . $item->getItemID() . '" style="width:14px; height:14px"/></span>' . LF; } for ($i = $stars_full; $i < 5; $i++) { $stars .= '<span><img src="images/commsyicons/32x32/star_unfilled.png" data-tooltip="sticky_' . $item->getItemID() . '" style="width:14px; height:14px"/></span>' . LF; } $html .= '<td ' . $style . '>' . $stars . '</td>' . LF; } // workflow $current_context = $this->_environment->getCurrentContextItem(); if ($current_context->withWorkflow()) { // display status $traffic_light = ''; if ($item->getWorkflowTrafficLight() == '3_none') { #$traffic_light = '<span style="font-size:8pt;">'.$this->_translator->getMessage('COMMON_WORKFLOW_TRAFFIC_LIGHT_TEXT_NONE').'</span>'; } else { if ($item->getWorkflowTrafficLight() == '0_green') { $alt_title = $this->_translator->getMessage('COMMON_WORKFLOW_TRAFFIC_LIGHT_TEXT_GREEN_DEFAULT'); if ($current_context->getWorkflowTrafficLightTextGreen() != '') { $alt_title = $current_context->getWorkflowTrafficLightTextGreen(); } $traffic_light = '<img src="images/commsyicons/workflow_traffic_light_green.png" alt="' . $alt_title . '" title="' . $alt_title . '" style="height:10px;">'; } else { if ($item->getWorkflowTrafficLight() == '1_yellow') { $alt_title = $this->_translator->getMessage('COMMON_WORKFLOW_TRAFFIC_LIGHT_TEXT_YELLOW_DEFAULT'); if ($current_context->getWorkflowTrafficLightTextYellow() != '') { $alt_title = $current_context->getWorkflowTrafficLightTextYellow(); } $traffic_light = '<img src="images/commsyicons/workflow_traffic_light_yellow.png" alt="' . $alt_title . '" title="' . $alt_title . '" style="height:10px;">'; } else { if ($item->getWorkflowTrafficLight() == '2_red') { $alt_title = $this->_translator->getMessage('COMMON_WORKFLOW_TRAFFIC_LIGHT_TEXT_RED_DEFAULT'); if ($current_context->getWorkflowTrafficLightTextRed() != '') { $alt_title = $current_context->getWorkflowTrafficLightTextRed(); } $traffic_light = '<img src="images/commsyicons/workflow_traffic_light_red.png" alt="' . $alt_title . '" title="' . $alt_title . '" style="height:10px;">'; } } } } $html .= '<td ' . $style . '>' . $traffic_light . '</td>' . LF; } ######################## # EDU HACK - BEGIN ######################## } ######################## # EDU HACK - END ######################## $html .= ' </tr>' . LF; return $html; }
protected function getDetailContent() { $converter = $this->_environment->getTextConverter(); $translator = $this->_environment->getTranslationObject(); $return = array(); $return['title'] = $this->_item->getTitle(); $return['show_picture'] = false; $return['moredetails'] = $this->getCreatorInformationAsArray($this->_item); // description $desc = $this->_item->getDescription(); if (!empty($desc)) { $converter->setFileArray($this->getItemFileList()); $desc = $converter->textFullHTMLFormatting($desc); } $path_shown = false; $path_items = array(); $item_list = $this->_item->getPathItemList(); if (!$item_list->isEmpty()) { $path_shown = true; $linked_item = $item_list->getFirst(); while ($linked_item) { $entry = array(); $entry['iid'] = $linked_item->getItemID(); $mod = Type2Module($linked_item->getItemType()); $type = $linked_item->getItemType(); if ($type === 'date') { $type .= 's'; } $temp_type = mb_strtoupper($type, 'UTF-8'); switch ($temp_type) { case 'ANNOUNCEMENT': $type = $translator->getMessage('COMMON_ANNOUNCEMENT'); break; case 'DATES': $type = $translator->getMessage('COMMON_DATES'); break; case 'DISCUSSION': $type = $translator->getMessage('COMMON_DISCUSSION'); break; case 'GROUP': $type = $translator->getMessage('COMMON_GROUP'); break; case 'INSTITUTION': $type = $translator->getMessage('COMMON_INSTITUTION'); break; case 'MATERIAL': $type = $translator->getMessage('COMMON_MATERIAL'); break; case 'PROJECT': $type = $translator->getMessage('COMMON_PROJECT'); break; case 'TODO': $type = $translator->getMessage('COMMON_TODO'); break; case 'TOPIC': $type = $translator->getMessage('COMMON_TOPIC'); break; case 'USER': $type = $translator->getMessage('COMMON_USER'); break; default: $type = $translator->getMessage('COMMON_MESSAGETAG_ERROR'); break; } if (isset($user) and $linked_item->isNotActivated() && !($linked_item->getCreatorID() === $user->getItemID() || $user->isModerator())) { $activatring_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text = $translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $link_creator_text = $translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()); } $entry['title'] = $linked_item->getTitle(); $entry['link_text'] = $link_creator_text; $entry['not_activated'] = true; } else { $entry['title'] = $linked_item->getTitle(); $entry['type'] = $type; $entry['mod'] = $mod; $entry['not_activated'] = false; } $path_items[] = $entry; $linked_item = $item_list->getNext(); } } if ($this->_item->isNotActivated()) { $activating_date = $this->_item->getActivatingDate(); $text = ''; if (strstr($activating_date, '9999-00-00')) { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_NOT_ACTIVATED'); } else { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($this->_item->getActivatingDate()); } $temp_array = array(); $temp_array[] = $this->_environment->getTranslationObject()->getMessage('COMMON_RIGHTS'); $temp_array[] = $activating_text; $formal[] = $temp_array; } $temp_array = array(); $return = array('formal' => $formal, 'title' => $this->_item->getTitle(), 'files' => $this->getFileContent(), 'description' => $desc, 'item_id' => $this->_item->getItemID(), 'path_shown' => $path_shown, 'path_items' => $path_items, 'moredetails' => $this->getCreatorInformationAsArray($this->_item)); return $return; }
/** 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')); }
function _getPathItemsAsHTML($topic_item, $item_id, $path_item_list) { $html = '<div>' . LF; $html .= '<ol style="list-style-type: decimal; list-style-position:inside; font-size:8pt; margin:0px; padding:0px;"> ' . LF; $path_item_list = $topic_item->getPathItemList(); $path_item = $path_item_list->getFirst(); while ($path_item) { $path_item_id = $path_item->getItemID(); $path_item_type = $path_item->getItemType(); if ($path_item_id == $item_id) { $html .= '<li style="padding-left:7px;" class="detail_list_entry">' . LF; $html .= '<a title="' . $path_item->getTitle() . '">' . chunkText($path_item->getTitle(), 35) . '</a>'; } else { $html .= '<li style="padding-left:7px;">' . LF; $params = array(); $params['iid'] = $path_item_id; $params['path'] = $topic_item->getItemID(); $user = $this->_environment->getCurrentUser(); if ($path_item->isNotActivated() and !($path_item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $activating_date = $path_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text = $path_item->getTitle() . ' (' . $this->_translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text = $path_item->getTitle() . ' (' . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($path_item->getActivatingDate()) . ')'; } $html .= ahref_curl($this->_environment->getCurrentContextID(), type2Module($path_item_type), 'detail', $params, chunkText($path_item->getTitle(), 35), $link_creator_text); unset($params); } else { $html .= ahref_curl($this->_environment->getCurrentContextID(), type2Module($path_item_type), 'detail', $params, chunkText($path_item->getTitle(), 35), $path_item->getTitle()); unset($params); } } $html .= '</li>' . LF; $path_item = $path_item_list->getNext(); } $html .= '</ol>' . LF; $html .= ' </div>' . LF; return $html; }
function asHTML() { $item = $this->getItem(); $html = LF . '<!-- BEGIN OF DETAIL VIEW -->' . LF; $html .= '<div style="width:100%;">' . LF; $rubric = $this->_environment->getCurrentModule(); $current_context = $this->_environment->getCurrentContextItem(); $detail_box_conf = $current_context->getDetailBoxConf(); $html .= $this->_getDetailPageHeaderAsHTML(); if (!(isset($_GET['mode']) and $_GET['mode'] == 'print')) { $this->_right_box_config['size_string'] = ''; $current_context = $this->_environment->getCurrentContextItem(); $html .= '<div style="float:right; width:27%; margin-top:5px; vertical-align:top; text-align:left;">' . LF; $html .= '<div>' . LF; $html .= '<div style="width:250px;">' . LF; $html .= '<div id="commsy_panels">' . LF; if (!isset($this->_browse_ids) or count($this->_browse_ids) == 0) { $this->_browse_ids[] = $this->_item->getItemID(); } $html .= '<div class="commsy_no_panel" style="margin-bottom:1px;">' . LF; $html .= $this->_getForwardBoxAsHTML($item); $html .= '</div>' . LF; $separator = ''; $html .= $this->_getConfigurationOverviewAsHTML(); $html .= '<div> ' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; } $current_browser = mb_strtolower($this->_environment->getCurrentBrowser(), 'UTF-8'); $current_browser_version = $this->_environment->getCurrentBrowserVersion(); if ($current_browser == 'msie' and (strstr($current_browser_version, '5.') or strstr($current_browser_version, '6.'))) { $width = ' width:100%; padding-right:10px; '; } else { $width = ''; } if (isset($_GET['mode']) and $_GET['mode'] == 'print') { $html .= '<div class="infoborder" style="width:100%; margin-top:5px; vertical-align:bottom;">' . LF; } else { $html .= '<div class="infoborder_display_content" style="' . $width . 'margin-top:5px; vertical-align:bottom;">' . LF; } $html .= '<div id="detail_headline">' . LF; $html .= '<div style="padding:3px 5px 4px 5px;">' . LF; if ($rubric == CS_DISCUSSION_TYPE) { $html .= '<h2 class="contenttitle">' . $this->_getTitleAsHTML(); } elseif ($rubric != CS_USER_TYPE and $rubric != 'account') { $html .= '<h2 class="contenttitle">' . $this->_text_as_html_short($item->getTitle()); } elseif ($rubric == 'account') { $html .= '<h2 class="contenttitle">' . $item->getFullName(); } else { $html .= '<h2 class="contenttitle">' . $item->getFullName(); } $html .= '</h2>' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '<div id="detail_content" style="' . $width . '">' . LF; $formal_data1 = array(); if ($item->isNotActivated()) { $temp_array = array(); $temp_array[] = $this->_translator->getMessage('COMMON_RIGHTS'); $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $title = $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title = $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } $temp_array[] = $title; $formal_data1[] = $temp_array; } if ($this->_environment->getCurrentModule() == CS_DATE_TYPE and $item->issetPrivatDate()) { $temp_array = array(); $temp_array[] = $this->_translator->getMessage('COMMON_PRIVATE_DATE'); $title = $this->_translator->getMessage('COMMON_NOT_ACCESSIBLE'); $temp_array[] = $title; $formal_data1[] = $temp_array; } if (!empty($formal_data1)) { $html .= $this->_getFormalDataAsHTML($formal_data1); } $html .= $this->_getContentAsHTML(); $html .= '<div class="infoborder" style="margin-top:5px; padding-top:10px; vertical-align:top;">'; $mode = 'short'; if (in_array($item->getItemID(), $this->_openCreatorInfo)) { $mode = 'long'; } if (!(isset($_GET['mode']) and $_GET['mode'] == 'print')) { $html .= $this->_getCreatorInformationAsHTML($item, 3, $mode) . LF; } if ($this->_environment->getCurrentModule() != 'user' or !$this->_environment->inPrivateRoom()) { ############SQL-Statements reduzieren $html .= $this->_getSubItemsAsHTML($item); } $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '<div style="clear:both;">' . LF; $html .= '</div>' . LF; $html .= '</div>' . LF; $html .= '<!-- END OF DETAIL VIEW -->' . LF . LF; if (!(isset($_GET['mode']) and $_GET['mode'] == 'print')) { $html .= '<script type="text/javascript">' . LF; $current_browser = mb_strtolower($this->_environment->getCurrentBrowser(), 'UTF-8'); $current_browser_version = $this->_environment->getCurrentBrowserVersion(); if ($this->_environment->getCurrentModule() == CS_DISCUSSION_TYPE and $current_browser == 'msie' and !(strstr($current_browser_version, '7.') or strstr($current_browser_version, '8.'))) { $html .= 'preInitCommSyPanels(Array(' . $this->_right_box_config['title_string'] . '),Array(' . $this->_right_box_config['desc_string'] . '),Array(' . $this->_right_box_config['config_string'] . '), Array(),Array(' . $this->_right_box_config['size_string'] . '));' . LF; } else { $html .= 'initCommSyPanels(Array(' . $this->_right_box_config['title_string'] . '),Array(' . $this->_right_box_config['desc_string'] . '),Array(' . $this->_right_box_config['config_string'] . '), Array(),Array(' . $this->_right_box_config['size_string'] . '),Array(),null,null);' . LF; } $html .= '</script>' . LF; } return $html; }
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; }
/** get the date of last added article * this method returns the number in the right formatted style * * @return date last_article_date * * @author CommSy Development Group */ function _getItemLastArticleDate($item) { $last_article_date = $item->getLatestArticleModificationDate(); $last_article_date = getDateInLang($last_article_date); //$last_article_date = //'<span class="list_view_description">'. //$this->_translator->getMessage('LAST_ARTICLE_DATE'). //'</span> '. //$last_article_date; return $this->_text_as_html_short($last_article_date); }
private function _actionPerformRequest($archive_toggle = false) { // archive if ($archive_toggle) { $this->_environment->toggleArchiveMode(); } // archive $return = array(); $current_context = $this->_environment->getCurrentContextItem(); $current_user = $this->_environment->getCurrentUser(); $session = $this->_environment->getSessionItem(); $project_manager = $this->_environment->getProjectManager(); $community_manager = $this->_environment->getCommunityManager(); $private_room_manager = $this->_environment->getPrivateRoomManager(); $group_room_manager = $this->_environment->getGroupRoomManager(); $link_manager = $this->_environment->getLinkManager(); $noticed_manager = $this->_environment->getNoticedManager(); $room_manager = $this->_environment->getProjectManager(); $current_context = $this->_environment->getCurrentContextItem(); $session = $this->_environment->getSession(); $translator = $this->_environment->getTranslationObject(); // get current room modules $current_room_modules = $current_context->getHomeConf(); $room_moduls = array(); if (!empty($current_room_modules)) { $room_modules = explode(",", $current_room_modules); } $modules = array(); foreach ($room_modules as $module) { list($name, $display) = explode("_", $module); if ($display !== "none") { $modules[] = $name; } } $rubric_copy_array = $this->getUtils()->getCopyRubrics(); $item_room_ids = array(); $tmp_id_array = array(); $item_list = new cs_list(); // collect room and item ids foreach ($rubric_copy_array as $rubric) { $item_manager = $this->_environment->getManager($rubric); $item_id_array = $session->getValue($rubric . "_clipboard"); $item_list->addList($item_manager->getItemList($item_id_array)); $item = $item_list->getFirst(); while ($item) { $item_room_ids[] = $item->getContextID(); $item = $item_list->getNext(); } if (is_array($item_id_array)) { $tmp_id_array = array_merge($tmp_id_array, $item_id_array); } } $item_id_array = $tmp_id_array; // create a list of rooms $rooms = new cs_list(); $rooms->addList($project_manager->getSortedItemList($item_room_ids, "title")); $rooms->addList($community_manager->getSortedItemList($item_room_ids, "title")); $rooms->addList($private_room_manager->getSortedItemList($item_room_ids, "title")); $rooms->addList($group_room_manager->getSortedItemList($item_room_ids, "title")); // get item information $new_item_list = new cs_list(); $checked_ids = array(); if (!empty($item_id_array)) { foreach ($item_id_array as $item_id) { $item = $item_list->getFirst(); while ($item) { if ($item->getItemID() == $item_id && $item->getContextID() === 0) { $item_manager = $this->_environment->getManager($item->getItemType()); $item = $item_manager->getItem($item->getItemId()); $new_item_list->add($item); if ($item->getContextID() !== $current_context->getItemID()) { $checked_ids[] = $item->getItemID(); } break; } else { $item = $item_list->getNext(); } } } } $room_sort = $rooms->getFirst(); while ($room_sort) { if (!empty($item_id_array)) { foreach ($item_id_array as $item_id) { $item = $item_list->getFirst(); while ($item) { if ($item->getItemID() == $item_id && $item->getContextID() == $room_sort->getItemId()) { $item_manager = $this->_environment->getManager($item->getItemType()); $item = $item_manager->getItem($item->getItemId()); $new_item_list->add($item); if (isset($item) && $item->getContextID() !== $current_context->getItemID()) { $checked_ids[] = $item->getItemID(); } break; } else { $item = $item_list->getNext(); } } } } $room_sort = $rooms->getNext(); } $item_list = $new_item_list; // prepare return $data = array(); $entry = $item_list->getFirst(); if ($entry) { $last_room_id = $entry->getContextID(); } $index = 0; while ($entry) { if ($entry->isDeleted()) { $entry = $item_list->getNext(); continue; } $room_id = $entry->getContextID(); if ($last_room_id != $room_id) { $index++; } $last_room_id = $room_id; // room data if (!isset($data[$index])) { $data[$index]["room_id"] = $last_room_id; $room = $room_manager->getItem($last_room_id); // if $room is null, try to get a private room if ($room === null) { $room = $private_room_manager->getItem($last_room_id); } $headline = ""; if (empty($room)) { $community_manager->getItem($room_id); $room = $community_manager->getItem($room_id); $headline = $translator->getMessage("COPY_FROM") . " " . $translator->getMessage("COMMON_COMMUNITY_ROOM_TITLE") . " \"" . $room->getTitle() . "\""; } elseif ($room->isPrivateRoom()) { $headline = $translator->getMessage("COPY_FROM_PRIVATEROOM") . " \"" . $current_user->getFullname() . "\""; } elseif ($room->isGroupRoom()) { $headline = $translator->getMessage("COPY_FROM_GROUPROOM") . " \"" . $room->getTitle() . "\""; } else { $headline = $translator->getMessage("COPY_FROM_PROJECTROOM") . " \"" . $room->getTitle() . "\""; } $data[$index]["headline"] = $headline; } // process title $title = $entry->getTitle(); if ($entry->isNotActivated()) { $activating_date = $entry->getActivatingDate(); if (mb_strstr($activating_date, "9999-00-00")) { $title .= BR . $translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title .= BR . $translator->getMessage('COMMON_NOT_ACTIVATED') . " " . getDateInLang($entry->getActivatingDate()); } } $disabled = false; if ($entry->isNotActivated() && !($entry->getCreatorID() == $current_user->getItemID() || $current_user->isModerator())) { $disabled = true; } // item data $data[$index]["items"][] = array("disabled" => $disabled, "item_id" => $entry->getItemID(), "title" => $title, "rubric" => $this->getUtils()->getLogoInformationForType($entry->getItemType()), "modifier" => $entry->getModificatorItem()->getFullName(), "modification_date" => getDateInLang($entry->getModificationDate())); $entry = $item_list->getNext(); } // archive if ($archive_toggle) { $this->_environment->toggleArchiveMode(); } // archive return $data; }
/** 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 */ function _prepareValues() { $current_context = $this->_environment->getCurrentContextItem(); $this->_values = array(); if (!empty($this->_form_post)) { $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 (!isset($this->_values['discussion_type'])) { $this->_values['discussion_type'] = '1'; } $tmp_array = array(); if (isset($this->_form_post['dayStart'])) { $tmp_array['dayStart'] = $this->_form_post['dayStart']; } else { $tmp_array['dayStart'] = ''; } if (isset($this->_form_post['timeStart'])) { $tmp_array['timeStart'] = $this->_form_post['timeStart']; } else { $tmp_array['timeStart'] = ''; } $this->_values['start_date_time'] = $tmp_array; } elseif (isset($this->_item)) { $this->_values['iid'] = $this->_item->getItemID(); $this->_values['title'] = $this->_item->getTitle(); $this->_values['public'] = $this->_item->isPublic(); $this->_setValuesForRubricConnections(); $this->_values['external_viewer'] = $this->_item->issetExternalViewerStatus(); $this->_values['external_viewer_accounts'] = $this->_item->getExternalViewerString(); 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->_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['dayStart'] = getDateInLang($activating_date); $array['timeStart'] = getTimeInLang($activating_date); $this->_values['start_date_time'] = $array; } } } else { $this->_values['discussion_type'] = '1'; $this->_values['subject'] = $this->_translator->getMessage('INITIALARTICLE'); 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 } } } }
private function _getDateInLang($item) { $translator = $this->_environment->getTranslationObject(); $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'); } return $date; }
/** 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'; } }
function _getModifiedItemsAsHTML($item) { $html = ''; foreach ($this->_modified_items_array as $connection => $ids) { $module = Type2Module($connection); $manager = $this->_environment->getItemManager(); $html .= ' <div class="netnavigation_panel"> ' . LF; switch (mb_strtoupper($connection, 'UTF-8')) { case 'ANNOUNCEMENT': $text = $this->_translator->getMessage('ANNOUNCEMENTS'); break; case 'DATE': $text = $this->_translator->getMessage('DATES'); break; case 'DISCUSSION': $text = $this->_translator->getMessage('DISCUSSIONS'); break; case 'GROUP': $text = $this->_translator->getMessage('GROUPS'); break; case 'INSTITUTION': $text = $this->_translator->getMessage('INSTITUTIONS'); break; case 'MATERIAL': $text = $this->_translator->getMessage('MATERIALS'); break; case 'PROJECT': $text = $this->_translator->getMessage('PROJECTS'); break; case 'TODO': $text = $this->_translator->getMessage('TODOS'); break; case 'TOPIC': $text = $this->_translator->getMessage('TOPICS'); break; case 'USER': $text = $this->_translator->getMessage('USERS'); break; default: $text = $this->_translator->getMessage('COMMON_MESSAGETAG_ERROR') . ' cs_user_detail_view(' . __LINE__ . ') '; break; } $html .= ' <noscript>'; $html .= '<div class="netnavigation_title">' . $text . '(' . sizeof($ids) . ')</div>'; $html .= ' </noscript>'; $html .= '<div>' . LF; $html .= '<ul style="list-style-type: circle; font-size:8pt;">' . LF; $count = sizeof($ids); $limit = 0; $count_shown = 0; $show = true; if ($count > 10) { $limit = 9; $count_shown = 1; } if ($count == 0) { $html .= ' <li><a><span class="disabled">' . $this->_translator->getMessage('COMMON_NONE') . '</span></a></li>' . LF; } foreach ($ids as $id) { if ($show) { $item = $manager->getItem($id); if (isset($item)) { $type = $item->getItemType(); $rubric_manager = $this->_environment->getManager($type); $rubric_item = $rubric_manager->getItem($id); // Get link creator $link_creator = $rubric_item->getCreatorItem(); $link_created = $this->_translator->getDateInLang($rubric_item->getCreationDate()); $link_creator_text = $this->_translator->getMessage('COMMON_LINK_CREATOR') . ' ' . $this->_text_as_html_short($link_creator->getFullname()) . ', ' . $this->_text_as_html_short($link_created); switch ($connection) { case CS_DISCARTICLE_TYPE: $linked_iid = $rubric_item->getDiscussionID(); break; default: $linked_iid = $rubric_item->getItemID(); } $html .= ' <li>'; $params = array(); $params['iid'] = $linked_iid; $user = $this->_environment->getCurrentUser(); if ($rubric_item->isNotActivated() and !($rubric_item->getCreatorID() == $user->getItemID() or $user->isModerator())) { $activating_date = $rubric_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text .= ' (' . $this->_translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text .= ' (' . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($rubric_item->getActivatingDate()) . ')'; } $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'detail', $params, chunkText($this->_text_as_html_short($rubric_item->getTitle()), 27), $link_creator_text, '', '', '', '', '', 'class="disabled"', '', '', true); unset($params); } else { $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'detail', $params, chunkText($this->_text_as_html_short($rubric_item->getTitle()), 27), $link_creator_text); unset($params); } $html .= '</li>' . LF; if ($limit > 0) { $count_shown++; } if ($count_shown > $limit) { $show = false; } } } } if ($limit > 0) { $html .= ' <li>'; $params = array(); $params['ref_user'] = $this->_item->getItemID(); $params['mode'] = 'attached'; $html .= ahref_curl($this->_environment->getCurrentContextID(), $module, 'index', $params, $this->_translator->getMessage('RUBRIC_ALL_ATTACHMENTS', count($ids))); unset($params); $html .= '</li>' . LF; } $html .= '</ul>' . LF; $html .= '</div>' . LF; $html .= ' </div>'; } return $html; }
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'])); } } }
/** get the item of the list view as HTML * this method returns the single item in HTML-Code * * overwritten method form the upper class * * @return string item as HMTL * * @author CommSy Development Group */ function _getItemAsHTML($item, $pos) { $shown_entry_number = $pos; if ($shown_entry_number % 2 == 0) { $style = 'class="odd"'; } else { $style = 'class="even"'; } $html = ' <tr class="list">' . LF; $checked_ids = $this->getCheckedIDs(); $dontedit_ids = $this->getDontEditIDs(); $key = $item->getItemID(); if (!(isset($_GET['mode']) and $_GET['mode'] == 'print')) { $html .= ' <td ' . $style . ' style="vertical-align:middle;" width="2%">' . LF; $html .= ' <input style="font-size:8pt; padding-left:0px; padding-right:0px; margin-left:0px; margin-right:0px;" type="checkbox" onClick="quark(this)" name="attach[' . $key . ']" value="1"'; $user = $this->_environment->getCurrentUser(); if ($item->isNotActivated() && !($item->getCreatorID() == $user->getItemID() || $user->isModerator())) { $html .= ' disabled="disabled"' . LF; } else { if (in_array($key, $checked_ids)) { $html .= ' checked="checked"' . LF; if (in_array($key, $dontedit_ids)) { $html .= ' disabled="disabled"' . LF; } } } $html .= '/>' . LF; $html .= ' <input type="hidden" name="shown[' . $this->_text_as_form($key) . ']" value="1"/>' . LF; $html .= ' </td>' . LF; if ($item->isNotActivated()) { $title = $item->getTitle(); $title = $this->_compareWithSearchText($title); $user = $this->_environment->getCurrentUser(); if ($item->getCreatorID() == $user->getItemID() or $user->isModerator()) { $params = array(); $params['iid'] = $item->getItemID(); $title = ahref_curl($this->_environment->getCurrentContextID(), CS_TOPIC_TYPE, 'detail', $params, $title, '', '', '', '', '', '', '', '', CS_TOPIC_TYPE . $item->getItemID()); unset($params); } $activating_date = $item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $title .= BR . $this->_translator->getMessage('COMMON_NOT_ACTIVATED'); } else { $title .= BR . $this->_translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($item->getActivatingDate()); } $title = '<span class="disabled">' . $title . '</span>'; $html .= ' <td ' . $style . '>' . $title . LF; } else { $html .= ' <td ' . $style . ' style="font-size:10pt;">' . $this->_getItemTitle($item) . '</td>' . LF; } } else { $html .= ' <td colspan="2" ' . $style . ' style="font-size:10pt;">' . $this->_getItemTitle($item) . '</td>' . LF; } $html .= ' <td ' . $style . ' style="font-size:8pt;">' . $this->_getItemModificator($item) . '</td>' . LF; $html .= ' </tr>' . LF; return $html; }
/** 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 */ function _prepareValues() { $current_context = $this->_environment->getCurrentContextItem(); $this->_values = array(); if (!empty($this->_form_post)) { $this->_form_post['end_date_time'] = array(); $this->_form_post['end_date_time'][] = !empty($this->_form_post['dayEnd']) ? $this->_form_post['dayEnd'] : NULL; $this->_form_post['end_date_time'][] = !empty($this->_form_post['timeEnd']) ? $this->_form_post['timeEnd'] : NULL; unset($this->_form_post['dayEnd']); unset($this->_form_post['timeEnd']); $this->_values = $this->_form_post; $tmp_array = array(); if (isset($this->_form_post['dayStart'])) { $tmp_array['dayStart'] = $this->_form_post['dayStart']; } else { $tmp_array['dayStart'] = ''; } if (isset($this->_form_post['timeStart'])) { $tmp_array['timeStart'] = $this->_form_post['timeStart']; } else { $tmp_array['timeStart'] = ''; } $this->_values['start_date_time'] = $tmp_array; } elseif (isset($this->_item)) { $this->_values['iid'] = $this->_item->getItemID(); $this->_values['title'] = $this->_item->getTitle(); $this->_values['description'] = $this->_item->getDescription(); $this->_values['public'] = $this->_item->isPublic(); if (!$this->_item->getSeconddateTime() == '') { $this->_values['end_date_time'][] = getDateInLang($this->_item->getSeconddateTime()); } else { $this->_values['end_date_time'][] = ''; } if (!$this->_item->getSeconddateTime() == '') { $this->_values['end_date_time'][] = getTimeInLang($this->_item->getSeconddateTime()); } else { $this->_values['end_date_time'][] = ''; } $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; } 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->_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['dayStart'] = getDateInLang($activating_date); $array['timeStart'] = getTimeInLang($activating_date); $this->_values['start_date_time'] = $array; } } } else { if ($this->_environment->inProjectRoom()) { $context_item = $this->_environment->getCurrentContextItem(); $time = $context_item->getTimeSpread(); $this->_values['end_date_time'][] = getDateInLang(DateAdd($time, date("Y-m-d"), "Y-m-d")); $this->_values['end_date_time'][] = date("H:m"); } 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 } } } }
/** get the date of the item * this method returns the item date in the right formatted style * * @return string title * * @author CommSy Development Group */ function _getDateInLang($item) { $original_date = $item->getDate(); $date = getDateInLang($original_date); $date = $this->_compareWithSearchText($date); $status = $item->getStatus(); $actual_date = date("Y-m-d H:i:s"); if ($status != $this->_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 = $this->_translator->getMessage('TODO_NO_END_DATE'); } return $date; }
protected function getDetailContent() { $disc_articles = $this->getDiscArticleContent(); if ($this->_item->isNotActivated()) { $activating_date = $this->_item->getActivatingDate(); $text = ''; if (strstr($activating_date, '9999-00-00')) { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_NOT_ACTIVATED'); } else { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($this->_item->getActivatingDate()); } $temp_array = array(); $temp_array[] = $this->_environment->getTranslationObject()->getMessage('COMMON_RIGHTS'); $temp_array[] = $activating_text; $formal[] = $temp_array; } $temp_array = array(); $discussion_type = $this->_item->getDiscussionType(); $return = array('formal' => $formal, 'item_id' => $this->_item->getItemID(), 'discussion' => $this->getDiscussionContent(), 'disc_articles' => $disc_articles, 'new_num' => count($disc_articles) + 1, 'moredetails' => $this->getCreatorInformationAsArray($this->_item), 'numArticles' => $discussion_type === 'threaded' ? self::$threadedIndex : sizeof($disc_articles)); return $return; }
private function getFormalData() { $return = array(); $translator = $this->_environment->getTranslationObject(); $converter = $this->_environment->getTextConverter(); $context_item = $this->_environment->getCurrentContextItem(); $current_user = $this->_environment->getCurrentUserItem(); $portal_item = $this->_environment->getCurrentPortalItem(); 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; $return[] = $temp_array; } // bibliography $bib_kind = $this->_item->getBibKind() ? $this->_item->getBibKind() : 'none'; $biblio = ''; // author, year $temp_array = array(); if ($bib_kind === 'common') { $author = $this->_item->getAuthor(); if (!empty($author)) { $temp_array[0] = $translator->getMessage('MATERIAL_AUTHORS'); $temp_array[1] = $converter->text_as_html_short($this->_item->getAuthor()); $return[] = $temp_array; } $pub_date = $this->_item->getPublishingDate(); if (!empty($pub_date)) { $temp_array[0] = $translator->getMessage('MATERIAL_PUBLISHING_DATE'); $temp_array[1] = $converter->text_as_html_short($this->_item->getPublishingDate()); $return[] = $temp_array; } /* if(!empty($return)) { $html .= $this->_getFormalDataAsHTML($return); if ( isset($html_script) and !empty($html_script) ) { $html .= $html_script; } } */ //$return = array(); $temp_array = array(); $biblio = $this->_item->getBibliographicValues(); } elseif ($bib_kind === 'website') { $biblio = $this->_item->getAuthor() . ','; } elseif ($bib_kind === 'document') { $biblio = ''; } else { $biblio = $this->_item->getAuthor() . ' (' . $this->_item->getPublishingDate() . '). '; } if ($bib_kind !== 'common') { // bibliographic switch ($bib_kind) { case 'book': case 'collection': $biblio .= $this->_item->getAddress() . ': ' . $this->_item->getPublisher(); if ($this->_item->getEdition()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_EDITION', $this->_item->getEdition()); } if ($this->_item->getSeries()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_SERIES', $this->_item->getSeries()); } if ($this->_item->getVolume()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_VOLUME', $this->_item->getVolume()); } if ($this->_item->getISBN()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_ISBN', $this->_item->getISBN()); } $biblio .= '.'; if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); } if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; $biblio .= '.'; } break; case 'incollection': $editor = $this->_item->getEditor(); if (!empty($editor)) { $biblio .= $translator->getMessage('MATERIAL_BIB_IN') . ': '; $biblio .= $translator->getMessage('MATERIAL_BIB_EDITOR', $this->_item->getEditor()) . ': '; } $biblio .= $this->_item->getBooktitle() . '. '; $biblio .= $this->_item->getAddress() . ': ' . $this->_item->getPublisher(); if ($this->_item->getEdition()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_EDITION', $this->_item->getEdition()); } if ($this->_item->getSeries()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_SERIES', $this->_item->getSeries()); } if ($this->_item->getVolume()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_VOLUME', $this->_item->getVolume()); } if ($this->_item->getISBN()) { $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_ISBN', $this->_item->getISBN()); } $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_PAGES', $this->_item->getPages()) . '.'; if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); } if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; $biblio .= '.'; } break; case 'article': $biblio .= $translator->getMessage('MATERIAL_BIB_IN') . ': ' . $this->_item->getJournal(); if ($this->_item->getVolume()) { $biblio .= ', ' . $this->_item->getVolume(); if ($this->_item->getIssue()) { $biblio .= ' (' . $this->_item->getIssue() . ')'; } } elseif ($this->_item->getIssue()) { $biblio .= ', ' . $this->_item->getIssue(); } $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_PAGES', $this->_item->getPages()) . '. '; $bib2 = ''; if ($this->_item->getAddress()) { $bib2 .= $this->_item->getAddress(); } if ($this->_item->getPublisher()) { $bib2 .= $bib2 ? ', ' : ''; $bib2 .= $this->_item->getPublisher(); } if ($this->_item->getISSN()) { $bib2 .= $bib2 ? ', ' : ''; $bib2 .= $this->_item->getISSN(); } $bib2 .= $bib2 ? '. ' : ''; $biblio .= $bib2 ? $bib2 : ''; if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); } if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; $biblio .= '.'; } break; case 'inpaper': $biblio .= $translator->getMessage('MATERIAL_BIB_IN') . ': ' . $this->_item->getJournal(); if ($this->_item->getIssue()) { $biblio .= ', ' . $this->_item->getIssue(); } $biblio .= ', ' . $translator->getMessage('MATERIAL_BIB_PAGES', $this->_item->getPages()) . '. '; $bib2 = ''; if ($this->_item->getAddress()) { $bib2 .= $this->_item->getAddress(); } if ($this->_item->getPublisher()) { $bib2 .= $bib2 ? ', ' : ''; $bib2 .= $this->_item->getPublisher(); } $bib2 .= $bib2 ? '. ' : ''; $biblio .= $bib2 ? $bib2 : ''; if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; } $biblio .= '.'; } break; case 'thesis': $temp_Thesis_Kind = mb_strtoupper($this->_item->getThesisKind(), 'UTF-8'); switch ($temp_Thesis_Kind) { case 'BACHELOR': $biblio .= $translator->getMessage('MATERIAL_THESIS_BACHELOR') . '. '; break; case 'DIPLOMA': $biblio .= $translator->getMessage('MATERIAL_THESIS_DIPLOMA') . '. '; break; case 'DISSERTATION': $biblio .= $translator->getMessage('MATERIAL_THESIS_DISSERTATION') . '. '; break; case 'EXAM': $biblio .= $translator->getMessage('MATERIAL_THESIS_EXAM') . '. '; break; case 'KIND': $biblio .= $translator->getMessage('MATERIAL_THESIS_KIND') . '. '; break; case 'KIND_DESC': $biblio .= $translator->getMessage('MATERIAL_THESIS_KIND_DESC') . '. '; break; case 'MASTER': $biblio .= $translator->getMessage('MATERIAL_THESIS_MASTER') . '. '; break; case 'OTHER': $biblio .= $translator->getMessage('MATERIAL_THESIS_OTHER') . '. '; break; case 'POSTDOC': $biblio .= $translator->getMessage('MATERIAL_THESIS_POSTDOC') . '. '; break; case 'TERM': $biblio .= $translator->getMessage('MATERIAL_THESIS_TERM') . '. '; break; default: $biblio .= $translator->getMessage('COMMON_MESSAGETAG_ERROR') . ' cs_material_detail_view(446) '; break; } $biblio .= $this->_item->getAddress() . ': ' . $this->_item->getUniversity(); if ($this->_item->getFaculty()) { $biblio .= ', ' . $this->_item->getFaculty(); } $biblio .= '.'; if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; } $biblio .= '.'; } break; case 'website': $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $converter->textFullHTMLFormatting($this->_item->getURL())); if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; } $biblio .= '.'; break; case 'manuscript': $biblio .= $this->_item->getBibliographicValues(); if ($this->_item->getAddress()) { $biblio .= ' ' . $this->_item->getAddress(); $biblio .= '.'; } if ($this->_item->getURL()) { $biblio .= ' ' . $translator->getMessage('MATERIAL_BIB_URL', $this->_item->getURL()); if ($this->_item->getURLDate()) { $biblio .= ' (' . $translator->getMessage('MATERIAL_BIB_URL_DATE', $this->_item->getURLDate()) . ')'; } $biblio .= '.'; } break; case 'document': $formal_data_bib = array(); $html .= $translator->getMessage('MATERIAL_BIB_DOCUMENT_ADMINISTRATION_INFO'); if ($this->_item->getDocumentEditor()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_DOCUMENT_EDITOR'); $temp_array[] = $this->_item->getDocumentEditor(); $return[] = $temp_array; } if ($this->_item->getDocumentMaintainer()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_DOCUMENT_MAINTAINER'); $temp_array[] = $this->_item->getDocumentMaintainer(); $return[] = $temp_array; } if ($this->_item->getDocumentReleaseNumber()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_DOCUMENT_RELEASE_NUMBER'); $temp_array[] = $this->_item->getDocumentReleaseNumber(); $return[] = $temp_array; } if ($this->_item->getDocumentReleaseDate()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_DOCUMENT_RELEASE_DATE'); $temp_array[] = $this->_item->getDocumentReleaseDate(); $return[] = $temp_array; } break; case 'foto': $formal_data_bib = array(); if ($this->_item->getFotoCopyright()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_FOTO_COPYRIGHT'); $temp_array[] = $this->_item->getFotoCopyright(); $return[] = $temp_array; } if ($this->_item->getFotoReason()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_FOTO_REASON'); $temp_array[] = $this->_item->getFotoReason(); $return[] = $temp_array; } if ($this->_item->getFotoDate()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIB_FOTO_DATE'); $temp_array[] = $this->_item->getFotoDate(); $return[] = $temp_array; } break; case 'none': default: $biblio .= $this->_item->getBibliographicValues(); } } $biblio_pur = strip_tags($biblio); $biblio_pur = str_ireplace(' ', '', $biblio_pur); $biblio_pur = trim($biblio_pur); if ($bib_kind !== 'none' && !empty($biblio_pur)) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_BIBLIOGRAPHIC'); if (!empty($biblio)) { $converter->setFileArray($this->getItemFileList()); $temp_array[] = $biblio; //$converter->text_as_html_long($converter->cleanDataFromTextArea($biblio)); } else { $temp_array[] = '<span class="disabled"> ' . $translator->getMessage('COMON_NONE') . '</span>'; } $return[] = $temp_array; } if ($this->_item->issetBibTOC()) { $temp_array = array(); $temp_array[] = $translator->getMessage('COMMON_TABLE_OF_CONTENT'); $temp_array[] = '<a href"' . $this->_item->getBibTOC() . '" target="blank">' . chunkText($this->_item->getBibTOC(), 60) . '</a>'; $return[] = $temp_array; } if ($this->_item->issetBibURL()) { $temp_array = array(); $temp_array[] = $translator->getMessage('BELUGA_LINK'); $temp_array[] = '<a href="' . $this->_item->getBibURL() . '" target="balnk">' . chunkText($this->_item->getBibURL(), 60) . '</a>'; $return[] = $temp_array; } if ($this->_item->issetBibAvailibility()) { $temp_array = array(); $temp_array[] = $translator->getMessage('BELUGA_AVAILABILITY'); $link = $this->_item->getBibAvailibility(); $temp_array[] = $link; $return[] = $temp_array; } global $c_pmwiki; if ($c_pmwiki and $context_item->isWikiActive()) { if ($this->_item->isExportToWiki()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_EXPORT_TO_WIKI_LINK'); $temp_array[] = $this->_item->getExportToWikiLink(); $return[] = $temp_array; } } #global $c_wordpress; if ($portal_item->getWordpressPortalActive() and $context_item->isWordpressActive()) { if ($this->_item->isExporttoWordpress()) { $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_EXPORT_TO_WORDPRESS_LINK'); $temp_array[] = $this->_item->getExportToWordpressLink(); $return[] = $temp_array; } } // files $files = array(); $file_list = $this->_item->getFileList(); if (!$file_list->isEmpty()) { $file = $file_list->getFirst(); while ($file) { // truncate if (strlen($file->getDisplayName()) > 70) { $file_name = $converter->filenameFormatting(substr($file->getDisplayName(), 0, 70)) . '...'; } else { $file_name = $converter->filenameFormatting($file->getDisplayName()); } if (!(isset($_GET['mode']) && $_GET['mode'] === 'print') || isset($_GET['download']) && $_GET['download'] === 'zip') { if ((!isset($_GET['download']) || $_GET['download'] !== 'zip') && in_array($file->getExtension(), array('png', 'jpg', 'jpeg', 'gif'))) { //$this->_with_slimbox = true; #$file_string = '<a href="' . $file->getUrl() . '" class="lightbox_' . $this->_item->getItemID() . '">' . $file->getFileIcon() . ' ' . ($converter->text_as_html_short($file->getDisplayName())) . '</a> (' . $file->getFileSize() . ' KB)'; $file_string = '<a href="' . $file->getUrl() . '" class="lightbox_' . $this->_item->getItemID() . '">' . $file->getFileIcon() . ' ' . $converter->filenameFormatting(substr($file->getDisplayName(), 0, 100)) . '</a> (' . $file->getFileSize() . ' KB)'; } else { #$file_string = '<a href="' . $file->getUrl() . '" target="blank">' . $file->getFileIcon() . ' ' . ($converter->text_as_html_short($file->getDisplayName())) . '</a> (' . $file->getFileSize() . ' KB)'; $file_string = '<a href="' . $file->getUrl() . '" target="blank">' . $file->getFileIcon() . ' ' . $file_name . '</a> (' . $file->getFileSize() . ' KB)'; } } else { $file_string = $file->getFileIcon() . ' ' . $converter->text_as_html_short($file->getDisplayName()); } $files[] = $file_string; $file = $file_list->getNext(); } $temp_array = array(); $temp_array[] = $translator->getMessage('MATERIAL_FILES'); $temp_array[] = implode(BRLF, $files); $return[] = $temp_array; } // world-public status if ($context_item->isCommunityRoom() && $context_item->isOpenForGuests()) { $temp_array = array(); $wrold_public = $this->_item->getWorldPublic(); if ($world_public === 0) { $public_info = $translator->getMessage('MATERIAL_WORLD_PUBLISH_STATUS_0'); } elseif ($world_public === 1) { $public_info = $translator->getMessage('MATERIAL_WORLD_PUBLISH_STATUS_1'); } elseif ($world_public === 2) { $public_info = $translator->getMessage('MATERIAL_WORLD_PUBLISH_STATUS_2'); } $temp_array[] = $translator->getMessage('MATERIAL_WORLD_PUBLISH'); $temp_array[] = $public_info; $return[] = $temp_array; } $version_mode = 'long'; $iid = 0; $params = $this->_environment->getCurrentParameterArray(); if (isset($params['iid'])) { $iid = $params['iid']; } $show_version = 'false'; if (isset($params[$iid . 'version_mode']) && $params[$iid . 'version_mode'] === 'long') { $sho_versions = 'true'; } $params[$iid . 'version_mode'] = 'long'; // versions /*$versions = array(); if(!$this->_version_list->isEmpty()) { $version = $this->_version_list->getFirst(); if($version->getVersionID() === $this->_item->getVersionID()) { $title = ' '.$translator->getMessage('MATERIAL_CURRENT_VERSION_DATE').' '.getDateTimeInLang($version->getModificationDate()); } else { // TODO: $params = array(); $params[$iid.'version_mode'] = 'long'; $params['iid'] = $version->getItemID(); $title = ' '.ahref_curl($this->_environment->getCurrentContextID(), 'material', 'detail', $params,$this->_translator->getMessage('MATERIAL_CURRENT_VERSION_DATE').' '.getDateTimeInLang($version->getModificationDate())); unset($params); } $version = $this->_version_list->getNext(); $is_user = $current_user->isUser(); while($version) {*/ /* * if ( !$with_links or ( !$is_user and $this->_environment->inCommunityRoom() and !$version->isWorldPublic() ) or $item->getVersionID() == $version->getVersionID() ) { $versions[] = ' '.$this->_translator->getMessage('MATERIAL_VERSION_DATE').' '.getDateTimeInLang($version->getModificationDate()); } else { $params = array(); $params[$iid.'version_mode'] = 'long'; $params['iid'] = $version->getItemID(); $params['version_id'] = $version->getVersionID(); $versions[] = ' '.ahref_curl($this->_environment->getCurrentContextID(), 'material', 'detail', $params,$this->_translator->getMessage('MATERIAL_VERSION_DATE').' '.getDateTimeInLang($version->getModificationDate())); unset($params); } * */ /* $version = $this->_version_list->getNext(); } $count = $this->_version_list->getCount(); if(!empty($version) && $count > 1) { $temp_array = array(); $temp_array[] = $this->_translator->getMessage('MATERIAL_VERSION'); // TODO: $html_string =' <img id="toggle'.$item->getItemID().$item->getVersionID().'" src="images/more.gif"/>'; $html_string .= $title; $html_string .= '<div id="creator_information'.$item->getItemID().$item->getVersionID().'">'.LF; $html_string .= '<div class="creator_information_panel"> '.LF; $html_string .= '<div>'.LF; if ($show_versions == 'true'){ $html_script ='<script type="text/javascript">initCreatorInformations("'.$item->getItemID().$item->getVersionID().'",true)</script>'; }else{ $html_script ='<script type="text/javascript">initCreatorInformations("'.$item->getItemID().$item->getVersionID().'",false)</script>'; } if($with_links) { $html_string .= implode(BRLF, $versions); } else { $version_count = count ($versions); $html_string .= "$version_count. ".$versions[0]; } $html_string .= '</div>'.LF; $html_string .= '</div>'.LF; $html_string .= '</div>'.LF; $temp_array[] = $html_string; $formal_data1[] = $temp_array; } }*/ $material_manager = $this->_environment->getMaterialManager(); $material_version_list = $material_manager->getVersionList($this->_item->getItemID()); if ($material_version_list->getCount() > 1) { $translator = $this->_environment->getTranslationObject(); $material_versions_array = array(); $temp_material_item = $material_version_list->getFirst(); if ($temp_material_item->getVersionID() == $this->_item->getVersionID()) { $material_versions_array[] = $translator->getMessage('MATERIAL_CURRENT_VERSION_DATE') . ' ' . getDateTimeInLang($temp_material_item->getModificationDate()); } else { $params = array(); $params[$iid . 'version_mode'] = 'long'; $params['iid'] = $temp_material_item->getItemID(); $material_versions_array[] = ahref_curl($this->_environment->getCurrentContextID(), 'material', 'detail', $params, $translator->getMessage('MATERIAL_CURRENT_VERSION_DATE') . ' ' . getDateTimeInLang($temp_material_item->getModificationDate())); unset($params); } $temp_material_item = $material_version_list->getNext(); $current_user = $this->_environment->getCurrentUserItem(); $is_user = $current_user->isUser(); while ($temp_material_item) { if ($this->_item->getVersionID() == $temp_material_item->getVersionID()) { $material_versions_array[] = $translator->getMessage('MATERIAL_VERSION_DATE') . ' ' . getDateTimeInLang($temp_material_item->getModificationDate()); } else { $params = array(); $params[$iid . 'version_mode'] = 'long'; $params['iid'] = $temp_material_item->getItemID(); $params['version_id'] = $temp_material_item->getVersionID(); $material_versions_array[] = ahref_curl($this->_environment->getCurrentContextID(), 'material', 'detail', $params, $translator->getMessage('MATERIAL_VERSION_DATE') . ' ' . getDateTimeInLang($temp_material_item->getModificationDate())); unset($params); } $temp_material_item = $material_version_list->getNext(); } $this->assign('detail', 'versions', $material_version_list->getCount()); $this->assign('detail', 'versions_array', $material_versions_array); if (isset($_GET['version_id'])) { $this->assign('detail', 'is_versions_bar_visible', true); } $latest_material_item = $material_version_list->getFirst(); if ($latest_material_item->getVersionID() != $this->_item->getVersionID()) { $this->assign('detail', 'not_latest_version', true); } } // TODO: /* if(!empty($formal_data1)) { $html .= $this->_getFormalDataAsHTML($formal_data1); if ( isset($html_script) and !empty($html_script) ) { $html .= $html_script; } } */ // wordpress export #global $c_wordpress; if ($portal_item->getWordpressPortalActive() and $context_item->isWordpressActive() and !isset($_GET['version_id'])) { $wordpress_manager = $this->_environment->getWordpressManager(); if ($this->_item->mayEdit($current_user)) { $this->assign('detail', 'export_to_wordpress', true); } else { if ($context_item->isWordpressActive()) { $this->assign('detail', 'export_to_wordpress_not_allowed', true); } } } // wiki export global $c_pmwiki; if ($c_pmwiki and $context_item->isWikiActive() and !isset($_GET['version_id'])) { $this->assign('detail', 'export_to_wiki', true); } return $return; }
public function actionUpdateLinkedItem() { $return = array(); // get request data $item_id = $this->_data['item_id']; $link_id = $this->_data['link_id']; $checked = $this->_data['checked']; // get item $item_manager = $this->_environment->getItemManager(); $temp_item = $item_manager->getItem($item_id); if (isset($temp_item)) { if ($temp_item->getItemType() == 'label') { $label_manager = $this->_environment->getLabelManager(); $label_item = $label_manager->getItem($temp_item->getItemID()); $manager = $this->_environment->getManager($label_item->getLabelType()); } else { $manager = $this->_environment->getManager($temp_item->getItemType()); } $item = $manager->getItem($item_id); } // TODO: implement - users are not allowed to remove themself from the "All Members" group // get ids of linked items $selected_ids = $this->getLinkedItemIDArray($item); // get linked item $temp_item = $item_manager->getItem($link_id); if (isset($temp_item)) { $manager = $this->_environment->getManager($temp_item->getItemType()); $linked_item = $manager->getItem($link_id); } $type = $linked_item->getType(); if ($type === 'label') { $type = $linked_item->getLabelType(); } // update id array if ($checked === true) { // add $selected_ids[] = $link_id; $selected_ids = array_unique($selected_ids); // ensure uniqueness // collect new item information $entry = array(); $user = $this->_environment->getCurrentUser(); $converter = $this->_environment->getTextConverter(); $translator = $this->_environment->getTranslationObject(); $logoInformation = $this->getUtils()->getLogoInformationForType($type); $text = $logoInformation["text"]; $img = $logoInformation["img"]; $link_creator_text = $text . ' - ' . $translator->getMessage('COMMON_LINK_CREATOR') . ' ' . $entry['creator']; switch ($type) { case CS_DISCARTICLE_TYPE: $linked_iid = $linked_item->getDiscussionID(); $discussion_manager = $this->_environment->getDiscussionManager(); $linked_item = $discussion_manager->getItem($linked_iid); break; case CS_SECTION_TYPE: $linked_iid = $linked_item->getLinkedItemID(); $material_manager = $this->_environment->getMaterialManager(); $linked_item = $material_manager->getItem($linked_iid); break; case CS_USER_TYPE: if ($item->getType() == 'label') { $item_type = $item->getLabelType(); } else { $item_type = $item->getType(); } if (isset($item) && $item_type == 'group' && $item->isGrouproomActivated()) { // room exists in group $group_room = $item->getGroupRoomItem(); // build new user_item $user_manager = $this->_environment->getUserManager(); $related_user = $user_manager->getItem($link_id); $private_room_user_item = $related_user->getRelatedPrivateRoomUserItem(); if (isset($private_room_user_item)) { $user_item = $private_room_user_item->cloneData(); $picture = $private_room_user_item->getPicture(); } else { $user_item = $related_user->cloneData(); $picture = $related_user->getPicture(); } $user_item->setVisibleToLoggedIn(); $user_item->setContextID($group_room->getItemID()); if (!empty($picture)) { $value_array = explode('_', $picture); $value_array[0] = 'cid' . $user_item->getContextID(); $new_picture_name = implode('_', $value_array); $disc_manager = $this->_environment->getDiscManager(); $disc_manager->copyImageFromRoomToRoom($picture, $user_item->getContextID()); $user_item->setPicture($new_picture_name); } // check room entry if (!$group_room->isUser($user_item)) { if ($group_room->checkNewMembersAlways()) { // $user_item->request(); $user_item->save(); } else { if ($group_room->checkNewMembersWithCode()) { // user must enter the correct code if he wants to join the room #$user_item->save(); } else { if ($group_room->checkNewMembersNever()) { // user is now member of the room $user_item->makeUser(); $user_item->save(); } } } } #$room_item = $linked_item->getLinkedProjectItem(); #$room_item->a } // if we assign a user... if (isset($item) && $item->getType() === CS_TODO_TYPE) { // ...to a task $item->addProcessor($linked_item); break; } default: $linked_iid = $linked_item->getItemID(); } $entry['linked_iid'] = $linked_iid; $module = Type2Module($type); if ($linked_item->isNotActivated() && !($linked_item->getCreatorID() === $user->getItemID() || $user->isModerator())) { $activating_date = $linked_item->getActivatingDate(); if (strstr($activating_date, '9999-00-00')) { $link_creator_text .= ' (' . $translator->getMessage('COMMON_NOT_ACTIVATED') . ')'; } else { $link_creator_text .= ' (' . $translator->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($linked_item->getActivatingDate()) . ')'; } if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; } else { if ($module === CS_USER_TYPE) { $title = $linked_item->getFullName(); } else { $title = $linked_item->getTitle(); } $title = $converter->text_as_html_short($title); $entry['module'] = $module; $entry['img'] = $img; $entry['title'] = $link_creator_text; $entry['link_text'] = $title; } $return['linked_item'] = $entry; } else { // remove if ($type === CS_USER_TYPE && $item->getType() === CS_TODO_TYPE) { $item->removeProcessor($linked_item); } else { if ($type === CS_USER_TYPE && $item->getType() === CS_LABEL_TYPE) { $selected_ids[] = $link_id; $selected_ids = array_unique($selected_ids); if ($item->getLabelType() === CS_GROUP_TYPE) { $user_manager = $this->_environment->getUserManager(); $user = $user_manager->getItem($link_id); $group_room = $item->getGroupRoomItem(); if ($group_room->isUser($user)) { $related_user = $user->getRelatedUserItemInContext($group_room->getItemID()); $moderatorList = $group_room->getModeratorList(); // dont remove last moderator if (!$related_user->isModerator() && $moderatorList->getCount() > 1) { $related_user->delete(); $key = array_search($user->getItemID(), $selected_ids); if ($key !== false) { unset($selected_ids[$key]); } } else { $return['last_moderator'] = true; } } } } else { if (($offset = array_search($link_id, $selected_ids)) !== false) { array_splice($selected_ids, $offset, 1); } } } } // update item if (isset($item)) { if ($item->isA(CS_LABEL_TYPE) && $item->getLabelType() == CS_BUZZWORD_TYPE) { $item->saveLinksByIDArray($selected_ids); } else { $item->setLinkedItemsByIDArray($selected_ids); $item->save(); } } $this->setSuccessfullDataReturn($return); echo $this->_return; }
private function getFormalData() { $return = array(); $user = $this->_environment->getCurrentUser(); $context = $this->_environment->getCurrentContextItem(); $translator = $this->_environment->getTranslationObject(); $converter = $this->_environment->getTextConverter(); $formal_data = array(); if ($this->_item->isNotActivated()) { $activating_date = $this->_item->getActivatingDate(); $text = ''; if (strstr($activating_date, '9999-00-00')) { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_NOT_ACTIVATED'); } else { $activating_text = $this->_environment->getTranslationObject()->getMessage('COMMON_ACTIVATING_DATE') . ' ' . getDateInLang($this->_item->getActivatingDate()); } $temp_array = array(); $return['access'] = $activating_text; } // date $original_date = $this->_item->getDate(); $date = getDateTimeInLang($original_date); $status = $this->_item->getStatus(); $actual_date = date("Y-m-d H:i:s"); if ($status !== $translator->getMessage('TODO_DONE') && $original_date < $actual_date) { // in progress // TODO: //$date = '<span class="required">'.$date.'</span>'; } if ($original_date === '9999-00-00 00:00:00') { // no end date $date = 'no_end'; } $return['date'] = $date; // status $return['status'] = $this->_item->getStatus(); // todo management if ($context->withTodoManagement()) { $step_html = ''; $step_minutes = 0; $step_item_list = $this->_item->getStepItemList(); if ($step_item_list->isEmpty()) { $step_html .= ''; } else { $step = $step_item_list->getFirst(); $count = $step_item_list->getCount(); $counter = 0; while ($step) { $counter++; $step_minutes = $step_minutes + $step->getMinutes(); $step = $step_item_list->getNext(); } } $done_time = ''; $done_percentage = 100; if ($this->_item->getPlannedTime() > 0) { $done_percentage = $step_minutes / $this->_item->getPlannedTime() * 100; } $time_type = $this->_item->getTimeType(); $tmp_message = $translator->getMessage('COMMON_MINUTES'); $step_minutes_text = $step_minutes; switch ($time_type) { case 2: $step_minutes_text = ''; $exact_minutes = $step_minutes / 60; $step_minutes = round($exact_minutes, 1); if ($step_minutes !== $exact_minutes) { $step_minutes_text .= 'ca. '; } if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } $step_minutes_text .= $step_minutes; $tmp_message = $translator->getMessage('COMMON_HOURS'); if ($step_minutes === 1) { $tmp_message = $translator->getMessage('COMMON_HOUR'); } break; case 3: $exact_minutes = $step_minutes / 60 / 8; $step_minutes = round($exact_minutes, 1); $step_minutes_text = ''; if ($step_minutes !== $exact_minutes) { $step_minutes_text .= 'ca. '; } if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } $step_minutes_text .= $step_minutes; $tmp_message = $translator->getMessage('COMMON_DAYS'); if ($step_minutes === 1) { $tmp_message = $translator->getMessage('COMMON_DAY'); } break; default: $step_minutes = round($step_minutes, 1); if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } break; } /**/ if ($done_percentage <= 100) { $style = ' height: 16px; background-color: #75ab05; '; $done_time .= ' <div style="border: 1px solid #444; margin-left: 0px; height: 16px; width: 300px;">' . LF; if ($done_percentage >= 30) { $done_time .= ' <div style="font-size: 10pt; ' . $style . 'width:' . $done_percentage . '%; color:#000000;">' . $step_minutes_text . ' ' . $tmp_message . '</div>' . LF; } else { $done_time .= '<div style="float:right; font-size: 10pt;">' . $step_minutes_text . ' ' . $tmp_message . '</div>'; $done_time .= ' <div style="font-size: 10pt; ' . $style . 'width:' . $done_percentage . '%; color:#000000;"> </div>' . LF; } $done_time .= ' </div>' . LF; } elseif ($done_percentage <= 120) { $done_percentage = 100 / $done_percentage * 100; $style = ' height: 16px; border: 1px solid #444; background-color: #f2f030; '; $done_time .= ' <div style="width: 300px; font-size: 10pt; ' . $style . ' color:#000000;">' . LF; $done_time .= ' <div style="border-right: 1px solid #444; padding-top:0px; margin-left: 0px; height:16px; background-color:none; width:' . $done_percentage . '%;">' . LF; $done_time .= ' ' . $step_minutes_text . ' ' . $tmp_message; $done_time .= ' </div>' . LF; $done_time .= '</div>' . LF; } else { $done_percentage = 100 / $done_percentage * 100; $style = ' height: 16px; border: 1px solid #444; background-color: #f23030; '; $done_time .= ' <div style="width: 300px; font-size: 10pt; ' . $style . ' color:#000000;">' . LF; $done_time .= ' <div style="border-right: 1px solid #444; margin-left: 0px; height:16px; background-color:none; width:' . $done_percentage . '%;">' . LF; $done_time .= ' ' . $step_minutes_text . ' ' . $tmp_message; $done_time .= ' </div>' . LF; $done_time .= '</div>' . LF; } //needed in print-view: $this->assign('detail', 'done_time', $step_minutes_text . ' ' . $tmp_message); /**/ if ($this->_item->getPlannedTime() > 0) { $minutes = $this->_item->getPlannedTime(); $time_type = $this->_item->getTimeType(); $tmp_message = $translator->getMessage('COMMON_MINUTES'); switch ($time_type) { case 2: $minutes = $minutes / 60; $tmp_message = $translator->getMessage('COMMON_HOURS'); if ($minutes === 1) { $tmp_message = $translator->getMessage('COMMON_HOUR'); } break; case 3: $minutes = $minutes / 60 / 9; $tmp_message = $translator->getMessage('COMMON_DAYS'); if ($minutes === 1) { $tmp_message = $translator->getMessage('COMMON_DAY'); } break; } if ($translator->getSelectedLanguage() === 'de') { $minutes = str_replace('.', ',', $minutes); } $return['management'][0] = round($minutes, 0) . ' ' . $tmp_message; } elseif ($this->_item->getPlannedTime() === 0 && $done_percentage > 0) { $tmp_message = $translator->getMessage('COMMON_MINUTES'); $done_time = $step_minutes; if ($step_minutes / 60 > 1 && $step_minutes / 60 <= 8) { $step_minutes_text = ''; $exact_minutes = $step_minutes / 60; $step_minutes = round($exact_minutes, 1); $done_time = ''; if ($step_minutes !== $exact_minutes) { $done_time .= 'ca. '; if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } $done_time .= $step_minutes; $tmp_message = $translator->getMessage('COMMON_HOURS'); if ($step_minutes === 1) { $tmp_message = $translator->getMessage('COMMON_HOUR'); } } } elseif ($step_minutes / 60 > 8) { $exact_minutes = $step_minutes / 60 / 8; $step_minutes = round($exact_minutes, 1); $done_time = ''; if ($step_minutes != $exact_minutes) { $done_time .= 'ca. '; } $tmp_message = $translator->getMessage('COMMON_DAYS'); if ($step_minutes === 1) { $tmp_message = $translator->getMessage('COMMON_DAY'); } if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } $done_time .= $step_minutes; } else { $step_minutes = round($step_minutes, 1); if ($translator->getSelectedLanguage() === 'de') { $step_minutes = str_replace('.', ',', $step_minutes); } } $done_time .= ' ' . $tmp_message; } if ($done_percentage > 0 || $this->_item->getPlannedTime() > 0) { $return['management'][1] = $done_time; } } // members $members = $this->_item->getProcessorItemList(); if (!$members->isEmpty()) { $member = $members->getFirst(); $count = $members->getCount(); $counter = 0; while ($member) { $counter++; if ($member->isUser()) { $linktext = $member->getFullname(); //TODO: //$linktext = $converter->compareWithSearchText($linktext); $linktext = $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) || $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 { $linktext = chunkText($member->getFullname(), 35); //TODO: //$linktext = $converter->compareWithSearchText($linktext); $linktext = $converter->text_as_html_short($linktext); $param_zip = $this->_environment->getValueOfParameter('download'); if (empty($param_zip) || $param_zip != 'zip') { $member_html .= ahref_curl($this->_environment->getCurrentContextID(), $this->_environment->getCurrentModule(), $this->_environment->getCurrentFunction(), array(), $link_text, $translator->getMessage('USER_STATUS_REJECTED'), '_self', '', '', '', '', 'class="disabled"', '', '', true); } else { $member_html .= $link_title; } if ($counter !== $count) { $member_html .= ', '; } } $member = $members->getNext(); } $return['members'] = $member_html; } // files $files = $this->getFileContent(); if (!empty($files)) { $return['files'] = implode(BRLF, $files); } // steps if ($context->withTodoManagement()) { $return['steps'] = $step_html; } return $return; }