public function init() { if ($this->getParam("condense")) { Object\ClassDefinition\Data::setDropNullValues(true); Webservice\Data\Object::setDropNullValues(true); } $profile = $this->getParam("profiling"); if ($profile) { $startTs = microtime(true); } parent::init(); $this->disableViewAutoRender(); $this->service = new Webservice\Service(); // initialize json encoder by default, maybe support xml in the near future $this->encoder = new Webservice\JsonEncoder(); if ($profile) { $this->timeConsumedInit = round(microtime(true) - $startTs, 3) * 1000; } }
/** See parent class. * @param mixed $data * @param null $object * @return array|null */ public function getDiffDataForEditMode($data, $object = null) { $defaultData = parent::getDiffDataForEditMode($data, $object); $html = $defaultData[0]["value"]; $value = array(); $value["html"] = $html; $value["type"] = "html"; $defaultData[0]["value"] = $value; return $defaultData; }
/** * Checks if data is valid for current data field * * @param mixed $data * @param boolean $omitMandatoryCheck * @throws \Exception */ public function checkValidity($data, $omitMandatoryCheck = false) { if (!$omitMandatoryCheck && $this->getRegex() && strlen($data) > 0) { if (!preg_match("#" . $this->getRegex() . "#", $data)) { throw new Model\Element\ValidationException("Value in field [ " . $this->getName() . " ] doesn't match input validation '" . $this->getRegex() . "'"); } } parent::checkValidity($data, $omitMandatoryCheck); }
/** * @return string */ public function getQueryColumnType() { if ($this->getInteger()) { return "bigint(20)"; } if ($this->getDecimalPrecision()) { return "decimal(64, " . intval($this->getDecimalPrecision()) . ")"; } return parent::getQueryColumnType(); }
/** * @param $class * @return string */ public function getSetterCode($class) { $code = ""; $code .= parent::getSetterCode($class); return $code; }
/** * @param array|Object\ClassDefinition\Layout|Object\ClassDefinition\Data $def * @return void */ public function extractDataDefinitions($def) { if ($def instanceof Object\ClassDefinition\Layout) { if ($def->hasChilds()) { foreach ($def->getChilds() as $child) { $this->extractDataDefinitions($child); } } } if ($def instanceof Object\ClassDefinition\Data) { $this->addFieldDefinition($def->getName(), $def); } }
/** * @see Object\ClassDefinition\Data::getVersionPreview * @param Asset\Image $data * @return string */ public function getVersionPreview($data) { if ($data && $data->getType() == "asset" && $data->getData() instanceof Asset) { return '<img src="/admin/asset/get-video-thumbnail/id/' . $data->getData()->getId() . '/width/100/height/100/aspectratio/true" />'; } return parent::getVersionPreview($data); }
/** * @param $class * @return string */ public function getSetterCode($class) { $code = ""; $code .= parent::getSetterCode($class); foreach ($this->getFieldDefinitions() as $fd) { /** * @var $fd Object\ClassDefinition\Data */ $code .= $fd->getSetterCodeLocalizedfields($class); } return $code; }
/** * @param array|Object\ClassDefinition\Layout|Object\ClassDefinition\Data $def * @return void */ public function extractDataDefinitions($def) { if ($def instanceof Object\ClassDefinition\Layout) { if ($def->hasChilds()) { foreach ($def->getChilds() as $child) { $this->extractDataDefinitions($child); } } } if ($def instanceof Object\ClassDefinition\Data) { $existing = $this->getFieldDefinition($def->getName()); if ($existing && method_exists($existing, "addReferencedField")) { // this is especially for localized fields which get aggregated here into one field definition // in the case that there are more than one localized fields in the class definition // see also pimcore.object.edit.addToDataFields(); $existing->addReferencedField($def); } else { $this->addFieldDefinition($def->getName(), $def); } } }
/** * @param $data * @return static */ public static function __set_state($data) { $obj = parent::__set_state($data); $obj->configureOptions(); return $obj; }
/** * @param $data * @param null $object * @return mixed */ public function getDiffDataFromEditmode($data, $object = null) { $result = parent::getDiffDataFromEditmode($data, $object); \Logger::debug("bla"); return $result; }