MAMEMARUと申します。
picoでfckeditorを利用しているのですが、登録ユーザが数名なので、全員にアップロード権限があったほうが便利だと思い、思い切って変更することにしました。
そこで、config_and_auth.inc.dist.php ファイルをconfig_and_auth.inc.php として複製し、以下のように2カ所変更しました。
36行目
// guests
$fck_isadmin = true ;
$fck_canupload = true ;
41行目
// check canupload
$fck_canupload = true ;
これで行けるかな、と思ったのですが、登録ユーザでファイル(画像、PDFなど)をアップしようとすると、「Invalid file type」となってしまい、アップすることができませんでした。
解決方法をご存じの方がいましたら、アドバイスをいただけないでしょうか?
よろしくお願い致します。
MAMEMARUです。
以下のようにしたら登録ユーザなら誰でもアップロードできるようになりました。
引用:
36行目
// guests
$fck_isadmin = true ;
$fck_canupload = true ;
53行目
// check canupload
$fck_canupload = true ;
これにプラスして、
54行目
//if( ! $fck_isadmin ) {
// $fck_canupload = count( array_intersect( $xoopsUser->getGroups() , $fck_uploadable_groups ) ) > 0 ? true : false ;
//}
のようにコメントアウトしたら可能になりました。
しかし、これで合っているか不安です。
何か間違えている部分がありましたら、ご指摘頂きたいです。
よろしくお願い致します。
MAMEMARUさん、こんにちは。
まず最初に、ファイルのアップロード機能というのは、かなり「恐い」機能だということを覚えておいてください。
だからこそ、fckxoopsでは、最初からかなり厳しい設定にしているのです。
(少なくとも私がfckxoopsを作り始めた時点でFCKEditorのバックエンドは大穴あいてました)
以下、fckxoops-2.5.1-001だと仮定してコメントします。
引用:
以下のようにしたら登録ユーザなら誰でもアップロードできるようになりました。
// guests
$fck_isadmin = true ;
$fck_canupload = true ;
コメントにも書いてありますが、これはゲストの権限です。
ゲストがアップロード管理者権限を持つ…
拡張子phpでの任意コード実行なんかは、さすがにProtectorが守るとは思いますが、ログインなんかしなくても、あらゆるファイルの置き場にすることはできます。
このファイルについては、ロジックの読み書きが出来ないヒトでも、
// configurations
のエリアだけいじれば、(まともな設定なら)だいたい希望通りできるようにしてあります。
画像とPDFだけアップロードできれば良い、ということであれば、
$fck_uploadable_groups = array() ; // specify groups can upload images
この行で、アップロード可能なグループ番号を入力します。
グループ番号2と4に許可するなら、こうです。
$fck_uploadable_groups = array(2,4) ;
それらのユーザであれば、その他のファイルもアップロード許可したい、ということであれば、
$fck_allowed_extensions = array(
'jpg' => 'image/jp' ,
'jpeg' => 'image/jp' ,
'png' => 'image/png' ,
'gif' => 'image/gif' ,
'pdf' => '' ,
'xls' => '' ,
) ;
こんな感じで追加してください。
決して、$fck_isadmin を安易にtrueにしてはいけません。
GIJOEさん、こんにちは。
ご丁寧なアドバイスありがとうございます。
引用:
決して、$fck_isadmin を安易にtrueにしてはいけません。
やはりこちらで質問をして良かったです。
いくつかのサイトで、上記のようにして管理者以外にもアップロード権限を与えるカスタマイズ例が掲載されていたので、割とスタンダードな方法なのかも。
と勝手に解釈しておりました

アドバイスして頂いた方法で問題なくファイルアップができたので、以前のカスタマイズと変更しました。