/** * @covers \unicode::parseDate */ public function testparseDate() { $this->assertEquals('2012/00/00 00:00:00', $this->object->parseDate('2012')); $this->assertEquals('2012/01/00 00:00:00', $this->object->parseDate('2012-01')); $this->assertEquals('2012/03/15 00:00:00', $this->object->parseDate('2012-03-15')); $this->assertEquals('2012/03/15 12:00:00', $this->object->parseDate('2012-03-15 12')); $this->assertEquals('2012/03/15 12:11:00', $this->object->parseDate('2012-03-15 12:11')); $this->assertEquals('2012/03/15 12:12:12', $this->object->parseDate('2012-03-15 12-12-12')); }
/** * {@inheritdoc} */ public function toMetadataArray(\databox_descriptionStructure $metadatasStructure) { $metas = []; $unicode = new \unicode(); foreach ($metadatasStructure as $databox_field) { if ('' === $databox_field->get_tag()->getTagname()) { // skipping fields without sources continue; } if ($this->containsKey($databox_field->get_tag()->getTagname())) { if ($databox_field->is_multi()) { $values = $this->get($databox_field->get_tag()->getTagname())->getValue()->asArray(); $tmp = []; foreach ($values as $value) { foreach (\caption_field::get_multi_values($value, $databox_field->get_separator()) as $v) { $tmp[] = $v; } } $values = array_unique($tmp); foreach ($values as $value) { $value = $unicode->substituteCtrlCharacters($value, ' '); $value = $unicode->toUTF8($value); if ($databox_field->get_type() == 'date') { $value = $unicode->parseDate($value); } $metas[] = ['meta_struct_id' => $databox_field->get_id(), 'value' => $value, 'meta_id' => null]; } } else { $value = $this->get($databox_field->get_tag()->getTagname())->getValue()->asString(); $value = $unicode->substituteCtrlCharacters($value, ' '); $value = $unicode->toUTF8($value); if ($databox_field->get_type() == 'date') { $value = $unicode->parseDate($value); } $metas[] = ['meta_struct_id' => $databox_field->get_id(), 'value' => $value, 'meta_id' => null]; } } } unset($unicode); return $metas; }