. * */ namespace SP; defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo')); /** * Class AccountUtil con utilidades para la gestión de cuentas * * @package SP */ class AccountUtil { /** * Obtener los datos de usuario y modificador de una cuenta. * * @param int $accountId con el Id de la cuenta * @return false|object con el id de usuario y modificador. */ public static function getAccountRequestData($accountId) { $query = 'SELECT account_userId,' . 'account_userEditId,' . 'account_name,' . 'customer_name ' . 'FROM accounts ' . 'LEFT JOIN customers ON account_customerId = customer_id ' . 'WHERE account_id = :id LIMIT 1'; $data['id'] = $accountId; $queryRes = DB::getResults($query, __FUNCTION__, $data); if ($queryRes === false) { return false; } return $queryRes; } /** * Obtiene el listado con el nombre de los usuaios de una cuenta. * * @param int $accountId con el Id de la cuenta * @return false|array con los nombres de los usuarios ordenados */ public static function getAccountUsersName($accountId) { $query = 'SELECT user_name ' . 'FROM accUsers ' . 'JOIN usrData ON accuser_userId = user_id ' . 'WHERE accuser_accountId = :id'; $data['id'] = $accountId; $queryRes = DB::getResults($query, __FUNCTION__, $data); if ($queryRes === false) { return false; } if (!is_array($queryRes)) { return false; } foreach ($queryRes as $users) { $usersName[] = $users->user_name; } sort($usersName, SORT_STRING); return $usersName; } /** * Obtener los datos de todas las cuentas * * @return array * @throws SPException */ public static function getAccountsData() { $query = 'SELECT account_id,' . 'account_name,' . 'account_categoryId,' . 'account_customerId,' . 'account_login,' . 'account_url,' . 'account_pass,' . 'account_IV,' . 'account_notes ' . 'FROM accounts'; DB::setReturnArray(); $queryRes = DB::getResults($query, __FUNCTION__, $data); if ($queryRes === false) { throw new SPException(SPException::SP_CRITICAL, _('No se pudieron obtener los datos de las cuentas')); } return $queryRes; } /** * Devolver el nombre de la cuenta a partir del Id * * @param int $accountId El Id de la cuenta * @return string|bool */ public static function getAccountNameById($accountId) { $query = 'SELECT account_name FROM accounts WHERE account_id = :id LIMIT 1'; $data['id'] = $accountId; $queryRes = DB::getResults($query, __FUNCTION__, $data); return ($queryRes !== false) ? $queryRes->account_name : false; } }