%PDF- %PDF-
Direktori : /home/infra/fusioninventory/inc/ |
Current File : //home/infra/fusioninventory/inc/display.class.php |
<?php /** * FusionInventory * * Copyright (C) 2010-2023 by the FusionInventory Development Team. * * http://www.fusioninventory.org/ * https://github.com/fusioninventory/fusioninventory-for-glpi * http://forge.fusioninventory.org/ * * ------------------------------------------------------------------------ * * LICENSE * * This file is part of FusionInventory project. * * FusionInventory is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * FusionInventory 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with FusionInventory. If not, see <http://www.gnu.org/licenses/>. * * ------------------------------------------------------------------------ * * This file is used to manage the general display in plugin. * * ------------------------------------------------------------------------ * * @package FusionInventory * @author Vincent Mazzoni * @author David Durieux * @copyright Copyright (c) 2010-2023 FusionInventory team * @license AGPL License 3.0 or (at your option) any later version * http://www.gnu.org/licenses/agpl-3.0-standalone.html * @link http://www.fusioninventory.org/ * @link https://github.com/fusioninventory/fusioninventory-for-glpi * */ if (!defined('GLPI_ROOT')) { die("Sorry. You can't access directly to this file"); } /** * Manage the general display in plugin. */ class PluginFusioninventoryDisplay extends CommonDBTM { /** * Display static progress bar (used for SNMP cartridge state) * * @param integer $percentage * @param string $message * @param string $order * @param integer $width * @param integer $height */ static function bar($percentage, $message = '', $order = '', $width = '400', $height = '20') { if ((!empty($percentage)) AND ($percentage < 0)) { $percentage = ""; } else if ((!empty($percentage)) AND ($percentage > 100)) { $percentage = ""; } echo "<div> <table class='tab_cadre' width='".$width."'> <tr> <td align='center' width='".$width."'>"; if ((!empty($percentage)) || ($percentage == "0")) { echo $percentage."% ".$message; } echo "</td> </tr> <tr> <td> <table cellpadding='0' cellspacing='0'> <tr> <td width='".$width."' height='0' colspan='2'></td> </tr> <tr>"; if (empty($percentage)) { echo "<td></td>"; } else { echo " <td bgcolor='"; if ($order!= '') { if ($percentage > 80) { echo "red"; } else if ($percentage > 60) { echo "orange"; } else { echo "green"; } } else { if ($percentage < 20) { echo "red"; } else if ($percentage < 40) { echo "orange"; } else { echo "green"; } } if ($percentage == 0) { echo "' height='".$height."' width='1'> </td>"; } else { echo "' height='".$height."' width='".(($width * $percentage) / 100)."'> </td>"; } } if ($percentage == 0) { echo " <td height='".$height."' width='1'></td>"; } else { echo " <td height='".$height."' width='". ($width - (($width * $percentage) / 100))."'></td>"; } echo " </tr> </table> </td> </tr> </table> </div>"; } /** * Disable debug mode to not see php errors */ static function disableDebug() { error_reporting(0); set_error_handler(['PluginFusioninventoryDisplay', 'error_handler']); } /** * Enable debug mode if user is in debug mode **/ static function reenableusemode() { Toolbox::setDebugMode(); } /** * When debug is disabled, we transfer every errors in this emtpy function. * * @param integer $errno * @param string $errstr * @param string $errfile * @param integer $errline */ static function error_handler($errno, $errstr, $errfile, $errline) { } /** * Display progress bar * * @global array $CFG_GLPI * @param integer $width * @param integer $percent * @param array $options * @return string */ static function getProgressBar($width, $percent, $options = []) { global $CFG_GLPI; $param = []; $param['title']=__('Progress', 'fusioninventory'); $param['simple']=false; $param['forcepadding']=false; if (is_array($options) && count($options)) { foreach ($options as $key => $val) { $param[$key]=$val; } } $percentwidth=floor($percent*$width/100); $output="<div class='center'><table class='tab_cadre' width='".($width+20)."px'>"; if (!$param['simple']) { $output.="<tr><th class='center'>".$param['title']." ".$percent."%</th></tr>"; } $output.="<tr><td> <table><tr><td class='center' style='background:url(".$CFG_GLPI["root_doc"]. "/pics/loader.png) repeat-x;' width='.$percentwidth' height='12'>"; if ($param['simple']) { $output.=$percent."%"; } else { $output.=' '; } $output.="</td></tr></table></td>"; $output.="</tr></table>"; $output.="</div>"; return $output; } }