MODx0.9.6のコンテンツ部分にphpbb3のデータを表示させたいと考えています。

が、スニペット「DirectPHP」を使っても表示できません。
権限のエラー(content this user has no permission)が出たので「不思議の国の蟻」に紹介されていた方法を使ってみてもうまくいきませんでした。
解決方法、または不可能であればその旨、(不可能の場合はなぜできないかを添えて)教えてください。

※SMFを使おうと思いましたが、レンタルサーバーのmysqlのバージョンが推奨環境に合わないようなのでphpbb3の使用を検討しています。
※フォーラムがメインのサイトになるので、できればページ内に組み込みたいと考えています。

回答の条件
  • 1人1回まで
  • 登録:2007/10/14 13:39:57
  • 終了:2007/10/14 20:48:55

回答(1件)

id:KUROX No.1

KUROX回答回数3542ベストアンサー獲得回数1402007/10/14 16:31:29

ポイント60pt

ユーザー名ですが、MODxで設定したユーザー名を指定してますか?

原因は79行目のIF文の条件に一致してるからです。

in_array($creator, $permittedCreator)

の条件を満たせばよいので、

IF文の直前で、MODxのユーザー名(例:admin)を3つの

変数にいれでも、駄目でしょうか?

$creator ='admin';

$permittedCreator ='admin';

$editor ='admin';

if( !in_array($creator, $permittedCreator)

   && !in_array($editor, $permittedEditor)

   && !in_array($editor, $permittedPublisher) )

   return "this user has no permission";

-------------

原因の切り分けがため、このエラーを回避できるまでは、

[!DirectPHP?code=echo 12345;!]

のように実コードを直接書いて実行したほうがよいと思います。

-------------

id:eraser00

回答ありがとうございます。

★変数部分にadminを入力してもだめでした。

★DirectPHPのコードに「$creator = get_fullname…」という箇所があり、自分のユーザー設定を確認したらフルネームの部分が「admin」ではなかったので「admin」に変更してもだめでした。

★以下のようにしてもだめでした(このほかいろいろな組み合わせを試しましたが全部だめ)。

$creator ='admin';

$editor ='admin';

$Publisher ='admin';

$permittedCreator ='admin';

$permittedEditor ='admin';

$permittedPublisher ='admin';

★DirectPHPの代わりになるものを探して、試しにinclude()を使って、表示はされたのですが使えませんでした。

★呼び出したいのは掲示板のファイルなので実コードは使えない(?)ようです。

私のやりたいことに無理があるのかも? という気もしています。

Geeklogにフォーラム型掲示板が標準で入っているようなので、Geeklogに変更しようかと思っています。

2007/10/14 20:48:27
  • id:Wakutsu
    もう遅いかも知れないですけど「不思議の国の蟻」は自分が書いてるサイトなんでレスしてみます

    > MODx0.9.6のコンテンツ部分にphpbb3のデータを表示させたいと考えています。

    DirectPHPを使って↑ができるかどうかを確かめたい訳だから、とりえあえずパーミションで引っかかってる部分をコメントしちゃっても良いのでは?と思います

    //if( !in_array($creator, $permittedCreator)
    //   && !in_array($editor, $permittedEditor)
    //   && !in_array($editor, $permittedPublisher) )
    //   return "this user has no permission";

    っで後はid:KUROXさんのおっしゃるとおり、まずは[!DirectPHP?code=echo 12345;!]のような簡単なコードを試してみると良いです



  • id:eraser00
    ご本人様ですか! コメントありがとうございます。

    そういえば、コメントしてしまうという方法は試していませんでした。
    …が、すみません、MODxを削除してしまい、今、Geeklogをインスト
    ール中です。

    今回の件は、サンプルサイトをちょこちょこ書き換えながらサイトを
    作ろうとしていたので、DirectPHPの修正のほかにも何か間違いをし
    ていたのではないかと思います。

    次、同じようなことがあったら
    ・原因と思われる場所をコメントしてみる
    ・まず実コードで表示されるか確認する
    を忘れないようにします。

    -----

    PHPを熟知しているわけでもないのにCMSとは無謀かな、と思いつつも
    作業を進めているところです。
    PHPでわからないことが今後いろいろ出てくると思うので、またサイト
    を拝見に行くと思います。
  • id:Wakutsu
    やはり遅かったですか。

    ちょっと以下が気になったのでコメントをば。

    >・原因と思われる場所をコメントしてみる

    ちょびっと違いますかね。

    今回のケースは、何らかの理由でパーミッションエラーが起こってしまうといったもの。
    DirectPHPの動作自体を試したいので、DirectPHPを実行できる権限をチェックしている
    箇所なんかは、とりあえず取っちゃっても動作には問題ないという訳です。

    エラーによってはそこをキチンと直さないと、それ以降の処理にも関わってくるので、
    エラー箇所をコメントしたからといって、その後の処理の動作を保障するものではあり
    ませんのでご注意を。

    でわでわ、
    Geeklogで頑張ってみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません