学習日記69日目 - Blogapp vol.5 -
どうも、enomotoです。
ということでBlogappの制作日記を。
Admin Generatorでできたフォームを弄る。
Admin Generatorは簡単にできる管理者画面ができるから便利なんだけど
パスワードをMD5とかで変換して保存したいとき等はどうすればいいんだろう。
ということで調べて実装してみた。
参考:http://develop.ddo.jp/symfony/book/jp/1.0/generator.html
updateUserFromRequestで処理しているようなので
userActionsにupdateUserFromRequestを書いてしまう。
<?php /** * user actions. * * @package blog * @subpackage user * @author Your name here * @version SVN: $Id: actions.class.php 2288 2006-10-02 15:22:13Z fabien $ */ class userActions extends autouserActions { protected function updateUserFromRequest() { // usernameとpasswordを呼び出す $user = $this->getRequestParameter('user'); // SALT作成 $salt = md5(rand(100000, 999999).$user['username']); // SHA1で処理したPassword作成 $password = sha1($salt.$user['password']); // SALTを保存 $this->user->setSalt($salt); // もしusernameがあれば… if (isset($user['username'])) { $username = $user['username']; $c = new Criteria(); $c->add(UserPeer::USERNAME, $username); $userpeer = UserPeer::doSelectOne($c); // 同じusernameが無ければ if(!$userpeer) { $this->user->setUsername($user['username']); } else { // 同じモノがあったらリダイレクト $this->redirect('user/list'); } } // もしpasswordがあれば if (isset($user['password'])) { // SHA1で処理したPasswordを保存 $this->user->setPassword($password); } } }
これでどうにかなった><
Admin Generatorはとても便利な反面よく分からないので
がんばって使いこなせるようになりたい。