pquery($query, array($id)); //Deleting from vtiger_profile2field table $query='delete from vtiger_profile2field where fieldid=?'; $adb->pquery($query, array($id)); //Deleting from vtiger_def_org_field table $query='delete from vtiger_def_org_field where fieldid=?'; $adb->pquery($query, array($id)); //Drop the column in the corresponding module table $delete_module_tables = Array( "Leads"=>"vtiger_leadscf", "Accounts"=>"vtiger_accountscf", "Contacts"=>"vtiger_contactscf", "Potentials"=>"vtiger_potentialscf", "HelpDesk"=>"vtiger_ticketcf", "Products"=>"vtiger_productcf", "Vendors"=>"vtiger_vendorcf", "PriceBooks"=>"vtiger_pricebookcf", "PurchaseOrder"=>"vtiger_purchaseordercf", "SalesOrder"=>"vtiger_salesordercf", "Quotes"=>"vtiger_quotescf", "Invoice"=>"vtiger_invoicecf", "Campaigns"=>"vtiger_campaignscf", "Calendar"=>"vtiger_activitycf", ); // vtlib customization: Hook added to allow action for custom modules too $cftablename = $delete_module_tables[$fld_module]; if(empty($cftablename)) { include_once('data/CRMEntity.php'); $focus = CRMEntity::getInstance($fld_module); $cftablename = $focus->customFieldTable[0]; } $dbquery = 'alter table '. $cftablename .' drop column '. $adb->sql_escape_string($colName); $adb->pquery($dbquery, array()); //To remove customfield entry from vtiger_field table $dbquery = 'delete from vtiger_field where tablename= ? and fieldname=?'; $adb->pquery($dbquery, array($cftablename, $colName)); //we have to remove the entries in customview and report related tables which have this field ($colName) $adb->pquery("delete from vtiger_cvcolumnlist where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_cvstdfilter where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_cvadvfilter where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_selectcolumn where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_relcriteria where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_reportsortcol where columnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_reportdatefilter where datecolumnname like ?", array('%'.$colName.'%')); $adb->pquery("delete from vtiger_reportsummary where columnname like ?", array('%'.$colName.'%')); //Deleting from convert lead mapping vtiger_table- Jaguar if($fld_module=="Leads") { $deletequery = 'delete from vtiger_convertleadmapping where leadfid=?'; $adb->pquery($deletequery, array($id)); }elseif($fld_module=="Accounts" || $fld_module=="Contacts" || $fld_module=="Potentials") { $map_del_id = array("Accounts"=>"accountfid","Contacts"=>"contactfid","Potentials"=>"potentialfid"); $map_del_q = "update vtiger_convertleadmapping set ".$map_del_id[$fld_module]."=0 where ".$map_del_id[$fld_module]."=?"; $adb->pquery($map_del_q, array($id)); } //HANDLE HERE - we have to remove the table for other picklist type values which are text area and multiselect combo box if($uitype == 15) { $deltablequery = 'drop table vtiger_'.$adb->sql_escape_string($colName); $adb->pquery($deltablequery, array()); } header("Location:index.php?module=Settings&action=CustomFieldList&fld_module=".$fld_module."&parenttab=Settings"); ?>