$keyTable = new CTableInfo(null); $keyTable->setAttribute('id', 'key_list'); $keyTable->setHeader(array(_('Keyword'), _('Type'), _('Action'))); $table = new CTableInfo(null); $table->setAttribute('id', 'exp_list'); $table->setHeader(array(_('Expression'), _('Type'), _('Position'), _('Action'))); $maxId = 0; foreach ($expressions as $id => $expr) { $imgup = new CImg('images/general/arrow_up.png', 'up', 12, 14); $imgup->setAttribute('onclick', 'javascript: element_up("logtr' . $id . '");'); $imgup->setAttribute('onmouseover', 'javascript: this.style.cursor = "pointer";'); $imgup->addClass('updown'); $imgdn = new CImg('images/general/arrow_down.png', 'down', 12, 14); $imgdn->setAttribute('onclick', 'javascript: element_down("logtr' . $id . '");'); $imgdn->setAttribute('onmouseover', 'javascript: this.style.cursor = "pointer";'); $imgdn->addClass('updown'); $del_url = new CSpan(_('Delete'), 'link'); $del_url->setAttribute('onclick', 'javascript:' . ' if (confirm(' . CJs::encodeJson(_('Delete expression?')) . ')) remove_expression("logtr' . $id . '");' . ' return false;'); $row = new CRow(array(htmlspecialchars($expr['value']), $expr['type'] == CTextTriggerConstructor::EXPRESSION_TYPE_MATCH ? _('Include') : _('Exclude'), array($imgup, ' ', $imgdn), $del_url)); $row->setAttribute('id', 'logtr' . $id); $table->addRow($row); $frmTRLog->addVar('expressions[' . $id . '][value]', $expr['value']); $frmTRLog->addVar('expressions[' . $id . '][type]', $expr['type']); $maxId = max($maxId, $id); } zbx_add_post_js('logexpr_count=' . ($maxId + 1) . ';'); zbx_add_post_js('processExpressionList();'); $maxId = 0; foreach ($keys as $id => $val) { $del_url = new CLink(_('Delete'), '#', 'action', 'javascript:' . ' if (confirm(' . CJs::encodeJson(_('Delete keyword?')) . ')) remove_keyword("keytr' . $id . '");' . ' return false;'); $row = new CRow(array(htmlspecialchars($val['value']), $val['type'], $del_url));