Доброго времени суток.
Подскажите в чем может быть проблема данной ситуации:
Есть форма авторизации, которая содержит допустим два стандартных поля login/password. При нажатии сабмита у меня вызывается event beforeAuth.
Делаю в общем нак:
$arResult = array(
"LOGIN" => "first login",
"PASSWORD" => "password"
);
echo "[1]var_dump";
var_dump($arResult);
$events = GetModuleEvents("main", "OnBeforeUserAuth", true);
foreach($events as $arEvent)
{
$exStatus = ExecuteModuleEventEx($arEvent, array(&$arResult));
if($exStatus === false) {
...
}
}
echo "[2]var_dump";
var_dump($arResult);
...
-------------------------------------------------------------------------
И сам эвент:
function OnBeforeAuth($args) {
$args["LOGIN"] = "change login";
$args["PASSWORD"] = "qwerty";
...
// в зависимости от дальнейших операций, функция вохвращает true/false
}
Теперь суть вопроса: т.к. я передаю ссылку на $arResult, то могу менять ее в функции, как и показано в примере. Но! даже если все по логике и правильно, он никоим образом не изменяет содержимого переменных. т.е. каков был массив до эвента, такой и остался после него.
Подскажите пожалуйста, в чем может быть причина и в каких я моментах глуплю. Спасибо заранее всем за ответы.
Подскажите в чем может быть проблема данной ситуации:
Есть форма авторизации, которая содержит допустим два стандартных поля login/password. При нажатии сабмита у меня вызывается event beforeAuth.
Делаю в общем нак:
$arResult = array(
"LOGIN" => "first login",
"PASSWORD" => "password"
);
echo "[1]var_dump";
var_dump($arResult);
$events = GetModuleEvents("main", "OnBeforeUserAuth", true);
foreach($events as $arEvent)
{
$exStatus = ExecuteModuleEventEx($arEvent, array(&$arResult));
if($exStatus === false) {
...
}
}
echo "[2]var_dump";
var_dump($arResult);
...
-------------------------------------------------------------------------
И сам эвент:
function OnBeforeAuth($args) {
$args["LOGIN"] = "change login";
$args["PASSWORD"] = "qwerty";
...
// в зависимости от дальнейших операций, функция вохвращает true/false
}
Теперь суть вопроса: т.к. я передаю ссылку на $arResult, то могу менять ее в функции, как и показано в примере. Но! даже если все по логике и правильно, он никоим образом не изменяет содержимого переменных. т.е. каков был массив до эвента, такой и остался после него.
Подскажите пожалуйста, в чем может быть причина и в каких я моментах глуплю. Спасибо заранее всем за ответы.