CommonDBTM::cleanRelationTable PHP Method

cleanRelationTable() public method

Clean the date in the relation tables for the deleted item Clear N/N Relation
public cleanRelationTable ( )
    function cleanRelationTable()
    {
        global $CFG_GLPI, $DB;
        // If this type have INFOCOM, clean one associated to purged item
        if (Infocom::canApplyOn($this)) {
            $infocom = new Infocom();
            if ($infocom->getFromDBforDevice($this->getType(), $this->fields['id'])) {
                $infocom->delete(array('id' => $infocom->fields['id']));
            }
        }
        // If this type have NETPORT, clean one associated to purged item
        if (in_array($this->getType(), $CFG_GLPI['networkport_types'])) {
            // If we don't use delete, then cleanDBonPurge() is not call and the NetworkPorts are not
            // clean properly
            $networkPortObject = new NetworkPort();
            $networkPortObject->cleanDBonItemDelete($this->getType(), $this->getID());
            // Manage networkportmigration if exists
            if (TableExists('glpi_networkportmigrations')) {
                $networkPortMigObject = new NetworkPortMigration();
                $networkPortMigObject->cleanDBonItemDelete($this->getType(), $this->getID());
            }
        }
        // If this type is RESERVABLE clean one associated to purged item
        if (in_array($this->getType(), $CFG_GLPI['reservation_types'])) {
            $rr = new ReservationItem();
            if ($rr->getFromDBbyItem($this->getType(), $this->fields['id'])) {
                $rr->delete(array('id' => $infocom->fields['id']));
            }
        }
        // If this type have CONTRACT, clean one associated to purged item
        if (in_array($this->getType(), $CFG_GLPI['contract_types'])) {
            $ci = new Contract_Item();
            $ci->cleanDBonItemDelete($this->getType(), $this->fields['id']);
        }
        // If this type have DOCUMENT, clean one associated to purged item
        if (Document::canApplyOn($this)) {
            $di = new Document_Item();
            $di->cleanDBonItemDelete($this->getType(), $this->fields['id']);
        }
        // If this type have NOTEPAD, clean one associated to purged item
        if ($this->usenotepad) {
            $note = new Notepad();
            $note->cleanDBonItemDelete($this->getType(), $this->fields['id']);
        }
    }
CommonDBTM