Ejemplo n.º 1
0
 /**
  * Liefert die Schlagwoerter mit dem richtigen Typ.
  * 
  * @param Opus_Document $document
  * @return array
  */
 public function getFieldValues($document)
 {
     $values = parent::getFieldValues($document);
     $subjects = array();
     foreach ($values as $value) {
         if ($value->getType() == $this->__subjectType) {
             $subjects[] = $value;
         }
     }
     return $subjects;
 }
Ejemplo n.º 2
0
 public function testGetFieldValues()
 {
     $form = new Admin_Form_Document_MultiSubForm('Admin_Form_Document_Title', 'TitleSub', new Application_Form_Validate_MultiSubForm_RepeatedLanguages());
     $document = new Opus_Document(146);
     $values = $form->getFieldValues($document);
     $this->assertEquals(2, count($values));
     $this->assertTrue($values[0] instanceof Opus_Title);
     $this->assertEquals('sub', $values[0]->getType());
 }
Ejemplo n.º 3
0
 /**
  * Liefert Array mit Haupttiteln des Dokuments.
  *
  * Sorgt dafuer, dass der Titel in der Dokumentensprache zuerst im Array steht.
  *
  * @param Opus_Document $document
  * @return array
  */
 public function getFieldValues($document)
 {
     $values = parent::getFieldValues($document);
     $doclang = $document->getLanguage();
     $sortedValues = array();
     foreach ($values as $index => $value) {
         if ($value->getLanguage() == $doclang) {
             $sortedValues[] = $value;
             unset($values[$index]);
             break;
         }
     }
     return array_merge($sortedValues, $values);
 }