0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
vtiger
/
5.0.4
/
standard
/
htdocs
/
modules
/
Settings
/
[
Home
]
File: DeleteCustomField.php
<?php /********************************************************************************* ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. * ********************************************************************************/ require_once('include/database/PearDatabase.php'); $fld_module = $_REQUEST["fld_module"]; $id = $_REQUEST["fld_id"]; $colName = $_REQUEST["colName"]; $uitype = $_REQUEST["uitype"]; //Deleting the CustomField from the Custom Field Table $query='delete from vtiger_field where fieldid=?'; $adb->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", ); $dbquery = 'alter table '. mysql_real_escape_string($delete_module_tables[$fld_module]) .' drop column '. mysql_real_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($delete_module_tables[$fld_module], $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_'.mysql_real_escape_string($colName); $adb->pquery($deltablequery, array()); } header("Location:index.php?module=Settings&action=CustomFieldList&fld_module=".$fld_module."&parenttab=Settings"); ?>