exposeMethod('removeModule'); $this->exposeMethod('addModule'); $this->exposeMethod('saveSequence'); } public function process(Vtiger_Request $request) { $mode = $request->get('mode'); if (!empty($mode)) { $this->invokeExposedMethod($mode, $request); return; } } function removeModule(Vtiger_Request $request) { $sourceModule = $request->get('sourceModule'); $appName = $request->get('appname'); $db = PearDatabase::getInstance(); $db->pquery('UPDATE vtiger_app2tab SET visible = ? WHERE tabid = ? AND appname = ?', array(0, getTabid($sourceModule), $appName)); $response = new Vtiger_Response(); $response->setResult(array('success' => true)); $response->emit(); } function addModule(Vtiger_Request $request) { $sourceModules = array($request->get('sourceModule')); if ($request->has('sourceModules')) { $sourceModules = $request->get('sourceModules'); } $appName = $request->get('appname'); $db = PearDatabase::getInstance(); foreach ($sourceModules as $sourceModule) { $db->pquery('UPDATE vtiger_app2tab SET visible = ? WHERE tabid = ? AND appname = ?', array(1, getTabid($sourceModule), $appName)); } $response = new Vtiger_Response(); $response->setResult(array('success' => true)); $response->emit(); } function saveSequence(Vtiger_Request $request) { $moduleSequence = $request->get('sequence'); $appName = $request->get('appname'); $db = PearDatabase::getInstance(); foreach ($moduleSequence as $moduleName => $sequence) { $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $db->pquery('UPDATE vtiger_app2tab SET sequence = ? WHERE tabid = ? AND appname = ?', array($sequence, $moduleModel->getId(), $appName)); } $response = new Vtiger_Response(); $response->setResult(array('success' => true)); $response->emit(); } } ?>