Всё дело в параметрах компонента, которые в component.php обновляются после формирования строки HASH, поэтому нужно избавиться от лишних параметров для проверочной строки. Также переменная $templateName имеет отличное значение от CBitrixComponent::GetTemplateName.
Код |
---|
<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();?>
<?php
$tplName = $component->getTemplateName();
$tmpParams = $arParams;
if (isset($tmpParams['EVENT_NAME']))
unset($tmpParams['EVENT_NAME']);
$sHash = md5(serialize($tmpParams) . $tplName);
if (isset($_GET['success']) && ($_GET['success'] == $sHash))
LocalRedirect('/contacts/');
|
Стоит ли доверять component.php, в котором после обновлений может измениться список параметров решать Вам, но можно и сократить данный код:
Код |
---|
<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();?>
<?php
if (strlen($arResult['OK_MESSAGE']) > 0)
LocalRedirect('/contacts/');
|