テスト モジュール名 Mytest を作成しました。モジュールから値を保存しているときに、空白のページが表示され、「申し訳ありません。制限されたファイルにアクセスしようとしています。」と表示されます。なぜこれが起こっているのか、誰にもわかりません。これに関するヘルプは本当に感謝しています。
11 に答える
カスタムモジュールからファイルをインクルードしようとすると、Vtigerは、安全ではないと判断した場所からこれらのファイルをインクルードしていると見なすため、これらのメッセージが表示されます。
このエラーを回避するには、次のようにナビゲートして、Vtigerでモジュールを使用する標準的な方法を使用できます......./index.php?module=Mytest&action=index
。CRMEntity
Vtigerにはモジュールが含まれるため、他のファイルdata
やutils
関連ファイルを含める必要はありません。すべてこの方法で利用できるはずですが、などのglobal
ステートメントを使用していることを確認してください。$current_user
$current_module
別の方法は、にある次の関数を編集することですutils/CommonUtils.php
。
heckFileAccessForInclusion()
とcheckFileAccess()
これらの関数を削除またはコメントアウトしてdie()
修正してください。
Save.php ファイルに 1 行追加するだけです。
$focus->column_fields['assigned_user_id'] = '';
の前に
if($_REQUEST['assigntype'] == 'U') {
$focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_user_id'];
} elseif($_REQUEST['assigntype'] == 'T') {
$focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_group_id'];
}
カスペルスキーが言ったことに次のように:
に移動して直後に/include/database/PearDatabase.php
追加
$adb->setDebug(true);
$adb->connect();
モジュールを作成したところ、このエラーを受け取りました。これは、省略したためにレコードを保存できなかったためです。
$moduleInstance->setEntityIdentifier($fieldInstance);
参照しようとしているファイルのアクセス許可とファイル パスを確認してください。
さらにデバッグしたい場合は、インデックス ファイルに $adb->setDebug(true) を設定し、エラーをチェックアウトします。
いくつかのことが頭に浮かびます:
modules/CustomeModule ディレクトリを実際に作成し、そこに入力しましたか? (vtlib/ModuleDir/5.4.0 のテンプレートを使用し、CustomeModule.php のファイル名とクラスを編集します)
モジュール クラス定義の大文字と小文字を確認してください。たとえば、クラス CustomeModule とクラス Customemodule
モジュール/Mytest コードの開発でバージョン管理またはシンボリック リンクを使用している場合、「申し訳ありませんが、制限されたファイルにアクセスしようとしています」というメッセージが表示される可能性があります。メッセージ。
モジュール設定スクリプトで、この行を追加したことを確認してください。
$module->initTables(); $module->initWebservice();
すべての言語ファイルが存在することを確認してください。
ユーザー モジュールを使用すると、言語ファイルがディスクに存在しない場合でも、管理ユーザーはユーザーの言語を構成できます。
これが実際に問題であることをすばやく確認するには:- - include/utils/CommonUtils.php を編集し、$realfilepath 変数を出力し、die(); をコメントアウトします。- データベースで、「xxx_users から個別の言語を選択してください」;
これは、必要なファイルをダウンロードすることで修正できます。
簡単な修正として (read:hack):- - include/language ディレクトリに移動します - 既存の言語ファイルを必要なファイルとしてコピーします。(常に機能するとは限りません。たとえば、en_us から en_gb への変換は優れていますが、en_us から sp_es への変換はそうではありません)
Smarty フォルダへの書き込み権限が設定されていないようです