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.

Reply via email to