CakePHP 1.2 複数appでデータベース接続の設定を共有する

管理画面と公開側、それぞれ別app(サブドメインでアクセスを分けるなど)にした場合、
データベースの設定は、それぞれapp/config/database.phpにあるので、別々に設定しなければならない。
これを1つにまとめてしまう方法。

app/config/database.php

< ?php
config('../../database_common');
class DATABASE_CONFIG extends DATABASE_CONFIG_COMMON{
}

database_common.php (appやcakeと同階層に設置)

< ?php
class DATABASE_CONFIG_COMMON {

var $default = array(
'driver' => ‘mysql_log’,
‘persistent’ => false,
‘host’ => ‘localhost’,
‘login’ => ‘cake’,
‘password’ => ”,
‘database’ => ‘cake’,
‘encoding’ => ‘utf8′
);
}/

Posted in cakePHP, DB | Leave a comment

ShellからQdmailを使用してメール送信を行う方法

shellクラスの外側でControllerとQdmailを読み込んでおく

App::import(“Core”,”Controller”);
App::import(“Component”,”Qdmail”);

function send(){
$this->Qdmail = new QdmailComponent();
$this->Qdmail->Controller = new Controller();
//このへんはお好みで
$this->Qdmail->to($this->_from); //送信元に送り返す
$this->Qdmail->from($this->_to); //fromは元宛先アドレス
$this->Qdmail->subject(__(‘auto reply’,true));

//テンプレートに渡したい値は$contentsに詰め込む
//mail_regist.ctpをrenderしてメール本文に使用する
$this->Qdmail->cakeText($contents,”mail_regist”);
$res = $this->Qdmail->send();

//以下略
}

Posted in 未分類 | Leave a comment

cronからのメールが文字化けする場合の解決方法

crontabで環境変数”CONTENT_TYPE”を指定すると、その値がcronが送るメールの”Content-Type:”ヘッダの値に設定される。

という仕様になっているらしく。

crontabに以下を追加して、iso-2022-jp(JISコード)に設定。

CONTENT_TYPE=text/plain; charset=iso-2022-jp

コマンドの出力をnkfにパイプして、JISコードにする。

* * * * * コマンド | nkf -j

こちらのサイトに対応方法がかかれていました。
片っ端からメモってみる

UTF-8で作ったサイトからJISしか読めないメーラー(携帯含む)にエラーメールを飛ばす、なんってときに役に立つかもしれません。

Posted in 未分類 | Leave a comment