Contract_Item::countForContract PHP Method

countForContract() static public method

static public countForContract ( Contract $item )
$item Contract Contract object
    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;
    }