/** * Process the request for Folder opertions * @global <type> $list_max_entries_per_page * @param MailManager_Request $request * @return MailManager_Response */ function process(MailManager_Request $request) { global $list_max_entries_per_page, $current_user; $response = new Vtiger_Response(); if ('open' == $request->getOperationArg()) { $q = $request->get('q'); $foldername = $request->get('_folder'); $type = $request->get('type'); $connector = $this->getConnector($foldername); $folder = $connector->folderInstance($foldername); if (empty($q)) { $connector->folderMails($folder, intval($request->get('_page', 0)), $list_max_entries_per_page); } else { if (empty($type)) { $type = 'ALL'; } if ($type == 'ON') { $dateFormat = $current_user->date_format; if ($dateFormat == 'mm-dd-yyyy') { $dateArray = explode('-', $q); $temp = $dateArray[0]; $dateArray[0] = $dateArray[1]; $dateArray[1] = $temp; $q = implode('-', $dateArray); } $query = date('d M Y', strtotime($q)); $q = '' . $type . ' "' . vtlib_purify($query) . '"'; } else { $q = '' . $type . ' "' . vtlib_purify($q) . '"'; } $connector->searchMails($q, $folder, intval($request->get('_page', 0)), $list_max_entries_per_page); } $folderList = $connector->getFolderList(); $viewer = $this->getViewer(); $viewer->assign('TYPE', $type); $viewer->assign('QUERY', $request->get('q')); $viewer->assign('FOLDER', $folder); $viewer->assign('FOLDERLIST', $folderList); $viewer->assign('SEARCHOPTIONS', self::getSearchOptions()); $viewer->assign("JS_DATEFORMAT", parse_calendardate(getTranslatedString('NTC_DATE_FORMAT'))); $response->setResult($viewer->fetch($this->getModuleTpl('FolderOpen.tpl'))); } elseif ('drafts' == $request->getOperationArg()) { $q = $request->get('q'); $type = $request->get('type'); $page = intval($request->get('_page', 0)); $connector = $this->getConnector('__vt_drafts'); $folder = $connector->folderInstance(); if (empty($q)) { $draftMails = $connector->getDrafts($page, $list_max_entries_per_page, $folder); } else { $draftMails = $connector->searchDraftMails($q, $type, $page, $list_max_entries_per_page, $folder); } $viewer = $this->getViewer(); $viewer->assign('MAILS', $draftMails); $viewer->assign('FOLDER', $folder); $viewer->assign('SEARCHOPTIONS', MailManager_DraftController::getSearchOptions()); $response->setResult($viewer->fetch($this->getModuleTpl('FolderDrafts.tpl'))); } return $response; }
/** * Process the request for Folder opertions * @global <type> $list_max_entries_per_page * @param MailManager_Request $request * @return MailManager_Response */ function process(MailManager_Request $request) { global $list_max_entries_per_page; $response = new MailManager_Response(); if ('open' == $request->getOperationArg()) { $q = $request->get('q'); $foldername = $request->get('_folder'); $type = $request->get('type'); $connector = $this->getConnector($foldername); $folder = $connector->folderInstance($foldername); if (empty($q)) { $connector->folderMails($folder, intval($request->get('_page', 0)), $list_max_entries_per_page); } else { if (empty($type)) { $type = 'ALL'; } $q = '' . $type . ' "' . vtlib_purify($q) . '"'; $connector->searchMails($q, $folder, intval($request->get('_page', 0)), $list_max_entries_per_page); } $folderList = $connector->getFolderList(); $viewer = $this->getViewer(); $viewer->assign('TYPE', $type); $viewer->assign('QUERY', $request->get('q')); $viewer->assign('FOLDER', $folder); $viewer->assign('FOLDERLIST', $folderList); $viewer->assign('SEARCHOPTIONS', self::getSearchOptions()); $response->setResult($viewer->fetch($this->getModuleTpl('Folder.Open.tpl'))); } elseif ('drafts' == $request->getOperationArg()) { $q = $request->get('q'); $type = $request->get('type'); $page = intval($request->get('_page', 0)); $connector = $this->getConnector('__vt_drafts'); $folder = $connector->folderInstance(); if (empty($q)) { $draftMails = $connector->getDrafts($page, $list_max_entries_per_page, $folder); } else { $draftMails = $connector->searchDraftMails($q, $type, $page, $list_max_entries_per_page, $folder); } $viewer = $this->getViewer(); $viewer->assign('MAILS', $draftMails); $viewer->assign('FOLDER', $folder); $viewer->assign('SEARCHOPTIONS', MailManager_DraftController::getSearchOptions()); $response->setResult($viewer->fetch($this->getModuleTpl('Folder.Drafts.tpl'))); } return $response; }
/** * Returns a Connector to either MailBox or Internal Drafts * @param String $folder - Name of the folder * @return MailManager_Connector */ protected function getConnector($folder = '') { if (!$this->mConnector || $this->mFolder != $folder) { if ($folder == "__vt_drafts") { $draftController = new MailManager_DraftController(); $this->mConnector = $draftController->connectorWithModel(); } else { if ($this->mConnector) { $this->mConnector->close(); } $model = $this->getMailboxModel(); $this->mConnector = MailManager_Connector::connectorWithModel($model, $folder); } $this->mFolder = $folder; } return $this->mConnector; }