a-blog cms PHP API Reference

UserRepository
in package

ユーザーのリポジトリ

Table of Contents

Methods

countEntriesByUserIds()  : array<int, int>
指定したユーザー ID に紐づくエントリー数をまとめて集計する
exists()  : bool
ユーザーが存在するかチェック
findPrimaryAdmin()  : array<string, mixed>|null
指定ブログの主たる管理者ユーザーレコードを取得
inLoginScopeWhere()  : SQL_Where
「どこでもログイン」が有効なユーザー、または指定ブログに所属するユーザーに絞り込むWHERE句を生成する。 ログイン・パスワード再設定・ユーザー切り替えなど、ブログ横断ログインを考慮する必要がある箇所で 共通利用し、同じ条件の重複実装によるドリフトを防ぐ。
selectLoginScopeAccount()  : array<string, mixed>|null
inLoginScopeWhere() で引いた候補から、対象のユーザーを1件に決める。

Methods

countEntriesByUserIds()

指定したユーザー ID に紐づくエントリー数をまとめて集計する

public countEntriesByUserIds(array<string|int, int> $userIds) : array<int, int>
Parameters
$userIds : array<string|int, int>

集計対象のユーザー ID 配列

Return values
array<int, int> —

ユーザー ID をキー、エントリー数を値とする連想配列。エントリーを持たないユーザーは含まれない

exists()

ユーザーが存在するかチェック

public exists(int $userId[, int|null $blogId = null ]) : bool
Parameters
$userId : int

ユーザーID

$blogId : int|null = null

ブログID(指定された場合、そのブログに属するかもチェック)

Return values
bool —

存在する場合true

findPrimaryAdmin()

指定ブログの主たる管理者ユーザーレコードを取得

public findPrimaryAdmin(int $blogId) : array<string, mixed>|null

指定された $blogId に所属する管理者のうち、user_status = 'open' かつ user_login_expire が今日以降の有効なユーザーから、user_id が最小のレコードを返す (最も古くから登録されている管理者)。該当ユーザーが存在しない場合は null を返す。

プレビュー共有 URL など、ルートブログの代表管理者を取得したい用途では 呼び出し側で RBID(ルートブログ ID)を渡す。

Parameters
$blogId : int

対象ブログの ID

Return values
array<string, mixed>|null

inLoginScopeWhere()

「どこでもログイン」が有効なユーザー、または指定ブログに所属するユーザーに絞り込むWHERE句を生成する。 ログイン・パスワード再設定・ユーザー切り替えなど、ブログ横断ログインを考慮する必要がある箇所で 共通利用し、同じ条件の重複実装によるドリフトを防ぐ。

public inLoginScopeWhere(int $blogId) : SQL_Where
Parameters
$blogId : int

絞り込み対象のブログID

Return values
SQL_Where

selectLoginScopeAccount()

inLoginScopeWhere() で引いた候補から、対象のユーザーを1件に決める。

public selectLoginScopeAccount(array<int, array<string, mixed>> $rows, int $blogId) : array<string, mixed>|null

どこでもログインのユーザーは他ブログにも同じメールアドレスで存在しうる(メールアドレスの重複 検査はブログ単位のため)。指定ブログ所属のユーザーを優先し、それでも1件に決まらなければ 取り違えを避けて null を返す(パスワードログインが複数一致を拒否するのと同じ扱い)。

Parameters
$rows : array<int, array<string, mixed>>
$blogId : int
Return values
array<string, mixed>|null

        
On this page

Search results