function value($new = null) { $value = parent::value($new); if ($this->_checked) { return doubleval($value); } else { return $value; } }
function value($new_value = null) { $value = (bool) parent::value($new_value); if ($this->_checked) { return (bool) $value; } else { return $value; } }
function value($new = null) { $value = parent::value($new); if (!isset($this->_file_content)) { if (!$value && $this->is_file()) { $filename = $this->file(null, true); $this->_file_content = file_get_contents($filename); } else { $this->_file_content = $value; } } return $this->_file_content; }
/** * @param Entity $entity * @param array $properties * @param \Closure $file_save_callback Функция для обработки подключенных к объекту файлов * @return array */ protected function export($entity, $properties = [], $file_save_callback = null) { // Новые сведения об объекте $result = []; $result['proto'] = $entity->proto(); if ($entity->author()) { $result['author'] = $entity->author(); } if ($entity->order() < Entity::MAX_ORDER) { $result['order'] = $entity->order(); } if ($entity->created() > 0) { $result['created'] = $entity->created(); } if ($entity->updated() > 0) { $result['updated'] = $entity->updated(); } // value if (!$entity->is_default_value()) { $result['value'] = $entity->value(); } // file if (!$entity->is_default_file()) { if ($entity->is_file()) { $file_attache = $entity->file(); if (is_array($file_attache)) { // Загрузка файла if ($file_save_callback instanceof \Closure) { if (!($result['file'] = $file_save_callback($entity, $file_attache))) { unset($result['file']); } } } else { $result['file'] = basename($file_attache); } } else { // файла нет, но нужно отменить наследование файла $result['file'] = null; } } if (!$entity->is_default_logic()) { $result['logic'] = true; } if ($entity->is_draft()) { $result['is_draft'] = true; } if ($entity->is_hidden()) { $result['is_hidden'] = true; } if ($entity->is_mandatory()) { $result['is_mandatory'] = true; } // if ($entity->is_property()) $result['is_property'] = $entity->is_property(); if ($entity->is_relative()) { $result['is_relative'] = true; } if ($entity->is_link()) { $result['is_link'] = true; } if (is_array($properties)) { $result['properties'] = $properties; } /** @var Entity $child */ foreach ($entity->children() as $name => $child) { if ($child->is_property()) { $result['properties'][$name] = $this->export($child, isset($properties[$name]['properties']) ? $properties[$name]['properties'] : [], $file_save_callback); } } if (empty($result['properties'])) { unset($result['properties']); } return $result; }