} $ID = IntVal($ID); switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CMailBox::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("MAIL_MBOX_ADM_DELERR"), $ID); } $DB->Commit(); break; case "activate": case "deactivate": $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N"); if (!CMailBox::Update($ID, $arFields)) { if ($e = $APPLICATION->GetException()) { $lAdmin->AddGroupError(GetMessage("SAVE_ERROR") . $ID . ": " . $e->GetString(), $ID); } } break; } } } $rsData = CMailbox::GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // установка строки навигации $lAdmin->NavText($rsData->GetNavPrint(GetMessage("MAIL_MBOX_ADM_NAVIGATION"))); $arHeaders = array(); $arHeaders[] = array("id" => "NAME", "content" => GetMessage("MAIL_MBOX_ADM_NAME"), "default" => true, "sort" => "name");
if (!is_array($arMailBox)) { $errorMsg = GetMessage('CRM_ERROR_MAIL_BOX_NOT_FOUND', array('#ID#' => $mailBoxID)); } else { $arMailBox = array_merge($arMailBox, $arMailBoxData); if (isset($arMailBox['ID'])) { unset($arMailBox['ID']); } // Check email settings if ($arMailBox['SERVER_TYPE'] === 'pop3') { if ($email === '') { $errorMsg = GetMessage('CRM_ERROR_POP3_MAIL_NOT_DEFINED'); } else { // Override mail box name $arMailBox['NAME'] = $email; $mailBoxEntity = new CMailBox(false); if (!$mailBoxEntity->Update($mailBoxID, $arMailBox)) { $ex = $GLOBALS['APPLICATION']->GetException(); $errorMsg = $ex->GetString(); $GLOBALS['APPLICATION']->ResetException(); } } } else { if ($emailLocalPart === '') { $errorMsg = GetMessage('CRM_ERROR_SMTP_MAIL_NOT_DEFINED'); } $domain = isset($_POST['SMTP_DOMAIN']) ? $_POST['SMTP_DOMAIN'] : ''; if ($domain === '') { $errorMsg = GetMessage('CRM_ERROR_SMTP_DOMAIN_NOT_DEFINED'); } $email = $emailLocalPart . '@' . $domain; // Don't change SMTP mail box