TinyMCE&MCImagemanager

/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager/pages/im/index.html

http://tinymce.moxiecode.com/paypal/item_filemanager.php
よりMCImagemanager購入。

TinyMCEのプラグインディレクトリへそのまま設置
/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager

TinyMCE呼び出し側のplugins部にimagemanagerを追記。
plugins: “xxx,xxx,xxx,imagemanager”,

MCImagemanagerの設定
/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager/config.phpを編集。

$mcImageManagerConfig[‘filesystem.rootpath’]
イメージを保存するディレクトリを相対又は絶対パスで記述。
設定したディレクトリのパーミッションを適宜設定。

以下は、イメージのURLを調整したい場合。

$mcImageManagerConfig[‘preview.wwwroot’]
ドキュメントルートを相対又は絶対パスで記述。
相対パスが意図する階層と違う場合など。

$mcImageManagerConfig[‘preview.urlprefix’]
スキームとホストを記述。
URLが http://xxxxxx.xxx/ から始まるようになる。

——————————————————–

MCImagemanagerはデフォルトで画面のキャッシュを作るらしい。
/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager/js/_cache

当初設置時、MCImagemanagerの各種変数がうまくロードできなくて
キャッシュを削除したら回復ということがあった。一晩悩んだ。。

試験中は適宜キャッシュ削除か
/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager/js/index.phpの
$compressをfalseにしとくのが良いのかも。

——————————————————–

/path/to/tinymce/jscripts/tiny_mce/plugins/imagemanager/pages/im/index.html
といった形でimagemanagerは普通にアクセスできるので、
必要に応じてアクセス制限が必要。

session.use_trans_sid

Aタグなどに自動的にセッションIDを付加するわけだが、
色々忘れてたので一応メモ。

———————————–

PHP <= 4.2.3 では PHP_INI_ALL。 PHP <= 5 では PHP_INI_PERDIR。 PHP 4.0.3 以降で利用可能。 事実上PHP_INI_PERDIR。 利用時はphp.iniに直接記述かhttpd.conf又は.htaccessに記述。 ----------------------------------- 記述例 php_value session.use_cookies 0 php_value session.use_trans_sid 1 ※use_cookiesをoffにしておく ----------------------------------- 自動的にセッションIDを付加するのは基本的に相対パス。 ----------------------------------- formタグへのhiddenタグ付加は絶対パスでも付加されてしまう。 ※外部サイトへPOSTするときなどセッションIDが漏れないよう注意 ----------------------------------- url_rewriter.tagsで付加されるタグをコントロール可能。 ※formタグへの付加をOFFにするほうがいいかも デフォルト url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset=" 変更 url_rewriter.tags = "a=href" とか 記述例 php_value url_rewriter.tags "a=href"

バリデーション

■preg_match

D修飾子を指定しない場合、検索対象文字列の最後の文字が改行文字であれば、その直前にもマッチする。

#以下はマッチする
$var = “123\n”;
preg_match(‘/^[0-9]+$/’,$var);

■ereg

eregはバイナリセーフではないので\0等の特殊文字が存在すると、そこまでの評価になる。
バリデーション時に利用すべきでない

#以下はマッチする
$var = “123\0abc”;
ereg(‘/^[0-9]+$/’,$var);

MODx Kalender 導入

1.Kalender_1.zip 入手・インストール
http://modxcms.com/Kalender-1210.html
よりKalender_1.zipをダウンロードして展開。
展開後、出現するディレクトリ
kalender/

[webroot]/assets/snippets
配下に配置。

—– シェルコマンド —————–
cd [webroot]/assets/snippets
wget http://modxcms.com/assets/snippets/repository/repo_download/download.php?dwnParam=YXNzZXRzL3JlcG9zaXRvcnl8MTIxMnxyZXBvX2Rjb3VudHxyZXBvLTEyMTIuemlwfEthbGVuZGVyXzEuemlw
unzip Kalender_1.zip
rm Kalender_1.zip
————————————–

===================================================================================

2.スニペット作成
MODx管理画面にてスニペット”Kalender”を作成。
[webroot]/assets/snippets/kalender/kalender_snippet_copy_this.php
内のコードをペースト。

===================================================================================

3.カレンダー用コンテンツ作成
MODx管理画面にて以下のような構成でドキュメント作成

カレンダー親フォルダ
├○月フォルダ
│ ├△日コンテンツ
│ ├▲日コンテンツ
│ └×日コンテンツ
├●月フォルダ
│ ├△日コンテンツ
│ ├▲日コンテンツ
│ └×日コンテンツ

※コンテンツについて
コンテンツ作成時、「公開日時」を設定することで、カレンダーに着色&onmouseイベントを設定できる。
また、コンテンツの「内容」がonmouseイベント時にレイヤー表示される。

※月別フォルダについて
コンテンツを整理するためのもので、なくてもよい。

===================================================================================

4.カレンダー表示
カレンダーを表示する箇所に以下を記述
[!Kalender? &parent=`カレンダー親フォルダID`!]

※その他パラメータ等
theme テーマ/デフォルト「gold」

===================================================================================

5.デザイン変更方法

(1)assets/snippets/kalender/themes以下にデフォルトテーマ「gold」が格納されているので、
「silver」などの任意のフォルダへコピーして編集する。

(2)カレンダー呼び出し時、themeパラメータを設定することで利用する。
[!Kalender? &parent=`カレンダー親フォルダID` theme=`silver`!]

CentOS5.1 + Postfix + SMTP認証 + dovecot

CentOS5.1でメールサーバを構築した時のログ。
SMTPをPostfix、
SMTP認証をsasl、
POPをdovecotで構築。

■確認
yum list installed | grep postfix
yum list installed | grep sasl
yum list installed | grep dovecot

※インストールされていなければインストール

■Postfix設定
vi /etc/postfix/main.cf

myhostname = [ホスト名]
mydomain = [ドメイン名]
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/

#mynetworksなどリレー許可関係は未設定

#認証関連の設定追記
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

#送信サイズ制限(30M)
message_size_limit = 31457280

■sendmail停止
/etc/rc.d/init.d/sendmail stop
chkconfig sendmail off

alternatives –config mta
で利用mtaをSendmailからPostfixへ切り替え。
具体的には「2」を入力

alternatives –config mta
を再度入力して「+」が移動していればOK

■sasl起動、設定
/etc/rc.d/init.d/saslauthd start
chkconfig saslauthd on

vi /usr/lib/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

■ユーザー作成
※skelに追加
mkdir -p /etc/skel/Maildir/new
mkdir -p /etc/skel/Maildir/cur
mkdir -p /etc/skel/Maildir/tmp
chmod -R 700 /etc/skel/Maildir/

※作成
useradd -s /sbin/nologin user1
passwd user1

■Postfix起動
/etc/rc.d/init.d/postfix start
chkconfig postfix on

■dovecotの設定・起動

vi /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir

/etc/rc.d/init.d/dovecot start
chkconfig dovecot on

■その他
alias_mapsやvirtual_mapsは普通に設定