示例#1
0
 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;
 }
示例#2
0
 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;
 }
示例#3
0
 /** 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';
         }
     }
 }
示例#4
0
 /** 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') . '&nbsp;' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . '&nbsp;"' . $sort_community->getTitle() . '"' . "\n";
             } elseif ($sort_room->isPrivateRoom()) {
                 $user = $this->_environment->getCurrentUserItem();
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . '&nbsp;"' . $user->getFullname() . '"' . "\n";
             } elseif ($sort_room->isGroupRoom()) {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . '&nbsp;"' . $sort_room->getTitle() . '"' . LF;
             } else {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . '&nbsp;"' . $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;
 }
示例#7
0
 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;
 }
示例#8
0
 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;
 }
示例#9
0
 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') . '&nbsp;' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . '&nbsp;"' . $sort_community->getTitle() . '"' . "\n";
                 }
             } elseif ($sort_room->isPrivateRoom()) {
                 $user = $this->_environment->getCurrentUserItem();
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . '&nbsp;"' . $user->getFullname() . '"' . LF;
             } elseif ($sort_room->isGroupRoom()) {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . '&nbsp;"' . $sort_room->getTitle() . '"' . LF;
             } else {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . '&nbsp;"' . $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;
 }
示例#10
0
 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;
 }
示例#11
0
 /** 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') . '&nbsp;' . $this->_translator->getMessage('COMMON_COMMUNITY_ROOM_TITLE') . '&nbsp;"' . $sort_community->getTitle() . '"' . "\n";
             } elseif ($sort_room->isPrivateRoom()) {
                 $user = $this->_environment->getCurrentUserItem();
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PRIVATEROOM') . '&nbsp;"' . $user->getFullname() . '"' . LF;
             } elseif ($sort_room->isCommunityRoom()) {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_COMMUNITYROOM') . '&nbsp;"' . $sort_room->getTitle() . '"' . LF;
             } elseif ($sort_room->isGroupRoom()) {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_GROUPROOM') . '&nbsp;"' . $sort_room->getTitle() . '"' . LF;
             } else {
                 $html .= '                        ' . $this->_translator->getMessage('COPY_FROM_PROJECTROOM') . '&nbsp;"' . $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;
 }
示例#13
0
 /** create the form, INTERNAL
  * this methods creates the form with the form definitions
  *
  * @author CommSy Development Topic
  */
 function _createForm()
 {
     // rubrics
     $iid = $_GET['iid'];
     $manager = $this->_environment->getItemManager();
     $item = $manager->getItem($iid);
     $module = $item->getItemType();
     $link_module = $module;
     if ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $link_module = $label->getLabelType();
     }
     $item_manager = $this->_environment->getManager($module);
     $item = $item_manager->getItem($iid);
     $item_name = $item->getTitle();
     $context_name = $this->_context_name;
     $article = '';
     // Wenn man mit HTTPS auf Commsy surft und eine Email generiert
     // sollte diese Mail auch https links erstellen.
     if (!empty($_SERVER["HTTPS"]) and $_SERVER["HTTPS"]) {
         $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     } else {
         $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID() . '&mod=' . $link_module . '&fct=detail' . '&iid=' . $item->getItemID();
     }
     $link = $url;
     $rubric_type_pretty = '';
     $content = '';
     //generate module name for the interface- a pretty version of module...
     if ($module == 'new' or $module == 'news') {
         $news_content = $this->_translator->getMessage('COMMON_NEWS') . ': ' . $item->getTitle() . LF;
         $content = $news_content;
     } elseif ($module == CS_DATE_TYPE) {
         $rubric_type_pretty = $this->_translator->getMessage('COMMON_DATES');
         // set up style of days and times
         $parse_time_start = convertTimeFromInput($item->getStartingTime());
         $conforms = $parse_time_start['conforms'];
         if ($conforms == TRUE) {
             $start_time_print = getTimeLanguage($parse_time_start['datetime']);
         } else {
             $start_time_print = $item->getStartingTime();
         }
         $parse_time_end = convertTimeFromInput($item->getEndingTime());
         $conforms = $parse_time_end['conforms'];
         if ($conforms == TRUE) {
             $end_time_print = getTimeLanguage($parse_time_end['datetime']);
         } else {
             $end_time_print = $item->getEndingTime();
         }
         $parse_day_start = convertDateFromInput($item->getStartingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_start['conforms'];
         if ($conforms == TRUE) {
             $start_day_print = getDateInLang($parse_day_start['datetime']);
         } else {
             $start_day_print = $item->getStartingDay();
         }
         $parse_day_end = convertDateFromInput($item->getEndingDay(), $this->_environment->getSelectedLanguage());
         $conforms = $parse_day_end['conforms'];
         if ($conforms == TRUE) {
             $end_day_print = getDateLanguage($parse_day_end['datetime']);
         } else {
             $end_day_print = $item->getEndingDay();
         }
         //formating dates and times for displaying
         $date_print = "";
         $time_print = "";
         if ($end_day_print != "") {
             //with ending day
             $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print;
             if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                 //start and end are dates, not strings
                 $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
             }
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 $date_print = $this->_translator->getMessage('DATES_AS_OF') . ' ' . $start_day_print . ', ' . $start_time_print . '<br />' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_day_print . ', ' . $end_time_print;
                 if ($parse_day_start['conforms'] and $parse_day_end['conforms']) {
                     $date_print .= ' (' . getDifference($parse_day_start['timestamp'], $parse_day_end['timestamp']) . ' ' . $this->_translator->getMessage('DATES_DAYS') . ')';
                 }
             }
         } else {
             //without ending day
             $date_print = $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
                 if ($parse_time_start['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
                 if ($parse_time_end['conforms'] == true) {
                     $time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 if ($parse_time_end['conforms'] == true) {
                     $end_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 if ($parse_time_start['conforms'] == true) {
                     $start_time_print .= ' ' . $this->_translator->getMessage('DATES_OCLOCK');
                 }
                 $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         if ($parse_day_start['timestamp'] == $parse_day_end['timestamp'] and $parse_day_start['conforms'] and $parse_day_end['conforms']) {
             $date_print = $this->_translator->getMessage('DATES_ON_DAY') . ' ' . $start_day_print;
             if ($start_time_print != "" and $end_time_print == "") {
                 //starting time given
                 $time_print = $this->_translator->getMessage('DATES_AS_OF_LOWER') . ' ' . $start_time_print;
             } elseif ($start_time_print == "" and $end_time_print != "") {
                 //endtime given
                 $time_print = $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             } elseif ($start_time_print != "" and $end_time_print != "") {
                 //all times given
                 $time_print = $this->_translator->getMessage('DATES_FROM_TIME_LOWER') . ' ' . $start_time_print . ' ' . $this->_translator->getMessage('DATES_TILL') . ' ' . $end_time_print;
             }
         }
         // Date and time
         $dates_content = '';
         $dates_content = $this->_translator->getMessage('DATES_DATETIME') . ': ' . $item_name . LF;
         if ($time_print != '') {
             $dates_content .= $this->_translator->getMessage('COMMON_TIME') . ': ' . $date_print . ',' . $time_print . LF;
         } else {
             $dates_content .= $this->_translator->getMessage('COMMON_TIME') . ': ' . $date_print . LF;
         }
         // Place
         $place = $item->getPlace();
         if (!empty($place)) {
             $dates_content .= $this->_translator->getMessage('DATES_PLACE') . ': ';
             $dates_content .= $place . LF;
         }
         $content = $dates_content;
     } elseif ($module == 'discussion' or $module == 'discussions') {
         $discussion_content = $this->_translator->getMessage('COMMON_DISCUSSION') . ': ' . $item->getTitle() . LF;
         $article_count = $item->getAllArticlesCount();
         $discussion_content .= $this->_translator->getMessage('DISCUSSION_DISCARTICLE_COUNT') . ': ' . $article_count . LF;
         $time = $item->getLatestArticleModificationDate();
         $discussion_content .= $this->_translator->getMessage('DISCUSSION_LAST_ENTRY') . ': ' . getDateTimeInLang($time) . LF;
         $content = $discussion_content;
     } elseif ($module == 'material' or $module == 'materials') {
         $material_content = $this->_translator->getMessage('COMMON_MATERIAL') . ': ' . $item->getTitle() . LF;
         $content = $material_content;
     } elseif ($module == 'announcement' or $module == CS_ANNOUNCEMENT_TYPE) {
         $announcement_content = $this->_translator->getMessage('COMMON_ANNOUNCEMENT') . ': ' . $item->getTitle() . LF;
         $content = $announcement_content;
     } elseif ($module == 'label' or $module == 'labels') {
         $label_manager = $this->_environment->getLabelManager();
         $label = $label_manager->getItem($iid);
         $module = $label->getLabelType();
         if ($module == 'group' or $module == 'groups') {
             $group_content = $this->_translator->getMessage('COMMON_GROUP') . ': ' . $item->getTitle() . LF;
             $content = $group_content;
         } elseif ($module == 'institution' or $module == 'institutions') {
             $institution_content = $this->_translator->getMessage('INSTITUTION') . ': ' . $item->getTitle() . LF;
             $content = $institution_content;
         }
     }
     if ($this->_environment->inProjectRoom()) {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT', $context_name) . LF;
     } elseif ($this->_environment->inGroupRoom()) {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_GROUPROOM', $context_name) . LF;
     } else {
         $emailtext = $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_COMMUNITY', $context_name) . LF;
     }
     if (empty($content)) {
         $emailtext .= LF . LF;
     } else {
         $emailtext .= $content;
     }
     $emailtext .= $this->_translator->getMessage('RUBRIC_EMAIL_DEFAULT_PROJECT_END', $link);
     $this->_form->addTextField('subject', '', $this->_translator->getMessage('COMMON_MAIL_SUBJECT'), '', '', '57', true);
     $this->_form->addTextArea('mailcontent', $emailtext, $this->_translator->getMessage('COMMON_MAIL_CONTENT'), $this->_translator->getMessage('COMMON_MAIL_CONTENT_DESC'), '60', '15', '', true, false, false);
     if ($module == 'date') {
         $this->_form->addCheckBox('attendees', '2', false, $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ASIGNED_PEOPLE'), $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ATTENDEES'));
     } elseif ($module == 'todo') {
         $this->_form->addCheckBox('processors', '2', false, $this->_translator->getMessage('COMMON_MAIL_SEND_TO_ASIGNED_PEOPLE'), $this->_translator->getMessage('COMMON_MAIL_SEND_TO_PROCESSORS'));
     }
     if ($this->_environment->inProjectRoom() and !empty($this->_group_array)) {
         $context_item = $this->_environment->getCurrentContextItem();
         if ($context_item->withRubric(CS_GROUP_TYPE)) {
             $this->_initCheckBoxGroup();
         }
     } else {
         $context_item = $this->_environment->getCurrentContextItem();
         if ($context_item->withRubric(CS_INSTITUTION_TYPE) and !empty($this->_institution_array)) {
             $this->_initCheckBoxInstitution();
         }
     }
     $projekt_room_show_mail_to_all = false;
     //Projectroom and no groups enabled -> send mails to group all
     if ($context_item->isProjectRoom() and !$context_item->withRubric(CS_GROUP_TYPE)) {
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         $all_iid = $this->_group_array[0]['value'];
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('groups[0]', $all_iid);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('groups[0]', $all_iid, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     if ($context_item->isCommunityRoom() and !$context_item->withRubric(CS_INSTITUTION_TYPE)) {
         $cid = $this->_environment->getCurrentContextId();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('send_to_all', true);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('send_to_all', 1, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     // send to all members in group rooms
     if ($context_item->isGroupRoom()) {
         $cid = $this->_environment->getCurrentContextID();
         $user_manager = $this->_environment->getUserManager();
         $user_manager->setUserLimit();
         $user_manager->setContextLimit($cid);
         $count = $user_manager->getCountAll();
         if ($item->getItemType() != CS_DATE_TYPE and $item->getItemType() != CS_TODO_TYPE) {
             $this->_form->addText('receiver_text', $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
             $this->_form->addHidden('send_to_all', true);
         } else {
             $this->_form->combine();
             $this->_form->addCheckbox('send_to_all', 1, false, $this->_translator->getMessage('COMMON_MAIL_RECEIVER'), $this->_translator->getMessage('COMMON_MAIL_ALL_IN_ROOM', $count));
         }
     }
     $yesno[][] = array();
     $yesno['0']['text'] = $this->_translator->getMessage('COMMON_YES');
     $yesno['0']['value'] = $this->_translator->getMessage('COMMON_YES');
     $yesno['1']['text'] = $this->_translator->getMessage('COMMON_NO');
     $yesno['1']['value'] = $this->_translator->getMessage('COMMON_NO');
     $this->_form->addRadioGroup('copytosender', $this->_translator->getMessage('MAILCOPY_TO_SENDER'), $this->_translator->getMessage('MAILCOPY_TO_SENDER_DESC'), $yesno, $this->_translator->getMessage('COMMON_NO'), true, false);
     // buttons
     $this->_form->addButtonBar('option', $this->_translator->getMessage('COMMON_MAIL_SEND_BUTTON'), $this->_translator->getMessage('COMMON_CANCEL_BUTTON'));
 }
示例#14
0
 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>&nbsp;' . 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;
 }
示例#16
0
 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).'&amp;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;
 }
示例#17
0
 /** 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;
 }
示例#19
0
 /** 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
             }
         }
     }
 }
示例#20
0
 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;
 }
示例#21
0
 /** 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';
     }
 }
示例#22
0
 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;
 }
示例#23
0
 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']));
         }
     }
 }
示例#24
0
 /** 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;
 }
示例#25
0
 /** 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
             }
         }
     }
 }
示例#26
0
 /** 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('&nbsp;', '', $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 = '&nbsp;&nbsp;'.$translator->getMessage('MATERIAL_CURRENT_VERSION_DATE').' '.getDateTimeInLang($version->getModificationDate());
     				} else {
     					// TODO:
     					 $params = array();
                $params[$iid.'version_mode'] = 'long';
                $params['iid'] = $version->getItemID();
                $title = '&nbsp;&nbsp;'.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[] = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$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[] = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.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 ='&nbsp;<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;
 }
示例#30
0
 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;">&nbsp;</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 .= '&nbsp;' . $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 .= '&nbsp;' . $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;
 }