1<?php 2/* 3** Zabbix 4** Copyright (C) 2001-2021 Zabbix SIA 5** 6** This program is free software; you can redistribute it and/or modify 7** it under the terms of the GNU General Public License as published by 8** the Free Software Foundation; either version 2 of the License, or 9** (at your option) any later version. 10** 11** This program is distributed in the hope that it will be useful, 12** but WITHOUT ANY WARRANTY; without even the implied warranty of 13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14** GNU General Public License for more details. 15** 16** You should have received a copy of the GNU General Public License 17** along with this program; if not, write to the Free Software 18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19**/ 20 21 22/** 23 * @var CView $this 24 */ 25 26$form_items = [$data['messages']]; 27 28if ($data['success']) { 29 $row_decription = [ 30 (new CTextArea('', $data['output'])) 31 ->setWidth(ZBX_TEXTAREA_BIG_WIDTH) 32 ->addClass('monospace-font') 33 ->addClass('active-readonly') 34 ->setReadonly(true) 35 ]; 36 37 if ($data['type'] == ZBX_SCRIPT_TYPE_WEBHOOK) { 38 $row_decription[] = new CVar('debug', json_encode($data['debug'])); 39 $row_decription[] = new CDiv( 40 (new CLinkAction('Open log')) 41 ->setId('script_execution_log') 42 ->addClass($data['debug'] ? '' : ZBX_STYLE_DISABLED) 43 ); 44 } 45 46 $form_items[] = (new CFormList())->addRow( 47 new CLabel($data['type'] == ZBX_SCRIPT_TYPE_WEBHOOK ? _('Response') : _('Output')), 48 $row_decription 49 ); 50} 51 52$form = (new CForm())->addItem($form_items); 53 54$output = [ 55 'header' => $data['title'], 56 'script_inline' => $this->readJsFile('popup.scriptexec.js.php'), 57 'body' => $form->toString(), 58 'buttons' => null 59]; 60 61if ($data['user']['debug_mode'] == GROUP_DEBUG_MODE_ENABLED) { 62 CProfiler::getInstance()->stop(); 63 $output['debug'] = CProfiler::getInstance()->make()->toString(); 64} 65 66echo json_encode($output); 67