function addSoftware($name, $manufacturer_id, $entity, $comment = '', $is_recursive = false, $is_helpdesk_visible = NULL)
{
global $DB, $CFG_GLPI;
$input["name"] = $name;
$input["manufacturers_id"] = $manufacturer_id;
$input["entities_id"] = $entity;
$input["is_recursive"] = $is_recursive ? 1 : 0;
// No comment
if (is_null($is_helpdesk_visible)) {
$input["is_helpdesk_visible"] = $CFG_GLPI["default_software_helpdesk_visible"];
} else {
$input["is_helpdesk_visible"] = $is_helpdesk_visible;
}
//Process software's category rules
$softcatrule = new RuleSoftwareCategoryCollection();
$result = $softcatrule->processAllRules(null, null, Toolbox::stripslashes_deep($input));
if (!empty($result) && isset($result["softwarecategories_id"])) {
$input["softwarecategories_id"] = $result["softwarecategories_id"];
} else {
$input["softwarecategories_id"] = 0;
}
return $this->add($input);
}