/** * Purge task and taskjob related with method * * @param $method value name of the method * * @return nothing * **/ static function cleanTasksbyMethod($method) { $pfTaskjob = new PluginFusioninventoryTaskjob(); $pfTask = new PluginFusioninventoryTask(); $a_taskjobs = $pfTaskjob->find("`method`='" . $method . "'"); $task_id = 0; foreach ($a_taskjobs as $a_taskjob) { $pfTaskjob->delete($a_taskjob, 1); if ($task_id != $a_taskjob['plugin_fusioninventory_tasks_id'] and $task_id != '0') { // Search if this task have other taskjobs, if not, we will delete it $findtaskjobs = $pfTaskjob->find("`plugin_fusioninventory_tasks_id`='" . $task_id . "'"); if (count($findtaskjobs) == '0') { $pfTask->delete(array('id' => $task_id), 1); } } $task_id = $a_taskjob['plugin_fusioninventory_tasks_id']; } if ($task_id != '0') { // Search if this task have other taskjobs, if not, we will delete it $findtaskjobs = $pfTaskjob->find("`plugin_fusioninventory_tasks_id`='" . $task_id . "'"); if (count($findtaskjobs) == '0') { $pfTask->delete(array('id' => $task_id), 1); } } }
/** * @test */ public function deleteTask() { global $DB; $pfTask = new PluginFusioninventoryTask(); $pfTaskjob = new PluginFusioninventoryTaskjob(); $pfTaskjobState = new PluginFusioninventoryTaskjobstate(); $pfTaskjoblog = new PluginFusioninventoryTaskjoblog(); //delete task $return = $pfTask->delete(array('id' => self::$tasks_id)); $this->assertEquals(true, $return); //check deletion of job $jobs_found = $pfTaskjob->find("id = " . self::$taskjobs_id); $this->assertEquals(array(), $jobs_found); //check deletion of state $states_found = $pfTaskjobState->find("id = " . self::$taskjobstates_id); $this->assertEquals(array(), $states_found); //check deletion of log $logs_found = $pfTaskjoblog->find("id = " . self::$taskjobstates_id); $this->assertEquals(array(), $logs_found); }
} else { Session::checkRight('plugin_fusioninventory_iprange', UPDATE); if ($iprange->checkip($_POST)) { $_POST['ip_start'] = (int) $_POST['ip_start0'] . "." . (int) $_POST['ip_start1'] . "."; $_POST['ip_start'] .= (int) $_POST['ip_start2'] . "." . (int) $_POST['ip_start3']; $_POST['ip_end'] = (int) $_POST['ip_end0'] . "." . (int) $_POST['ip_end1'] . "."; $_POST['ip_end'] .= (int) $_POST['ip_end2'] . "." . (int) $_POST['ip_end3']; $iprange->update($_POST); } } Html::back(); } else { if (isset($_POST["delete"])) { if (isset($_POST['communication'])) { $task = new PluginFusioninventoryTask(); $task->delete(array('id' => $_POST['task_id']), 1); $_SERVER['HTTP_REFERER'] = str_replace("&allowcreate=1", "", $_SERVER['HTTP_REFERER']); Html::back(); } else { Session::checkRight('plugin_fusioninventory_"iprange', PURGE); $iprange->delete($_POST); Html::redirect(Toolbox::getItemTypeSearchURL('PluginFusioninventoryIPRange')); } } } } $id = ""; if (isset($_GET["id"])) { $id = $_GET["id"]; } $allowcreate = 0;
$p_xml = gzuncompress($GLOBALS["HTTP_RAW_POST_DATA"]); $pxml = @simplexml_load_string($p_xml); if (isset($pxml->DEVICEID)) { $ptc->setXML("<?xml version='1.0' encoding='ISO-8859-1'?>\n<REPLY>\n</REPLY>"); $pta = new PluginFusioninventoryAgents(); $ptt = new PluginFusioninventoryTask(); $ptcm = new PluginFusioninventoryConfigModules(); $a_agent = $pta->InfosByKey($pxml->DEVICEID); $a_tasks = $ptt->find("`agent_id`='" . $a_agent['ID'] . "'", "date"); $single = 0; $_SESSION['glpi_plugin_fusioninventory_addagentprocess'] = '0'; foreach ($a_tasks as $task_id => $datas) { if ($a_tasks[$task_id]['action'] == 'INVENTORY' and $ptcm->isActivated('inventoryocs') and $a_agent['module_inventory'] == '1') { $ptc->addInventory(); $input['ID'] = $task_id; $ptt->delete($input); $ocsinventory = '0'; $single = 1; } if ($a_tasks[$task_id]['action'] == 'NETDISCOVERY' and $ptcm->isActivated('netdiscovery') and $a_agent['module_netdiscovery'] == '1') { $single = 1; $ptc->addDiscovery($pxml, 1); $input['ID'] = $task_id; $ptt->delete($input); } if ($a_tasks[$task_id]['action'] == 'SNMPQUERY' and $ptcm->isActivated('snmp') and $a_agent['module_snmpquery'] == '1') { $single = 1; $ptc->addQuery($pxml, 1); $input['ID'] = $task_id; $ptt->delete($input); }