/** * Function to get Updated folders list * @return <Array> Folders List */ public function getUpdatedFoldersList() { vimport('~~modules/Settings/MailConverter/handlers/MailBox.php'); $scannerInfo = new Vtiger_MailScannerInfo($this->getName()); $mailBox = new Vtiger_MailBox($scannerInfo); if ($mailBox->connect()) { $folders = $mailBox->getFolders(); $scannerInfo->updateFolderInfo($folders); } return $scannerInfo->getFolderInfo(); }
} } 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'; }
public function getFolders($id) { include_once 'modules/Settings/MailConverter/handlers/MailScannerInfo.php'; include_once 'modules/Settings/MailConverter/handlers/MailBox.php'; $scannerName = Settings_MailConverter_Module_Model::getScannerName($id); $scannerInfo = new Vtiger_MailScannerInfo($scannerName); $mailBox = new Vtiger_MailBox($scannerInfo); $isConnected = $mailBox->connect(); if ($isConnected) { $allFolders = $mailBox->getFolders(); $folders = array(); $selectedFolders = Settings_MailConverter_Module_Model::getScannedFolders($id); if (is_array($allFolders)) { foreach ($allFolders as $a) { if (in_array($a, $selectedFolders)) { $folders[$a] = 'checked'; } else { $folders[$a] = ''; } } return $folders; } else { return $allFolders; } } return false; }