Helper
in package
Table of Contents
Properties
- $cacheField : AdapterInterface
- $deleteField : Field
- extract()後の削除フィールドを一時保存
- $Get : Field
- $Post : Field
- $Q : Field
- $appSalt : string|null
- アプリの固定ソルト
- $currentSalt : string|null
- 現在のソルト
- $isForceV1Build : bool
- 強制的にV1ビルドを行うかどうかのフラグ
- $isV2Module : bool
- V2モジュールかどうか判定用のフラグ
- $managedDomainsCache : array<string|int, string>|null
- 管理ドメインリスト(キャッシュ)
- $mediaDeliveryUrl : string
- メディアの配信URL
- $mimeTypeValidator : MimeTypeValidator
- MIMEタイプ検証クラス
- $previousSalt : string|null
- 1つ前のソルト
Methods
- __construct() : mixed
- Constructor
- addCsrfToken() : string
- CSRFトークンをFromに付与
- addSecurityHeader() : mixed
- セキュリティヘッダー
- backgroundRedirect() : mixed
- すぐにリダイレクトし、同一プロセスのバックグラウンドで処理を実行
- camelize() : string
- checkCsrfToken() : bool
- CSRFトークンのチェック
- clientCacheHeader() : void
- セキュリティヘッダーを追加
- convertRelativeUrlsToAbsolute() : string
- HTML内の相対URLを絶対URLに変換
- createCsrfToken() : string
- CSRFトークンを生成
- csrfTokenExists() : bool
- CSRFトークンの存在チェック
- decrypt() : string
- deleteField() : void
- カスタムフィールドの削除
- deleteFieldCache() : mixed
- カスタムフィールドキャッシュの削除
- download() : never
- ファイルダウンロード
- encrypt() : string
- exceptionArray() : array<string|int, string|int>
- 例外情報を連想配列に変換
- extract() : Field_Validation
- POSTデータからデータの抜き出し
- fixAliasPath() : string
- 管理画面でテンプレート直で書かれているパスを、エイリアスを含んだURLに修正
- flushCache() : mixed
- genPass() : string
- パスワードジェネレータ
- getAppSalt() : string
- アプリの固定ソルトを取得
- getCurrentSalt() : string
- 現在のソルトを取得
- getDeleteField() : Field
- extract()後の削除フィールドを取得
- getEncryptIv() : string
- getHttpHeader() : string
- ToDo: リファクタリング
- getInheritedThemes() : array<string|int, string>
- 指定されたテーマの継承テーマ・システムテーマすべてのテーマの配列を取得
- getJsModules() : array<string|int, mixed>
- getMailTxt() : string
- メールテンプレートの解決
- getMailTxtFromTxt() : string
- getPreviousSalt() : string
- 1つ前のソルトを取得
- getTagsFromString() : array<string|int, string>
- タグの配列化
- getUriObject() : Field
- URIオブジェクトの取得
- isAuthorizedAjaxRequest() : bool
- 許可されたajaxアクセスか判定(どのようなtpl指定であっても許可する)
- isForceV1Build() : bool
- 強制的にV1ビルドを行うか判定
- isLocalPrivateStorage() : bool
- プライベートストレージの設定がローカルかどうか
- isLocalPublicStorage() : bool
- パブリックストレージの設定がローカルかどうか
- isManagedDomain() : bool
- 指定されたドメインが管理ドメインかどうかを判定
- isSafeUrl() : bool
- a-blog cms で管理しているドメインのURLかチェックする
- isV2Module() : bool
- V2モジュールとして実行中か判定
- loadBlogFulltext() : string
- ブログのフルテキストを取得
- loadCategoryFulltext() : string
- カテゴリのフルテキストを取得
- loadEntryFulltext() : string
- エントリーのフルテキストを取得
- loadField() : Field
- ブログID, カテゴリーID, エントリーID,ユーザーIDの いずれか指定されたカスタムフィールドをFieldオブジェクトで返す
- loadUserFulltext() : string
- ユーザーのフルテキストを取得
- logLockPost() : mixed
- mailConfig() : mixed
- メール設定の取得
- parseMarkdown() : string
- マークダウン文字列を解析する
- replaceDeliveryUrl() : string
- メディアの配信先URLを書き換え
- replaceDeliveryUrlAll() : string
- メディアの配信先URLを書き換え(全て)
- resolveUrl() : string
- V2モジュール、V2APIビルド時に、URLを絶対URLに変換 それ以外はそのままのURLを返す
- responseJson() : mixed
- saveCache() : mixed
- saveField() : bool
- カスタムフィールドの保存
- saveFulltext() : void
- フルテキストの保存
- setAppSalt() : void
- アプリ全体で使用するSaltを更新・設定
- setForceV1Build() : void
- 強制的にV1ビルドを行うか設定
- setSafeHeadersWithoutCache() : void
- キャッシュ無効で安全なレスポンスヘッダーを組み立てます。
- setV2Module() : void
- V2モジュールとして実行中か設定
- toAbsoluteUrl() : string
- 絶対URLに変換
- uploadAssetDirectory() : void
- ローカルのディレクトリをS3などのリモートストレージにアップロード
- validateFileUpload() : void
- ファイルアップロードを検証
- validateLockPost() : bool
- getManagedDomains() : array<string|int, string>
- 管理ドメインのリストを取得(キャッシュあり)
- isUrlFromManagedDomain() : bool
- 指定URLが管理ドメインからのものかどうかを判定
- getEncryptKey() : string
- 暗号化キーを取得
- isRelativeUrl() : bool
- URLが相対URLかどうかを判定
Properties
$cacheField
protected
AdapterInterface
$cacheField
$deleteField
extract()後の削除フィールドを一時保存
protected
Field
$deleteField
$Get
protected
Field
$Get
$Post
protected
Field
$Post
$Q
protected
Field
$Q
$appSalt
アプリの固定ソルト
private
string|null
$appSalt
= null
$currentSalt
現在のソルト
private
string|null
$currentSalt
= null
$isForceV1Build
強制的にV1ビルドを行うかどうかのフラグ
private
bool
$isForceV1Build
= false
$isV2Module
V2モジュールかどうか判定用のフラグ
private
bool
$isV2Module
= false
$managedDomainsCache
管理ドメインリスト(キャッシュ)
private
array<string|int, string>|null
$managedDomainsCache
= null
$mediaDeliveryUrl
メディアの配信URL
private
string
$mediaDeliveryUrl
= ''
$mimeTypeValidator
MIMEタイプ検証クラス
private
MimeTypeValidator
$mimeTypeValidator
$previousSalt
1つ前のソルト
private
string|null
$previousSalt
= null
Methods
__construct()
Constructor
public
__construct() : mixed
addCsrfToken()
CSRFトークンをFromに付与
public
addCsrfToken(string $tpl) : string
Parameters
- $tpl : string
Return values
stringaddSecurityHeader()
セキュリティヘッダー
public
addSecurityHeader() : mixed
backgroundRedirect()
すぐにリダイレクトし、同一プロセスのバックグラウンドで処理を実行
public
backgroundRedirect(string $url) : mixed
Parameters
- $url : string
camelize()
public
camelize(mixed $str) : string
Parameters
- $str : mixed
Return values
stringcheckCsrfToken()
CSRFトークンのチェック
public
checkCsrfToken(string $token) : bool
Parameters
- $token : string
Return values
boolclientCacheHeader()
セキュリティヘッダーを追加
public
clientCacheHeader([bool $noCache = false ]) : void
Parameters
- $noCache : bool = false
convertRelativeUrlsToAbsolute()
HTML内の相対URLを絶対URLに変換
public
convertRelativeUrlsToAbsolute(string $html, string $baseUrl) : string
Parameters
- $html : string
- $baseUrl : string
Return values
stringcreateCsrfToken()
CSRFトークンを生成
public
createCsrfToken() : string
Return values
stringcsrfTokenExists()
CSRFトークンの存在チェック
public
csrfTokenExists() : bool
Return values
booldecrypt()
public
decrypt(string $cipherText, string $iv) : string
Parameters
- $cipherText : string
- $iv : string
Return values
stringdeleteField()
カスタムフィールドの削除
public
deleteField("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, int|null $rvid = null ][, int|null $blogId = null ]) : void
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $rvid : int|null = null
- $blogId : int|null = null
deleteFieldCache()
カスタムフィールドキャッシュの削除
public
deleteFieldCache("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, int|null $rvid = null ]) : mixed
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $rvid : int|null = null
download()
ファイルダウンロード
public
download(string $path, string $fileName[, string|bool $extension = false ][, bool $remove = false ][, Filesystem $storage = null ]) : never
Parameters
- $path : string
- $fileName : string
- $extension : string|bool = false
-
// 指定すると、Content-Disposition: inline になります。
- $remove : bool = false
- $storage : Filesystem = null
Return values
neverencrypt()
public
encrypt(string $string, string $iv) : string
Parameters
- $string : string
- $iv : string
Return values
stringexceptionArray()
例外情報を連想配列に変換
public
exceptionArray(Throwable $th[, array<string|int, mixed> $add = [] ]) : array<string|int, string|int>
Parameters
- $th : Throwable
- $add : array<string|int, mixed> = []
Return values
array<string|int, string|int>extract()
POSTデータからデータの抜き出し
public
extract([string $scp = 'field' ][, ACMS_Validator|null $V = null ][, Field|null $deleteField = null ]) : Field_Validation
Parameters
- $scp : string = 'field'
- $V : ACMS_Validator|null = null
- $deleteField : Field|null = null
Return values
Field_ValidationfixAliasPath()
管理画面でテンプレート直で書かれているパスを、エイリアスを含んだURLに修正
public
fixAliasPath(string $txt) : string
Parameters
- $txt : string
Return values
stringflushCache()
public
flushCache() : mixed
genPass()
パスワードジェネレータ
public
genPass(int $len) : string
Parameters
- $len : int
-
パスワードの長さ
Return values
stringgetAppSalt()
アプリの固定ソルトを取得
public
getAppSalt() : string
Return values
stringgetCurrentSalt()
現在のソルトを取得
public
getCurrentSalt() : string
Return values
stringgetDeleteField()
extract()後の削除フィールドを取得
public
getDeleteField() : Field
Return values
FieldgetEncryptIv()
public
getEncryptIv() : string
Return values
stringgetHttpHeader()
ToDo: リファクタリング
public
getHttpHeader(string $name) : string
Parameters
- $name : string
Return values
stringgetInheritedThemes()
指定されたテーマの継承テーマ・システムテーマすべてのテーマの配列を取得
public
getInheritedThemes(string $theme) : array<string|int, string>
Parameters
- $theme : string
Return values
array<string|int, string>getJsModules()
public
getJsModules() : array<string|int, mixed>
Return values
array<string|int, mixed>getMailTxt()
メールテンプレートの解決
public
getMailTxt(string $path, Field $field[, string|null $charset = null ]) : string
Parameters
- $path : string
- $field : Field
- $charset : string|null = null
Return values
stringgetMailTxtFromTxt()
public
getMailTxtFromTxt(string $txt, Field $field) : string
Parameters
- $txt : string
- $field : Field
Return values
stringgetPreviousSalt()
1つ前のソルトを取得
public
getPreviousSalt() : string
Return values
stringgetTagsFromString()
タグの配列化
public
getTagsFromString(mixed $string[, bool $checkReserved = true ]) : array<string|int, string>
Parameters
- $string : mixed
- $checkReserved : bool = true
Return values
array<string|int, string>getUriObject()
URIオブジェクトの取得
public
getUriObject(Field $Post) : Field
Parameters
- $Post : Field
Return values
FieldisAuthorizedAjaxRequest()
許可されたajaxアクセスか判定(どのようなtpl指定であっても許可する)
public
isAuthorizedAjaxRequest([int $level = 1 ]) : bool
level-0: チェックをしない level-1: RefererとAjaxリクエスト判定 level-2: CSRFトークンチェック
Parameters
- $level : int = 1
Return values
boolisForceV1Build()
強制的にV1ビルドを行うか判定
public
isForceV1Build() : bool
Return values
boolisLocalPrivateStorage()
プライベートストレージの設定がローカルかどうか
public
isLocalPrivateStorage() : bool
Return values
boolisLocalPublicStorage()
パブリックストレージの設定がローカルかどうか
public
isLocalPublicStorage() : bool
Return values
boolisManagedDomain()
指定されたドメインが管理ドメインかどうかを判定
public
isManagedDomain(string $domain[, array<string|int, string> $additionalDomains = [] ]) : bool
Parameters
- $domain : string
-
チェックするドメイン
- $additionalDomains : array<string|int, string> = []
-
追加で許可するドメインのリスト
Return values
boolisSafeUrl()
a-blog cms で管理しているドメインのURLかチェックする
public
isSafeUrl(string $url) : bool
Parameters
- $url : string
Return values
boolisV2Module()
V2モジュールとして実行中か判定
public
isV2Module() : bool
Return values
boolloadBlogFulltext()
ブログのフルテキストを取得
public
loadBlogFulltext(int $bid) : string
Parameters
- $bid : int
Return values
stringloadCategoryFulltext()
カテゴリのフルテキストを取得
public
loadCategoryFulltext(int $cid) : string
Parameters
- $cid : int
Return values
stringloadEntryFulltext()
エントリーのフルテキストを取得
public
loadEntryFulltext(int $eid) : string
Parameters
- $eid : int
Return values
stringloadField()
ブログID, カテゴリーID, エントリーID,ユーザーIDの いずれか指定されたカスタムフィールドをFieldオブジェクトで返す
public
loadField([null|int $bid = null ][, null|int $uid = null ][, null|int $cid = null ][, null|int $mid = null ][, null|int $eid = null ][, null|string $unitId = null ][, null|int $rvid = null ][, bool $rewrite = false ]) : Field
Parameters
- $bid : null|int = null
- $uid : null|int = null
- $cid : null|int = null
- $mid : null|int = null
- $eid : null|int = null
- $unitId : null|string = null
- $rvid : null|int = null
- $rewrite : bool = false
Return values
FieldloadUserFulltext()
ユーザーのフルテキストを取得
public
loadUserFulltext(int $uid) : string
Parameters
- $uid : int
Return values
stringlogLockPost()
public
logLockPost(string $lockKey) : mixed
Parameters
- $lockKey : string
mailConfig()
メール設定の取得
public
mailConfig([array{smtp-host?: string, smtp-port?: string, smtp-user?: string, smtp-pass?: string, smtp-verify-peer?: string, mail_from?: string, sendmail_path?: string, additional_headers?: string, smtp-google?: string, smtp-google-user?: string} $argConfig = [] ]) : mixed
Parameters
- $argConfig : array{smtp-host?: string, smtp-port?: string, smtp-user?: string, smtp-pass?: string, smtp-verify-peer?: string, mail_from?: string, sendmail_path?: string, additional_headers?: string, smtp-google?: string, smtp-google-user?: string} = []
parseMarkdown()
マークダウン文字列を解析する
public
parseMarkdown(string $txt) : string
Parameters
- $txt : string
Return values
stringreplaceDeliveryUrl()
メディアの配信先URLを書き換え
public
replaceDeliveryUrl(string $url) : string
Parameters
- $url : string
Return values
stringreplaceDeliveryUrlAll()
メディアの配信先URLを書き換え(全て)
public
replaceDeliveryUrlAll(string $html) : string
Parameters
- $html : string
Return values
stringresolveUrl()
V2モジュール、V2APIビルド時に、URLを絶対URLに変換 それ以外はそのままのURLを返す
public
resolveUrl(string $path[, string $offset = '' ]) : string
Parameters
- $path : string
- $offset : string = ''
Return values
stringresponseJson()
public
responseJson(mixed $data) : mixed
Parameters
- $data : mixed
saveCache()
public
saveCache(string $chid, string $contents, string $mime) : mixed
Parameters
- $chid : string
- $contents : string
- $mime : string
saveField()
カスタムフィールドの保存
public
saveField("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, Field|null $Field = null ][, Field|null $deleteField = null ][, int|null $rvid = null ][, int $targetBid = BID ]) : bool
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $Field : Field|null = null
- $deleteField : Field|null = null
- $rvid : int|null = null
- $targetBid : int = BID
Return values
boolsaveFulltext()
フルテキストの保存
public
saveFulltext(string $type, int $id[, string|null $fulltext = null ][, int $targetBid = BID ]) : void
Parameters
- $type : string
-
フルテキストのタイプ
- $id : int
- $fulltext : string|null = null
- $targetBid : int = BID
setAppSalt()
アプリ全体で使用するSaltを更新・設定
public
setAppSalt() : void
setForceV1Build()
強制的にV1ビルドを行うか設定
public
setForceV1Build(bool $isForceV1Build) : void
Parameters
- $isForceV1Build : bool
setSafeHeadersWithoutCache()
キャッシュ無効で安全なレスポンスヘッダーを組み立てます。
public
setSafeHeadersWithoutCache([int $code = 200 ][, string $mime = 'text/html' ]) : void
Parameters
- $code : int = 200
- $mime : string = 'text/html'
setV2Module()
V2モジュールとして実行中か設定
public
setV2Module(bool $isV2Module) : void
Parameters
- $isV2Module : bool
toAbsoluteUrl()
絶対URLに変換
public
toAbsoluteUrl(string $path[, string $offset = '' ][, bool $force = false ]) : string
Parameters
- $path : string
- $offset : string = ''
- $force : bool = false
Return values
stringuploadAssetDirectory()
ローカルのディレクトリをS3などのリモートストレージにアップロード
public
uploadAssetDirectory(string $from, string $to, bool $isPublic) : void
Parameters
- $from : string
- $to : string
- $isPublic : bool
validateFileUpload()
ファイルアップロードを検証
public
validateFileUpload(string $name) : void
Parameters
- $name : string
Tags
validateLockPost()
public
validateLockPost(string $lockKey[, int $trialTime = 5 ][, int $trialNumber = 5 ][, int $lockTime = 15 ][, bool $remoteAddr = true ]) : bool
Parameters
- $lockKey : string
- $trialTime : int = 5
-
試行時間
- $trialNumber : int = 5
-
試行回数
- $lockTime : int = 15
-
ロックタイム
- $remoteAddr : bool = true
-
接続元IPアドレスをチェックするかどうか
Return values
boolgetManagedDomains()
管理ドメインのリストを取得(キャッシュあり)
protected
getManagedDomains([array<string|int, string> $additionalDomains = [] ]) : array<string|int, string>
Parameters
- $additionalDomains : array<string|int, string> = []
-
追加で許可するドメインのリスト
Return values
array<string|int, string>isUrlFromManagedDomain()
指定URLが管理ドメインからのものかどうかを判定
protected
isUrlFromManagedDomain(string $url) : bool
Parameters
- $url : string
Return values
boolgetEncryptKey()
暗号化キーを取得
private
getEncryptKey() : string
Return values
stringisRelativeUrl()
URLが相対URLかどうかを判定
private
isRelativeUrl(string $url[, bool $force = false ]) : bool
Parameters
- $url : string
- $force : bool = false
-
ビルド方式など考慮せず、絶対URLでないかを判定する場合はtrue