$relatedToQuery = "SELECT fieldid FROM vtiger_field WHERE tabid=? AND fieldname=?"; $calendarInstance = Vtiger_Module::getInstance('Calendar'); $tabId = $calendarInstance->id; $result = $adb->pquery($relatedToQuery, array($tabId, 'parent_id')); $fieldId = $adb->query_result($result, 0, 'fieldid'); $insertQuery = "DELETE FROM vtiger_fieldmodulerel where fieldid=?"; $adb->pquery($insertQuery, array($fieldId)); //For contacts the fieldname is contact_id $contactsRelatedToQuery = "SELECT fieldid FROM vtiger_field WHERE tabid=? AND fieldname=?"; $contactsResult = $adb->pquery($contactsRelatedToQuery, array($tabId, 'contact_id')); $contactsFieldId = $adb->query_result($contactsResult, 0, 'fieldid'); $insertQuery = "DELETE FROM vtiger_fieldmodulerel where fieldid=?"; $adb->pquery($insertQuery, array($contactsFieldId)); $module = Vtiger_Module::getInstance('PBXManager'); $ev = new VTEventsManager($adb); $ev->unregisterHandler('PBXManagerHandler'); $ev->unregisterHandler('PBXManagerBatchHandler'); if ($module) { $module->deleteRelatedLists(); $module->deleteLinks(); $module->delete(); ExecuteQuery("DELETE FROM vtiger_def_org_share WHERE tabid=?", array($module->id)); } ExecuteQuery("delete from vtiger_asterisk"); ExecuteQuery("DROP TABLE vtiger_pbxmanager"); ExecuteQuery("DROP TABLE vtiger_pbxmanager_phonelookup"); ExecuteQuery("DELETE FROM vtiger_links WHERE linktype=? AND linklabel=? AND linkurl=?", array('HEADERSCRIPT', 'Incoming Calls', 'modules/PBXManager/resources/PBXManagerJS.js')); ExecuteQuery("DELETE FROM vtiger_relatedlists WHERE name=? and label=?", array('get_dependents_list', "PBXManager")); vtws_deleteWebserviceEntity('PBXManager'); ExecuteQuery('DELETE FROM vtiger_settings_blocks WHERE label=?', array('LBL_INTEGRATION')); ExecuteQuery('DELETE FROM vtiger_settings_field WHERE name=? and linkto=?', array('LBL_PBXMANAGER', 'index.php?module=PBXManager&parent=Settings&view=Index'));
public function handlers() { global $log; $log->debug("Entering VT620_to_YT::handlers() method ..."); require_once 'modules/com_vtiger_workflow/include.inc'; require_once 'modules/com_vtiger_workflow/tasks/VTEntityMethodTask.inc'; require_once 'modules/com_vtiger_workflow/VTEntityMethodManager.inc'; require_once 'include/events/include.inc'; $adb = PearDatabase::getInstance(); $removeClass = array('none' => 'RecurringInvoiceHandler', 'none1' => 'HelpDeskHandler', 'ModTracker' => 'ModTrackerHandler', 'none2' => 'PBXManagerHandler', 'none3' => 'PBXManagerBatchHandler', 'ServiceContracts' => 'ServiceContractsHandler', 'Invoice' => 'InvoiceHandler', 'PurchaseOrder' => 'PurchaseOrderHandler', 'none4' => 'ModCommentsHandler', 'Home' => 'Vtiger_RecordLabelUpdater_Handler', 'none5' => 'SECURE'); $addHandler = array(); $addHandler[] = array(1, 'vtiger.entity.beforesave', 'include/events/VTEntityDelta.php', 'VTEntityDelta', '', 1, '[]'); $addHandler[] = array(2, 'vtiger.entity.aftersave', 'include/events/VTEntityDelta.php', 'VTEntityDelta', '', 1, '[]'); $addHandler[] = array(3, 'vtiger.entity.aftersave', 'modules/com_vtiger_workflow/VTEventHandler.inc', 'VTWorkflowEventHandler', '', 1, '["VTEntityDelta"]'); $addHandler[] = array(4, 'vtiger.entity.afterrestore', 'modules/com_vtiger_workflow/VTEventHandler.inc', 'VTWorkflowEventHandler', '', 1, '[]'); $addHandler[] = array(5, 'vtiger.entity.unlink.before', 'include/events/VTEntityDelta.php', 'VTEntityDelta', NULL, 1, '[]'); $addHandler[] = array(6, 'vtiger.entity.unlink.after', 'include/events/VTEntityDelta.php', 'VTEntityDelta', NULL, 1, '[]'); $addHandler[] = array(7, 'vtiger.entity.aftersave.final', 'modules/ModTracker/handlers/ModTrackerHandler.php', 'ModTrackerHandler', '', 1, '[]'); $addHandler[] = array(8, 'vtiger.entity.beforedelete', 'modules/ModTracker/handlers/ModTrackerHandler.php', 'ModTrackerHandler', '', 1, '[]'); $addHandler[] = array(9, 'vtiger.entity.afterrestore', 'modules/ModTracker/handlers/ModTrackerHandler.php', 'ModTrackerHandler', '', 1, '[]'); $addHandler[] = array(10, 'vtiger.entity.aftersave', 'modules/PBXManager/handlers/PBXManagerHandler.php', 'PBXManagerHandler', '', 1, '["VTEntityDelta"]'); $addHandler[] = array(11, 'vtiger.entity.afterdelete', 'modules/PBXManager/handlers/PBXManagerHandler.php', 'PBXManagerHandler', '', 1, '[]'); $addHandler[] = array(12, 'vtiger.entity.afterrestore', 'modules/PBXManager/handlers/PBXManagerHandler.php', 'PBXManagerHandler', '', 1, '[]'); $addHandler[] = array(13, 'vtiger.batchevent.save', 'modules/PBXManager/handlers/PBXManagerHandler.php', 'PBXManagerBatchHandler', '', 1, '[]'); $addHandler[] = array(14, 'vtiger.batchevent.delete', 'modules/PBXManager/handlers/PBXManagerHandler.php', 'PBXManagerBatchHandler', '', 1, '[]'); $addHandler[] = array(15, 'vtiger.entity.beforesave', 'modules/ServiceContracts/handlers/ServiceContractsHandler.php', 'ServiceContractsHandler', '', 1, '[]'); $addHandler[] = array(16, 'vtiger.entity.aftersave', 'modules/ServiceContracts/handlers/ServiceContractsHandler.php', 'ServiceContractsHandler', '', 1, '[]'); $addHandler[] = array(17, 'vtiger.entity.aftersave', 'modules/WSAPP/WorkFlowHandlers/WSAPPAssignToTracker.php', 'WSAPPAssignToTracker', '', 1, '["VTEntityDelta"]'); $addHandler[] = array(18, 'vtiger.entity.aftersave', 'modules/Vtiger/handlers/RecordLabelUpdater.php', 'Vtiger_RecordLabelUpdater_Handler', '', 1, '[]'); $addHandler[] = array(20, 'vtiger.entity.aftersave', 'modules/PurchaseOrder/handlers/PurchaseOrderHandler.php', 'PurchaseOrderHandler', '', 1, '[]'); $addHandler[] = array(21, 'vtiger.entity.aftersave', 'modules/ModComments/handlers/ModCommentsHandler.php', 'ModCommentsHandler', '', 1, '[]'); $addHandler[] = array(22, 'vtiger.picklist.afterrename', 'modules/Settings/Picklist/handlers/PickListHandler.php', 'PickListHandler', '', 1, '[]'); $addHandler[] = array(23, 'vtiger.picklist.afterdelete', 'modules/Settings/Picklist/handlers/PickListHandler.php', 'PickListHandler', '', 1, '[]'); $addHandler[] = array(24, 'vtiger.entity.aftersave.final', 'modules/OSSPasswords/handlers/secure.php', 'SECURE', '', 1, '[]'); $addHandler[] = array(25, 'vtiger.entity.aftersave.final', 'modules/OSSTimeControl/handlers/TimeControl.php', 'TimeControlHandler', '', 1, '[]'); $addHandler[] = array(26, 'vtiger.entity.aftersave.final', 'modules/Potentials/handlers/PotentialsHandler.php', 'PotentialsHandler', '', 1, '[]'); $addHandler[] = array(27, 'vtiger.entity.aftersave.final', 'modules/Accounts/handlers/AccountsHandler.php', 'AccountsHandler', NULL, 1, '[]'); $addHandler[] = array(28, 'vtiger.entity.aftersave.final', 'modules/Vtiger/handlers/SharedOwnerUpdater.php', 'Vtiger_SharedOwnerUpdater_Handler', NULL, 1, '[]'); $addHandler[] = array(29, 'vtiger.entity.aftersave.final', 'modules/Vtiger/handlers/SharingPrivileges.php', 'Vtiger_SharingPrivileges_Handler', NULL, 1, '[]'); $addHandler[] = array(30, 'vtiger.entity.aftersave', 'modules/SalesOrder/handlers/RecurringInvoiceHandler.php', 'RecurringInvoiceHandler', '', 1, '[]'); $addHandler[] = array(31, 'vtiger.entity.aftersave.final', 'modules/HelpDesk/handlers/HelpDeskHandler.php', 'HelpDeskHandler', '', 1, '[]'); $addHandler[] = array(32, 'vtiger.entity.unlink.after', 'modules/OSSTimeControl/handlers/TimeControl.php', 'TimeControlHandler', NULL, 1, '[]'); $addHandler[] = array(33, 'vtiger.entity.afterdelete', 'modules/OSSTimeControl/handlers/TimeControl.php', 'TimeControlHandler', NULL, 1, '[]'); $addHandler[] = array(34, 'vtiger.entity.aftersave.final', 'modules/API/handlers/CardDAV.php', 'API_CardDAV_Handler', '', 1, '[]'); $addHandler[] = array(35, 'vtiger.entity.aftersave.final', 'modules/API/handlers/CalDAV.php', 'API_CalDAV_Handler', NULL, 1, '[]'); $addHandler[] = array(36, 'vtiger.entity.link.after', 'modules/HelpDesk/handlers/HelpDeskHandler.php', 'HelpDeskHandler', '', 1, '[]'); $addHandler[] = array(37, 'vtiger.entity.link.after', 'modules/Vtiger/handlers/SharingPrivileges.php', 'Vtiger_SharingPrivileges_Handler', NULL, 1, '[]'); $addHandler[] = array(38, 'vtiger.entity.aftersave.final', 'modules/ProjectTask/handlers/ProjectTaskHandler.php', 'ProjectTaskHandler', '', 1, '[]'); $addHandler[] = array(39, 'vtiger.entity.afterdelete', 'modules/ProjectTask/handlers/ProjectTaskHandler.php', 'ProjectTaskHandler', '', 1, '[]'); $addHandler[] = array(40, 'vtiger.entity.afterrestore', 'modules/ProjectTask/handlers/ProjectTaskHandler.php', 'ProjectTaskHandler', '', 1, '[]'); $adb->query('UPDATE vtiger_eventhandlers SET handler_path = "include/events/VTEntityDelta.php" WHERE handler_path = "data/VTEntityDelta.php";'); try { $em = new VTEventsManager($adb); foreach ($removeClass as $moduleName => $handlerClass) { $em->unregisterHandler($handlerClass); if (strpos($moduleName, 'none') === false) { $em->setModuleForHandler($moduleName, $handlerClass); } } foreach ($addHandler as $handler) { if (!self::checkHandlerExists($handler)) { $em->registerHandler($handler[1], $handler[2], $handler[3], $handler[4], $handler[6]); } } } catch (Exception $e) { Install_InitSchema_Model::addMigrationLog('handlers ' . $e->getMessage(), 'error'); } Install_InitSchema_Model::addMigrationLog('handlers'); $log->debug("Exiting VT620_to_YT::handlers() method ..."); }
/** * To unregister phone lookup events */ public function unregisterLookupEvents() { $log = vglobal('log'); $adb = PearDatabase::getInstance(); $EventManager = new VTEventsManager($adb); $className = 'PBXManagerHandler'; $batchEventClassName = 'PBXManagerBatchHandler'; $EventManager->unregisterHandler($className); $EventManager->unregisterHandler($batchEventClassName); $log->fatal('Lookup Events Unregistered'); }
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>coreBOS Utility loader</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css">@import url("themes/softed/style.css");br { display: block; margin: 2px; }</style> </head><body class=small style="font-size: 12px; margin: 2px; padding: 2px; background-color:#f7fff3; "> <table width="100%" border=0><tr><td><span style='color:red;float:right;margin-right:30px;'><h2>Proud member of the <a href='http://corebos.org'>coreBOS</a> family!</h2></span></td></tr></table> <hr style="height: 1px"> <?php // Turn on debugging level $Vtiger_Utils_Log = true; include_once 'vtlib/Vtiger/Module.php'; require_once 'modules/com_vtiger_workflow/VTEntityMethodManager.inc'; global $adb; $modname = 'CalendarSync'; $module = Vtiger_Module::getInstance($modname); if ($module) { $ev = new VTEventsManager($adb); $ev->unregisterHandler('CalendarSyncHandler'); $module->deleteRelatedLists(); $module->deleteLinks(); $module->deinitWebservice(); $module->delete(); echo "<b>Module {$modname} EXTERMINATED!</b><br>"; } else { echo "<b>Failed to find {$modname} module.</b><br>"; } echo '</body></html>';