} } else { $isconnected = true; $scannerinfo->isvalid = $newscannerinfo->isvalid; // Copy new value $newscannerinfo = $scannerinfo; } if (!$isconnected) { require_once 'Smarty_setup.php'; global $app_strings, $mod_strings, $currentModule, $theme, $current_language; $smarty = new vtigerCRM_Smarty(); $smarty->assign("MOD", return_module_language($current_language, 'Settings')); $smarty->assign("CMOD", $mod_strings); $smarty->assign("APP", $app_strings); $smarty->assign("THEME", $theme); $smarty->assign("IMAGE_PATH", "themes/{$theme}/images/"); $smarty->assign("SCANNERINFO", $newscannerinfo->getAsMap()); $smarty->assign("CONNECTFAIL", "Connecting to mailbox failed!"); $smarty->display('MailScanner/MailScannerEdit.tpl'); } else { $mailServerChanged = $scannerinfo->update($newscannerinfo); $scannerinfo->updateAllFolderRescan($rescanfolder); // Update lastscan on all the available folders. if ($mailServerChanged && $mailbox) { $folders = $mailbox->getFolders(); foreach ($folders as $folder) { $scannerinfo->updateLastscan($folder); } } require 'modules/Settings/MailScanner/MailScannerInfo.php'; }
/** * Function to save this record * @return <Boolean> true/false (Saved/Not Saved) */ public function save() { vimport('~~modules/Settings/MailConverter/handlers/MailScannerInfo.php'); $scannerLatestInfo = new Vtiger_MailScannerInfo(false, false); $fieldsList = $this->getModule()->getFields(); foreach ($fieldsList as $fieldName => $fieldModel) { $scannerLatestInfo->{$fieldName} = $this->get($fieldName); } $scannerId = $this->getId(); if (!empty($scannerId)) { $scannerLatestInfo->scannerid = $this->getId(); } //Checking Scanner Name $scannerName = $this->getName(); if ($scannerName && !validateAlphanumericInput($scannerName)) { return false; } //Checking Server $server = $this->get('server'); if ($server && !validateServerName($server)) { return false; } //Checking User Name $userName = $this->get('username'); if ($userName && !validateEmailId($userName) && !validateAlphanumericInput($userName)) { return false; } $isConnected = true; $scannerOldInfo = new Vtiger_MailScannerInfo($this->get('scannerOldName')); if (!$scannerOldInfo->compare($scannerLatestInfo)) { vimport('~~modules/Settings/MailConverter/handlers/MailBox.php'); $mailBox = new Vtiger_MailBox($scannerLatestInfo); $isConnected = $mailBox->connect(); } if ($isConnected) { $scannerLatestInfo->connecturl = $mailBox->_imapurl; //$scannerLatestInfo->isvalid = $scannerOldInfo->isvalid = $isConnected; if (!empty($scannerId)) { $scannerOldInfo->scannerid = $scannerId; } $mailServerChanged = $scannerOldInfo->update($scannerLatestInfo); if (empty($scannerId)) { $this->set('scannerid', $scannerOldInfo->scannerid); } $rescanFolder = false; if ($this->get('searchfor') === 'all') { $rescanFolder = true; } $scannerOldInfo->updateAllFolderRescan($rescanFolder); // Update lastscan on all the available folders. if ($mailServerChanged && $mailBox) { //only for inbox $folders = array('INBOX'); foreach ($folders as $folder) { $scannerOldInfo->updateLastscan($folder); } } } return $isConnected; }