/** * Function to update record with sequence number * @param Vtiger_Request $request */ public function updateRecordsWithSequenceNumber(Vtiger_Request $request) { $sourceModule = $request->get('sourceModule'); $moduleModel = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($sourceModule); $result = $moduleModel->updateRecordsWithSequence(); $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }
/** * Function to ger Supported modules for Custom record numbering * @return <Array> list of supported modules <Vtiger_Module_Model> */ public static function getSupportedModules() { $db = PearDatabase::getInstance(); $sql = "SELECT tabid, name FROM vtiger_tab WHERE isentitytype = ? AND presence = ? AND tabid IN (SELECT DISTINCT tabid FROM vtiger_field WHERE uitype = ?)"; $result = $db->pquery($sql, array(1, 0, 4)); $numOfRows = $db->num_rows($result); for ($i = 0; $i < $numOfRows; $i++) { $tabId = $db->query_result($result, $i, 'tabid'); $modulesModels[$tabId] = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($db->query_result($result, $i, 'name'), $tabId); } return $modulesModels; }
/** * Function to update record with sequence number * @param Vtiger_Request $request */ public function updateRecordsWithSequenceNumber(Vtiger_Request $request) { $sourceModule = $request->get('sourceModule'); $moduleModel = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($sourceModule); // SalesPlatform.ru begin: Added separate numbering for self organizations $result = $moduleModel->updateRecordsWithSequence($request->get('spCompany')); //$result = $moduleModel->updateRecordsWithSequence(); //SalesPlatform.ru end $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $OSSMail_active = Vtiger_Functions::getModuleId('OSSMail'); if ($OSSMail_active) { $mailRecordModel = Vtiger_Record_Model::getCleanInstance('OSSMail'); $accountsList = $mailRecordModel->getAccountsList(); $mailboxes = $mailRecordModel->get_default_mailboxes(); } $mailScannerRecordModel = Vtiger_Record_Model::getCleanInstance('OSSMailScanner'); $identityList = []; if ($accountsList) { foreach ($accountsList as $key => $account) { $identityList[$account['user_id']] = $mailScannerRecordModel->getIdentities($account['user_id']); $mbox = $mailRecordModel->imapConnect($account['username'], $account['password'], $account['mail_host'], 'INBOX', false); $accountsList[$key]['status'] = $mbox ? 'LBL_ACTIVE_MAIL' : 'LBL_INACTIVE_MAIL'; } } $EmailActionsList = $mailScannerRecordModel->getEmailActionsList(); $EmailActionsListName = $mailScannerRecordModel->getEmailActionsListName($EmailActionsList); $ConfigFolderList = $mailScannerRecordModel->getConfigFolderList(); $EmailSearch = $mailScannerRecordModel->getEmailSearch(); $EmailSearchList = $mailScannerRecordModel->getEmailSearchList(); $widgetCfg = $mailScannerRecordModel->getConfig(false); $supportedModules = Settings_Vtiger_CustomRecordNumberingModule_Model::getSupportedModules(); foreach ($supportedModules as $supportedModule) { if (in_array($supportedModule->name, $this->prefixesForModules)) { $moduleModel = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($supportedModule->name); $moduleData = $moduleModel->getModuleCustomNumberingData(); $RecordNumbering[$supportedModule->name] = $moduleData; } } $check_cron = $mailScannerRecordModel->get_cron(); $viewer = $this->getViewer($request); $viewer->assign('RECORD_MODEL', $mailScannerRecordModel); $viewer->assign('ACCOUNTLIST', $accountsList); $viewer->assign('EMAILACTIONSLIST', $EmailActionsList); $viewer->assign('EMAILACTIONSLISTNAME', $EmailActionsListName); $viewer->assign('FOLDERMAILBOXES', $mailboxes); $viewer->assign('CONFIGFOLDERLIST', $ConfigFolderList); $viewer->assign('WIDGET_CFG', $widgetCfg); $viewer->assign('EMAILSEARCH', $EmailSearch); $viewer->assign('EMAILSEARCHLIST', $EmailSearchList); $viewer->assign('RECORDNUMBERING', $RecordNumbering); $viewer->assign('ERRORNOMODULE', !$OSSMail_active); $viewer->assign('MODULENAME', $moduleName); $viewer->assign('IDENTITYLIST', $identityList); $viewer->assign('CHECKCRON', $check_cron); echo $viewer->view('Index.tpl', $request->getModule(false), true); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $OSSMail_active = Vtiger_Functions::getModuleId('OSSMail'); if ($OSSMail_active) { $OSSMail_Record_Model = Vtiger_Record_Model::getCleanInstance('OSSMail'); $AccountsList = $OSSMail_Record_Model->getAccountsList(); $mailboxes = $OSSMail_Record_Model->get_default_mailboxes(); } $OSSMailScanner_Record_Model = Vtiger_Record_Model::getCleanInstance('OSSMailScanner'); $identityList = array(); for ($i = 0; $i < count($AccountsList); $i++) { $identityList[$AccountsList[$i]['user_id']] = $OSSMailScanner_Record_Model->getIdentities($AccountsList[$i]['user_id']); } $EmailActionsList = $OSSMailScanner_Record_Model->getEmailActionsList(); $EmailActionsListName = $OSSMailScanner_Record_Model->getEmailActionsListName($EmailActionsList); $ConfigFolderList = $OSSMailScanner_Record_Model->getConfigFolderList(); $EmailSearch = $OSSMailScanner_Record_Model->getEmailSearch(); $EmailSearchList = $OSSMailScanner_Record_Model->getEmailSearchList(); $WidgetCfg = $OSSMailScanner_Record_Model->getConfig(false); $supportedModules = Settings_Vtiger_CustomRecordNumberingModule_Model::getSupportedModules(); foreach ($supportedModules as $supportedModule) { if (in_array($supportedModule->name, $this->prefixesForModules)) { $moduleModel = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($supportedModule->name); $moduleData = $moduleModel->getModuleCustomNumberingData(); $RecordNumbering[$supportedModule->name] = $moduleData; } } $check_cron = $OSSMailScanner_Record_Model->get_cron(); $viewer = $this->getViewer($request); $viewer->assign('RecordModel', $OSSMailScanner_Record_Model); $viewer->assign('ACCOUNTLIST', $AccountsList); $viewer->assign('EMAILACTIONSLIST', $EmailActionsList); $viewer->assign('EMAILACTIONSLISTNAME', $EmailActionsListName); $viewer->assign('FOLDERMAILBOXES', $mailboxes); $viewer->assign('CONFIGFOLDERLIST', $ConfigFolderList); $viewer->assign('WIDGET_CFG', $WidgetCfg); $viewer->assign('EMAILSEARCH', $EmailSearch); $viewer->assign('EMAILSEARCHLIST', $EmailSearchList); $viewer->assign('RECORDNUMBERING', $RecordNumbering); $viewer->assign('ERRORNOMODULE', !$OSSMail_active); $viewer->assign('MODULENAME', $moduleName); $viewer->assign('IDENTITYLIST', $identityList); $viewer->assign('CHECKCRON', $check_cron); echo $viewer->view('index.tpl', $moduleName, true); }
public static function findEmailNumPrefix($ModuleName, $subject) { $moduleModel = Settings_Vtiger_CustomRecordNumberingModule_Model::getInstance($ModuleName); $moduleData = $moduleModel->getModuleCustomNumberingData(); $redex = '/' . $moduleData['prefix'] . '([0-9]*)/'; preg_match($redex, $subject, $match); //var_dump($subject,$match);echo '<br/>'; if ($match[0] != NULL) { return $match[0]; } else { return false; } }