Archive for 2010/7/13

カラーミーTips

 
カラーミーというより、Smartyの Tipsですが。
文字列の先頭何バイトかを判断して分岐したいケースがよくあります。substr くらいあるんじゃね?と思った貴方。甘いです、激甘です。そんなの Smartyにはないんです。
と、ここまで書いて、言い切っていいのか?と怖くなってググってみたらありました。orz

すべてのPHP関数は、暗黙的に修飾子として使用でき、修飾子は組み合わせることもできます。
{$ym|substr:0:4}

あるんです! あるんですよ、貴方。
と、ここまで書いて、ほんとか? カラーミーで使えたか? と思って試してみました。

Fatal error: Smarty error: [in file:2/product.tpl line 89]:
 [plugin] (secure mode) modifier 'substr' is not allowed (Smarty_Compiler.class.php, line 1905)
 in /home/sites/shop-pro.jp/web/app/libs/smarty/Smarty.class.php on line 1088

やっぱ、カラーミーでは使えませんでした。
ということで、本題に戻ると『文字列の先頭何バイトかを判断して分岐したいケース』をカラーミーではどう書くかです。

<{if $object|truncate:7:"" == "<object"}>
<{/if}>

こうやって書くんですねぇ。ちなみに、truncateの最後の””をつけないと、$object|truncate:7 は、”<object...”を返してくるので、このIF文は falseになります。(悩みました)

proftpdにユーザ追加

proftpd

FTPサーバとして proftpd を立てているんですけど、新しいユーザを追加するとき、いつも、どうやるんだっけ?と悩むので、自分用のメモ。
 
1.proftpdの環境

/etc/proftpd/
/etc/proftpd/proftpd.conf
/etc/proftpd/ftpd.group
/etc/proftpd/ftpd.passwd

 
2.グループの追加
  基本、1ユーザ=1グループにしているので、まずグループを追加します。
  グループIDをどこまで使ったかは、cat /etc/proftpd/ftpd.group で。

ftpasswd --group --file=/etc/proftpd/ftpd.group --name=group_name -gid=5003

 
3.ユーザの追加

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=user_name --uid=5003
 --gid=5003 --home=/home/www/user_root --shell=/bin/bash

 
4.アクセス環境の設定

e /etc/proftpd/proftpd.conf

DefaultRoot    /home/www/user_root    user_name

<Directory /home/www/user_root/*>
  AllowOverwrite on
  Umask 000
  <Limit WRITE >
    AllowAll
  </Limit>
</Directory>

5.サービスリスタート

/etc/init.d/proftpd restart