うまいぼうぶろぐ

linuxとhttpdとperlのメモ

ecoder - php製のweb-basedなeditor

ローカルサーバ上に置いているテキストを編集するために、いちいちsshしてvim起動して、、、というのが面倒だと思ったのでweb editorを探してみた。

他にはnode.jsで動くfilepadというのもあるらしいんだけど、サブディレクトリを認識しない、ファイルの新規作成機能がない、という感じだったので見送り

設定

読み書きする対象のディレクトリや、backupを設定するか、拡張子の設定など。追加する拡張子は"htaccess", "ini" より前に書くこと

## 間違い
$_SESSION['tree_file_types'] = array( "php", "js", "html", "css", "txt", "tt", "yaml" );
## 正解
$_SESSION['tree_file_types'] = array( "php", "js", "html", "css", "txt", "htaccess", "ini", "tt", "yaml" );

code/edit/add.file.php のecoder_array_cleanの処理でhtaccessとiniを省いてるぽいんだけど、このあたりの処理がおかしいためか、末尾に拡張子を追加すると新規作成時にバグる。=> create a new file で表示される拡張子はhtaccess だけどvalueはttになる。

カスタマイズ

googleの広告を消す

code/base/server.php の以下の変数を0に。

$_SESSION['google'] = 0; // show ads ##
拡張子を追加する

code.phpのtree_file_typesに追加しただけでは左側のexplorerのような場所にUNKNOWNと表示されるだけでダメだった。(.yaml, .tt などを追加したかった)
code/tree/type.php この中のif文を編集して適当に追加。

次にその拡張子のtemplateを用意。

$ touch code/save/template.yaml
$ touch code/save/template.tt

これがないと"the file type yaml is not allowed."といって怒られる。

ディレクトリの書き込み権限チェックを外す

ディレクトリを移動するたびに書き込み権限をチェックしてるようで (それ自体はいいんだけど) .ecoder_permissions_check.txt というドットファイルを勝手に作られる。これがけっこううざいのでそれっぽい処理をしてるところを強引に外した。

$ mv code/tree/check.php /code/tree/check.php.orig
$ touch code/tree/check.php

やや怪しいけどと動いてるのでこれでいいや。