[CakePHPプラグイン]Usersプラグイン

cakephp-604x270
Usersプラグインは会員制サイトを作るときに必要な便利な機能が入ったプラグインです。
Authコンポーネントで実装すれば自前でも作れるのですが、いざ作るとなると面倒。こういったプラグインがあれば使ったほうがいいでしょう。

インストール
必要な3つのプラグインをインストール。

#cd (インストールフォルダ)/cake/plugins
#git clone https://github.com/CakeDC/users Users
#git clone https://github.com/CakeDC/utils Utils
#git clone https://github.com/CakeDC/search Search

準備
Usersプラグインのスキーマ機能を使ってテーブルの作成を行います。

#cd (インストールフォルダ)
#./app/Console/cake schema create users --plugin Users

メッセージに従い処理をすすめるとuser_detailsとusersテーブルが作成されます。

次にメール送信のための設定を行います。
設定のためのファイルは以下ですが、ローカルのsmtpを使う場合や外部のサーバーを使う場合が考えられます。
ご自身の環境に合う設定を行ってください。
/app/Config/email.php
次に、配信に使うメールアカウントを下記のファイルに記述します。
app/Config/bootstrap.php

Configure::write('App.defaultEmail', 'example@example.com');

使ってみる
以下のURLにアクセスすると、追加用の画面が表示されます。

ドメイン)/users/users/add
適当に入れてみましょう。
すると、設定したメールアドレスあてに”Account verification”というタイトルのメールが届くはずです。
本文にあるURLにアクセスすることで、登録が完了となります。

その他のURLは以下のようになっています。
ログイン
http://(ドメイン)/users/users/login
ログアウト
http://(ドメイン)/users/users/logout
ユーザー一覧
http://devsrv2/users/
ユーザー登録
http://(ドメイン)/users/users/add
パスワードを忘れた場合
http://(ドメイン)/users/users/reset_password

使ってみるその2
デフォルトでは英語表示になってしまうので多言語対応でメッセージを切り替えます。
/app/Locale/jpn/LC_MESSAGES/users.poのmsgstrに適切な日本語を当てはめて入力していきます。

# cp -rp /app/Locale/eng /app/Locale/jpn
# cp -p /app/Plugin/Users/Locale/users.pot /app/Locale/jpn/LC_MESSAGES/

困った
管理者用のサイトも用意されているようで、例えばいかで管理者用のトップページが表示されます。
http://(ドメイン)/users/users/admin_index
が、いろいろバグってます。リンクが全部おかしいくて、admin用のリンクに変わっていません。
また、ユーザーのプロフィールをuser_detailsテーブルで行うようなのですが、これらに関する説明が良くわからず…。

ちょっとこのままでは使えなさそうです。が、単純なユーザー登録の部分は問題なさそうなので、そこから先は自前で拡張していくのがよさそうです。