$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'));
Beispiel #2
0
 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 ...");
 }
Beispiel #3
0
 /**
  * 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>';