function getInfoForHeaderAsHTML()
 {
     global $cs_color;
     $retour = parent::getInfoForHeaderAsHTML();
     if (!empty($this->_list)) {
         $retour .= '   <!-- BEGIN Styles -->' . LF;
         $retour .= '   <style type="text/css">' . LF;
         $session = $this->_environment->getSession();
         $session_id = $session->getSessionID();
         $retour .= '    img { border: 0px; }' . LF;
         $retour .= '    img.logo_small { width: 40px; }' . LF;
         $retour .= '    td.header_left_no_logo { text-align: left; width:1%; vertical-align: middle; font-size: x-large; font-weight: bold; height: 50px; padding-top: 3px;padding-bottom: 3px;padding-right: 3px; padding-left: 15px; }' . LF;
         $item = $this->_list->getFirst();
         while (!empty($item)) {
             $color_array = $item->getColorArray();
             if (count($color_array) > 0) {
                 $cs_color['room_title'] = $color_array['tabs_title'];
                 $cs_color['room_background'] = $color_array['content_background'];
                 $cs_color['tableheader'] = $color_array['tabs_background'];
             } else {
                 $cs_color['room_title'] = '';
                 $cs_color['room_background'] = '';
                 $cs_color['tableheader'] = '';
             }
             $retour .= '    table.room_window_border' . $item->getItemID() . ' {background-color: ' . $color_array['boxes_background'] . '; width: 150px; margin:2px; border: 1px solid ' . $cs_color['tableheader'] . ';}' . LF;
             $retour .= '    td.detail_view_content_room_window' . $item->getItemID() . ' { width: 17em; padding: 3px;text-align: left; border-bottom: 1px solid ' . $cs_color['tableheader'] . ';}' . LF;
             $retour .= '    td.detail_view_title_room_window' . $item->getItemID() . ' {background-color: ' . $cs_color['tableheader'] . '; color: ' . $cs_color['room_title'] . '; padding: 0px;text-align: left;}' . LF;
             $retour .= '    td.detail_view_title_room_window' . $item->getItemID() . ' a {background-color: ' . $cs_color['tableheader'] . '; color: ' . $cs_color['room_title'] . '; padding: 0px;text-align: left;}' . LF;
             $retour .= '    td.detail_view_title_room_window' . $item->getItemID() . ' a:hover {background-color: ' . $cs_color['tableheader'] . '; color: ' . $cs_color['room_title'] . '; padding: 0px;text-align: left;}' . LF;
             $retour .= ' .gauge' . $item->getItemID() . ' { background-color: #FFFFFF; width: 100%; margin: 2px 0px; border: 1px solid #666; }' . LF;
             $retour .= ' .gauge-bar' . $item->getItemID() . ' { background-color: ' . $color_array['tabs_background'] . '; text-align: right; font-size: 8pt; color: black; }' . LF;
             $retour .= '    table.room_window' . $item->getItemID() . ' {width: 17em; border:1px solid  ' . $cs_color['tableheader'] . '; margin:0px; padding:5px 10px 5px 10px; ';
             if ($color_array['schema'] == 'SCHEMA_OWN') {
                 if ($item->getBGImageFilename()) {
                     global $c_single_entry_point;
                     if ($item->issetBGImageRepeat()) {
                         $retour .= 'background: url(' . $c_single_entry_point . '?cid=' . $item->getItemID() . '&mod=picture&fct=getfile&picture=' . $item->getBGImageFilename() . ') repeat; ';
                     } else {
                         $retour .= 'background: url(' . $c_single_entry_point . '?cid=' . $item->getItemID() . '&mod=picture&fct=getfile&picture=' . $item->getBGImageFilename() . ') no-repeat; ';
                     }
                 }
             } else {
                 if (isset($color_array['repeat_background']) and $color_array['repeat_background'] == 'xy') {
                     $retour .= 'background: url(css/images/bg-' . $color_array['schema'] . '.jpg) repeat; ';
                 } elseif (isset($color_array['repeat_background']) and $color_array['repeat_background'] == 'x') {
                     $retour .= 'background: url(css/images/bg-' . $color_array['schema'] . '.jpg) repeat-x; ';
                 } elseif (isset($color_array['repeat_background']) and $color_array['repeat_background'] == 'y') {
                     $retour .= 'background: url(css/images/bg-' . $color_array['schema'] . '.jpg) repeat-y; ';
                 } else {
                     $retour .= 'background: url(css/images/bg-' . $color_array['schema'] . '.jpg) no-repeat; ';
                 }
             }
             $retour .= 'background-color: ' . $color_array['content_background'] . '; }';
             $item = $this->_list->getNext();
         }
         $retour .= '   </style>' . "\n";
         $retour .= '   <!-- END Styles -->' . "\n" . LF;
     }
     $retour .= $this->_initDropDownMenus();
     return $retour;
 }
Example #2
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;
 }
Example #3
0
 protected function _getRestrictionTextAsHTML()
 {
     #      		$ref_user = $this->getRefUser();
     #      		$ref_iid = $this->getRefIID();
     $html = '';
     $restriction_array = array();
     $environment = $this->_environment;
     $converter = $environment->getTextConverter();
     $translator = $environment->getTranslationObject();
     $params = $environment->getCurrentParameterArray();
     $seltag_array = array();
     foreach ($params as $key => $value) {
         if (substr($key, 0, 6) == 'seltag') {
             // set seltag array
             $seltag_array[$key] = $value;
         }
     }
     if (!empty($seltag_array) or isset($params['selbuzzword']) or isset($params['selgroup']) or isset($params['seluser']) or isset($params['selinstitution']) or isset($params['seltopic']) or isset($params['search']) or isset($params['selstatus']) or isset($params['selactivatingstatus']) or isset($this->_activation_limit) or !empty($ref_user) and isset($params['mode']) and $params['mode'] == 'attached' or !empty($ref_iid) and isset($params['mode']) and $params['mode'] == 'attached' or isset($this->_additional_selects) && $this->_additional_selects) {
         /* TODO ref_user und ref_item migrieren, wenn klar ist, wofür
                  	if ( !empty($ref_user) ){
                     	$html_text ='<tr>'.LF;
                     	$html_text .='<td>'.LF;
                     	$html_text .= '<span class="infocolor">'.$this->_translator->getMessage('MODIFIED_ITEMS_LISTVIEW_SEPERATOR').': </span>';
                     	$html_text .='</td>'.LF;
                     	$html_text .='<td style="text-align:right;">'.LF;
                     	$ref_item = $this->getRefItem();
                     	$link_params = array();
                     	$link_params['iid'] = $ref_user;
                     	$title = ahref_curl($this->_environment->getCurrentContextID(),
                                         CS_USER_TYPE,
                                         'detail',
                                         $link_params,
                                         chunkText($this->_text_as_html_short($ref_item->getFullName()),15),
                                         '',
                                         '',
                                         $this->getFragment()
                                        );
                     	unset($link_params);
                     	$html_text .= '<span><a title="'.$this->_text_as_html_short($ref_item->getFullName()).'">'.$title.'</a></span>';
                     	$picture = '<img src="images/delete_restriction.gif" alt="x" border="0"/>';
                     	$new_params = $params;
                     	unset($new_params['ref_user']);
                     	unset($new_params['mode']);
                     	$html_text .= '&nbsp;'.ahref_curl($this->_environment->getCurrentContextID(),$this->_environment->getCurrentModule(),'index',$new_params,$picture,$this->_translator->getMessage('COMMON_DELETE_RESTRICTIONS')).LF;
                     	$html_text .='</td>'.LF;
                     	$html_text .='</tr>'.LF;
                     	$html .= $html_text;
                  	}
                  	if ( !empty($ref_iid) and !(isset($_GET['mode']) and $_GET['mode']=='formattach')){
                     	$html_text ='<tr>'.LF;
                     	$html_text .='<td>'.LF;
                     	$html_text .= '<span class="infocolor">'.$this->_translator->getMessage('ASSIGNED_ITEMS_LISTVIEW_SEPERATOR').': </span>';
                     	$html_text .='</td>'.LF;
                     	$html_text .='<td style="text-align:right;">'.LF;
                     	$ref_item = $this->getRefItem();
                     	$ref_item_type = $ref_item->getItemType();
                     	if($ref_item_type == CS_USER_TYPE){
                        		$link_title = $this->_text_as_html_short($ref_item->getFullName());
                     	} else {
                        		$link_title = $this->_text_as_html_short($ref_item->getTitle());
                     	}
                     	if ( $ref_item_type == CS_ANNOTATION_TYPE ) {
                       		$ref_item2 = $ref_item->getLinkedItem();
                       		$module = type2module($ref_item2->getItemType());
                       		$link_params = array();
                       		$link_params['iid'] = $ref_item2->getItemID();
                       		$title = ahref_curl($this->_environment->getCurrentContextID(),
                                           $module,
                                           'detail',
                                           $link_params,
                                           chunkText($link_title,20),
                                           '',
                                           '',
                                           $ref_item->getItemID()
                                          );
                       		unset($link_params);
                       		$html .= '</span>'.LF;
                    		} elseif ( $ref_item_type == CS_SECTION_TYPE ) {
                       		$ref_item2 = $ref_item->getLinkedItem();
                       		$link_params = array();
                       		$link_params['iid'] = $ref_item2->getItemID();
                       		$title = ahref_curl($this->_environment->getCurrentContextID(),
                                           CS_MATERIAL_TYPE,
                                           'detail',
                                           $link_params,
                                           chunkText($link_title,20),
                                           '',
                                           '',
                                           $ref_item->getItemID()
                                          );
                       		unset($link_params);
                       		$html .= '</span>'.LF;
                    		} elseif ( $ref_item_type == CS_DISCARTICLE_TYPE ) {
                       		$ref_item2 = $ref_item->getLinkedItem();
                       		$link_params = array();
                       		$link_params['iid'] = $ref_item2->getItemID();
                       		$title = ahref_curl($this->_environment->getCurrentContextID(),
                                           CS_DISCUSSION_TYPE,
                                           'detail',
                                           $link_params,
                                           chunkText($link_title,20),
                                           '',
                                           '',
                                           $ref_item->getItemID()
                                          );
                       		unset($link_params);
                       		$html .= '</span>'.LF;
                    		} else {
                       		$module = type2module($ref_item_type);
                       		$link_params = array();
                       		$link_params['iid'] = $ref_iid;
                       		$title = ahref_curl($this->_environment->getCurrentContextID(),
                                           $module,
                                           'detail',
                                           $link_params,
                                           chunkText($link_title,20),
                                           '',
                                           '',
                                           $this->getFragment()
                                          );
                       		unset($link_params);
                       		$html .= '</span>'.LF;
                    		}
                     	$html_text .= '<span><a title="'.$ref_item->getTitle().'">'.$title.'</a></span>';
                     	$picture = '<img src="images/delete_restriction.gif" alt="x" border="0"/>';
                     	$new_params = $params;
                     	unset($new_params['ref_iid']);
                     	unset($new_params['mode']);
                     	$html_text .= '&nbsp;'.ahref_curl($this->_environment->getCurrentContextID(),$this->_environment->getCurrentModule(),'index',$new_params,$picture,$this->_translator->getMessage('COMMON_DELETE_RESTRICTIONS')).LF;
                     	$html_text .='</td>'.LF;
                     	$html_text .='</tr>'.LF;
                     	$html .= $html_text;
                  	}
          END TODO ref_user und ref_item migrieren, wenn klar ist, wofür */
         include_once 'classes/views/cs_view.php';
         $parameters = array();
         $parameters['environment'] = $environment;
         $parameters['with_modifying_actions'] = 'no';
         $view_object = new cs_view($parameters);
         if (isset($params['search']) and !empty($params['search'])) {
             $params['search'] = $converter->sanitizeHTML($params['search']);
         }
         /*
         if ( isset($params['search']) and !empty($params['search']) ){
         	            	$new_params = $params;
         	            	unset($new_params['search']);
         	            	unset($new_params['selrestriction']);
         	      			$link_parameter_text = '';
         	      			if ( count($new_params) > 0 ) {
         		foreach ($new_params as $key => $parameter) {
         	            		   	$link_parameter_text .= '&'.$key.'='.$parameter;
         		}
         	}
         	$tmp_array = array();
         	$tmp_array['type'] = 'search';
         	$tmp_array['name'] = $view_object->_text_as_html_short(urldecode($params['search']));
         					$tmp_array['link_parameter'] = $link_parameter_text;
         					$restriction_array[] = $tmp_array;
         
         }
         */
         // additional restrictions
         $additional_restrictions = $this->getAdditionalRestrictionText();
         if (!empty($additional_restrictions)) {
             $restriction_array = array_merge($restriction_array, $additional_restrictions);
         }
         if (isset($params['selgroup']) and !empty($params['selgroup'])) {
             $new_params = $params;
             unset($new_params['selgroup']);
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $tmp_array = array();
             if ($params['selgroup'] == '-1') {
                 $tmp_array['name'] = $translator->getMessage('COMMON_NOT_LINKED');
             } else {
                 $group_manager = $environment->getGroupManager();
                 $group_item = $group_manager->getItem($params['selgroup']);
                 $tmp_array['name'] = $view_object->_text_as_html_short($group_item->getTitle());
             }
             $tmp_array['type'] = 'selgroup';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
         if (isset($params['seltopic']) and !empty($params['seltopic'])) {
             $new_params = $params;
             unset($new_params['seltopic']);
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $tmp_array = array();
             if ($params['seltopic'] == '-1') {
                 $tmp_array['name'] = $translator->getMessage('COMMON_NOT_LINKED');
             } else {
                 $topic_manager = $environment->getTopicManager();
                 $topic_item = $topic_manager->getItem($params['seltopic']);
                 $tmp_array['name'] = $view_object->_text_as_html_short($topic_item->getTitle());
             }
             $tmp_array['type'] = 'seltopic';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
         if (isset($params['selinstitution']) and !empty($params['selinstitution'])) {
             $new_params = $params;
             unset($new_params['selinstitution']);
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $tmp_array = array();
             if ($params['selinstitution'] == '-1') {
                 $tmp_array['name'] = $translator->getMessage('COMMON_NOT_LINKED');
             } else {
                 $institution_manager = $environment->getTopicManager();
                 $institution_item = $institution_manager->getItem($params['selinstitution']);
                 $tmp_array['name'] = $view_object->_text_as_html_short($institution_item->getTitle());
             }
             $tmp_array['type'] = 'selinstitution';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
         if (isset($params['selbuzzword']) and !empty($params['selbuzzword'])) {
             $new_params = $params;
             unset($new_params['selbuzzword']);
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $tmp_array = array();
             if ($params['selbuzzword'] == '-1') {
                 $tmp_array['name'] = $translator->getMessage('COMMON_NOT_LINKED');
             } else {
                 $buzzword_manager = $environment->getBuzzwordManager();
                 $buzzword_item = $buzzword_manager->getItem($params['selbuzzword']);
                 $tmp_array['name'] = $view_object->_text_as_html_short($buzzword_item->getTitle());
             }
             $tmp_array['type'] = 'selbuzzword';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
         if (isset($params['seluser']) and !empty($params['seluser'])) {
             $new_params = $params;
             unset($new_params['seluser']);
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $tmp_array = array();
             if ($params['seluser'] == '-1') {
                 $tmp_array['name'] = $translator->getMessage('COMMON_NOT_LINKED');
             } else {
                 $user_manager = $environment->getUserManager();
                 $user_item = $user_manager->getItem($params['seluser']);
                 $tmp_array['name'] = $view_object->_text_as_html_short($user_item->getTitle());
             }
             $tmp_array['type'] = 'seluser';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
         foreach ($params as $key => $value) {
             if (substr($key, 0, 7) == 'seltag_') {
                 // build link for disselect
                 $new_params = $params;
                 $link_parameter_text = '';
                 if (count($new_params) > 0) {
                     foreach ($new_params as $key_link => $parameter) {
                         if (substr($key, 7) != substr($key_link, 7)) {
                             $link_parameter_text .= '&' . $key_link . '=' . $parameter;
                         }
                     }
                 }
                 //set restriction
                 $tmp_array = array();
                 $tag_manager = $environment->getTagManager();
                 $tag_item = $tag_manager->getItem(substr($key, 7));
                 $tmp_array['name'] = $view_object->_text_as_html_short($tag_item->getTitle());
                 $tmp_array['type'] = 'seltag';
                 $tmp_array['link_parameter'] = $link_parameter_text;
                 $restriction_array[] = $tmp_array;
             }
         }
         /*
         if ( isset($params['seltag']) and !empty($params['seltag']) ){
         	$normal = false;
         	foreach($params as $key => $value) {
         		if(mb_stristr($key, 'seltag_') !== false) {
         			$normal = true;
         		}
         	}
         
         	if($normal === true) {
         		$i = 0;
         		while ( !isset($params['seltag_'.$i]) ){
         			$i++;
         		}
         		$new_params = $params;
         		unset($new_params['seltag_'.$i]);
         		unset($new_params['seltag']);
         		$link_parameter_text = '';
         		if ( count($new_params) > 0 ) {
         			foreach ($new_params as $key => $parameter) {
         				$link_parameter_text .= '&'.$key.'='.$parameter;
         			}
         		}
         		$tmp_array = array();
         		$tag_manager = $environment->getTagManager();
         		$tag_item = $tag_manager->getItem($params['seltag_'.$i]);
         		$tmp_array['name'] = $view_object->_text_as_html_short($tag_item->getTitle());
         		$tmp_array['type'] = 'seltag';
         		$tmp_array['link_parameter'] = $link_parameter_text;
         		$restriction_array[] = $tmp_array;
         	} else {
         		$new_params = $params;
         		unset($new_params['seltag']);
         		$link_parameter_text = '';
         		if ( count($new_params) > 0 ) {
         			foreach ($new_params as $key => $parameter) {
         				$link_parameter_text .= '&'.$key.'='.$parameter;
         			}
         		}
         		$tmp_array = array();
         		$tag_manager = $environment->getTagManager();
         		$tag_item = $tag_manager->getItem($params['seltag']);
         		$tmp_array['name'] = $view_object->_text_as_html_short($tag_item->getTitle());
         		$tmp_array['type'] = 'seltag';
         		$tmp_array['link_parameter'] = $link_parameter_text;
         		$restriction_array[] = $tmp_array;
         	}
         }
         */
         /*
         	         	if ( isset($params['selstatus']) and $params['selstatus'] != '-1' and $params['selstatus'] != '0' and !empty($params['selstatus']) and $environment->current_module == "todo" ){
         	            	$new_params = $params;
         	            	unset($new_params['selstatus']);
         	      			$link_parameter_text = '';
         	      			if ( count($new_params) > 0 ) {
         	         			foreach ($new_params as $key => $parameter) {
         	            		   	$link_parameter_text .= '&'.$key.'='.$parameter;
         	         			}
         	         		}
         	         		if (isset($params['selstatus']) and $params['selstatus'] == 1){
         	            		$status_text = $translator->getMessage('TODO_NOT_STARTED');
         	         		}elseif(isset($params['selstatus']) and $params['selstatus'] == 2){
         	            		$status_text = $translator->getMessage('TODO_IN_POGRESS');
         	         		}elseif(isset($params['selstatus']) and $params['selstatus'] == 3){
         	            		$status_text = $translator->getMessage('TODO_DONE');
         	         		}elseif(isset($params['selstatus']) and $params['selstatus'] == 4){
         	            		$status_text = $translator->getMessage('TODO_NOT_DONE');
         	         		}elseif(isset($params['selstatus']) and $params['selstatus'] != 0){
         	            		$context_item = $environment->getCurrentContextItem();
         	            		$todo_status_array = $context_item->getExtraToDoStatusArray();
         	            		$status_text = '';
         	            		if (isset($todo_status_array[$params['selstatus']])){
         	               			$status_text = $todo_status_array[$params['selstatus']];
         	            		}
         	         		}else{
         	            		$status_text = '';
         	         		}
         
         	       			$tmp_array['name'] = $status_text;
         	         		$tmp_array['type'] = 'selstatus';
         	 				$tmp_array['link_parameter'] = $link_parameter_text;
         					$restriction_array[] = $tmp_array;
         	         	}*/
         if (isset($params['selcolor']) and (!empty($params['selcolor']) or $environment->getCurrentModule() == 'date') and $params['selcolor'] != 2) {
             $new_params = $params;
             $new_params['selcolor'] = 2;
             $link_parameter_text = '';
             if (count($new_params) > 0) {
                 foreach ($new_params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $color_text = '';
             switch ('#' . $params['selcolor']) {
                 case '#999999':
                     $color_text = $translator->getMessage('DATE_COLOR_GREY');
                     break;
                 case '#CC0000':
                     $color_text = $translator->getMessage('DATE_COLOR_RED');
                     break;
                 case '#FF6600':
                     $color_text = $translator->getMessage('DATE_COLOR_ORANGE');
                     break;
                 case '#FFCC00':
                     $color_text = $translator->getMessage('DATE_COLOR_DEFAULT_YELLOW');
                     break;
                 case '#FFFF66':
                     $color_text = $translator->getMessage('DATE_COLOR_LIGHT_YELLOW');
                     break;
                 case '#33CC00':
                     $color_text = $translator->getMessage('DATE_COLOR_GREEN');
                     break;
                 case '#00CCCC':
                     $color_text = $translator->getMessage('DATE_COLOR_TURQUOISE');
                     break;
                 case '#3366FF':
                     $color_text = $translator->getMessage('DATE_COLOR_BLUE');
                     break;
                 case '#6633FF':
                     $color_text = $translator->getMessage('DATE_COLOR_DARK_BLUE');
                     break;
                 case '#CC33CC':
                     $color_text = $translator->getMessage('DATE_COLOR_PURPLE');
                     break;
                 default:
                     $color_text = $translator->getMessage('DATE_COLOR_UNKNOWN');
             }
             $tmp_array = array();
             $tmp_array['name'] = $color_text;
             $tmp_array['type'] = 'selcolor';
             $tmp_array['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $tmp_array;
         }
     }
     $current_context = $environment->getCurrentContextItem();
     if ($current_context->withActivatingContent()) {
         $activation_limit = $this->_list_parameter_arrray['sel_activating_status'];
         if ($activation_limit == 2) {
             $restriction = array('name' => '', 'type' => '', 'link_parameter' => '');
             $translator = $environment->getTranslationObject();
             // set name
             $restriction['name'] = $translator->getMessage('COMMON_SHOW_ONLY_ACTIVATED_ENTRIES');
             // set link parameter
             $params['selactivatingstatus'] = 1;
             $link_parameter_text = '';
             if (count($params) > 0) {
                 foreach ($params as $key => $parameter) {
                     $link_parameter_text .= '&' . $key . '=' . $parameter;
                 }
             }
             $restriction['link_parameter'] = $link_parameter_text;
             $restriction_array[] = $restriction;
         }
     }
     return $restriction_array;
 }
 public function getListContent()
 {
     include_once 'classes/cs_list.php';
     include_once 'classes/views/cs_view.php';
     $environment = $this->_environment;
     $context_item = $environment->getCurrentContextItem();
     $return = array();
     $last_selected_tag = '';
     $seltag_array = array();
     // Find current topic selection
     if (isset($_GET['seltag']) && $_GET['seltag'] == 'yes') {
         $i = 0;
         while (!isset($_GET['seltag_' . $i])) {
             $i++;
         }
         $seltag_array[] = $_GET['seltag_' . $i];
         $j = 0;
         while (isset($_GET['seltag_' . $i]) && $_GET['seltag_' . $i] != '-2') {
             if (!empty($_GET['seltag_' . $i])) {
                 $seltag_array[$i] = $_GET['seltag_' . $i];
                 $j++;
             }
             $i++;
         }
         $last_selected_tag = $seltag_array[$j - 1];
     }
     // Get data from database
     $user_manager = $environment->getUserManager();
     $user_manager->reset();
     $user_manager->setContextLimit($environment->getCurrentContextID());
     $user_manager->setUserLimit();
     $count_all = $user_manager->getCountAll();
     if (!empty($this->_list_parameter_arrray['ref_iid']) and $this->getViewMode() == 'attached') {
         $user_manager->setRefIDLimit($this->_list_parameter_arrray['ref_iid']);
     }
     if (!empty($this->_list_parameter_arrray['sort'])) {
         $user_manager->setSortOrder($this->_list_parameter_arrray['sort']);
     }
     if (!empty($this->_list_parameter_arrray['search'])) {
         $user_manager->setSearchLimit($this->_list_parameter_arrray['search']);
     }
     if (!empty($this->_list_parameter_arrray['selgroup'])) {
         $user_manager->setGroupLimit($this->_list_parameter_arrray['selgroup']);
     }
     if (!empty($this->_list_parameter_arrray['seltopic'])) {
         $user_manager->setTopicLimit($this->_list_parameter_arrray['seltopic']);
     }
     // Find current status selection
     if (isset($_GET['selstatus']) && $_GET['selstatus'] != 2 && $_GET['selstatus'] != '-2') {
         $selstatus = $_GET['selstatus'];
     } else {
         $selstatus = '';
     }
     if (!empty($selstatus)) {
         if ($selstatus == 11) {
             $user_manager->setUserInProjectLimit();
         } elseif ($selstatus == 12) {
             $user_manager->setcontactMOderatorInProjectLimit();
         } else {
             $user_manager->setStatusLimit($selstatus);
         }
     }
     if ($environment->inCommunityRoom()) {
         $current_user = $environment->getCurrentUser();
         if ($current_user->isUser()) {
             $user_manager->setVisibleToAllAndCommsy();
         } else {
             $user_manager->setVisibleToAll();
         }
     }
     if ($this->_list_parameter_arrray['interval'] > 0) {
         $user_manager->setIntervalLimit($this->_list_parameter_arrray['from'] - 1, $this->_list_parameter_arrray['interval']);
     }
     $user_manager->select();
     $list = $user_manager->get();
     $ids = $user_manager->getIDArray();
     $count_all_shown = count($ids);
     $this->_page_text_fragment_array['count_entries'] = $this->getCountEntriesText($this->_list_parameter_arrray['from'], $this->_list_parameter_arrray['interval'], $count_all, $count_all_shown);
     $this->_browsing_icons_parameter_array = $this->getBrowsingIconsParameterArray($this->_list_parameter_arrray['from'], $this->_list_parameter_arrray['interval'], $count_all_shown);
     $session = $this->_environment->getSessionItem();
     $session->setValue('cid' . $environment->getCurrentContextID() . '_user_index_ids', $ids);
     $id_array = array();
     $item = $list->getFirst();
     while ($item) {
         $id_array[] = $item->getItemID();
         $item = $list->getNext();
     }
     $noticed_manager = $environment->getNoticedManager();
     $noticed_manager->getLatestNoticedByIDArray($id_array);
     $noticed_manager->getLatestNoticedAnnotationsByIDArray($id_array);
     // prepare item array
     $item = $list->getFirst();
     $item_array = array();
     $params = array();
     $params['environment'] = $environment;
     $params['with_modifying_actions'] = false;
     $view = new cs_view($params);
     while ($item) {
         $phone = $item->getTelephone();
         $handy = $item->getCellularphone();
         $mail = '';
         if (!empty($phone)) {
             //TODO:
             //$phone = $converter->compareWithSearchText($phone);
             $phone = $view->_text_as_html_short($phone);
         }
         if (!empty($handy)) {
             //TODO
             //$handy = $converter->compareWithSearchText($handy);
             $handy = $view->_text_as_html_short($handy);
         }
         if ($item->isEmailVisible() || $this->_environment->getCurrentUser()->isModerator()) {
             $mail = $item->getEmail();
             //TODO:
             //$mail = $converter->compareWithSearchText($mail);
             $mail = $view->_text_as_html_short($mail);
         }
         $noticed_text = $this->_getItemChangeStatus($item);
         $item_array[] = array('iid' => $item->getItemID(), 'title' => $item->getFullname(), 'phone' => $phone, 'handy' => $handy, 'mail' => $mail, 'noticed' => $noticed_text);
         $item = $list->getNext();
     }
     // append return
     $return = array('items' => $item_array, 'count_all' => $count_all_shown);
     return $return;
 }
 function getInfoForHeaderAsHTML()
 {
     $retour = parent::getInfoForHeaderAsHTML();
     $retour .= $this->getStylesForHeaderAsHTML();
     return $retour;
 }