/**
  * Transfer affected licenses to a computer
  *
  * @param $ID ID of the License
  **/
 function transferAffectedLicense($ID)
 {
     global $DB;
     $computer_softwarelicense = new Computer_SoftwareLicense();
     $license = new SoftwareLicense();
     if ($computer_softwarelicense->getFromDB($ID)) {
         if ($license->getFromDB($computer_softwarelicense->getField('softwarelicenses_id'))) {
             //// Update current : decrement number by 1 if valid
             if ($license->getField('number') > 1) {
                 $license->update(array('id' => $license->getID(), 'number' => $license->getField('number') - 1));
             }
             // Create new license : need to transfer softwre and versions before
             $input = array();
             $newsoftID = $this->copySingleSoftware($license->fields['softwares_id']);
             if ($newsoftID > 0) {
                 //// If license already exists : increment number by one
                 $query = "SELECT *\n                         FROM `glpi_softwarelicenses`\n                         WHERE `softwares_id` = '{$newsoftID}'\n                               AND `name` = '" . addslashes($license->fields['name']) . "'\n                               AND `serial` = '" . addslashes($license->fields['serial']) . "'";
                 $newlicID = -1;
                 if ($result = $DB->query($query)) {
                     //// If exists : increment number by 1
                     if ($DB->numrows($result) > 0) {
                         $data = $DB->fetch_array($result);
                         $newlicID = $data['id'];
                         $license->update(array('id' => $data['id'], 'number' => $data['number'] + 1));
                     } else {
                         //// If not exists : create with number = 1
                         $input = $license->fields;
                         foreach (array('softwareversions_id_buy', 'softwareversions_id_use') as $field) {
                             if ($license->fields[$field] > 0) {
                                 $newversID = $this->copySingleVersion($license->fields[$field]);
                                 if ($newversID > 0 && $newversID != $license->fields[$field]) {
                                     $input[$field] = $newversID;
                                 }
                             }
                         }
                         unset($input['id']);
                         $input['number'] = 1;
                         $input['entities_id'] = $this->to;
                         $input['softwares_id'] = $newsoftID;
                         $newlicID = $license->add($input);
                     }
                 }
                 if ($newlicID > 0) {
                     $input = array('id' => $ID, 'softwarelicenses_id' => $newlicID);
                     $computer_softwarelicense->update($input);
                 }
             }
         }
     }
     // getFromDB
 }