差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
ja:documentation:08_technical_reference:07_anexo_console_extensions_development [2022/08/06 22:36] – [ソースコード] junichi | ja:documentation:08_technical_reference:07_anexo_console_extensions_development [2022/08/06 22:56] – [サブディレクトリ] junichi | ||
---|---|---|---|
行 439: | 行 439: | ||
この例の場合、同じファイルに 3つの関数があります。しかし、共通のコードがあるのであれば、複数ファイルに分割する方が良いです(そして、拡張のサブディレクトリに保存します)。関数は次の通りです。 | この例の場合、同じファイルに 3つの関数があります。しかし、共通のコードがあるのであれば、複数ファイルに分割する方が良いです(そして、拡張のサブディレクトリに保存します)。関数は次の通りです。 | ||
- | * extensions_translation() 関数 | + | * '' |
- | * translate(& | + | * '' |
- | * mainModuleGroups() 関数\\ これは、拡張のコードで何行もあります。重要な部分のみ示します。 | + | * '' |
* 最初は、設定のグローバル変数へのアクセスです。この変数に、Pandora コンソールに関する多くの設定やデフォルト値が含まれます。 | * 最初は、設定のグローバル変数へのアクセスです。この変数に、Pandora コンソールに関する多くの設定やデフォルト値が含まれます。 | ||
- | * 2つ目の変数は、[[http:// | + | * 2つ目の変数は、[[https:// |
- | * 次に表示するためのいくつかの echo があります。 | + | * 次に表示するためのいくつかの |
* DB のデータを 1次元の 2つの配列に展開し、id がインデックスで、内容は列(モジュールグループと行(エージェントグループ)にタイトルです。 | * DB のデータを 1次元の 2つの配列に展開し、id がインデックスで、内容は列(モジュールグループと行(エージェントグループ)にタイトルです。 | ||
* モジュールグループ配列のタイトルを変換します。 | * モジュールグループ配列のタイトルを変換します。 | ||
* メタオブジェクトの $table を作成し、行を埋めて表示します。 | * メタオブジェクトの $table を作成し、行を埋めて表示します。 | ||
- | * foreach ループの前に、$table に、テーブルのヘッダとスタイルを定義します。 | + | * foreach ループの前に、'' |
* 最初のループは行のデータ用です。(それぞれのエージェントグループ) | * 最初のループは行のデータ用です。(それぞれのエージェントグループ) | ||
* 2つ目のループは、現在の行に対する列のデータ用です。(それぞれのモジュールグループ) | * 2つ目のループは、現在の行に対する列のデータ用です。(それぞれのモジュールグループ) | ||
* そして、それぞれのセルに、モジュールグループとエージェントグループの ID の 2つの数字が当てはまり、この 2つの数字を使ってデータベースクエリを実施し、データを取得します。 | * そして、それぞれのセルに、モジュールグループとエージェントグループの ID の 2つの数字が当てはまり、この 2つの数字を使ってデータベースクエリを実施し、データを取得します。 | ||
* 異なる種類のモニタ状態および、状態の数の合計の結果の配列を生成します。 | * 異なる種類のモニタ状態および、状態の数の合計の結果の配列を生成します。 | ||
- | * そして残りは、セルを html に整形する処理です。仕組みは簡単です。すべての状態の合計がゼロであれば、CSS の div で背景をグレーにします。もし、$states[[pandora: | + | * そして残りは、セルを html に整形する処理です。仕組みは簡単です。すべての状態の合計がゼロであれば、CSS の div で背景をグレーにします。もし、'' |
- | * 合計が 0 より大きければ、セルにリンクを加えます。 | + | * 合計が |
- | * 行を $table に保存し、foreach で繰り返します。 | + | * 行を |
* 表を表示します。 | * 表を表示します。 | ||
* 凡例とその他注意をページの下に表示します。 | * 凡例とその他注意をページの下に表示します。 | ||
=== API 呼び出し関数 === | === API 呼び出し関数 === | ||
- | これは、数行のコードです。このコードでは次のことを行います。 | ||
- | * 拡張を Pandora メニューへ挿入\\ **extensions_add_operation_menu_option(" | ||
- | * **' | ||
- | * **' | ||
- | * **' | ||
- | | + | There are only a few lines of code. The operations in these lines are: |
+ | |||
+ | 数行のコードです。この行で行う処理は次の通りです。 | ||
+ | |||
+ | * Insert the extension into Pandora FMS menu. | ||
+ | * And it's with the call | ||
+ | |||
+ | * 拡張を Pandora FMS メニューへ挿入 | ||
+ | * そして、呼び出し | ||
+ | |||
+ | < | ||
+ | extensions_add_operation_menu_option(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Where: | ||
+ | |||
+ | ここで、 | ||
+ | |||
+ | * **' | ||
+ | * **' | ||
+ | * **' | ||
+ | * Define the main function of this extension . \\ And it's with the call '' | ||
+ | * **' | ||
+ | |||
+ | * **' | ||
+ | * **' | ||
+ | * **' | ||
+ | | ||
* ' | * ' | ||
行 472: | 行 495: | ||
=== ディレクトリ構成 === | === ディレクトリ構成 === | ||
- | {{ wiki:Directory_extension_example.png? | + | |
- | 拡張のインストールはとても簡単です。なぜなら、Pandora コンソールは新たな拡張を検索し、それを見つけたらシステムに追加します。 | + | {{ :wiki:directory_extension_example.png }} |
- | 拡張のファイルすべてを Pandora コンソールをインストールした extension ディレクトリにコピーするだけです。ただし、**Pandora コンソールが拡張のファイルおよびサブディレクトリを読めるようにパーミッションを設定する**必要があります。 | + | |
+ | The instalation of extension is very easy, because the Pandora FMS Console search new extensions and add into system when new extension is found. You only copy all files of extensions into the directory extension in your [[: | ||
+ | |||
+ | 拡張のインストールはとても簡単です。なぜなら、Pandora | ||
+ | 拡張のファイルすべてを | ||
画面例では、extension は次のようなディレクトリ構造になっています。 | 画面例では、extension は次のようなディレクトリ構造になっています。 | ||
- | * module_groups | + | * '' |
- | * icon_menu.png | + | * '' |
- | * module_groups.php | + | * '' |
- | そして、例では extension ディレクトリは、/// | + | And the extension directory is for example in ''/ |
+ | |||
+ | そして、例では extension ディレクトリは、'' | ||
=== サブディレクトリ === | === サブディレクトリ === | ||
- | この場合、例では一つのサブディレクトリがあります。そして、通常、拡張は一つのサブディレクトリを持つ必要があります。サブディレクトリは、拡張のメインファイルと同じ名前です。この例のサブディレクトリには、アイコンファイル (icon_menu.png) のみがあります。このアイコンは、 Pandora メニューに表示されます。 | + | |
+ | In this case, the example has one subdirectory, | ||
+ | |||
+ | この場合、例では一つのサブディレクトリがあります。そして、通常、拡張は一つのサブディレクトリを持つ必要があります。サブディレクトリは、拡張のメインファイルと同じ名前です。この例のサブディレクトリには、アイコンファイル ('' | ||