JavaScript

CKFinder からKCFinderに乗り換え

WYSIWYGエディタは「CKEditor」 + 「CKFinder」を利用していたが、「KCFinder」というツールを見つけた。

CKFinderは有料だが、KCFinderは無料で利用可なので、早速導入してみた。

インストールはこちらを参考にさせていただきました。
では、早速インストールしてみる。

1.CKEditorをインストール
  (詳細は省略)

2.KCFinderをダウンロード

3.ダウンロードしたKCFinderををサーバーに設置

  CKEditorを doc_root/js/ckeditor に設置しているので、
  KCFinderを doc_root/js/kcfinder に設置する

4.kcfinder/config.php に追記

//    override config setting
$_CONFIG['disabled'] = !CheckAuthentication();
$_CONFIG['uploadURL'] = '/uploads/';
$_CONFIG['uploadDir'] = 'doc_root/uploads/';

//  ユーザー認証
function CheckAuthentication() {
    include 'lib/Admin/Auth.php';
    return AdminAuth::isAuthorized();
}

※【AdminAuth】クラスは自作クラス

5.CKEditorにKCFinderをセットアップ
  ckeditor/config.js を修正

CKEDITOR.editorConfig = function( config )
    ・・・
    config.filebrowserBrowseUrl = '/js/kcfinder/browse.php?type=files';
    config.filebrowserImageBrowseUrl = '/js/kcfinder/browse.php?type=images';
    config.filebrowserFlashBrowseUrl = '/js/kcfinder/browse.php?type=flash';
    config.filebrowserUploadUrl = '/js/kcfinder/upload.php?type=files';
    config.filebrowserImageUploadUrl = '/js/kcfinder/upload.php?type=images';
    config.filebrowserFlashUploadUrl = '/js/kcfinder/upload.php?type=flash';
});

これでインストール完了。

6.実際にアクセスしてみる。

「サーバーブラウザ-」をクリック

あれ?まっしろ、、、

 

原因を調査すると、kcfinder/core/autoload.php に定義されている function __autoload() が正常に動作していない様子。
自分のソースではZendFramework なども使用しているため、__autoload() が上書きされてしまったようだ。

 

7.ということで、再度 kcfinder/config.php に追記

//    __autoloaderが上書きされるので再定義
spl_autoload_register('kcfinderAutoload');
function kcfinderAutoload($class) {
    if ($class == "uploader")
        require "core/uploader.php";
    elseif ($class == "browser")
        require "core/browser.php";
    elseif (file_exists("core/types/$class.php"))
        require "core/types/$class.php";
    elseif (file_exists("lib/class_$class.php"))
        require "lib/class_$class.php";
    elseif (file_exists("lib/helper_$class.php"))
        require "lib/helper_$class.php";
}

再度アクセスする。

めでたく表示されました。

ちなみにファイルのアップロードは、FireFoxやGoogleChromeならドラッグ&ドロップでも行えます。
便利!!

 

「KCFinder」は「CKFinder」と遜色なく使える。

ただし注意点として、KCFinderは以下の条件が必要

  1. WebサーバはApache2
  2. PHP5をApacheのモジュールとしてインストール
    (できればPHPのバージョンは5.3以上)
  3. PHPのGD、ZIPモジュール利用可
  4. IE6なんてサポートしません

 

 

jQueryとmootools

JavaScriptのフレームワークとして、これまではmootoolsを使ってきたのだが、自分の周りを見渡すと自分がマイノリティーであることが発覚。みんな、jQueryを使ってた。。。

という訳で、jQueryについて少し調べてみた。

まずは、Googleトレンド(国内)

あれ、、、mootoolsが0、、、

次にGoogleキーワード検索の件数

jQuery 38,200,000件 検索結果
mootols 2,530,00件 検索結果

圧倒的だ、、、

 

Amazonで本を検索

jQuery 132件 検索結果
mootools 8件 検索結果

圧倒的だ、、、
てか、mootoolsの日本語の本は無いんだ、、、

 

フォーラムの投稿件数

jQuery 75620件 参考リンク
mootools 13112件 参考リンク

 

こんなにmootoolsがマイナーだとは思わなかった。。。

2、3年前にドキュメントを見たときは、絶対mootolsのほうが使いやすいと思ったけど、
jQueryのドキュメントがこんなにも充実していたのは知らなかった。

長いものには巻かれたほうが良いので、今後はjQueryにします。
とりあえず、

jQuery 日本語リファレンス

を読みながら慣れていこうと思う。