Пример #1
0
    }
} 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';
}
Пример #2
0
 /**
  * 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;
     }
     $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);
     }
     return $isConnected;
 }