public function testCreateProperty()
 {
     $this->assertFalse($this->objDataContainer->hasProperty('new'));
     $objProperty = $this->objDataContainer->createProperty('new');
     $this->assertTrue($this->objDataContainer->hasProperty('new'));
     $this->assertEquals($objProperty, $this->objDataContainer->getProperty('new'));
     $this->assertEquals($GLOBALS['TL_DCA']['tl_test'], $this->objDataContainer->getDefinition());
 }
Esempio n. 2
0
 /**
  * @param $strProperty
  * @param $value
  * @return string
  */
 public function getPropertyValue($strProperty, $value)
 {
     if (!$this->definition->hasProperty($strProperty)) {
         return '';
     }
     $definition = $this->definition->getProperty($strProperty);
     $value = deserialize($value);
     if (is_array($value)) {
         $value = implode(', ', $value);
     } elseif ($definition->getWidgetType() == 'checkbox' && !$this->definition->get('eval/multiple')) {
         $value = $this->translate('/MSC/' . (strlen($value) ? 'yes' : 'no'));
     } elseif (in_array($this->definition->get('eval/rgxp'), array('date', 'datim', 'time'))) {
         $format = $this->definition->get('eval/rgxp');
         $value = \Date::parse($GLOBALS['TL_CONFIG'][$format], $value);
     } elseif ($this->definition->get(sprintf('reference/%s/0', $value))) {
         $value = $this->definition->get(sprintf('reference/%s/0', $value));
     } elseif ($this->definition->get(sprintf('reference/%s', $value))) {
         $value = $this->definition->get(sprintf('reference/%s', $value));
     } elseif ($this->definition->get('eval/isAssociative') || array_is_assoc($this->definition->get('options'))) {
         $value = $this->definition->get('options/' . $value);
     } elseif ($this->definition->get('eval/foreignKey')) {
         $arrForeignKey = explode('.', $this->definition->get('eval/foreignKey'), 2);
         $objLabel = \Database::getInstance()->prepare("SELECT " . $arrForeignKey[1] . " AS value FROM " . $arrForeignKey[0] . " WHERE id=?")->limit(1)->execute($value);
         if ($objLabel->numRows) {
             $value = $objLabel->value;
         }
     }
     if ($strProperty == 'tstamp') {
         $value = date($GLOBALS['TL_CONFIG']['datimFormat'], $value);
     }
     return $value;
 }