. */ namespace SP\Account; use SP\DataModel\AccountData; use SP\DataModel\AccountExtData; use SP\DataModel\AccountHistoryData; use SP\Mgmt\Groups\GroupAccountsUtil; defined('APP_ROOT') || die(); /** * Clase abstracta para definición de métodos comunes a las cuentas */ abstract class AccountBase { /** * Tiempo de expiración de la caché de ACLde usuarios/grupos de cuentas */ const CACHE_EXPIRE_TIME = 300; /** * @var AccountData|AccountExtData|AccountHistoryData */ protected $accountData; /** * @var int Id de la cuenta padre. */ private $accountParentId; /** * @var int Indica si la cuenta es un registro del histórico. */ private $accountIsHistory = 0; /** * Constructor * * @param AccountData $accountData */ public function __construct(AccountData $accountData = null) { $this->accountData = (null !== $accountData) ? $accountData : new AccountData(); } /** * @return int */ public function getAccountIsHistory() { return $this->accountIsHistory; } /** * @param int $accountIsHistory */ public function setAccountIsHistory($accountIsHistory) { $this->accountIsHistory = $accountIsHistory; } /** * @return int */ public function getAccountParentId() { return $this->accountParentId; } /** * @param int $accountParentId */ public function setAccountParentId($accountParentId) { $this->accountParentId = $accountParentId; } /** * @return AccountData|AccountExtData */ public function getAccountData() { return $this->accountData; } /** * Obtener los datos de una cuenta para mostrar la clave * Esta funcion realiza la consulta a la BBDD y devuelve los datos. */ protected abstract function getAccountPassData(); }