Ошибка php AjaxForm!

Приветствую сообщество!

В общем дело такое, пользуюсь AjaxForm для модуля «Обратная связь» и вот раньше такой ошибки не было, а теперь появилась:
Notice: Undefined variable: hook in /home/s/stark44/starknet/public_html/core/cache/includes/elements/modsnippet/216.include.cache.php on line 41
Собственно содержимое файла:
<?php
// Register API keys at https://www.google.com/recaptcha/admin
$site_key = $modx->getOption('recaptchav2.site_key', null, '');
// reCAPTCHA supported 40+ languages listed here: https://developers.google.com/recaptcha/docs/language
$lang = $modx->getOption('cultureKey', null, 'en');

$recaptcha_html = $modx->getChunk('recaptchav2_html', array(
    'site_key' => $site_key,
    'lang' => $lang,
    ));

if ($hook) { 
    $hook->setValue('recaptchav2_html', $recaptcha_html); // This won't re-render on page reload there's validation errors
    return true;
} else { // This works at least
    return $recaptcha_html;
}
return;
Самое интересное, что форма работает нормально, письма отправляет! Но вот ошибка реально раздражает, методом проб и ошибок, понял, что она возникает из за сниппета recaptchav2 как бы с одной стороны не смертельно установить другую, но очень уж нравится гугловская!

Может кто подскажет чего и куда копать!
Заранее спасибо!
Andrey
27 ноября 2016, 18:38
modx.pro
2 205
0

Комментарии: 8

Andrey
08 декабря 2016, 00:20
0
Ну неужели не кто не поможет? :(
    Andrey
    15 декабря 2016, 02:52
    0
    тююю…
      Алексей Ерохин
      15 декабря 2016, 11:58
      0
      Обновите formit, ajaxform.
      Покажите вызов ajaxform.
      Просто так вряд ли бы сломалось.
        Andrey
        15 декабря 2016, 15:38
        0
        Все обновлено!


        Вызов:
        [[!AjaxForm?
        &form=`Main-contactForm`
        &snippet=`FormIt`
        &hooks=`recaptchav2,email`
        &emailTpl=`emailtpl`
        &emailSubject=`Обращения: проект [[++site_name]]`
        &emailUseFieldForSubject=`1`
        &emailTo=`[[+addressTo]]`
        &emailReplyTo=`[[+contact_email]]`
        &emailFromName=`[[++site_name]]`
        &validate=`contact_name:minLength=^2^,
        contact_email:email:required,
        contact_message:minLength=^5^:required,
        g-recaptcha-response:required`
        &validationErrorMessage=`В форме содержатся ошибки!`
        &successMessage=`Ваше сообщение успешно отправлено!`
        ]]
        И смысл то в том, что эта ошибка выскакивает из-за гугловской рекапчи, при этом все прекрасно работает, форма отправляет данные, письма приходят! Убираю рекапчу нет ошибки, аяксформу по супер-минимуму комплектовал, толку ноль, виновна рекапча!

        Как бы я уже писал, это не смертельно поменять её на яндекс капчу, но гугловская смотрится лучше, та и на мой взгляд надежнее!

        Ругается на все, начиная с этой строки (см. выше):
        if ($hook) { 
            $hook->setValue('recaptchav2_html', $recaptcha_html); // This won't re-render on page reload there's validation errors
            return true;
        } else { // This works at least
            return $recaptcha_html;
        }
          Илья Уткин
          16 декабря 2016, 07:53
          1
          +1
          Поменяйте первую строчку на
          if (isset($hook) && $hook) {

          Или измените в системных настройках уровень вывода ошибок. По умолчанию MODX нотисы не показывает же.
          Настройка log_level — поставьте 1.
            Andrey
            16 декабря 2016, 20:15
            0
            а вот стоит log_level — 1 у меня!

            И поменять не получится! Файл ж перезаписывается каждый раз, когда кеш обновляется!
            Та и честно сказать не помогло! Попробовал уже, даже не обновляя кеш, сохранить!
        Andrey
        16 декабря 2016, 20:18
        0
        Вот заметил, что подобные ошибки после глобального обновления Tickets и pdoTools выскакивают! На самом деле это не первый случай таких ошибок и не только с recapcha2 но с тем же mFilter2! Но там они естественно решались, но факт в том, что начали влазить портить вид фронта! Раньше если и бывали ошибки, то по крайней мере в фронт они не выскакивали!
          Andrey
          23 декабря 2016, 01:28
          0
          Все очень плохо… :(
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            8