echo "Processing : $type\n"; foreach (file($URL) as $line) { if ($line[0] == '#') { continue; } $line = rtrim($line); if (empty($line)) { continue; } if ($line[0] != '\t') { $id = strtolower(substr($line, 0, 4)); $name = addslashes(trim(substr($line, 4))); if ($registeredid->getFromDBByQuery("WHERE `itemtype` = 'Manufacturer' AND `name` = '$id' AND `device_type` = '$type'")) { $manufacturer->getFromDB($registeredid->fields['items_id']); } else { if (!$manufacturer->getFromDBByQuery("WHERE `name` = '$name'")) { $input = array('name' => $name); $manufacturer->add($input); } $input = array('itemtype' => $manufacturer->getType(), 'items_id' => $manufacturer->getID(), 'device_type' => $type, 'name' => $id); $registeredid->add($input); } continue; } // if (($line[0] == "\t") && ($line[1] != '\t')) { // $line = trim($line);
/** * test for addOrRestoreFromTrash */ public function testSoftwareImport() { $ent0 = $this->sharedFixture['entity'][0]; $ent1 = $this->sharedFixture['entity'][1]; $ent2 = $this->sharedFixture['entity'][2]; $soft = new Software(); $manu = new Manufacturer(); // Import Software $id[0] = $soft->addOrRestoreFromTrash('GLPI', 'Indepnet', $ent0); $this->assertGreaterThan(0, $id[0], "Fail: can't create software 1"); // Check name $this->assertTrue($soft->getFromDB($id[0]), "Fail: can't read new soft"); $this->assertEquals('GLPI', $soft->getField('name'), "Fail: name not set"); // Check manufacturer $manid = $soft->getField('manufacturers_id'); $this->assertGreaterThan(0, $manid, "Fail: manufacturer not set"); $this->assertTrue($manu->getFromDB($manid), "Fail: can't manufacturer"); $this->assertEquals('Indepnet', $manu->getField('name')); // Import again => same result $id[1] = $soft->addOrRestoreFromTrash('GLPI', 'Indepnet', $ent0); $this->assertGreaterThan(0, $id[1], "Fail: can't create software 2"); $this->assertEquals($id[0], $id[1], "Fail: previous not found"); // Import in another entity $id[2] = $soft->addOrRestoreFromTrash('GLPI', 'Indepnet', $ent1); $this->assertGreaterThan(0, $id[2], "Fail: can't create software 3"); $this->assertNotEquals($id[0], $id[2], "Fail: previous used (from another entity)"); // Delete $this->assertTrue($soft->delete(array('id' => $id[2])), "Fail: can't delete software 3)"); $this->assertTrue($soft->getFromDB($id[2]), "Fail: can't read new soft"); $this->assertEquals(1, $soft->getField('is_deleted'), "Fail: soft not deleted"); // Import again => restore $id[3] = $soft->addOrRestoreFromTrash('GLPI', 'Indepnet', $ent1); $this->assertEquals($id[2], $id[3], "Fail: previous not used"); $this->assertTrue($soft->getFromDB($id[2]), "Fail: can't read new soft"); $this->assertEquals(0, $soft->getField('is_deleted'), "Fail: soft not restored"); // Import again => with recursive $this->assertTrue($soft->update(array('id' => $id[0], 'is_recursive' => 1)), "Fail: can't update software 1)"); $id[4] = $soft->addOrRestoreFromTrash('GLPI', 'Indepnet', $ent2); $this->assertEquals($id[0], $id[4], "Fail: previous not used"); // Clean $this->assertTrue($soft->delete(array('id' => $id[0]), true), "Fail: can't delete software 1)"); $this->assertTrue($soft->delete(array('id' => $id[2]), true), "Fail: can't delete software 1)"); }