サードパーティの Web サービスとやり取りする Moodle (2.0) モジュールを構築しています。
このモジュールには、設定画面以外の UI はありません。モジュールには UI がないため、ユーザーがそれをホーム画面やコースにアクティビティとして配置できるのは意味がありません。どうすればそれを防ぐことができますか? アクティビティを追加...リストに表示されないようにするにはどうすればよいですか?
API内でそれを行う方法があるとは思いません(つまり、lib.phpファイルに追加してメニューに表示されないようにする機能はありません)。汚いハックを適用したい場合、おそらく見たい関数は course/lib.php の print_section_add_menus ですが、そのような解決策はお勧めしません。
[サイト管理] -> [セキュリティ] -> [モジュール セキュリティ] の下の管理設定を通じてコースのモジュールを制限する方法がありますが、それは管理者ではなく、教師がアクティビティを追加することを制限するだけです。
そうは言っても、プラグインがアクティビティ モジュールである必要があるかどうかを再評価することを考えます。おそらく、ローカル/プラグインまたはブロックの方が良いでしょう。