public function preProcess(Vtiger_Request $request, $display = true) { $config = Settings_Mail_Config_Model::getConfig('autologin'); if ($config['autologinActive'] == 'true') { $account = OSSMail_Autologin_Model::getAutologinUsers(); if ($account) { $rcUser = isset($_SESSION['AutoLoginUser']) && array_key_exists($_SESSION['AutoLoginUser'], $account) ? $account[$_SESSION['AutoLoginUser']] : reset($account); require_once 'modules/OSSMail/RoundcubeLogin.class.php'; $rcl = new RoundcubeLogin(self::$mainUrl, false); try { if ($rcl->isLoggedIn()) { if ($rcl->getUsername() != $rcUser['username']) { $rcl->logout(); $rcl->login($rcUser['username'], $rcUser['password']); } } else { $rcl->login($rcUser['username'], $rcUser['password']); } } catch (RoundcubeLoginException $ex) { $log = vglobal('log'); $log->error('OSSMail_index_View|RoundcubeLoginException: ' . $ex->getMessage()); } } } $config = OSSMail_Module_Model::getComposeParameters(); $param = OSSMail_Module_Model::getComposeUrlParam($request->get('crmModule'), $request->get('crmRecord'), $request->get('crmView')); if ($request->get('id') != '' && $request->get('type') != '') { $param .= '&crmid=' . (int) $request->get('id') . '&type=' . $request->get('type'); } $this->mainUrl = $this->mainUrl . $param; if ($config['popup'] && $request->get('popup') == 1) { header('Location: ' . $this->mainUrl . '&_extwin=1'); exit; } parent::preProcess($request, true); }
function getComposeParameters() { if (!self::$composeParam) { $db = PearDatabase::getInstance(); $result = $db->pquery('SELECT parameter,value FROM vtiger_ossmailscanner_config WHERE conf_type = ?', ['email_list']); $config = []; for ($i = 0; $i < $db->num_rows($result); $i++) { $config[$db->query_result($result, $i, 'parameter')] = $db->query_result($result, $i, 'value'); } $config['popup'] = $config['target'] == '_blank' ? true : false; self::$composeParam = $config; } return self::$composeParam; }