Пример #1
0
                    $error = GetMessage('INTR_MAIL_INP_LINK_BAD');
                }
                break;
            case 'login':
                break;
            case 'password':
                break;
        }
    }
    return $value;
}
$arResult['STEP'] = isset($_REQUEST['STEP']) ? $_REQUEST['STEP'] : 'choose';
if (!in_array($arResult['STEP'], array('choose', 'check', 'setup', 'confirm', 'remove'))) {
    $arResult['STEP'] = 'choose';
}
$acc = CMailbox::GetList(array('TIMESTAMP_X' => 'DESC'), array('LID' => SITE_ID, 'ACTIVE' => 'Y', 'SERVER_TYPE' => 'imap', 'USER_ID' => $USER->GetID()))->Fetch();
if (empty($acc)) {
    if ($arResult['STEP'] == 'confirm' && isset($_REQUEST['ACT']) && $_REQUEST['ACT'] == 'remove') {
    } else {
        if ($arResult['STEP'] == 'setup' && !empty($_REQUEST['SERVICE']) && array_key_exists($_REQUEST['SERVICE'], $arParams['SERVICES'])) {
            $arResult['SERVICE'] = $_REQUEST['SERVICE'];
        } else {
            if (in_array($arResult['STEP'], array('choose', 'setup')) && count($arParams['SERVICES']) == 1) {
                $arResult['STEP'] = 'setup';
                $arResult['SERVICE'] = key($arParams['SERVICES']);
            } else {
                $arResult['STEP'] = 'choose';
            }
        }
    }
} else {
Пример #2
0
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('NO_AGENT_CHECK', true);
define('DisableEventsCheck', true);
define('NOT_CHECK_PERMISSIONS', true);
define('BX_SECURITY_SESSION_READONLY', true);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
if (!is_object($USER) || !$USER->IsAuthorized()) {
    return;
}
$userId = $USER->GetID();
session_write_close();
CModule::IncludeModule('mail');
$siteId = isset($_REQUEST['SITE_ID']) ? $_REQUEST['SITE_ID'] : SITE_ID;
$error = false;
$dbAcc = CMailbox::GetList(array('TIMESTAMP_X' => 'DESC'), array('LID' => SITE_ID, 'ACTIVE' => 'Y', 'USER_ID' => $USER->GetID()));
while (($acc = $dbAcc->fetch()) !== false && !in_array($acc['SERVER_TYPE'], array('imap', 'controller', 'domain', 'crdomain'))) {
}
if (!empty($acc)) {
    switch ($acc['SERVER_TYPE']) {
        case 'imap':
            $unseen = CMailUtil::CheckImapMailbox($acc['SERVER'], $acc['PORT'], $acc['USE_TLS'], $acc['LOGIN'], $acc['PASSWORD'], $error, 30);
            break;
        case 'controller':
            list($acc['login'], $acc['domain']) = explode('@', $acc['LOGIN'], 2);
            $crCheckMailbox = CControllerClient::ExecuteEvent('OnMailControllerCheckMailbox', array('DOMAIN' => $acc['domain'], 'NAME' => $acc['login']));
            if (isset($crCheckMailbox['result'])) {
                $unseen = intval($crCheckMailbox['result']);
            } else {
                $unseen = -1;
                $error = empty($crCheckMailbox['error']) ? GetMessage('INTR_MAIL_CONTROLLER_INVALID') : CMail::getErrorMessage($crCheckMailbox['error']);
Пример #3
0
                }
                $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");
$arHeaders[] = array("id" => "ACTIVE", "content" => GetMessage("MAIL_MBOX_ADM_ACT"), "default" => true, "sort" => "active");
$arHeaders[] = array("id" => "SERVER", "content" => GetMessage("MAIL_MBOX_ADR"), "default" => true, "sort" => "server");
$arHeaders[] = array("id" => "SERVER_TYPE", "content" => GetMessage("MAIL_MBOX_ADM_TYPE"), "default" => true, "sort" => "server_type");
$arHeaders[] = array("id" => "LID", "content" => GetMessage("MAIL_MBOX_ADM_LANG"), "default" => true, "sort" => "lang");
$arHeaders[] = array("id" => "TIMESTAMP_X", "content" => GetMessage("MAIL_MBOX_ADM_DATECH"), "default" => true, "sort" => "timestamp_x");
$arHeaders[] = array("id" => "ID", "content" => "ID", "default" => true, "sort" => "id");
$lAdmin->AddHeaders($arHeaders);
// построение списка
while ($arRes = $rsData->NavNext(true, "f_")) {
Пример #4
0
	function Delete($ID)
	{
		global $DB;
		$ID = IntVal($ID);
		$db_msg = CMailMessage::GetList(Array(), Array("MAILBOX_ID"=>$ID));
		while($msg = $db_msg->Fetch())
		{
			if(!CMailMessage::Delete($msg["ID"]))
				return false;
		}

		$db_flt = CMailFilter::GetList(Array(), Array("MAILBOX_ID"=>$ID));
		while($flt = $db_flt->Fetch())
		{
			if(!CMailFilter::Delete($flt["ID"]))
				return false;
		}

		$db_log = CMailLog::GetList(Array(), Array("MAILBOX_ID"=>$ID));
		while($log = $db_log->Fetch())
		{
			if(!CMailLog::Delete($log["ID"]))
				return false;
		}

		$db_mbox = CMailbox::GetList(array('ID' => $ID, 'ACTIVE' => 'Y', '!USER_ID' => 0));
		if ($mbox = $db_mbox->fetch())
		{
			CUserCounter::Clear($mbox['USER_ID'], 'mail_unseen', $mbox['LID']);

			CUserOptions::DeleteOption('global', 'last_mail_check_'.$mbox['LID'], false, $mbox['USER_ID']);
			CUserOptions::DeleteOption('global', 'last_mail_check_success_'.$mbox['LID'], false, $mbox['USER_ID']);
		}

		CAgent::RemoveAgent("CMailbox::CheckMailAgent(".$ID.");", "mail");

		$strSql = "DELETE FROM b_mail_message_uid WHERE MAILBOX_ID=".$ID;
		if(!$DB->Query($strSql, true))
			return false;

		CMailbox::SMTPReload();
		$strSql = "DELETE FROM b_mail_mailbox WHERE ID=".$ID;
		return $DB->Query($strSql, true);
	}
<form action="mail_check_new_messages.php" method="get">
<table border="0" cellspacing="1">

	<tr>
		<td valign="top" align="left" nowrap>
		<p>
			<?php 
echo GetMessage("MAIL_CHECK_CHECK");
?>
			<select name="mailbox_id">
				<option value=""><?php 
echo GetMessage("MAIL_CHECK_CHECK_ALL");
?>
</option>
				<?php 
$l = CMailbox::GetList(array('NAME' => 'ASC', 'ID' => 'ASC'), array('ACTIVE' => 'Y', 'USER_ID' => 0));
while ($l->ExtractFields("mb_")) {
    ?>
<option value="<?php 
    echo $mb_ID;
    ?>
"<?php 
    if ($mailbox_id == $mb_ID) {
        echo " selected";
    }
    ?>
><?php 
    echo $mb_NAME;
    ?>
</option><?php 
}
</td>
</tr>
<tr>
	<td nowrap><?php 
echo GetMessage("MAIL_FILT_ADM_FILT_MBOX");
?>
:</td>
	<td nowrap>
		<select name="find_mailbox_id">
			<option value=""><?php 
echo GetMessage("MAIL_FILT_ADM_FILT_ANY");
?>
</option>
			<?php 
ClearVars("mb_");
$l = CMailbox::GetList(array("NAME" => "ASC", "ID" => "ASC"), array("VISIBLE" => "Y"));
while ($l->ExtractFields("mb_")) {
    ?>
<option value="<?php 
    echo $mb_ID;
    ?>
"<?php 
    if ($find_mailbox_id == $mb_ID) {
        echo " selected";
    }
    ?>
><?php 
    echo $mb_NAME;
    ?>
</option><?php 
}