ModuleWall_EntityWall

Package modules.wall
Inheritance class ModuleWall_EntityWall » Entity » LsObject
Since 1.0
Source Code /classes/modules/wall/entity/Wall.entity.class.php
Сущность записи на стене

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aData array Данные сущности, на этот массив мапятся методы set* и get* Entity
aValidateErrors array Список ошибок валидации в разрезе полей, например Entity
aValidateRules array Определяем правила валидации ModuleWall_EntityWall
sPrimaryKey null|string Имя поля с первичным ключом в БД Entity
sValidateScenario string Сценарий валиадции полей Entity

Public Methods

Hide inherited methods

MethodDescriptionDefined By
GetPidWall() Возвращает родительскую запись ModuleWall_EntityWall
Init() Инициализация ModuleWall_EntityWall
ValidatePid() Валидация родительского сообщения ModuleWall_EntityWall
ValidateTimeLimit() Проверка на ограничение по времени ModuleWall_EntityWall
_Validate() Выполняет валидацию данных сущности Entity
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля Entity
__construct() Если передать в конструктор ассоциативный массив свойств и их значений, то они автоматом загрузятся в сущность Entity
_addValidateError() Добавляет для поля ошибку в список ошибок Entity
_clearValidateErrors() Очищает список всех ошибок или для конкретного поля Entity
_createValidators() Создает и возвращает список валидаторов для сущности Entity
_getData() Получает массив данных сущности Entity
_getDataArray() Рекурсивное преобразование объекта и вложенных объектов в массив Entity
_getDataOne() Возвращает данные по конкретному полю Entity
_getPrimaryKey() Получение первичного ключа сущности (ключ, а не значение!) Entity
_getPrimaryKeyValue() Возвращает значение первичного ключа/поля Entity
_getValidateError() Возвращает первую ошибку для поля или среди всех полей Entity
_getValidateErrors() Возвращает список ошибок для всех полей или одного поля Entity
_getValidateScenario() Возвращает текущий сценарий валидации Entity
_getValidators() Возвращает список валидаторов с учетом текущего сценария Entity
_hasValidateErrors() Проверяет есть ли ошибки валидации Entity
_setData() Устанавливает данные сущности Entity
_setValidateScenario() Устанавливает сценарий валидации Entity
getUrlWall() Возвращает URL стены ModuleWall_EntityWall
getWallUser() Возвращает пользователя, которому принадлежит стена ModuleWall_EntityWall
isAllowDelete() Проверка на возможность удаления сообщения ModuleWall_EntityWall

Property Details

aValidateRules property
protected array $aValidateRules;

Определяем правила валидации

Method Details

GetPidWall() method
public ModuleWall_EntityWall|null GetPidWall()
{return} ModuleWall_EntityWall|null
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#83 (show)
public function GetPidWall() {
    if (
$this->getPid()) {
        return 
$this->Wall_GetWallById($this->getPid());
    }
    return 
null;
}

Возвращает родительскую запись

Init() method
public void Init()
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#38 (show)
public function Init() {
    
parent::Init();
    
$this->aValidateRules[]=array('text','string','max'=>Config::Get('module.wall.text_max'),'min'=>Config::Get('module.wall.text_min'),'allowEmpty'=>false,'on'=>array('','add'));
}

Инициализация

ValidatePid() method
public bool|string ValidatePid(string $sValue, array $aParams)
$sValue string Проверяемое значение
$aParams array Параметры
{return} bool|string
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#64 (show)
public function ValidatePid($sValue,$aParams) {
    if (!
$sValue) {
        
$this->setPid(null);
        return 
true;
    } elseif (
$oParentWall=$this->GetPidWall()) {
        
/**
         * Если отвечаем на сообщение нужной стены и оно корневое, то все ОК
         */
        
if ($oParentWall->getWallUserId()==$this->getWallUserId() and !$oParentWall->getPid()) {
            return 
true;
        }
    }
    return 
$this->Lang_Get('wall_add_pid_error');
}

Валидация родительского сообщения

ValidateTimeLimit() method
public bool|string ValidateTimeLimit(string $sValue, array $aParams)
$sValue string Проверяемое значение
$aParams array Параметры
{return} bool|string
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#49 (show)
public function ValidateTimeLimit($sValue,$aParams) {
    if (
$oUser=$this->User_GetUserById($this->getUserId())) {
        if (
$this->ACL_CanAddWallTime($oUser,$this)) {
            return 
true;
        }
    }
    return 
$this->Lang_Get('wall_add_time_limit');
}

Проверка на ограничение по времени

getUrlWall() method
public string getUrlWall()
{return} string
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#118 (show)
public function getUrlWall() {
    return 
$this->getWallUser()->getUserWebPath().'wall/';
}

Возвращает URL стены

getWallUser() method
public ModuleUser_EntityUser|null getWallUser()
{return} ModuleUser_EntityUser|null
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#107 (show)
public function getWallUser() {
    if (!
$this->_getDataOne('wall_user')) {
        
$this->_aData['wall_user']=$this->User_GetUserById($this->getWallUserId());
    }
    return 
$this->_getDataOne('wall_user');
}

Возвращает пользователя, которому принадлежит стена

isAllowDelete() method
public bool isAllowDelete()
{return} bool
Source Code: /classes/modules/wall/entity/Wall.entity.class.php#94 (show)
public function isAllowDelete() {
    if (
$oUserCurrent=$this->User_GetUserCurrent()) {
        if (
$oUserCurrent->getId()==$this->getWallUserId() or $oUserCurrent->isAdministrator()) {
            return 
true;
        }
    }
    return 
false;
}

Проверка на возможность удаления сообщения