ModuleProperty_EntityProperty
Package | application.modules.property |
---|---|
Inheritance | class ModuleProperty_EntityProperty » EntityORM » Entity » LsObject |
Since | 2.0 |
Source Code | /application/classes/modules/property/entity/Property.entity.class.php |
Сущность дополнительного поля
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
_aData | array | Данные сущности, на этот массив мапятся методы set* и get* | Entity |
_aManyToManyRelations | array | Объекты связей many_to_many | EntityORM |
_aOriginalData | array | Массив исходных данных сущности | EntityORM |
aBehaviors | array | Список поведений | LsObject |
aFields | array | Список полей таблицы сущности | EntityORM |
aRelations | ModuleProperty_EntityProperty | ||
aRelationsData | array | Список данных связей | EntityORM |
aValidateErrors | array | Список ошибок валидации в разрезе полей, например | Entity |
aValidateRules | ModuleProperty_EntityProperty | ||
bIsNew | bool | Флаг новая или нет сущность | EntityORM |
sPrimaryKey | null|string | Имя поля с первичным ключом в БД | Entity |
sValidateScenario | string | Сценарий валиадции полей | Entity |
Public Methods
Method | Description | Defined By |
---|---|---|
Add() | Добавление сущности в БД | EntityORM |
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
Delete() | Удаление сущности из БД | EntityORM |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
Init() | Метод инициализации сущности, вызывается при её создании | Entity |
Reload() | Обновляет данные сущности из БД | EntityORM |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
Save() | Сохранение сущности в БД (если новая то создается) | EntityORM |
ShowColumns() | Возвращает список полей сущности | EntityORM |
ShowPrimaryIndex() | Возвращает primary индекс сущности | EntityORM |
Update() | Обновление сущности в БД | EntityORM |
ValidateCheckCode() | ModuleProperty_EntityProperty | |
ValidateCheckDescription() | ModuleProperty_EntityProperty | |
ValidateCheckParamsRaw() | ModuleProperty_EntityProperty | |
ValidateCheckTitle() | ModuleProperty_EntityProperty | |
ValidateCheckType() | ModuleProperty_EntityProperty | |
ValidateCheckValidateRulesRaw() | ModuleProperty_EntityProperty | |
_SetIsNew() | Установка флага "новая" | EntityORM |
_Validate() | Выполняет валидацию данных сущности | Entity |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | EntityORM |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | Установка связей | EntityORM |
__get() | Используется для доступа к связанным данным типа MANY_TO_MANY | EntityORM |
_addValidateError() | Добавляет для поля ошибку в список ошибок | Entity |
_clearValidateErrors() | Очищает список всех ошибок или для конкретного поля | Entity |
_createValidators() | Создает и возвращает список валидаторов для сущности | Entity |
_getData() | Получает массив данных сущности | Entity |
_getDataArray() | Рекурсивное преобразование объекта и вложенных объектов в массив | Entity |
_getDataFields() | Возвращает данные для списка полей сущности | EntityORM |
_getDataOne() | Возвращает данные по конкретному полю | Entity |
_getField() | Возвращает поле в нужном формате | EntityORM |
_getFields() | Возвращает список полей сущности | EntityORM |
_getManyToManyRelationEntity() | Возвращает сущность связи при many to many | EntityORM |
_getOriginalData() | Возвращает все данные сущности | EntityORM |
_getOriginalDataOne() | Возвращает "оригинальные" данные по конкретному полю | EntityORM |
_getPrimaryKey() | Получение primary key из схемы таблицы | EntityORM |
_getPrimaryKeyValue() | Получение значения primary key | EntityORM |
_getRelations() | Возвращает список связей | EntityORM |
_getRelationsData() | Возвращает список данный связей | EntityORM |
_getTreeParentKey() | Получение имени родительского поля. Используется в связи RELATION_TYPE_TREE | EntityORM |
_getTreeParentKeyValue() | Получение значения родителя. Используется в связи RELATION_TYPE_TREE | EntityORM |
_getValidateError() | Возвращает первую ошибку для поля или среди всех полей | Entity |
_getValidateErrors() | Возвращает список ошибок для всех полей или одного поля | Entity |
_getValidateRules() | Возвращает список правил для валидации | Entity |
_getValidateScenario() | Возвращает текущий сценарий валидации | Entity |
_getValidators() | Возвращает список валидаторов с учетом текущего сценария | Entity |
_hasValidateErrors() | Проверяет есть ли ошибки валидации | Entity |
_isNew() | Новая или нет сущность | EntityORM |
_setData() | Устанавливает данные сущности | EntityORM |
_setDataSafe() | Устанавливает данные, но только те, которые есть в $this->aValidateRules | Entity |
_setManyToManyRelations() | Устанавливает вспомогательные объекты для связи many_to_many | EntityORM |
_setRelationsData() | Устанавливает данные связей | EntityORM |
_setValidateScenario() | Устанавливает сценарий валидации | Entity |
getAncestors() | Для сущности со связью RELATION_TYPE_TREE возвращает список всех предков | EntityORM |
getChildren() | Для сущности со связью RELATION_TYPE_TREE возвращает список прямых потомков | EntityORM |
getDescendants() | Для сущности со связью RELATION_TYPE_TREE возвращает список всех потомков | EntityORM |
getParam() | Возвращает конкретный параметр поля | ModuleProperty_EntityProperty |
getParams() | Возвращает список дополнительных параметров поля | ModuleProperty_EntityProperty |
getParamsEscape() | Возвращает экранированный список параметров | ModuleProperty_EntityProperty |
getParent() | Для сущности со связью RELATION_TYPE_TREE возвращает предка | EntityORM |
getSaveFileDir() | ModuleProperty_EntityProperty | |
getTypeTitle() | Возвращает описание типа поля | ModuleProperty_EntityProperty |
getUrlAdminRemove() | Возвращает URL админки для редактирования поля | ModuleProperty_EntityProperty |
getUrlAdminUpdate() | Возвращает URL админки для редактирования поля | ModuleProperty_EntityProperty |
getValidateRuleOne() | Возвращает конкретное правило валидации | ModuleProperty_EntityProperty |
getValidateRules() | Возвращает правила валидации поля | ModuleProperty_EntityProperty |
getValidateRulesEscape() | Возвращает экранированный список правил валидации | ModuleProperty_EntityProperty |
resetRelationsData() | Сбрасывает данные необходимой связи | EntityORM |
setAncestors() | Для сущности со связью RELATION_TYPE_TREE устанавливает предков | EntityORM |
setChildren() | Для сущности со связью RELATION_TYPE_TREE устанавливает потомков | EntityORM |
setDescendants() | Для сущности со связью RELATION_TYPE_TREE устанавливает потомков | EntityORM |
setParams() | Устанавливает список дополнительных параметров поля | ModuleProperty_EntityProperty |
setParent() | Для сущности со связью RELATION_TYPE_TREE устанавливает предка | EntityORM |
setValidateRules() | Устанавливает правила валидации поля | ModuleProperty_EntityProperty |
Protected Methods
Method | Description | Defined By |
---|---|---|
PrepareBehaviors() | Инициализация поведений | LsObject |
_Method() | Проксирует вызов методов в модуль сущности | EntityORM |
afterDelete() | Хук, срабатывает после удаления сущности | EntityORM |
afterSave() | Хук, срабатывает после сохранением сущности | EntityORM |
beforeDelete() | Выполняется перед удалением сущности | ModuleProperty_EntityProperty |
beforeSave() | Выполняется перед сохранением сущности | ModuleProperty_EntityProperty |
Property Details
aRelations
property
protected $aRelations;
aValidateRules
property
protected $aValidateRules;
Method Details
ValidateCheckCode()
method
public void ValidateCheckCode()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#74 (show)
public function ValidateCheckCode()
{
if ($oProperty = $this->Property_GetPropertyByTargetTypeAndCode($this->getTargetType(), $this->getCode())) {
if ($this->getId() != $oProperty->getId()) {
return 'Код поля должен быть уникальным';
}
}
return true;
}
ValidateCheckDescription()
method
public void ValidateCheckDescription()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#90 (show)
public function ValidateCheckDescription()
{
$this->setDescription(htmlspecialchars($this->getDescription()));
return true;
}
ValidateCheckParamsRaw()
method
public void ValidateCheckParamsRaw()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#114 (show)
public function ValidateCheckParamsRaw()
{
$aParamsRaw = $this->getParamsRaw();
/**
* Валидация зависит от типа
*/
$oValue = Engine::GetEntity('ModuleProperty_EntityValue', array(
'property_type' => $this->getType(),
'property_id' => $this->getId(),
'target_type' => $this->getTargetType(),
'target_id' => $this->getId()
));
$oValueType = $oValue->getValueTypeObject();
$aParams = $oValueType->prepareParamsRaw($aParamsRaw);
$this->setParams($aParams);
return true;
}
ValidateCheckTitle()
method
public void ValidateCheckTitle()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#84 (show)
public function ValidateCheckTitle()
{
$this->setTitle(htmlspecialchars($this->getTitle()));
return true;
}
ValidateCheckType()
method
public void ValidateCheckType()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#66 (show)
public function ValidateCheckType()
{
if ($this->Property_IsAllowPropertyType($this->getType())) {
return true;
}
return 'Неверный тип поля';
}
ValidateCheckValidateRulesRaw()
method
public void ValidateCheckValidateRulesRaw()
|
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#96 (show)
public function ValidateCheckValidateRulesRaw()
{
$aRulesRaw = $this->getValidateRulesRaw();
/**
* Валидация зависит от типа
*/
$oValue = Engine::GetEntity('ModuleProperty_EntityValue', array(
'property_type' => $this->getType(),
'property_id' => $this->getId(),
'target_type' => $this->getTargetType(),
'target_id' => $this->getId()
));
$oValueType = $oValue->getValueTypeObject();
$aRules = $oValueType->prepareValidateRulesRaw($aRulesRaw);
$this->setValidateRules($aRules);
return true;
}
beforeDelete()
method
protected bool beforeDelete()
| ||
{return} | bool |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#168 (show)
protected function beforeDelete()
{
if ($bResult = parent::beforeDelete()) {
/**
* Сначала удаляем стандартные значения
*/
$this->Property_RemoveValueByPropertyId($this->getId());
/**
* Удаляем значения тегов
*/
$this->Property_RemoveValueTagByPropertyId($this->getId());
/**
* Удаляем значения селектов
*/
$this->Property_RemoveValueSelectByPropertyId($this->getId());
/**
* Удаляем сами варианты селектов
*/
$this->Property_RemoveSelectByPropertyId($this->getId());
}
return $bResult;
}
Выполняется перед удалением сущности
beforeSave()
method
protected bool beforeSave()
| ||
{return} | bool |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#137 (show)
protected function beforeSave()
{
if ($bResult = parent::beforeSave()) {
if ($this->_isNew()) {
$this->setDateCreate(date("Y-m-d H:i:s"));
$oValue = Engine::GetEntity('ModuleProperty_EntityValue', array(
'property_type' => $this->getType(),
'property_id' => $this->getId(),
'target_type' => $this->getTargetType(),
'target_id' => $this->getId()
));
$oValueType = $oValue->getValueTypeObject();
/**
* Выставляем дефолтные значения параметров
*/
$this->setParams($oValueType->getParamsDefault());
/**
* Выставляем дефолтные значения параметров валидации
*/
$this->setValidateRules($oValueType->getValidateRulesDefault());
}
}
return $bResult;
}
Выполняется перед сохранением сущности
getParam()
method
public null getParam($sName $sName)
| ||
$sName | $sName | |
{return} | null |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#286 (show)
public function getParam($sName)
{
$aParams = $this->getParams();
return isset($aParams[$sName]) ? $aParams[$sName] : null;
}
Возвращает конкретный параметр поля
getParams()
method
public array|mixed getParams()
| ||
{return} | array|mixed |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#248 (show)
public function getParams()
{
$aData = @unserialize($this->_getDataOne('params'));
if (!$aData) {
$aData = array();
}
return $aData;
}
Возвращает список дополнительных параметров поля
getParamsEscape()
method
public array getParamsEscape()
| ||
{return} | array |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#262 (show)
public function getParamsEscape()
{
$aParams = $this->getParams();
func_htmlspecialchars($aParams);
return $aParams;
}
Возвращает экранированный список параметров
getSaveFileDir()
method
public void getSaveFileDir($sPostfix='')
| ||
$sPostfix |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#325 (show)
public function getSaveFileDir($sPostfix = '')
{
$sPostfix = trim($sPostfix, '/');
return Config::Get('path.uploads.base') . '/property/' . $this->getTargetType() . '/' . $this->getType() . '/' . date('Y/m/d/H/') . ($sPostfix ? "{$sPostfix}/" : '');
}
getTypeTitle()
method
public mixed getTypeTitle()
| ||
{return} | mixed |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#317 (show)
public function getTypeTitle()
{
/**
* TODO: использовать текстовку из языкового
*/
return $this->getType();
}
Возвращает описание типа поля
getUrlAdminRemove()
method
public string getUrlAdminRemove()
| ||
{return} | string |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#307 (show)
public function getUrlAdminRemove()
{
return Router::GetPath('admin/properties/' . $this->getTargetType() . '/remove/' . $this->getId());
}
Возвращает URL админки для редактирования поля
getUrlAdminUpdate()
method
public string getUrlAdminUpdate()
| ||
{return} | string |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#297 (show)
public function getUrlAdminUpdate()
{
return Router::GetPath('admin/properties/' . $this->getTargetType() . '/update/' . $this->getId());
}
Возвращает URL админки для редактирования поля
getValidateRuleOne()
method
public null|mixed getValidateRuleOne(string $sRule)
| ||
$sRule | string | |
{return} | null|mixed |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#224 (show)
public function getValidateRuleOne($sRule)
{
$aData = $this->getValidateRules();
if (isset($aData[$sRule])) {
return $aData[$sRule];
}
return null;
}
Возвращает конкретное правило валидации
getValidateRules()
method
public array getValidateRules()
| ||
{return} | array |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#196 (show)
public function getValidateRules()
{
$aData = @unserialize($this->_getDataOne('validate_rules'));
if (!$aData) {
$aData = array();
}
return $aData;
}
Возвращает правила валидации поля
getValidateRulesEscape()
method
public array getValidateRulesEscape()
| ||
{return} | array |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#210 (show)
public function getValidateRulesEscape()
{
$aRules = $this->getValidateRules();
func_htmlspecialchars($aRules);
return $aRules;
}
Возвращает экранированный список правил валидации
setParams()
method
public void setParams($aParams $aParams)
| ||
$aParams | $aParams |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#274 (show)
public function setParams($aParams)
{
$this->_aData['params'] = @serialize($aParams);
}
Устанавливает список дополнительных параметров поля
setValidateRules()
method
public void setValidateRules(array $aRules)
| ||
$aRules | array |
Source Code: /application/classes/modules/property/entity/Property.entity.class.php#238 (show)
public function setValidateRules($aRules)
{
$this->_aData['validate_rules'] = @serialize($aRules);
}
Устанавливает правила валидации поля