Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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;
 }