メモ

MyNETS2
管理者のログインとか認証関連
元のがよくわからなかったので、作っちゃう事に。

管理用テーブルを作成

 

CREATE TABLE <code>admin</code> (
<code>id</code> INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
<code>user_id</code> INT( 11 ) NOT NULL ,
<code>level</code> INT( 1 ) NOT NULL ,
<code>create</code> TIMESTAMP NOT NULL ,
<code>update</code> TIMESTAMP NOT NULL
) TYPE = MYISAM ;

levelは権限レベル 1はALL 0は無効
数字が増えて行くにつれて、アクセスできる箇所を減らして見ようかなと思ってる。
とりあえずは有効無効設定的に使用

こんな感じでjoinさせて検索しちゃえばいいかなと。
管理ユーザ専用のID,PASSを保存するテーブルをとも思ったけども
モジュール別に管理権限とかつけたくなるかもしれないし。
管理者名は別にあってもいいかもしれない。
後からカラムを追加してみよう・・・・〆(。。)

joinだとこんな感じになるかな・・・・〆(。。)

$this->db->select('*');
$this->db->from('user');
$this->db->join('admin', 'admin.user_id = user.user_id);
$this->db->where('user_id, $user_id); 
$this->db->where('level', 1); 
$query = $this->db->get();

1.6.3のユーザーガイド(MyNETS2は1.7ベースらしい)
http://codeigniter.jp/user_guide_ja/database/active_record.html

whereの指定は、「4. 自由に指定できる文字列を使用する方法」の書き方の方が好みなので、こっち採用〆(。。)

4. 自由に指定できる文字列を使用する方法:

WHERE句の中身を自分で書くこともできます:
$where = “name=’Joe’ AND status=’boss’ OR status=’active'”;

$this->db->where($where);

adminモジュールを書き換えちゃうのもあれなので、
nekogetモジュールを作成
主な役割は会員管理
ここでは、adminテーブルは使わない、会員(user)の管理を行う
機能はきっとこれぐらいあればきっと大丈夫・・・・〆(。。)

  • 会員一覧(新着)
  • 会員一覧(登録順)
  • 会員検索(簡易検索)
  • 会員検索(詳細検索)
  • 会員情報の詳細表示
  • 会員情報の修正
  • 会員情報の削除
  • 会員プロフィール情報の項目管理(登録、修正、削除)

スキン関連のフォルダ構成の変更

  • /theme/default/cssファイル
  • /theme/default/image/imageファイル
  • /theme/nekoget/cssファイル
  • /theme/nekoget/image/imageファイル

モジュール名/main.css の頭で、default/main.cssを読み込む。
モジュール名/main.cssはdefault/main.cssでたりない設定を追記していく
もしくはdefaultの設定を読み込まず、単独の設定を作るベースのCSSファイル
フォルダもしくはファイルで分けて、表示画面別のCSS、Controllerが制御するもの別のCSSファイルを個別に呼び出せるようにする。
この部分はControllerでの制御は避けて、View側で対応させたいな
・・・・〆(。。)備忘録的にメモ

  • View側の開発担当者とロジック(Controllerとかmodelとか)の開発担当者で、見るべき触るべきファイルを分けたい
  • 機能ごとをモジュールで分ける事で、分業を簡単に&設置、除去を簡単にする
  • CSSファイルを表示画面別に後から追記できるようにしておけば、急なデザイン変更にも対応しやすいし、単独のページでしか使わない設定を全ページで読み込ませる必要が無くなる
  • モジュール別のスキンテーマをさくさく変更できると嬉しい・・・デェフォルトとモジュール別のCSSの着脱や入れ替えを簡単にしたい

モジュールの中に、MyNETS2のバージョンとベースのCodeigniterのバージョン番号の情報をどこかに保存しておかないと、
モジュールだけを作ったり、設置したり、外したり、配ったりするのに困りそうだ。
どこかに情報を書き込んでおこう〆(。。)

続きはまた夜にでも勉強しつつやってみる予定。

〆(。。)トランザクション処理
http://codeigniter.jp/user_guide_ja/database/transactions.html