Author: david
Date: Thu Feb 16 16:01:54 2012
New Revision: 10927
Log:
Add digital object search fields
Modified:
trunk/lib/QubitSearchPdo.class.php
Modified: trunk/lib/QubitSearchPdo.class.php
==============================================================================
--- trunk/lib/QubitSearchPdo.class.php Thu Feb 16 15:19:43 2012 (r10926)
+++ trunk/lib/QubitSearchPdo.class.php Thu Feb 16 16:01:54 2012 (r10927)
@@ -138,7 +138,9 @@
io.*,
i18n.*,
slug.slug,
- pubs.status_id as publication_status_id';
+ pubs.status_id as publication_status_id,
+ do.id as digi_id,
+ do.media_type_id as digi_type_id';
$sql .= ' FROM '.QubitInformationObject::TABLE_NAME.' io';
$sql .= ' JOIN '.QubitInformationObjectI18n::TABLE_NAME.' i18n
ON io.id = i18n.id';
@@ -146,6 +148,8 @@
ON io.id = slug.object_id';
$sql .= ' JOIN '.QubitStatus::TABLE_NAME.' pubs
ON io.id = pubs.object_id';
+ $sql .= ' LEFT JOIN '.QubitDigitalObject::TABLE_NAME.' do
+ ON io.id = do.information_object_id';
$sql .= ' WHERE io.parent_id = :parentId
AND pubs.type_id = :pubStatusTypeId';
$sql .= ' ORDER BY io.lft';
@@ -320,31 +324,30 @@
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('levelOfDescriptionId',
null));
}
- self::getInstance()->getEngine()->getIndex()->addDocument($doc);
-
- return;
-
// Digital object information
- if ($resource->getDigitalObject())
+ if (isset($resource->digi_id))
{
$doc->addField(Zend_Search_Lucene_Field::Keyword('hasDigitalObject',
'true'));
- $doc->addField(Zend_Search_Lucene_Field::Keyword('do_mediaTypeId',
$digitalObject->mediaTypeId));
+ $doc->addField(Zend_Search_Lucene_Field::Keyword('do_mediaTypeId',
$digi_type_id));
+
+ $criteria = new Criteria;
+ $criteria->add(DigitalObject::PARENT_ID, $resource->digi_id);
+ $criteria->add(DigitalObject::USAGE_ID, QubitTerm::THUMBNAIL_ID);
- if (null !== $digitalObject->thumbnail)
+ if (null !== $thumbnail = QubitDigitalObject::getOne())
{
-
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('do_thumbnail_FullPath',
$digitalObject->thumbnail->getFullPath()));
+
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('do_thumbnail_FullPath',
$thumbnail->getFullPath()));
}
-
- // $doc->addField(Zend_Search_Lucene_Field::Unstored('mediatype',
$digitalObject->getMediaType()->getName(array('culture' => $language))));
- // $doc->addField(Zend_Search_Lucene_Field::Unstored('filename',
$digitalObject->getName()));
- // $doc->addField(Zend_Search_Lucene_Field::Unstored('mimetype',
$digitalObject->mimeType));
}
else
{
$doc->addField(Zend_Search_Lucene_Field::Keyword('hasDigitalObject',
'false'));
}
+ self::getInstance()->getEngine()->getIndex()->addDocument($doc);
+ return;
+
// Store dates as serialized array
$dates = array();
foreach ($resource->getDates() as $date)
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.