eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\DateConverter::toFieldDefinition PHP Method

toFieldDefinition() public method

Converts field definition data in $storageDef into $fieldDef.
public toFieldDefinition ( StorageFieldDefinition $storageDef, eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDef )
$storageDef eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition
$fieldDef eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
    public function toFieldDefinition(StorageFieldDefinition $storageDef, FieldDefinition $fieldDef)
    {
        $fieldDef->fieldTypeConstraints->fieldSettings = new FieldSettings(array('defaultType' => $storageDef->dataInt1));
        // Building default value
        switch ($fieldDef->fieldTypeConstraints->fieldSettings['defaultType']) {
            case DateType::DEFAULT_CURRENT_DATE:
                $dateTime = new DateTime();
                $dateTime->setTime(0, 0, 0);
                $data = array('timestamp' => $dateTime->getTimestamp(), 'rfc850' => null);
                break;
            default:
                $data = null;
        }
        $fieldDef->defaultValue->data = $data;
    }

Usage Example

Beispiel #1
0
 /**
  * @covers \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\DateConverter::toFieldDefinition
  */
 public function testToFieldDefinitionDefaultCurrentDate()
 {
     $dateTime = new DateTime();
     $timestamp = $dateTime->setTime(0, 0, 0)->getTimestamp();
     $fieldDef = new PersistenceFieldDefinition();
     $storageDef = new StorageFieldDefinition(array('dataInt1' => DateType::DEFAULT_CURRENT_DATE));
     $this->converter->toFieldDefinition($storageDef, $fieldDef);
     self::assertInternalType('array', $fieldDef->defaultValue->data);
     self::assertCount(2, $fieldDef->defaultValue->data);
     self::assertNull($fieldDef->defaultValue->data['rfc850']);
     self::assertSame($timestamp, $fieldDef->defaultValue->data['timestamp']);
 }