Esempio n. 1
0
 public function testStringCleanup()
 {
     $testString = 'Re: FW: Test Sample - One äöü ßü abc 3 – Testing again';
     $clearedValue = Query::clearString($testString);
     $textAllDataField = sprintf('%s %s', $testString, $clearedValue);
     $result = implode(Query::DELIMITER, array_unique(explode(Query::DELIMITER, $textAllDataField)));
     $this->assertEquals($testString, $result);
 }
Esempio n. 2
0
 /**
  * @param array|string $fieldValue
  * @return array|string
  */
 protected function filterTextFieldValue($fieldValue)
 {
     if (is_string($fieldValue)) {
         $fieldValue = Query::clearString($fieldValue);
     } elseif (is_array($fieldValue)) {
         foreach ($fieldValue as $key => $value) {
             $fieldValue[$key] = Query::clearString($value);
         }
     }
     return $fieldValue;
 }
Esempio n. 3
0
 /**
  * Set value for meta fields by type
  *
  * @param string $alias
  * @param array  $objectData
  * @param array  $fieldConfig
  * @param mixed  $value
  * @param bool   $isArray
  *
  * @return array
  */
 protected function setDataValue($alias, $objectData, $fieldConfig, $value, $isArray = false)
 {
     if ($value) {
         //check if field have target_fields parameter
         $targetFields = isset($fieldConfig['target_fields']) ? $fieldConfig['target_fields'] : [$fieldConfig['name']];
         if ($fieldConfig['target_type'] != Query::TYPE_TEXT) {
             foreach ($targetFields as $targetField) {
                 if ($isArray) {
                     $objectData[$fieldConfig['target_type']][$targetField][] = $value;
                 } else {
                     $objectData[$fieldConfig['target_type']][$targetField] = $value;
                 }
             }
         } else {
             foreach ($targetFields as $targetField) {
                 if (!isset($objectData[$fieldConfig['target_type']][$targetField])) {
                     $objectData[$fieldConfig['target_type']][$targetField] = '';
                 }
                 $objectData[$fieldConfig['target_type']][$targetField] .= sprintf(' %s ', $value);
             }
             $textAllDataField = '';
             if (isset($objectData[$fieldConfig['target_type']][Indexer::TEXT_ALL_DATA_FIELD])) {
                 $textAllDataField = $objectData[$fieldConfig['target_type']][Indexer::TEXT_ALL_DATA_FIELD];
             }
             $clearedValue = Query::clearString($value);
             $textAllDataField .= sprintf(' %s %s ', $value, $clearedValue);
             $objectData[$fieldConfig['target_type']][Indexer::TEXT_ALL_DATA_FIELD] = implode(Query::DELIMITER, array_unique(explode(Query::DELIMITER, $textAllDataField)));
             $objectData[$fieldConfig['target_type']] = array_map('trim', $objectData[$fieldConfig['target_type']]);
         }
     }
     return $objectData;
 }