public function getRawData($row) { if (isset($this->entity) && (isset($this->field) && $this->entity->hasField($this->field))) { return $this->entity->felder[$this->field]->getValue(); } else { return 0; } }
/** * Vergleicht zwei Objekte und speichert die Abweichungen in der Historie * @param $obj * @param BaseEntity $alterDs * @return bool */ protected function feldAenderungen($obj, BaseEntity $alterDs) { // TODO: Kann man eigentlich auslagern if ($this->id <= 0) { return false; } // TODO: Watch-List welche Felder überwacht werden sollen $result = false; foreach ($obj->felder as $feld) { /** @var ModelField $feld */ if ($feld->isWritable() && $alterDs->hasField($feld->name) && $feld->toString() !== $alterDs->felder[$feld->name]->toString()) { $result = true; Historie::wertAenderung($obj, $feld->description, $alterDs->felder[$feld->name]->toString(), $feld->toString()); } } return $result; }
/** * @param string|array $match * @param BaseEntity $entity * @param Control $controlContainer * @param $vars * @param $useControl * @return mixed */ private function getReplacement($match, $entity, $controlContainer, $vars, $useControl) { if ($match === 'controls') { // Unter-Controls ausgeben return $controlContainer->renderChildren(); } elseif (is_array($match)) { if (array_key_exists($match[0], $vars)) { // Zusammengesetzter Wert $variable = $match[0]; $property = $match[1]; return $vars[$variable]->{$property}; } elseif (Configuration::get($match[0] . '.' . $match[1]) !== null) { // Konfigurations-Wert return Configuration::get($match[0] . '.' . $match[1]); } } elseif (array_key_exists($match, $vars)) { // Ein Wert im Variablen-Array return $this->getWertFromVars($match, $vars); } elseif ($entity !== null && $match === $entity->primaryKey) { // Primärschlüssel des Entity return $entity->id; } elseif ($controlContainer !== null && $controlContainer->get($match) !== null) { // Control ausgeben [nur HTML] return $controlContainer->get($match)->toHtml(); } elseif ($entity !== null && $entity->hasField($match)) { // String-Repräsentation eines Felds [oder das Control] return $this->getWertFromEntity($match, $entity, $useControl); } elseif ($entity !== null && $entity->getParserText($match) !== '') { // Text aus dem Entity return $entity->getParserText($match); } return ''; }