private function matchValueArgument(PropertyValue $propertyValue, $propertystring, $valuestring) { if ($propertyValue->getPropertyTypeID() === '_wpg') { $matches = array(); preg_match_all('/\\[\\[([^\\[\\]]*)\\]\\]/u', $valuestring, $matches); $objects = $matches[1]; if (count($objects) == 0) { if (trim($valuestring) !== '') { $this->addDataValue($propertystring, $valuestring); } } else { foreach ($objects as $object) { $this->addDataValue($propertystring, $object); } } } elseif (trim($valuestring) !== '') { $this->addDataValue($propertystring, $valuestring); } // $value = \SMW\DataValueFactory::getInstance()->newDataValueByProperty( $property->getDataItem(), $valuestring ); // if (!$value->isValid()) continue; }