diff --git a/lib/classes/record/adapter.class.php b/lib/classes/record/adapter.class.php index c6cbbfae6a..e2682cfa36 100644 --- a/lib/classes/record/adapter.class.php +++ b/lib/classes/record/adapter.class.php @@ -2045,7 +2045,8 @@ class record_adapter implements record_Interface, cache_cacheableInterface $appbox = appbox::get_instance(\bootstrap::getCore()); - $sql = 'SELECT record_id + if ($appbox->get_session()->get_usr_id()) { + $sql = 'SELECT record_id FROM regroup g INNER JOIN (record r INNER JOIN collusr c @@ -2058,11 +2059,22 @@ class record_adapter implements record_Interface, cache_cacheableInterface ON (g.rid_child = r.record_id AND g.rid_parent = :record_id) ORDER BY g.ord ASC, dateadd ASC, record_id ASC'; - $params = array( - ':GV_site' => $appbox->get_registry()->get('GV_sit') - , ':usr_id' => $appbox->get_session()->get_usr_id() - , ':record_id' => $this->get_record_id() - ); + $params = array( + ':GV_site' => $appbox->get_registry()->get('GV_sit') + , ':usr_id' => $appbox->get_session()->get_usr_id() + , ':record_id' => $this->get_record_id() + ); + } else { + $sql = 'SELECT record_id + FROM regroup g + INNER JOIN record r + ON (g.rid_child = r.record_id AND g.rid_parent = :record_id) + ORDER BY g.ord ASC, dateadd ASC, record_id ASC'; + + $params = array( + ':record_id' => $this->get_record_id() + ); + } $stmt = $this->get_databox()->get_connection()->prepare($sql); $stmt->execute($params); diff --git a/lib/classes/task/period/archive.class.php b/lib/classes/task/period/archive.class.php index eceb750b0e..3c2a64662f 100755 --- a/lib/classes/task/period/archive.class.php +++ b/lib/classes/task/period/archive.class.php @@ -1625,6 +1625,7 @@ class task_period_archive extends task_abstract $metadatasStructure = $databox->get_meta_structure(); $metadatas = $this->getIndexByFieldName($metadatasStructure, $media->getEntity()->getMetadatas()); + $metaFields = null; if ($captionFile !== null && true === $this->filesystem->exists($captionFile)) { $metaFields = $this->readXMLForDatabox($metadatasStructure, $captionFile); @@ -1639,8 +1640,9 @@ class task_period_archive extends task_abstract $story->substitute_subdef('document', $media); $story->set_metadatas($metadatas->toMetadataArray($metadatasStructure), true); - $story->set_metadatas($metaFields->toMetadataArray($metadatasStructure), true); - + if ($metaFields) { + $story->set_metadatas($metaFields->toMetadataArray($metadatasStructure), true); + } $story->set_binary_status(databox_status::operation_or($stat0, $stat1)); $story->rebuild_subdefs(); $story->reindex(); @@ -1690,6 +1692,7 @@ class task_period_archive extends task_abstract $metadatas = $this->getIndexByFieldName($metadatasStructure, $media->getEntity()->getMetadatas()); + $metaFields = array(); if ($captionFile !== null && true === $this->filesystem->exists($captionFile)) { $metaFields = $this->readXMLForDatabox($metadatasStructure, $captionFile); $captionStatus = $this->parseStatusBit(@simplexml_load_file($captionFile));