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])