2010年2月1日月曜日

EclipseでFirefox/Thunderbird プラグイン開発

EclipseでFirefox/Thunderbird プラグイン開発をする際、XPIを自動で生成させるメモ

プロジェクトはJavascriptプロジェクトで、名前はThunderbird Pluginsとする。
プロジェクト毎にプラグインを作るのではなく、上記プロジェクトの直下に各プラグインフォルダを置くようにするのがポイント

実行>外部ツール>外部ツールの構成 を選ぶ

ロケーションにはjarコマンドへのパス
作業フォルダは${workspace_loc:/ThunderBird Plugins}
引数にはcvMf ${selected_resource_name}.xpi -C ${selected_resource_name}/ .

外部ツールの実行の前に、あらかじめ対象となるフォルダを選択しておく。

2008年10月7日火曜日

iPhone3GのFringでAsterisk(ひかり電話)を使う

iPhone3GのFringでAsteriskを使うには以下の点を気をつけること

1,LAN内のAsteriskマシンにWAN側から接続できるようにする
2、FringのSIPアカウントを設定する

iPhoneのFringは、SIPを利用する際に一旦Fringサーバを経由してproxyへアクセスする為、外部からLAN内のAsteriskマシンに接続できるようになっていなくてはならない。

このためWAN側の5060番をAsteriskマシンのローカルIPにポートフォワードさせる必要がある。
また、DynDns等を用いてWAN側のIPにドメイン名でアクセスできるようにしておく。

外部からAsteriskマシンにアクセスできる関係上、パスワードを簡単なものにしないよう気をつけること

Fring側設定は、Add OnからSIPを選び
sip.conf上のusernameをSIP設定のusernameに
同secretをpasswordに設定し、proxyにDynDns等のドメイン名を入力する。

以上で、FringでAsteriskが使えるようになる。

ちなみに構築した環境は玄箱Asterisk+Fletsひかり電話です。

2008年8月24日日曜日

OCN WEBスタンダード等で、WordPressのパーマリンクを動作させる

OCNのビジネス向けプラン(WEBスタンダード等)は、PHPは動作可能(mod_rewriteも可)であるのだが、CGI版で提供されているにもかかわらず、cgi.fix_pathinfoが有効化されていない。

そのため、パーマリンク設定でWordPressを運用すると、No input file specified.というエラーが出る。

これを回避するには、下記rewriteルールを.htaccess内で記述する。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule (.*) /index.php?pagename=/$1 [L]
RewriteRule ^(.+) - [PT]

上記で、ページがパーマリンク形式のアクセスで表示できるようになるが、このままでは通常の投稿が表示できない。(すべてページとして処理されるため)
通常の投稿を表示させるために、下記を追加する。

WordPress側で、パーマリンクを/%category%/%postname%/としておく。
インストールルートにcategoryというフォルダを作り、その中の.htaccessで下記を記述する。

RewriteEngine On
RewriteBase /category
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php?category_name=$1 [L]
RewriteRule ^(.+) - [PT]

2008年7月30日水曜日

(WordPress2.6)エントリーの添付ファイルの取り出し方

<?php $attachment = get_posts('numberposts=1&post_type=attachment&post_parent=' . get_the_ID()); ?>
<?php var_dump($attachment); ?>

2008年7月24日木曜日

和暦から西暦への変換をSQLで行う(MySQL)

select case when 0 != locate('平成', <和暦>) then concat_ws('/',
replace(substring_index(<和暦>, '年', 1), '平成', '') - 12 + 2000,
lpad(substring_index(substring_index(<和暦>, '年', -1), '月', 1), 2, 0),
lpad(substring_index(substring_index(<和暦>, '月', -1), '日', 1), 2, 0) ) else
(case when 0 != locate('昭和', <和暦>) then concat_ws('/',
replace(substring_index(<和暦>, '年', 1), '昭和', '') + 25 + 1900,
lpad(substring_index(substring_index(<和暦>, '年', -1), '月', 1), 2, 0),
lpad(substring_index(substring_index(<和暦>, '月', -1), '日', 1), 2, 0) ) else null end) end as ymd from <テーブル>;

<和暦>は以下のようなデータが格納されたフィールド
昭和52年11月8日

2008年6月12日木曜日

PHP組み込み定数 PATH_SEPARATOR

ini_setでinclude_pathを追加する場合に、パスの区切りに使う。
windowsとunix系とで、パスの区切り文字が変わる。このため、PATH_SEPARATORを使うと違いを吸収してくれる

2008年6月9日月曜日

再考:エンターキーでフォームが送信されるのをブロックする

エンターキーでフォームが送信されるのをブロックするでformのonsubmitに指定するやり方は結局間違いだった。

input要素のonkeydownに if ( (arguments[0]?arguments[0]:window.event).keyCode == 13) { return false; } と指定する。

onkeydownなのは、keyCode を見るため。
13はRETURNのキーコード(Event.KEY_RETURN)

prototype.jsが必要なくなった。