Computer_Item::disconnectForItem PHP Method

disconnectForItem() public method

Disconnect an item to its computer
public disconnectForItem ( CommonDBTM $item ) : boolean
$item CommonDBTM CommonDBTM object: the Monitor/Phone/Peripheral/Printer
return boolean : action succeeded
    function disconnectForItem(CommonDBTM $item)
    {
        global $DB;
        if ($item->getField('id')) {
            $query = "SELECT `id`\n                   FROM `glpi_computers_items`\n                   WHERE `itemtype` = '" . $item->getType() . "'\n                         AND `items_id` = '" . $item->getField('id') . "'";
            $result = $DB->query($query);
            if ($DB->numrows($result) > 0) {
                $ok = true;
                while ($data = $DB->fetch_assoc($result)) {
                    if ($this->can($data["id"], UPDATE)) {
                        $ok &= $this->delete($data);
                    }
                }
                return $ok;
            }
        }
        return false;
    }

Usage Example

Esempio n. 1
0
         foreach ($_POST["item"] as $key => $val) {
             if ($val == 1) {
                 $input = array('computers_id' => $_POST["connect_item"], 'itemtype' => $_POST["itemtype"], 'items_id' => $key);
                 if ($conn->can(-1, 'w', $input)) {
                     $conn->add($input);
                 }
             }
         }
     }
     break;
 case "disconnect":
     $conn = new Computer_Item();
     foreach ($_POST["item"] as $key => $val) {
         if ($val == 1) {
             if ($item->getFromDB($key)) {
                 $conn->disconnectForItem($item);
             }
         }
     }
     break;
 case "delete":
     foreach ($_POST["item"] as $key => $val) {
         if ($val == 1 && $item->can($key, 'd')) {
             $item->delete(array("id" => $key));
         }
     }
     break;
 case "purge":
     foreach ($_POST["item"] as $key => $val) {
         if ($val == 1) {
             $item->delete(array("id" => $key), 1);