403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/mail/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/mail/admin/mail_mailbox_admin.php
<?
/*
##############################################
# Bitrix: SiteManager                        #
# Copyright (c) 2002-2004 Bitrix             #
# https://www.bitrixsoft.com                 #
# mailto:admin@bitrixsoft.com                #
##############################################
*/
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/mail/prolog.php");

$MOD_RIGHT = $APPLICATION->GetGroupRight("mail");
if($MOD_RIGHT<"R") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
Bitrix\Main\Loader::includeModule('mail');

$err_mess = "File: ".__FILE__."<br>Line: ";


$sTableID = "t_mailbox_admin";
$oSort = new CAdminSorting($sTableID, "timestamp_x", "desc");// инициализация сортировки
$lAdmin = new CAdminList($sTableID, $oSort);// инициализация списка


$filter = new CAdminFilter(
	$sTableID."_filter_id", 
	array(
		GetMessage("MAIL_MBOX_ADM_TYPE"),
		GetMessage("MAIL_MBOX_ADR"),
		"ID",
		GetMessage("MAIL_MBOX_ADM_USER_TYPE"),
		GetMessage("MAIL_MBOX_ADM_FILT_ACT"),
		GetMessage("MAIL_MBOX_ADM_FILT_LANG"),
	)
);


$arFilterFields = Array(
	"find_name",
	"find_id",
	"find_user_type",
	"find_server",
	"find_server_type",
	"find_active",
	"find_lid",
);

if ($lAdmin->IsDefaultFilter())
{
	$find_user_type = 'admin';
	$set_filter = 'Y';
}

$lAdmin->InitFilter($arFilterFields);//инициализация фильтра


$arFilter = array(
	"ID"          => $find_id,
	"NAME"        => $find_name,
	"LID"         => $find_lid,
	"SERVER_TYPE" => $find_server_type,
	"SERVER"      => $find_server,
	"ACTIVE"      => $find_active
);
if ($find_user_type == 'user')
	$arFilter['!USER_ID'] = 0;
else if ($find_user_type == 'admin')
	$arFilter['USER_ID'] = 0;


if ($MOD_RIGHT=="W" && $lAdmin->EditAction()) //если идет сохранение со списка
{
	foreach($FIELDS as $ID => $arFields)
	{
		$ID = intval($ID);

		if(!$lAdmin->IsUpdated($ID))
			continue;

		$DB->StartTransaction();
		if(!CMailBox::Update($ID, $arFields))
		{
			$e = $APPLICATION->GetException();
			$lAdmin->AddUpdateError(GetMessage("MAIL_SAVE_ERROR")." #".$ID.": ".$e->GetString(), $ID);
			$DB->Rollback();
		}
		else
		{
			$DB->Commit();
		}
	}
}


// обработка действий групповых и одиночных
if($MOD_RIGHT=="W" && $arID = $lAdmin->GroupAction())
{
	if($_REQUEST['action_target']=='selected')
	{
		$rsData = CMailBox::GetList(Array($by=>$order), $arFilter);
		while($arRes = $rsData->Fetch())
			$arID[] = $arRes['ID'];
	}

	foreach($arID as $ID)
	{
		if($ID == '')
			continue;
		$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);
				}
				else
				{
					$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_"))
{
	$row =& $lAdmin->AddRow($f_ID, $arRes);

	$str = "mail_filter_admin.php?lang=".LANG."&find_mailbox_id=".$f_ID."&set_filter=Y";
	$row->AddViewField("MAILBOX_NAME", $str);


	$row->AddCheckField("ACTIVE");
	$row->AddInputField("NAME", Array("size"=>"35"));
	$row->AddInputField("SERVER", Array("size"=>"35"));

	$arActions = Array();


	$rules = CMailFilter::GetList(Array(), Array("MAILBOX_ID"=>$f_ID), true);
	$res = $rules->Fetch();

	if ($arRes['USER_ID'] == 0)
	{
		$arActions[] = array(
			"ICON"=>"list",
			"TEXT"=>GetMessage("MAIL_MBOX_ADM_RULES_LINK")." (".intval($res["CNT"]).")",
			"ACTION"=>$lAdmin->ActionRedirect("mail_filter_admin.php?set_filter=Y&find_mailbox_id=".$f_ID."&lang=".LANG)
		);

		$arActions[] = array(
			"ICON"=>"add",
			"TEXT"=>GetMessage("MAIL_MBOX_ADM_NEWRULE"),
			"ACTION"=>$lAdmin->ActionRedirect("mail_filter_edit.php?MAILBOX_ID=".$f_ID."&lang=".LANG)
		);

		$arActions[] = array("SEPARATOR"=>true);

		$arActions[] = array(
			"ICON"=>"list",
			"TEXT"=>GetMessage("MAIL_MBOX_ADM_LOG"),
			"ACTION"=>$lAdmin->ActionRedirect("mail_log.php?set_filter=Y&find_mailbox_id=".$f_ID."&lang=".LANG)
		);

		$msgs = CMailMessage::GetList(Array(), Array("MAILBOX_ID"=>$f_ID), true);
		$res = $msgs->Fetch();

		$arActions[] = array(
			"ICON"=>"list",
			"TEXT"=>GetMessage("MAIL_MBOX_ADM_MESSAGES")." (".intval($res["CNT_NEW"])." / ".intval($res["CNT"]).")",
			"ACTION"=>$lAdmin->ActionRedirect("mail_message_admin.php?set_filter=Y&find_mailbox_id=".$f_ID."&lang=".LANG)
		);

		$arActions[] = array("SEPARATOR"=>true);
	}

	$arActions[] = array(
		"ICON"=>"edit",
		"DEFAULT" => "Y",
		"TEXT"=>GetMessage("MAIL_MBOX_ADM_CHANGE2"),
		"ACTION"=>$lAdmin->ActionRedirect("mail_mailbox_edit.php?ID=".$f_ID."&lang=".LANG)
	);

	if ($MOD_RIGHT=="W")
	{
		$arActions[] = array("SEPARATOR"=>true);

		$arActions[] = array(
			"ICON"=>"delete",
			"TEXT"=>GetMessage("MAIL_MBOX_ADM_DELETE"),
			"ACTION"=>"if(confirm('".GetMessage('MAIL_MBOX_ADM_DEL_CONFIRM')."')) ".$lAdmin->ActionDoGroup($f_ID, "delete"),
		);
	}
	$row->AddActions($arActions);

}

// "подвал" списка
$lAdmin->AddFooter(
	array(
		array("title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value"=>$rsData->SelectedRowsCount()),
		array("counter"=>true, "title"=>GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value"=>"0"),
	)
);

if ($MOD_RIGHT=="W")
{
	// показ добавление формы с кнопками
	$lAdmin->AddGroupActionTable(Array(
		"activate"=>GetMessage("MAIN_ADMIN_LIST_ACTIVATE"),
		"deactivate"=>GetMessage("MAIN_ADMIN_LIST_DEACTIVATE"),
		"delete"=>GetMessage("MAIN_ADMIN_LIST_DELETE"),
		)
	);
}

$arSiteMenu = array(
	array(
		"TEXT" => GetMessage("MAIL_MBOX_ADM_USER_TYPE_USER"),
		"ACTION" => "window.location = 'mail_mailbox_edit.php?lang=".LANGUAGE_ID."&mailbox_type=user';"
	),
	array(
		"TEXT" => GetMessage("MAIL_MBOX_ADM_USER_TYPE_ADM"),
		"ACTION" => "window.location = 'mail_mailbox_edit.php?lang=".LANGUAGE_ID."&mailbox_type=admin';"
	)
);
$aContext = array(
	array(
		"ICON" => "btn_new",
		"TEXT" => GetMessage("MAIN_ADD"),
		"LINK" => "mail_mailbox_edit.php?lang=".LANGUAGE_ID."&mailbox_type=".($find_user_type == 'user' ? 'user' : 'admin'),
		"TITLE" => GetMessage("MAIN_ADD"),
		"MENU" => $arSiteMenu
	),
);


$lAdmin->AddAdminContextMenu($aContext);

$lAdmin->CheckListMode();

//$mailboxes = CMailbox::GetList(Array($by=>$order), $arFilter);
//$is_filtered = $mailboxes->is_filtered;
$APPLICATION->SetTitle(GetMessage("MAIL_MBOX_ADM_TITLE"));
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php");
?>
<form name="form1" method="GET" action="<?echo $APPLICATION->GetCurPage()?>?">
<?$filter->Begin();?>
<tr>
	<td nowrap><?echo GetMessage("MAIL_MBOX_ADM_FILT_NAME")?>:</td>
	<td nowrap><input type="text" name="find_name" value="<?echo htmlspecialcharsbx($find_name)?>" size="47"><?=ShowFilterLogicHelp()?></td>
</tr>

<tr>
	<td nowrap><?echo GetMessage("MAIL_MBOX_ADM_FILT_TYPE")?></td>
	<td nowrap><?
		$arr = array("reference"=>array("POP3", "SMTP"), "reference_id"=>array("pop3","smtp"));
		echo SelectBoxFromArray("find_server_type", $arr, htmlspecialcharsbx($find_server_type), GetMessage("MAIL_MBOX_ADM_FILT_ANY"));
		?></td>
</tr>

<tr>
	<td nowrap><?echo GetMessage("MAIL_MBOX_ADM_FILT_ADR")?></td>
	<td nowrap><input type="text" name="find_server" value="<?echo htmlspecialcharsbx($find_server)?>" size="47"><?=ShowFilterLogicHelp()?></td>
</tr>

<tr>
	<td nowrap>ID:</td>
	<td nowrap><input type="text" name="find_id" value="<?echo htmlspecialcharsbx($find_id)?>" size="47"><?=ShowFilterLogicHelp()?></td>
</tr>

<td nowrap><?=GetMessage("MAIL_MBOX_ADM_FILT_USER_TYPE"); ?></td>
<td nowrap><?
	$arr = array(
		'reference' => array(GetMessage('MAIL_MBOX_ADM_USER_TYPE_USER'), GetMessage('MAIL_MBOX_ADM_USER_TYPE_ADM')),
		'reference_id' => array('user', 'admin')
	);
	echo SelectBoxFromArray('find_user_type', $arr, htmlspecialcharsbx($find_user_type), GetMessage('MAIL_MBOX_ADM_FILT_ANY'));
	?></td>
</tr>

<tr>
	<td nowrap><?echo GetMessage("MAIL_MBOX_ADM_FILT_ACT")?>:</td>
	<td nowrap><?
		$arr = array("reference"=>array(GetMessage("MAIN_YES"), GetMessage("MAIN_NO")), "reference_id"=>array("Y","N"));
		echo SelectBoxFromArray("find_active", $arr, htmlspecialcharsbx($find_active), GetMessage("MAIL_MBOX_ADM_FILT_ANY"));
		?></td>
</tr>

<tr>
	<td nowrap><?echo GetMessage("MAIL_MBOX_ADM_FILT_LANG")?>:</td>
	<td nowrap>
		<select name="find_lid">
			<option value=""><?echo GetMessage("MAIL_MBOX_ADM_FILT_ANY")?></option>
			<?
			ClearVars("l_");
			$l = CLang::GetList('', '', Array("VISIBLE"=>"Y"));
			while($l->ExtractFields("l_")):
				?><option value="<?echo $l_LID?>"<?if($find_lid==$l_LID)echo " selected"?>><?echo $l_NAME?></option><?
			endwhile;
			?>
		</select>
	</td>
</tr>

<?$filter->Buttons(array("table_id"=>$sTableID, "url"=>$APPLICATION->GetCurPage(), "form"=>"form1"));$filter->End();?>

</form>

<?$lAdmin->DisplayList();?>




<?require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php");?>

Youez - 2016 - github.com/yon3zu
LinuXploit