きゃしゃさまの協力を得て、Nucleus CMSの仕様が、ファイル管理プラグインに与えている制限をまとめてみた。



  • デフォルトでは、DIR_MEDIAで設定される公開用フォルダ内のフォルダを参照する
  • 公開用フォルダ内のフォルダは、プライベートとcommonに分けられる。この違いは単純に、フォルダ名が数字でなければcommon、数字のものでユーザIDと一致するものがプライベートになる
  • 記事への埋め込みの際、openerの「includeImage」「includeOtherMedia」を呼び出して行われる (WYSIWYGエディタだとこの限りではないけれど)
  • CONF('MaxUploadSize')でアップロードできるファイル単体のファイルサイズが制限されている
  • CONF('AllowedTypes')でアップロードできるファイルの拡張子が制限されている
  • CONF('AllowUpload')でアップロード自体が可能かどうか設定されている

config.phpを読み込むと、DIR_MEDIAが定義され、その後globalfunctions.phpが読み込まれて$CONFが定義され、それからたくさんのクラスファイルがパースされる。

プラグインは「action.php?action=plugins&name=未定」で呼び出されるようにしようか、それともPHPファイルにアクセスしてそこからconfig.phpを読みにいく構造にしようか、考え中。Nucleus CMSのプラグインとしては前者が簡単なのだが、後者だとNucleus CMSを離れたところでの運用を目指すことができる。

とはいうものの今のところは前者で固定しておこう。