Constants

MAIL_TRANSPORT_PHPMAIL

MAIL_TRANSPORT_PHPMAIL = 'phpmail'

メール送信方法のオプションの定数(phpmail)

MAIL_TRANSPORT_SMTP

MAIL_TRANSPORT_SMTP = 'smtp'

メール送信方法のオプションの定数(smtp)

DATABASE_SEARCH_MATCH_AGAIN

DATABASE_SEARCH_MATCH_AGAIN = 'match_against'

データベースタイプ(MATCH AGAINST)

DATABASE_SEARCH_LIKE

DATABASE_SEARCH_LIKE = 'like'

データベースタイプ(LIKE)

Properties

$actsAs

$actsAs : array

Behaviors

Type

array

$validate

$validate : array

Validation rules

Type

array

$useDbConfig

$useDbConfig : string

Use database config

Type

string

$blockId

$blockId : string

ブロックId Behaviorで関連データ削除する際に使用する

Type

string

$blockKey

$blockKey : string

ブロックKey Behaviorで関連データ削除する際に使用する

Type

string

$contentKey

$contentKey : string

コンテンツKey Behaviorで関連データ削除する際に使用する

Type

string

$messagePlugin

$messagePlugin : string

メッセージ言語ファイルのプラグイン名(デフォルト:site_manager) ※システム管理で使用する場合は、ここをsystem_managerに変更する

Type

string

$defaultLanguages

$defaultLanguages : array

システム標準使用言語のオプション saveSiteSetting()を呼び出す前に、SiteManagerControllerでセットする

Type

array

$defaultStartRoom

$defaultStartRoom : array

標準の開始ルームのオプション saveSiteSetting()を呼び出す前に、SiteManagerControllerでセットする

Type

array

$metaRobots

$metaRobots : array

METAタグのロボット型検索エンジンへの対応のオプション 文言は、prepare()でセットする

Type

array

$sessionTimeout

$sessionTimeout : array

自動ログアウトの時間

Type

array

$autoRegistConfirm

$autoRegistConfirm : array

アカウント登録の最終決定のオプション 文言は、prepare()でセットする

Type

array

$autoRegistRoles

$autoRegistRoles : array

自動登録時の権限のオプション saveSiteSetting()を呼び出す前に、MembershipControllerでセットする

Type

array

$memoryLimit

$memoryLimit : array

メモリ制限のオプション

Type

array

$mailMessageType

$mailMessageType : array

メール形式のオプション 文言は、prepare()でセットする

Type

array

$mailTransport

$mailTransport : array

メール送信方法のオプション 文言は、prepare()でセットする ※sendmailを使いたい場合は、phpmailを選んで、各自php.iniにsendmailの設定を記述するため、選択肢からなくす

Type

array

$defaultTimezones

$defaultTimezones : array

デフォルトのタイムゾーンのオプション データは、prepare()でセットする

Type

array

$diskSpace

$diskSpace : array

ルームの容量のオプション

Type

array

$debugOptions

$debugOptions : array

デバッグのオプション 文言は、prepare()でセットする

Type

array

$userRoles

$userRoles : array

IP変動を禁止する会員権限のオプション saveSiteSetting()を呼び出す前に、SecuritySettingsControllerでセットする

Type

array

$validatePlugins

$validatePlugins : array

validateする外部プラグイン ### 設定例 ``` array('AuthShibboleth') ```

Type

array

$__changeDbConfig

$__changeDbConfig : string

接続先DB master slave変更用

Type

string

$__oldSlaveDbConfig

$__oldSlaveDbConfig : string

接続先DB 古いslave保存用

Type

string

Methods

__construct()

__construct(boolean|integer|string|array  $id = false, string  $table = null, string  $ds = null) : void

Constructor. DataSourceの選択

接続先DBをランダムに選択します。

Parameters

boolean|integer|string|array $id

Set this ID for this model on startup, can also be an array of options, see above.

string $table

Name of database table to use.

string $ds

DataSource connection name.

setMasterDataSource()

setMasterDataSource() : void

Masterの接続先に変更する。

setSlaveDataSource()

setSlaveDataSource() : void

以前のSlaveの接続先に戻す。なければ、ランダムに選択

getDataSource()

getDataSource() : \DataSource

Gets the DataSource to which this model is bound.

Returns

\DataSource —

A DataSource object

create()

create(boolean|array  $data = array(), boolean  $filterKey = false) : array

NetCommonsで使用する共通の値がセットされた結果を返します。<br> CakePHPのSchemaは、not null指定されたカラムのdefaultがnullになっているため、<br> ''(長さ0の文字列)に書き換えています。<br> https://github.com/NetCommons3/NetCommons3/issues/7

セットされるデータ

'room_id' => Current::read('Room.id'),
'language_id' => Current::read('Language.id'),
'block_id' => Current::read('Block.id'),
'block_key' => Current::read('Block.key'),
'frame_id' => Current::read('Frame.id'),
'frame_key' => Current::read('Frame.key'),
'plugin_key' => Inflector::underscore($this->plugin),

Parameters

boolean|array $data

Optional data array to assign to the model after it is created. If null or false, schema data defaults are not merged.

boolean $filterKey

If true, overwrites any primary key input with an empty value

Returns

array —

The current Model::data; after merging $data and/or defaults from database

createAll()

createAll(boolean|array  $data = array(), boolean  $filterKey = false) : array

Initializes the model for writing a new record, loading the default values for those fields that are not defined in $data, and clearing previous validation errors.

Especially helpful for saving data in loops.

Parameters

boolean|array $data

Optional data array to assign to the model after it is created. If null or false, schema data defaults are not merged.

boolean $filterKey

If true, overwrites any primary key input with an empty value

Returns

array —

The current Model::data; after merging $data and/or defaults from database

begin()

begin() : void

transaction begin

commit()

commit() : void

transaction commit

rollback()

rollback(mixed  $ex = null) : void

transaction rollback

Parameters

mixed $ex

Exception

Throws

\Exception

loadModels()

loadModels(array  $models = array()) : void

Load models

Parameters

array $models

models to load

prepare()

prepare() : void

設定画面の前準備

getDefaultStartPage()

getDefaultStartPage() : string

デフォルト開始ページの取得

Returns

string —

or null

getSiteTheme()

getSiteTheme() : string

サイトに設定されているテーマを返す

Returns

string —

or null

getSiteTimezone()

getSiteTimezone() : string

サイトのデフォルトタイムゾーン(未ログインのゲスト用)を返す

Returns

string —

timezone

getSiteSettingForEdit()

getSiteSettingForEdit(array  $conditions = array()) : array

サイト設定データを取得する

Parameters

array $conditions

条件配列

Returns

array —

サイト設定データ配列

saveSiteSetting()

saveSiteSetting(array  $data) : boolean

サイト設定の登録処理

注意事項

この引数$dataは、リクエストの中身そのまま。

(例)SiteMnagerControllerからの登録処理
array (
  'SiteSetting' =>
  array (
    'App.site_name' =>
    array (
      1 =>
      array (
        'id' => '2',
        'key' => 'App.site_name',
        'language_id' => '1',
        'value' => 'NetCommons3',
      ),
      2 =>
      array (
        'id' => '1',
        'key' => 'App.site_name',
        'language_id' => '2',
        'value' => '',
      ),
    ),
    'Config.language' =>
    array (
      0 =>
      array (
        'id' => '3',
        'key' => 'Config.language',
        'language_id' => '0',
        'value' => 'ja',
      ),
    ),

  ・・・
)

Parameters

array $data

リクエストデータ配列

Throws

\InternalErrorException

Returns

boolean —

True on success, false on validation errors

saveSiteSettingByKey()

saveSiteSettingByKey(string  $key, mixed  $value) : boolean

サイト設定の登録処理

Parameters

string $key

更新するキー

mixed $value

更新する値

Throws

\InternalErrorException

Returns

boolean —

True on success, false on validation errors

validateSiteSetting()

validateSiteSetting(array  $data) : boolean|array

サイト設定のValidate処理

Parameters

array $data

リクエストデータ配列

Returns

boolean|array —

正常な場合、登録不要なデータを削除して戻す。validateionErrorが空でない場合は、falseを返す。

_getDefaultValue()

_getDefaultValue() : array

全カラムのデフォルト値をセットした配列を返す。

Returns

array —

デフォルト値をセットした配列

_doSave()

_doSave(array  $data = null, array  $options = array()) : mixed

cakephpの登録処理をオーバーライド

cakephpのsave時にcreated,modifiedの項目にセットする時間が、date_default_timezone_setに影響してしまうため、 登録直前にUTCに変更し、登録後にdate_default_timezone_setを元に戻すため、オーバライドする

Parameters

array $data

Data to save.

array $options

can have following keys:

  • validate: Set to true/false to enable or disable validation.
  • fieldList: An array of fields you want to allow for saving.
  • callbacks: Set to false to disable callbacks. Using 'before' or 'after' will enable only those callbacks.
  • counterCache: Boolean to control updating of counter caches (if any)

Throws

\PDOException

Returns

mixed —

On success Model::$data if its not empty or true, false on failure

_readDataSource()

_readDataSource(string  $type, array  $query) : array

Findの結果をキャッシュする際、afterFindは実行させたいので、CakeのModelを継承して、カスタマイズする。

Parameters

string $type

Type of find operation (all / first / count / neighbors / list / threaded)

array $query

Option fields (conditions / fields / joins / limit / offset / order / page / group / callbacks)

Returns

array

__getRandomlySlave()

__getRandomlySlave() : string

Find the slaves we have

Returns

string —

The name of the DataSource, as defined in app/Config/database.php

__changeDataSource()

__changeDataSource() : void

MasterDBに切り替える処理

__validateExternals()

__validateExternals(array  $data) : array

外部プラグイン、動的にビヘイビア呼んでvalidateチェック

Parameters

array $data

データ

Returns

array