2009-01-01から1年間の記事一覧

メールマガジン用途で使うときの設定

fml

データベース連携している場合の話。 add/subscribeコマンドでメールアドレスを登録した際には、1アドレスに対して file = "members" file = "actives" の2行が必ず作成される。ドライバ(おもちゃのモデルをベースにして作成するファイル)でいじってればそ…

携帯電話に配信する為の設定

fml

/var/spool/ml/(ML名)/cf の一番下(LOCAL CONFIG)に以下を追加。 ## 携帯電話用設定 $HEADER_ADD_HOOK = q{ &DELETE_FIELD("Received"); &DELETE_FIELD("X-Mail-Count"); &DELETE_FIELD("X-ML-Info"); &DELETE_FIELD("X-MLServer"); &DELETE_FIELD("List-I…

本文下にいつもフッタを追加したい

fml

まずフッタ用のファイルを作成。文字コードはJISで。 -- メールマガジンの解除 : (MLのメールアドレス)?body=byeまあ中身はお好みで。 これを/var/spool/ml/(ML名)の下に配置。今回はファイル名を「footer」としました。 その後、例によって/var/spool/ml/(M…

makefml newmlで雛形とするファイルの場所

fml

同じ設定のMLを複数設定する場合は、設定ファイルの雛形を作成するのが便利。設定済のファイルを雛形として置いておくと、新規作成時にそのファイルを元にしてくれる。 特にcfなんかは色々面倒なので配置しておくと便利。 /var/spool/ml/etc/fml/drafts/Japa…

いろいろひどいありさまで

ひっさびさにCakePHPの仕事。久々過ぎて色んな事を忘れている。 以前開発したソースを設定から何から丸々コピって配置したらNot Foundの状態のままにっちもさっちもいかないのでよーく設定を見直したら、 core.phpが「Configure::write("debug", 0);」のまま…

Pear::Logを使う

php

やっぱログ出力は大事ということで。 サーバにインストールされていない場合は、pearコマンドでさくっとインストール。 # pear install Log使い方のサンプルはこんな感じで。 debug("デバッグログを出力します"); $log->info("情報ログを出力します"); $log-…

Xdebugを入れてみる

pecl install xdebugでもいいんだけど、とりあえずソースから入れてみる。前提 : php.iniの場所は /usr/local/lib/php.ini Apacheの場所は /usr/local/apache2 wget http://www.xdebug.org/files/xdebug-2.0.4.tgz tar zxvf xdebug-2.0.4.tgz cd xdebug-2.0.…

外部からMySQLへ接続できるようにする

ここ数日、Ubuntu LinuxにインストールしたMySQLに別マシン(Windows XP)から接続しようとしても繋がらなくて困っていた。ODBC接続しようとしても、「Request returned with SQL_ERROR」とエラーが出る。 ユーザに権限を追加してもダメ ufwでポートを開けて…

fmlの「actives」と「members」

fml

fmlはメールアドレスを登録すると、 /var/spool/ml/(mlname)/members /var/spool/ml/(mlname)/actives それぞれのファイル内にアドレスが登録される。(データベースと連携している場合は[file]カラムの値) なんで2つなのかなーと思っていたけど、 members …

Firefoxに入れてる拡張機能

メモ。 アプリ補完系 Add to Search Bar 検索バーに任意サイトの検索フォームを追加 All-in-One Gestures マウスジェスチャ Faviconize Tab タブの幅をfaviconの幅にする CLEO 使用している拡張機能をひとつのxpiファイルに圧縮 FEBE 拡張機能や設定などをバ…

fml4.x(MySQL連携)を設定した

数年(下手したら10年来)振りにfmlをインストールしたのでメモ。8.xが出ているんだけど、ネットの情報量の多さ&MySQLとの連携方法が判っているという理由で4を導入した。前提: 専用ユーザ「fml」を作成する。 メールサーバはqmailを使用。 ML名は「testml…

CakePHPでAjax処理した時、読み込んだファイル内でメッセージが化ける

「CakePHP jQuery を使用した Ajax ファイルアップロード」を参考にファイルアップロード機能を実装していたんだけど、ファイルのタイプがアップロード非対応だった場合などでコントローラからAjaxページへエラーメッセージを出力する際 set("error", "アッ…

JavaScriptが1行目でsyntax errorのとき疑うところ

「1行目ってなんなの!DOCTYPE宣言じゃん!削っても変わらないし!」 とJavaScript初心者の私はキレかけたんだけど、 JavaScriptの読み込みをしようとしたけどファイルが見つからない HTMLファイルを先頭からJavaScriptとして読み込もうとする 当然構文エラ…

HTTPSでアクセスされたらHTTPへリダイレクトする

開発しているシステムの管理画面にSSLをかけていたんだけど、オレオレ証明書なのでエラーが出る。仕方ないのでちゃんとした証明書が届くまで、HTTPで運用することになった。 その運用はどうなんだという意見は無理矢理飲み込んで、とりあえず.htaccessに以下…

PERL5LIBにライブラリパスを追加する

Perl5.10.0でCPANのモジュールアップデートをまだやってるんだけど、たまに「5.8.9が必須です!」という警告が出て、5.8.9をインストールしようとする。実際は5.8.9もサーバ上にインストール済なんだけど、環境変数PERL5LIBにパスを通してないから見つからな…

Perlを5.10.0へバージョンアップ

CentOSのPerlを5.8.5から5.10.0へバージョンアップすることにした。 # wget http://www.cpan.org/authors/id/R/RG/RGARCIA/perl-5.10.0.tar.gz # tar zxvf perl-5.10.0.tar.gz # cd perl-5.10.0 # sh Configure -des -Dusethreads -Dinc_version_list=none ←…

FirebugとJavaScript

動いてたはずのJavaScriptが動かなくなって涙目。 1時間ぐらいソース修正したりFirebugとにらめっこしたりした挙句、 Firebug切ったら直った。 ( ´д`)・・・

CPANがタイムアウトする時は接続先を変更

CPANからモジュールをインストールする際、タイムアウトが連発して進まないことがある。タイムアウトしているFTPサーバに接続しようとすると「Could not connect. FTP server may be too busy.」なんて出て、混み合ってる模様。 そんな場合は、 http://www.c…

コンパイル時に「/usr/bin/ld: cannot find」と言われた場合は

何かのインストール(コンパイル)時に /usr/bin/ld: cannot find -lXpmと言われた場合は、とりあえずトップディレクトリからがっつりfindしてみる。 # find / -file *Xpm* /usr/X11R6/lib/libXpm.so.4.11 ←あるじゃん! /usr/X11R6/lib/libXpm.so.4見つかっ…

ますです。

Ubuntu9.04で、CPANモジュールインストール中。 ・・・渡しますです・・・? 警告なのにちょっと和んだ。

vsftpdのユーザを追加する

CentOSの場合は /etc/vsftpd/vsftpd.chroot_listにユーザリストがあるので、useraddでユーザ作成した後、そのユーザをリストへ追加する必要がある。作業自体はviで開いて書き込むだけで、特に読み込み等の処理の必要はなし。

yumが正常に動かくなった

yum installしようと思ったら Cannot find a valid baseurl for repo: core Error: Cannot find a valid baseurl for repo: coreといわれるので host mirrorlist.centos.orgしたら返ってこなかった・・・。 仕方ないのでWindowsマシン上で ping mirrorlist.c…

Ubuntu Linuxを9.04にしたら画像周りが動かなくなった

開発テストマシンとして使用していたUbuntu Linuxのバージョンを9.04に上げたところ、上で動かしていたCakePHPベースのファイルアップロード/サムネイル作成の部分が正常に動かなくなった。 めんどくさくてずっと放ったらかしていたんだけど、さすがにまず…

オブジェクトのコピーの挙動が4と5で違う

php

今更PHP5の話。いや、なにげに最後に開発したのがPHP4の環境で、その後ブランクもあったりするもんだから今回初めてPHP5で開発してる訳で。 mofify("-7 day"); $dt2->modify("+7 day"); とかしたら怒られて「ナンデ?」と調べてみたら。 ※PHP4ではデフォルト…

文字列から全てのHTMLタグを除去する

php

CakePHPにはSanitizeライブラリというものがあって、簡単に文字列から指定タグを取り除いてくれる。とっても便利。 でも、その中に「全タグ除去」という関数は存在しなかったりする。 もしかしてこれは正規表現フラグ?mjd?とげっそりしていたのだけれど…

「Multiple flashes with different classes」でメッセージを綺麗にしてみる

Multiple flashes with different classes http://www.secondbrain.co.jp/blog/?p=53 前の方でも「使ってる」とは書いたけれど、これがなかなか便利。 具体的にはコントローラで flash("出力したいメッセージ", "success / error / status"); ビューの中で s…

empty()に0を渡すとfalseになる

php

例えばこんなコードを書いているとき layout = "error"; return; } 正規データとして$idに「0」が渡ってきたとしても、それだとempty()でfalseを返してしまう。 まあ、それはempty()の仕様なので正しい動きなんだけども。 var が空でないか、0でない値であれ…

Ktai Libraryを使いながらViewをPCと携帯で切り替える

CakePHP+Ktai Libraryを使用しているサイトで、アクセス元の端末を判別してCakePHPのViewを切り替える方法。 キャリア判別はしてないけど、この方法なら簡単に実装できるはず。 参考 : CakePHPで携帯サイトを作る - HTML出力振り分け(2)

キャッシュの罠

テーブルに項目を追加し、ControllerとViewも修正した。 なのに、どーーーーーーーしてもその項目が反映されない。 具体的には Model->find(null, $id); ... ?> とかしたとき、項目名を指定せずnullだと新しい項目が取得できない。 Model->find(array("old_c…

Model->save()の挙動について

CakePHPのModel->save()は、 idが設定されていればUpdate 設定されていなければInsert というのは判っていたんだけど、例えばモデル「User」のキーが「USER_ID」という名前だったとき User->UserId = $this->data["User"]["USER_ID"]; $data["User"]["PASSWD…