. @package archires @author Nelly Mahu-Lasson, Xavier Caillaud @copyright Copyright (c) 2016-2021 Archires plugin team @license AGPL License 3.0 or (at your option) any later version http://www.gnu.org/licenses/agpl-3.0-standalone.html @link https://forge.glpi-project.org/projects/archires @since version 2.2 -------------------------------------------------------------------------- */ if (!defined('GLPI_ROOT')) { die("Sorry. You can't access directly to this file"); } class PluginArchiresVlanColor extends CommonDBTM { static $rightname = "plugin_archires"; function getFromDBbyVlan($vlan) { global $DB; $query = ['FROM' => $this->getTable(), 'WHERE' => ['vlans_id' => $vlan]]; if ($result = $DB->request($query)) { if (count($result) != 1) { return false; } $this->fields = $result->next(); if (is_array($this->fields) && count($this->fields)) { return true; } return false; } return false; } function addVlanColor($vlan,$color) { global $DB; if ($vlan != '-1') { if ($this->getfromDBbyVlan($vlan)) { $this->update(['id' => $this->fields['id'], 'color' => $color]); } else { $this->add(['vlans_id' => $vlan, 'color' => $color]); } } else { $query = ['FROM' => 'glpi_vlans']; $result = $DB->request($query); $i = 0; while ($i < count($result)) { $vlan_table=$DB->result($result, $i, "id"); if ($this->getfromDBbyVlan($vlan_table)) { $this->update(['id' => $this->fields['id'], 'color' => $color]); } else { $this->add(['vlans_id' => $vlan_table, 'color' => $color]); } $i++; } } } function showConfigForm($canupdate=false) { global $DB; if ($canupdate) { echo "