/** * @param String $custom_separator * @param Boolean $highlightTheso * * @return mixed */ public function get_serialized_values($custom_separator = false, $highlightTheso = false) { if ($this->databox_field->is_multi() === true) { if ($custom_separator !== false) { $separator = $custom_separator; } else { $separator = $this->databox_field->get_separator(); } return self::serialize_value($this->values, $separator, $highlightTheso); } else { foreach ($this->values as $value) { /* @var $value Caption_Field_Value */ if ($highlightTheso) { return $value->highlight_thesaurus(); } else { return $value->getValue(); } } } return null; }
/** * @return bool */ public function is_multi() { return $this->databox_field->is_multi(); }
public static function create(Application $app, databox_field $databox_field, record_Interface $record, $value, Vocabulary\ControlProvider\ControlProviderInterface $vocabulary = null, $vocabularyId = null) { $connbas = $databox_field->get_connection(); /** * Check consistency */ if (!$databox_field->is_multi()) { try { $field = $record->get_caption()->get_field($databox_field->get_name()); $values = $field->get_values(); $caption_field_value = array_pop($values); /* @var $value \caption_Field_Value */ $caption_field_value->set_value($value); if (!$vocabulary || !$vocabularyId) { $caption_field_value->removeVocabulary(); } else { $caption_field_value->setVocab($vocabulary, $vocabularyId); } return $caption_field_value; } catch (\Exception $e) { } } $sql_ins = 'INSERT INTO metadatas (id, record_id, meta_struct_id, value, VocabularyType, VocabularyId) VALUES (null, :record_id, :field, :value, :VocabType, :VocabId)'; $params = [':record_id' => $record->get_record_id(), ':field' => $databox_field->get_id(), ':value' => $value, ':VocabType' => $vocabulary ? $vocabulary->getType() : null, ':VocabId' => $vocabulary ? $vocabularyId : null]; $stmt_ins = $connbas->prepare($sql_ins); $stmt_ins->execute($params); $stmt_ins->closeCursor(); $meta_id = $connbas->lastInsertId(); $caption_field_value = new self($app, $databox_field, $record, $meta_id); $caption_field_value->update_cache_value($value); $record->get_caption()->delete_data_from_cache(); $databox_field->delete_data_from_cache(); $caption_field_value->delete_data_from_cache(); return $caption_field_value; }
public function testIs_multi() { $this->assertFalse($this->object_mono->is_multi()); $this->assertTrue($this->object_multi->is_multi()); }
/** * Retrieve informations about one \databox metadata field * * @param \databox_field $databox_field * * @return array */ private function list_databox_metadata_field_properties(\databox_field $databox_field) { return ['id' => $databox_field->get_id(), 'namespace' => $databox_field->get_tag()->getGroupName(), 'source' => $databox_field->get_tag()->getTagname(), 'tagname' => $databox_field->get_tag()->getName(), 'name' => $databox_field->get_name(), 'labels' => ['fr' => $databox_field->get_label('fr'), 'en' => $databox_field->get_label('en'), 'de' => $databox_field->get_label('de'), 'nl' => $databox_field->get_label('nl')], 'separator' => $databox_field->get_separator(), 'thesaurus_branch' => $databox_field->get_tbranch(), 'type' => $databox_field->get_type(), 'indexable' => $databox_field->is_indexable(), 'multivalue' => $databox_field->is_multi(), 'readonly' => $databox_field->is_readonly(), 'required' => $databox_field->is_required()]; }