fix #1095 : task archive crashed

This commit is contained in:
jygaulier
2013-02-12 16:23:28 +01:00
parent afd3c8bbdc
commit 4f7be4e207
2 changed files with 23 additions and 8 deletions

View File

@@ -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);

View File

@@ -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));