Migration complete

This commit is contained in:
2026-06-23 19:24:38 +02:00
parent 279160c1cb
commit 64b26ef059
126 changed files with 8121 additions and 221 deletions

View File

@@ -10,11 +10,67 @@ use Filament\Panel;
use Illuminate\Contracts\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable;
/**
* Xenforo user custom model used for authentification.
*
* @property-read int $user_id
* @property-read string $username
* @property-read int $username_date
* @property-read int $username_date_visible
* @property-read string $email
* @property-read string $custom_title
* @property-read int $language_id
* @property-read int $style_id
* @property-read string $style_variation
* @property-read string $timezone
* @property-read int $visible
* @property-read int $activity_visible
* @property-read int $user_group_id
* @property-read array $secondary_group_ids
* @property-read int $display_style_group_id
* @property-read int $permission_combination_id
* @property-read int $message_count
* @property-read int $question_solution_count
* @property-read int $conversations_unread
* @property-read int $register_date
* @property-read int $last_activity
* @property-read int $last_summary_email_date
* @property-read int $trophy_points
* @property-read int $alerts_unviewed
* @property-read int $alerts_unread
* @property-read int $avatar_date
* @property-read int $avatar_width
* @property-read int $avatar_height
* @property-read int $avatar_highdpi
* @property-read int $avatar_optimized
* @property-read string $gravatar
* @property-read string $user_state
* @property-read string $security_lock
* @property-read int $is_moderator
* @property-read int $is_admin
* @property-read int $is_banned
* @property-read int $reaction_score
* @property-read int $vote_score
* @property-read int $warning_points
* @property-read int $is_staff
* @property-read string $secret_key
* @property-read int $privacy_policy_accepted
* @property-read int $terms_accepted
*
* Custom properties.
*
* @property-read int $rhpz_entry_count
*/
class XenForoUser extends XenForoData implements Authenticatable, Authorizable, FilamentUser, HasName {
use \Illuminate\Foundation\Auth\Access\Authorizable;
/**
* Permissions identifier array.
* @var array|null
*/
public ?array $permissions = null;
public function getAuthIdentifierName(): string
{
return 'user_id';
@@ -51,9 +107,9 @@ class XenForoUser extends XenForoData implements Authenticatable, Authorizable,
}
/**
* Get XenForo avatar if it exist.
* Get XenForo avatar if it exists.
*
* @param string $xfSize
* @param string $xfSize s/m/...
*
* @return string|null
*/
@@ -70,6 +126,14 @@ class XenForoUser extends XenForoData implements Authenticatable, Authorizable,
return null;
}
/**
* Custom can function. Check XF user permissions.
*
* @param string $permissionGroup
* @param string $permissionName
*
* @return bool
*/
public function _can(string $permissionGroup, string $permissionName): bool
{
if( !$this->permissions ){
@@ -105,4 +169,9 @@ class XenForoUser extends XenForoData implements Authenticatable, Authorizable,
{
return 'user_id';
}
public function validState(): bool
{
return $this->user_state === 'valid';
}
}