[1.6.4][frontend]インポート・エクスポート画面「back」ボタンパッチ

エクスポートする際に、適当な
ホスト・テンプレート・アイテム・トリガー・グラフ等の
チェックボックスを有効にしてから、プレビュー画面へ
移動し、「back」ボタンで戻った際、
テンプレート・アイテム・トリガー・グラフの
チェック状態がクリアされてしまう不具合を発見しました

ソースコードを見てみると、内部で、既存の変数を使って
別の処理を行ってしまっており、変数内容を破壊している
ようでしたので、パッチをあててみました

<code>
--- C:/exp_imp.php Fri Apr 03 23:44:07 2009
+++ C:/exp_imp.php.patched Tue May 26 11:50:37 2009
@@ -55,6 +55,7 @@
/*,
"screens"=> array(T_ZBX_INT, O_OPT, null, DB_ID, null) */
/* actions */
+ 'back'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
"preview"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
"export"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
"import"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL)
@@ -326,8 +327,8 @@
' WHERE '.DBcondition('hostid',$hostids).
' GROUP BY hostid';
$result = DBselect($sql);
- while($templates=DBfetch($result)){
- $hosts[$templates['hostid']]['templates_cnt'] = $templates['cnt'];
+ while($templates_db=DBfetch($result)){
+ $hosts[$templates_db['hostid']]['templates_cnt'] = $templates_db['cnt'];
}
// items
$sql = 'SELECT hostid,count(itemid) as cnt '.
@@ -335,8 +336,8 @@
' WHERE '.DBcondition('hostid',$hostids).
' GROUP BY hostid';
$result = DBselect($sql);
- while($items=DBfetch($result)){
- $hosts[$items['hostid']]['items_cnt'] = $items['cnt'];
+ while($items_db=DBfetch($result)){
+ $hosts[$items_db['hostid']]['items_cnt'] = $items_db['cnt'];
}
// triggers
$sql = 'SELECT count(DISTINCT f.triggerid) as cnt, i.hostid '.
@@ -345,8 +346,8 @@
' AND '.DBcondition('i.hostid',$hostids).
' GROUP BY i.hostid';
$result = DBselect($sql);
- while($triggers=DBfetch($result)){
- $hosts[$triggers['hostid']]['triggers_cnt'] = $triggers['cnt'];
+ while($triggers_db=DBfetch($result)){
+ $hosts[$triggers_db['hostid']]['triggers_cnt'] = $triggers_db['cnt'];
}
// graphs
$sql = 'SELECT count(DISTINCT gi.graphid) as cnt, i.hostid '.
@@ -355,8 +356,8 @@
' AND '.DBcondition('i.hostid',$hostids).
' GROUP BY i.hostid';
$result = DBselect($sql);
- while($graphs=DBfetch($result)){
- $hosts[$graphs['hostid']]['graphs_cnt'] = $graphs['cnt'];
+ while($graphs_db=DBfetch($result)){
+ $hosts[$graphs_db['hostid']]['graphs_cnt'] = $graphs_db['cnt'];
}

foreach($hosts as $hostid => $host){
</code>

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

パッチ投稿ありがとうございます。

利用させて頂こうと思います。