%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.227.79.253
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/forum/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/forum/admin/forum_words.php
<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
use \Bitrix\Forum;
use \Bitrix\Main;

Main\Loader::includeModule("forum");
Main\Localization\Loc::loadMessages(__FILE__);

$forumPermissions = $APPLICATION->GetGroupRight("forum");
if ($forumPermissions == "D")
{
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/forum/prolog.php");
$request = Main\Context::getCurrent()->getRequest();
$sTableID = "tbl_filter";
$oSort = new CAdminSorting($sTableID, "ID", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
$filter = $lAdmin->InitFilter(array("ID", "find_pattern", "find_type", "USE_IT", "PATTERN_CREATE"));

/*******************************************************************/
$DICTIONARY_ID = intval($request->get("DICTIONARY_ID"));
if ($DICTIONARY_ID <= 0)
{
	$lAdmin->AddFilterError(GetMessage("FLT_NOT_DICTIONARY"));
}
$arFilter = array(
	"DICTIONARY_ID" => $DICTIONARY_ID
);
if (is_array($filter))
{
	if ($filter["find_pattern"] <> '' && $filter["find_type"] <> '')
	{
		$arFilter[$filter["find_type"]] = "%".$filter["find_pattern"]."%";
	}
	if (in_array($filter["USE_IT"], ["Y", "N"]))
	{
		$arFilter["USE_IT"] = $filter["USE_IT"] == "Y" ? "Y" : "N";
	}
	if (in_array($filter["PATTERN_CREATE"], ["WORDS", "TRNSL", "PTTRN"]))
	{
		$arFilter["PATTERN_CREATE"] = $filter["PATTERN_CREATE"];
	}
}
/*******************************************************************/
if ($lAdmin->EditAction() && $forumPermissions >= "W")
{
	foreach ($request->getPost("FIELDS") as $ID => $fields)
	{
		$ID = intval($ID);
		if (!$lAdmin->IsUpdated($ID))
		{
			continue;
		}
		try
		{
			$result = Forum\BadWords\Filter::getById($ID)->update($fields);
		}
		catch (Exception $e)
		{
			$result = new Main\Result();
			$result->addError(new Main\Error($e->getMessage()));
		}

		if (!$result->isSuccess())
		{
			$lAdmin->AddUpdateError(implode("", $result->getErrorMessages()));
		}
	}
}
/*******************************************************************/
if (($arID = $lAdmin->GroupAction()) && check_bitrix_sessid() && $forumPermissions >= "W")
{
	if ($request->getPost("action_target") == "selected")
	{
		$dbRes = Forum\BadWords\FilterTable::getList([
			"select" => ["ID"],
			"filter" => $arFilter,
			"order" => [
				$by => $order
			]
		]);

		$arID = [];
		while ($arRes = $dbRes->Fetch())
		{
			$arID[] = $arRes["ID"];
		}
	}

	foreach($arID as $ID)
	{
		try
		{
			$word = Forum\BadWords\Filter::getById($ID);
			if ($request->get("action_button") === "delete")
			{
				$word->delete();
			}
			else
			{
				$word->generatePattern();
			}
		}
		catch(Exception $e)
		{

		}
	}
	if ($request->get("sessid") || $request->get("action_button"))
	{
		LocalRedirect($APPLICATION->GetCurPageParam("", ["sessid", "action_button", "ID"]));
	}
}
$dbRes = Forum\BadWords\FilterTable::getList([
	"select" => ["*"],
	"filter" => $arFilter,
	"order" => [
		$by => $order
	]
]);
$rsData = new CAdminResult($dbRes, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("FLT_TITLE_NAV")));
$lAdmin->AddHeaders([
	["id" => "ID", "content" => "ID", "sort" => "ID", "default" => true],
	["id" => "USE_IT", "content" => GetMessage("FLT_USE_IT"), "sort" => "USE_IT", "default" => true],
	["id" => "PATTERN_CREATE", "content" => GetMessage("FLT_PATTERN_CREATE"), "sort" => "PATTERN_CREATE", "default" => true],
	["id" => "WORDS", "content" => GetMessage("FLT_WORDS"), "sort" => "WORDS", "default" => true],
	["id" => "PATTERN", "content" => GetMessage("FLT_PATTERN"), "sort" => "PATTERN", "default" => false],
	["id" => "REPLACEMENT", "content" => GetMessage("FLT_REPLACEMENT"), "sort" => "REPLACEMENT", "default" => true],
	["id" => "DESCRIPTION", "content" => GetMessage("FLT_DESCRIPTION"), "sort" => "DESCRIPTION", "default" => true]
]);
/*******************************************************************/
while ($res = $rsData->NavNext(true, "t_"))
{
	$row =& $lAdmin->AddRow($res["ID"], $res);
	$row->bReadOnly = $forumPermissions < "W";
	$row->AddViewField("ID", '<a title="'.GetMessage("FLT_ACT_EDIT").'" href="'."forum_words_edit.php?DICTIONARY_ID=".$res["DICTIONARY_ID"]."&ID=".$res["ID"]."&amp;lang=".LANG.'">'.$res["ID"].'</a>');
	$row->AddInputField("WORDS", array("size"=>"20"));
	$row->AddViewField("PATTERN", htmlspecialcharsbx($res["PATTERN"]));
	$row->AddInputField("REPLACEMENT", array("maxlength"=>"255", "size"=>"10%"));
	$row->AddInputField("DESCRIPTION", array("size"=>"80%"));
	$row->AddCheckField("USE_IT", array("Y"=>GetMessage("FLT_ACT_USE_IT_Y"), "N"=>GetMessage("FLT_ACT_USE_IT_N")));
	$row->AddSelectField("PATTERN_CREATE", array("WORDS"=>GetMessage("FLT_FLT_WORDS"), "TRNSL"=>GetMessage("FLT_FLT_TRNSL"), "PTTRN"=>GetMessage("FLT_FLT_PTTRN")));
	$row->AddActions([
		[
			"ICON" => "edit",
			"TEXT" => GetMessage("FLT_ACT_EDIT"),
			"ACTION" => $lAdmin->ActionRedirect("forum_words_edit.php?DICTIONARY_ID=" . $res["DICTIONARY_ID"] . "&lang=" . LANG . "&ID=" . $res["ID"] . GetFilterParams("filter_", false) . ""),
			"DEFAULT" => true
		],
		["SEPARATOR" => true],
		[
			"ICON" => "delete",
			"TEXT" => GetMessage("FLT_ACT_DEL"),
			"ACTION" => "if(confirm('" . GetMessage("FLT_ACT_DEL_CONFIRM") . "')) " . $lAdmin->ActionDoGroup($res["ID"], "delete", "DICTIONARY_ID=" . $res["DICTIONARY_ID"] . "&lang=" . LANG)
		]
	]);
}
/*******************************************************************/
$lAdmin->AddFooter([
	["title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()],
	["counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0"]
]);

$dbRes = Forum\BadWords\DictionaryTable::getList(["select" => ["*"], "filter" => ["TYPE"=>"T"]]);
$option = "";
$active = Main\Config\Option::get("forum", "FILTER_DICT_T", '', SITE_ID);
while ($res = $dbRes->fetch())
{
	$option .= "<option value=\"{$res["ID"]}\" ".($res["ID"] == $active ? " selected " : "").">{$res["TITLE"]}</option>";
}

$lAdmin->AddGroupActionTable(
	array(
		"delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"),
		"generate" => GetMessage("FLT_ACT_GEN"),
		"copy2" => array(
			"type" => "html",
			"value" => GetMessage("FLT_ACT_GEN_CONFIRM")
		),
		"copy1" => array(
			"type" => "html",
			"value" => "<select name='DICTIONARY_ID_T'>".$option."</select>"
		),
		)
	);
if (($forumPermissions >= "W") && $arFilter["DICTIONARY_ID"] > 0)
{
	$aContext = array(
		array(
			"TEXT" => GetMessage("FLT_ACT_ADD"),
			"LINK" => "forum_words_edit.php?DICTIONARY_ID=".$arFilter["DICTIONARY_ID"]."&lang=".LANG,
			"TITLE" => GetMessage("FLT_ACT_ADD"),
			"ICON" => "btn_new")
	);
	$lAdmin->AddAdminContextMenu($aContext);
}
/*******************************************************************/
	$lAdmin->CheckListMode();
/*******************************************************************/

$APPLICATION->SetTitle(GetMessage("FLT_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$oFilter = new CAdminFilter(
	$sTableID."_filter",
	array(
		GetMessage("FLT_USE_IT"),
		GetMessage("FLT_PATTERN_CREATE"),
	)
);
?><form name="form1" method="get" action="<?=$APPLICATION->GetCurPage()?>?">
	<input type="hidden" name="DICTIONARY_ID" value="<?=$arFilter["DICTIONARY_ID"]?>">
	<?$oFilter->Begin();?>
	<tr>
		<td><b><?=GetMessage("MAIN_FIND")?>:</b></td>
		<td>
			<input type="text" size="47" name="find_pattern" value="<?=htmlspecialcharsbx(isset($filter["find_pattern"]) ? $filter["find_pattern"] : "")?>" title="<?=GetMessage("MAIN_FIND_TITLE")?>">
		<?
		$arr = array(
			"reference" => array(
				GetMessage("FLT_WORDS"),
				GetMessage("FLT_PATTERN"),
				GetMessage("FLT_REPLACEMENT"),
				GetMessage("FLT_DESCRIPTION"),
			),
			"reference_id" => array(
				"WORDS",
				"PATTERN",
				"REPLACEMENT",
				"DESCRIPTION",
			)
		);
		echo SelectBoxFromArray("find_type", $arr, (isset($filter["find_type"]) ? $filter["find_type"] : ""), "", "");?>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("FLT_USE_IT")?>:</td>
		<td><?=SelectBoxFromArray("USE_IT",
				[
					"reference" => ["", GetMessage("FLT_ACT_USE_IT_Y"), GetMessage("FLT_ACT_USE_IT_N")],
				    "reference_id" => ["all", "Y", "N"]
				], isset($filter["USE_IT"]) ? $filter["USE_IT"] : "all")?>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("FLT_PATTERN_CREATE")?>:</td>
		<td><?=SelectBoxFromArray(
				"PATTERN_CREATE",
				["REFERENCE" => ["", GetMessage("FLT_FLT_WORDS"), GetMessage("FLT_FLT_TRNSL"), GetMessage("FLT_FLT_PTTRN")], "REFERENCE_ID" => ["all", "WORDS", "TRNSL", "PTTRN"]],
				isset($filter["PATTERN_CREATE"]) ? $filter["PATTERN_CREATE"] : "all"
			)?>
		</td>
	</tr>
	<?
	$oFilter->Buttons([
		"table_id" => $sTableID,
		"url" => $APPLICATION->GetCurPage()."?DICTIONARY_ID=".$arFilter["DICTIONARY_ID"]."&lang=".LANG,
		"form" => "find_form"
	]);
	$oFilter->End();
?></form><?
$lAdmin->DisplayList();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
?>

Youez - 2016 - github.com/yon3zu
LinuXploit