タグ

ブックマーク / cake67.hatenadiary.org (4)

  • CakeSchemaはENUMやInnoDBを扱えない - 趣味の延長線

    CakePHPには、テーブルを初期化・作成するSchema機能があります。 現在のDBからSchema設定を作成したり、 以前のSchemaとの差分を更新するSchema設定を作成したり、 database.phpのテーブル名prefixにも対応しているので、 システムのインストール・アップデートに非常に有効です。 しかし、DBの設計によっては、CakeSchemaを使えないケースがあります。(以下、MySQL) 1.ENUMを使えない ENUM形式のカラムがあると、schema作成で以下のようなNoticeが出ます。 [cake@cake cake-install]$ ./cake/console/cake schema generate Welcome to CakePHP v1.2.4.8284 Console ------------------------------------

    CakeSchemaはENUMやInnoDBを扱えない - 趣味の延長線
  • ACLによるcontroller/action以外の権限設定 - 趣味の延長線

    CakePHPの ACL機能を使って、model(controller)/action以外にアクセス制限をかける方法の検討。 ちょっと変則ですが、可能そうです。 予定している構成が基、 controller ┬ PC ├ 携帯 └管理画面という感じなので、controller/action単位のアクセス制限だけではなく、PC/携帯/管理画面ごと表示モード単位(お勝手仮名)でのアクセス制限がほしい。 最初、acoの設定を controller/mode/action (Users/mobile/index)のように入れて対応できないかと思いましたが、 authの仕様上、どうもそれは無理っぽい。 と思って諦めかけた時に、以下の記事でひらめき。 http://onlineconsultant.jp/pukiwiki/?Cake%20PHP%20ACL%20%E7%89%B9%E5%AE%9A%

    ACLによるcontroller/action以外の権限設定 - 趣味の延長線
  • AclBehavior対応usersモデルの修正 - 趣味の延長線

    AROをAclBehaviorで登録する方法を修正。 editなど、Usersをuploadする系の画面で、POSTにgroup_idが含まれていないと、AROのparent_idがNULLになったので、それを修正しました。 AclBehaviorに対応してmodels/user.php に追加した、parentNode()とsave()の関数2つは、 「$this->data(POST)にgroup_idが含まれること」 が前提となっています。 しかし、例えばパスワードだけ変更する画面にはgroup_idのフォームはない。 その場合、nullセットされてAROに登録されるバグとなっていました。 $this->data['User']['group_id']がない*1場合の処理を追加しました。 以下、差分 Index: models/user.php ===================

    AclBehavior対応usersモデルの修正 - 趣味の延長線
    mikage014
    mikage014 2010/09/10
    「parentNode()とsave()の関数2つは、「$this->data(POST)にgroup_idが含まれること」が前提となっています。」
  • CakePHPにACL入れました - 趣味の延長線

    苦心惨憺の末、ようやくACL入れられました。 参考にした主な記事。 http://cake.zista.jp/max/blog/view/0000000098 http://cake.zista.jp/max/blog/view/0000000099 AuthComponent + AclComponent + AclBehavior CakePHP1.2RC2 - 忍び歩く男 - SLYWALKER CakePHPのACLにはまる...でも、出てくる?! | ブラジルの大地 http://book.cakephp.org/ja/view/648/Setting-up-permissions 特にZiSTA様の記事は、当に、助かりました(T-T)必読です。 以下、長文です・・・ 混迷した主な原因が、ACLの設定方法に、複数のやり方があることでした。 ACLの動作条件*1 DBの以下テーブ

    CakePHPにACL入れました - 趣味の延長線
  • 1