コード例 #1
0
ファイル: unicodeTest.php プロジェクト: nlegoff/Phraseanet
 /**
  * @covers \unicode::substituteCtrlCharacters
  */
 public function testSubstituteCtrlCharacters()
 {
     $string = 'Hello' . chr(30) . 'World !';
     $this->assertEquals('Hello+World !', $this->object->substituteCtrlCharacters($string, '+'));
     $string = 'Hello' . chr(9) . 'World !';
     $this->assertEquals($string, $this->object->substituteCtrlCharacters($string, '+'));
 }
コード例 #2
0
ファイル: MetadataBag.php プロジェクト: luisbrito/Phraseanet
 /**
  * {@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;
 }