static function countForContract(Contract $item)
{
global $DB;
$nb = 0;
foreach ($DB->request('glpi_contracts_items', array('DISTINCT FIELDS' => "itemtype", 'WHERE' => "`glpi_contracts_items`.`contracts_id`\n = '" . $item->getField('id') . "'")) as $data) {
$itemt = getItemForItemtype($data['itemtype']);
$query = "SELECT COUNT(*) AS cpt\n FROM `glpi_contracts_items`, `" . $itemt->getTable() . "`\n WHERE `glpi_contracts_items`.`contracts_id` = '" . $item->getField('id') . "'\n AND `glpi_contracts_items`.`itemtype` = '" . $data['itemtype'] . "'\n AND `" . $itemt->getTable() . "`.`id` = `glpi_contracts_items`.`items_id`";
if ($itemt->maybeTemplate()) {
$query .= " AND NOT `" . $itemt->getTable() . "`.`is_template`";
}
foreach ($DB->request($query) as $row) {
$nb += $row['cpt'];
}
}
return $nb;
}