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/>. ------------------------------------------------------------------------ @package FusionInventory @author David Durieux @co-author @copyright Copyright (c) 2010-2015 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 http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/ @since 2014 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; $pfIPRange_ConfigSecurity = new PluginFusioninventoryIPRange_ConfigSecurity(); if (isset($_POST["add"])) { $a_data = current(getAllDatasFromTable('glpi_plugin_fusioninventory_ipranges_configsecurities', "`plugin_fusioninventory_ipranges_id`='" . $_POST['plugin_fusioninventory_ipranges_id'] . "'", false, '`rank` DESC')); $_POST['rank'] = 1; if (isset($a_data['rank'])) { $_POST['rank'] = $a_data['rank'] + 1; } $pfIPRange_ConfigSecurity->add($_POST); Html::back(); }
function run($jobstate) { $pfAgent = new PluginFusioninventoryAgent(); $pfTaskjobstate = new PluginFusioninventoryTaskjobstate(); $pfTaskjob = new PluginFusioninventoryTaskjob(); $pfTaskjoblog = new PluginFusioninventoryTaskjoblog(); $pfIPRange = new PluginFusioninventoryIPRange(); $pfConfigSecurity = new PluginFusioninventoryConfigSecurity(); $pfToolbox = new PluginFusioninventoryToolbox(); $pfAgent->getFromDB($jobstate->fields['plugin_fusioninventory_agents_id']); $sxml_option = $this->message->addChild('OPTION'); $sxml_option->addChild('NAME', 'NETDISCOVERY'); $a_versions = importArrayFromDB($pfAgent->fields["version"]); // * Disabled by David Durieux, I think it's not required now * // // if (((isset($a_versions["NETWORKDISCOVERY"])) AND ($a_versions["NETWORKDISCOVERY"] >= 1.3)) // OR !isset($a_versions["NETWORKDISCOVERY"])) { // if (!file_exists(GLPI_PLUGIN_DOC_DIR."/fusioninventory/discovery.xml")) { // PluginFusioninventorySnmpmodelImportExport::exportDictionnaryFile(FALSE); // } // $sxml_option->addChild('DICOHASH', // md5_file(GLPI_PLUGIN_DOC_DIR."/fusioninventory/discovery.xml")); // } // if (($pfAgent->fields["senddico"] == "1")) { // // if (((isset($a_versions["NETWORKDISCOVERY"])) // AND ($a_versions["NETWORKDISCOVERY"] >= 1.3))) { // // $sxml_option->addChild('DICO', // file_get_contents( // GLPI_PLUGIN_DOC_DIR."/fusioninventory/discovery.xml")); // } // $input = array(); // $input['id'] = $pfAgent->fields['id']; // $input["senddico"] = "0"; // $pfAgent->update($input); // } $sxml_param = $sxml_option->addChild('PARAM'); $sxml_param->addAttribute('THREADS_DISCOVERY', $pfAgent->fields["threads_networkdiscovery"]); $sxml_param->addAttribute('TIMEOUT', $pfAgent->fields["timeout_networkdiscovery"]); $sxml_param->addAttribute('PID', $jobstate->fields['id']); $changestate = 0; //foreach ($a_Taskjobstates as $taskjobstate) { $taskjobstatedatas = $jobstate->fields; $sxml_rangeip = $sxml_option->addChild('RANGEIP'); $pfTaskjob->getFromDB($taskjobstatedatas['plugin_fusioninventory_taskjobs_id']); $pfTaskjobstate->getFromDB($taskjobstatedatas['id']); $pfIPRange->getFromDB($taskjobstatedatas['items_id']); $sxml_rangeip->addAttribute('ID', $pfIPRange->fields['id']); if (!is_null($pfTaskjobstate->fields['specificity'])) { $a_split = explode("-", $pfTaskjobstate->fields['specificity']); $first_ip = $pfIPRange->getIp2long($pfIPRange->fields["ip_start"]); $last_ip = long2ip($first_ip + $a_split[1]); $first_ip = long2ip($first_ip + $a_split[0]); if ($first_ip != '0.0.0.0' && $last_ip != '0.0.0.0') { $sxml_rangeip->addAttribute('IPSTART', $first_ip); $sxml_rangeip->addAttribute('IPEND', $last_ip); } } else { $sxml_rangeip->addAttribute('IPSTART', $pfIPRange->fields["ip_start"]); $sxml_rangeip->addAttribute('IPEND', $pfIPRange->fields["ip_end"]); } $sxml_rangeip->addAttribute('ENTITY', $pfIPRange->fields["entities_id"]); if ($changestate == '0') { $pfTaskjobstate->changeStatus($pfTaskjobstate->fields['id'], 1); $pfTaskjoblog->addTaskjoblog($pfTaskjobstate->fields['id'], '0', 'PluginFusioninventoryAgent', '1', $pfAgent->fields["threads_networkdiscovery"] . ' threads', $pfAgent->fields["timeout_networkdiscovery"] . ' timeout'); $changestate = $pfTaskjobstate->fields['id']; } else { $pfTaskjobstate->changeStatusFinish($pfTaskjobstate->fields['id'], $taskjobstatedatas['items_id'], $taskjobstatedatas['itemtype'], 0, "Merged with " . $changestate); } //} $pfIPRange_ConfigSecurity = new PluginFusioninventoryIPRange_ConfigSecurity(); $a_auths = $pfIPRange_ConfigSecurity->find("`plugin_fusioninventory_ipranges_id`='" . $pfIPRange->fields['id'] . "'", "rank"); foreach ($a_auths as $dataAuth) { $pfToolbox->addAuth($sxml_option, $dataAuth['plugin_fusioninventory_configsecurities_id']); } return $this->message; }
function post_deleteItem() { $pfIPRange_ConfigSecurity = new PluginFusioninventoryIPRange_ConfigSecurity(); $a_data = getAllDatasFromTable('glpi_plugin_fusioninventory_ipranges_configsecurities', "`plugin_fusioninventory_ipranges_id`='" . $this->fields['id'] . "'"); foreach ($a_data as $data) { $pfIPRange_ConfigSecurity->delete($data); } parent::post_deleteItem(); }