Transfer::transferComputerSoftwares PHP Method

transferComputerSoftwares() public method

Transfer softwares of a computer
public transferComputerSoftwares ( $ID )
$ID ID of the computer
    function transferComputerSoftwares($ID)
    {
        global $DB;
        // Get Installed version
        $query = "SELECT *\n                FROM `glpi_computers_softwareversions`\n                WHERE `computers_id` = '{$ID}'\n                      AND `softwareversions_id` NOT IN " . $this->item_recurs['SoftwareVersion'];
        foreach ($DB->request($query) as $data) {
            if ($this->options['keep_software']) {
                $newversID = $this->copySingleVersion($data['softwareversions_id']);
                if ($newversID > 0 && $newversID != $data['softwareversions_id']) {
                    $query = "UPDATE `glpi_computers_softwareversions`\n                         SET `softwareversions_id` = '{$newversID}'\n                         WHERE `id` = " . $data['id'];
                    $DB->query($query);
                }
            } else {
                // Do not keep
                // Delete inst software for computer
                $del_query = "DELETE\n                          FROM `glpi_computers_softwareversions`\n                          WHERE `id` = " . $data['id'];
                $DB->query($del_query);
            }
        }
        // each installed version
        // Affected licenses
        if ($this->options['keep_software']) {
            $query = "SELECT `id`\n                   FROM `glpi_computers_softwarelicenses`\n                   WHERE `computers_id` = '{$ID}'";
            foreach ($DB->request($query) as $data) {
                $this->transferAffectedLicense($data['id']);
            }
        } else {
            $query = "DELETE\n                   FROM `glpi_computers_softwarelicenses`\n                   WHERE `computers_id` = '{$ID}'";
            $DB->query($query);
        }
    }