✏️ 正在编辑: CScreenUrl.php
路径:
/usr/share/zabbix/include/classes/screens/CScreenUrl.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /* ** Zabbix ** Copyright (C) 2001-2021 Zabbix SIA ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ class CScreenUrl extends CScreenBase { /** * Process screen. * * @return CDiv (screen inside container) */ public function get() { // prevent from resolving macros in configuration page if ($this->mode != SCREEN_MODE_PREVIEW && $this->mode != SCREEN_MODE_SLIDESHOW) { return $this->getOutput($this->prepareElement()); } if ($this->screenitem['dynamic'] == SCREEN_DYNAMIC_ITEM && $this->hostid == 0) { return $this->getOutput((new CTableInfo())->setNoDataMessage(_('No host selected.'))); } $resolveHostMacros = ($this->screenitem['dynamic'] == SCREEN_DYNAMIC_ITEM); $url = CMacrosResolverHelper::resolveWidgetURL([ 'config' => $resolveHostMacros ? 'widgetURL' : 'widgetURLUser', 'url' => $this->screenitem['url'], 'hostid' => $resolveHostMacros ? $this->hostid : 0 ]); $this->screenitem['url'] = $url ? $url : $this->screenitem['url']; return $this->getOutput($this->prepareElement()); } /** * @return CTag */ private function prepareElement() { if (CHtmlUrlValidator::validate($this->screenitem['url'], ['allow_user_macro' => false])) { $item = new CIFrame($this->screenitem['url'], $this->screenitem['width'], $this->screenitem['height'], 'auto' ); if (CSettingsHelper::get(CSettingsHelper::IFRAME_SANDBOXING_ENABLED) == 1) { $item->setAttribute('sandbox', CSettingsHelper::get(CSettingsHelper::IFRAME_SANDBOXING_EXCEPTIONS)); } return $item; } return makeMessageBox(false, [[ 'type' => 'error', 'message' => _s('Provided URL "%1$s" is invalid.', $this->screenitem['url']) ]]); } }
💾 保存文件
← 返回文件管理器