diff --git a/lib/classes/mail.class.php b/lib/classes/mail.class.php index 59bd8d00c0..ab04900fad 100644 --- a/lib/classes/mail.class.php +++ b/lib/classes/mail.class.php @@ -255,8 +255,7 @@ class mail $mail->ConfirmReadingTo = $reading_confirm_to; } - $mail->MsgHTML(strip_tags($body)); -// $mail->MsgHTML(p4string::cleanTags($body)); + $mail->MsgHTML(strip_tags($body, '

')); foreach ($files as $f) { diff --git a/lib/classes/module/prod.class.php b/lib/classes/module/prod.class.php index ac3d52fed7..4c6757d98a 100644 --- a/lib/classes/module/prod.class.php +++ b/lib/classes/module/prod.class.php @@ -49,7 +49,7 @@ class module_prod 'sbas_id' => $sbas_id ); - foreach($user->ACL()->get_granted_base(array(), array($databox->get_sbas_id())) as $coll) + foreach ($user->ACL()->get_granted_base(array(), array($databox->get_sbas_id())) as $coll) { $selected = ($searchSet && isset($searchSet->bases) && @@ -75,12 +75,19 @@ class module_prod else $dates[$id] = array('sbas' => array($sbas_id), 'fieldname' => $name); } + + if (isset($fields[$name])) + { + $fields[$name]['sbas'][] = $sbas_id; + } else { - if (isset($fields[$name])) - $fields[$name]['sbas'][] = $sbas_id; - else - $fields[$name] = array('sbas' => array($sbas_id), 'fieldname' => $name, 'id' => $id); + $fields[$name] = array( + 'sbas' => array($sbas_id) + , 'fieldname' => $name + , 'type' => $meta->get_type() + , 'id' => $id + ); } } diff --git a/lib/classes/searchEngine/adapter/phrasea/engine.class.php b/lib/classes/searchEngine/adapter/phrasea/engine.class.php index 4123f26a1b..965eb33c4a 100644 --- a/lib/classes/searchEngine/adapter/phrasea/engine.class.php +++ b/lib/classes/searchEngine/adapter/phrasea/engine.class.php @@ -56,7 +56,7 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract /** * - * @var boolean + * @var searchEngine_options */ protected $options = false; @@ -142,6 +142,8 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract */ public function set_options(searchEngine_options $options) { + $this->options = $options; + $this->opt_search_type = (int) $options->get_search_type(); $this->opt_bases = $options->get_bases(); $this->opt_fields = $options->get_fields(); @@ -394,34 +396,37 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract $total_time = 0; + $sort = ''; + + if($this->options->get_sortby()) + { + switch($this->options->get_sortord()) + { + case searchEngine_options::SORT_MODE_ASC: + $sort = '+'; + break; + case searchEngine_options::SORT_MODE_DESC: + default: + $sort = '-'; + break; + } + $sort .= '0' . $this->options->get_sortby(); + } + foreach ($this->queries as $sbas_id => $qry) { - if ($this->opt_search_type == 1) - { - $this->results[$sbas_id] = phrasea_query2( - $session->get_ses_id() - , $sbas_id - , $this->colls[$sbas_id] - , $this->arrayq[$sbas_id] - , $registry->get('GV_sit') - , (string) $session->get_usr_id() - , false - , PHRASEA_MULTIDOC_REGONLY - ); - } - else - { - $this->results[$sbas_id] = phrasea_query2( - $session->get_ses_id() - , $sbas_id - , $this->colls[$sbas_id] - , $this->arrayq[$sbas_id] - , $registry->get('GV_sit') - , (string) $session->get_usr_id() - , false - , PHRASEA_MULTIDOC_DOCONLY - ); - } + $this->results[$sbas_id] = phrasea_query2( + $session->get_ses_id() + , $sbas_id + , $this->colls[$sbas_id] + , $this->arrayq[$sbas_id] + , $registry->get('GV_sit') + , (string) $session->get_usr_id() + , false + , $this->opt_search_type == 1 ? PHRASEA_MULTIDOC_REGONLY : PHRASEA_MULTIDOC_DOCONLY + , $sort + ); + $total_time += $this->results[$sbas_id]['time_all']; if ($this->results[$sbas_id])